Bug 416781 - reconcile compiler changes from BETA_JAVA8 with OT/J
- integrate new call into the compiler with Dependencies/Config
diff --git a/org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/search/indexing/SourceIndexer.java b/org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/search/indexing/SourceIndexer.java
index 1a721a1..a642132 100644
--- a/org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/search/indexing/SourceIndexer.java
+++ b/org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/search/indexing/SourceIndexer.java
@@ -56,6 +56,7 @@
 import org.eclipse.jdt.internal.core.search.matching.JavaSearchNameEnvironment;
 import org.eclipse.jdt.internal.core.search.matching.MethodPattern;
 import org.eclipse.jdt.internal.core.search.processing.JobManager;
+import org.eclipse.objectteams.otdt.internal.core.compiler.control.Dependencies;
 
 /**
  * A SourceIndexer indexes java files using a java parser. The following items are indexed:
@@ -171,10 +172,22 @@
 			INameEnvironment nameEnvironment = new JavaSearchNameEnvironment(javaProject, JavaModelManager.getJavaModelManager().getWorkingCopies(DefaultWorkingCopyOwner.PRIMARY, true/*add primary WCs*/));
 			this.lookupEnvironment = new LookupEnvironment(this, this.options, problemReporter, nameEnvironment);
 			reduceParseTree(this.cud);
+//{ObjectTeams: need Dependencies configured:
+		  boolean depsConfigured = Dependencies.isSetup();
+		  try {
+			if (!depsConfigured)
+				Dependencies.setup(this, this.basicParser, this.lookupEnvironment, true, false);
+// orig:
 			this.lookupEnvironment.buildTypeBindings(this.cud, null);
 			this.lookupEnvironment.completeTypeBindings();
 			this.cud.scope.faultInTypes();
 			this.cud.resolve();
+// :giro
+		  } finally {
+			  if (!depsConfigured)
+				  Dependencies.release(this);
+		  }
+// SH}
 		} catch (Exception e) {
 			if (JobManager.VERBOSE) {
 				e.printStackTrace();