Bug 527086: [java9] Support Java 9
- try fix StepIntoSelectionTests.testStepIntoBinaryMethod
  - was NPE in u2At() from MethodInfo.getMethodDescriptor()
  - before releasing .reference initialized descriptor etc.
diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/classfmt/MethodInfo.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/classfmt/MethodInfo.java
index e729232..2b94b76 100644
--- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/classfmt/MethodInfo.java
+++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/classfmt/MethodInfo.java
@@ -219,8 +219,10 @@
     // hack re preserving byte code (see #initialize()): now may be the time to release it:
 	// (Note(SH): TeamMethodGenerator depends on any team method containing valid bytecodes and offsets,
     //            given the ClassFileReader.initialize() nulls "reference")
-    if (!needByteCode)
-    	reset();
+    if (!needByteCode) {
+    	initialize(); // ensure this info can be queried without lookup in reference
+		reset();
+	}
 
     // evaluate method attributes.
     for (AbstractAttribute attr : this.methodAttributes)
diff --git a/org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/nd/java/model/IndexBinaryType.java b/org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/nd/java/model/IndexBinaryType.java
index a36d79b..8409fc0 100644
--- a/org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/nd/java/model/IndexBinaryType.java
+++ b/org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/nd/java/model/IndexBinaryType.java
@@ -676,6 +676,7 @@
 		return ExternalAnnotationStatus.NOT_EEA_CONFIGURED;
 	}
 //{ObjectTeams: retrieve class file in workspace:
+	// FIXME: sync this with (a) reading EEA, (b) fileName manipulation for JRT
 	@Override
 	public IBinaryType withClassBytes() throws ClassFormatException, IOException, CoreException {
 		File file = new File(String.valueOf(this.fileName));