diff --git a/compiler/tests/org/jetbrains/jet/asJava/JavaElementFinderTest.java b/compiler/tests/org/jetbrains/jet/asJava/JavaElementFinderTest.java index d9f8690fe7d..44c79d97f71 100644 --- a/compiler/tests/org/jetbrains/jet/asJava/JavaElementFinderTest.java +++ b/compiler/tests/org/jetbrains/jet/asJava/JavaElementFinderTest.java @@ -16,12 +16,19 @@ package org.jetbrains.jet.asJava; +import com.google.common.collect.Lists; import com.intellij.psi.PsiClass; import com.intellij.psi.search.GlobalSearchScope; import org.jetbrains.jet.JetLiteFixture; +import org.jetbrains.jet.JetTestUtils; import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment; import org.jetbrains.jet.config.CommonConfigurationKeys; import org.jetbrains.jet.config.CompilerConfiguration; +import org.jetbrains.jet.lang.psi.JetFile; +import org.jetbrains.jet.lang.resolve.lazy.LazyResolveTestUtil; + +import java.io.File; +import java.util.List; public class JavaElementFinderTest extends JetLiteFixture { private JavaElementFinder finder; @@ -43,7 +50,15 @@ public class JavaElementFinderTest extends JetLiteFixture { public void setUp() throws Exception { super.setUp(); - finder = new JavaElementFinder(getProject(), null); + // We need to resolve all the files in order too fill in the trace that sits inside LightClassGenerationSupport + List paths = getEnvironment().getConfiguration().get(CommonConfigurationKeys.SOURCE_ROOTS_KEY); + assert paths != null; + List jetFiles = Lists.newArrayList(); + for (String path : paths) { + jetFiles.add(JetTestUtils.loadJetFile(getProject(), new File(path))); + } + LazyResolveTestUtil.resolveEagerly(jetFiles, getEnvironment()); + finder = new JavaElementFinder(getProject(), LightClassGenerationSupport.getInstance(getProject())); } public void testFromEnumEntry() { diff --git a/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/LazyResolveTestUtil.java b/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/LazyResolveTestUtil.java index 822e6d55915..144038d7c92 100644 --- a/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/LazyResolveTestUtil.java +++ b/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/LazyResolveTestUtil.java @@ -22,6 +22,7 @@ import com.google.common.collect.Sets; import com.intellij.openapi.project.Project; import com.intellij.psi.PsiFile; import org.jetbrains.annotations.NotNull; +import org.jetbrains.jet.cli.jvm.compiler.CliLightClassGenerationSupport; import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment; import org.jetbrains.jet.di.InjectorForJavaDescriptorResolver; import org.jetbrains.jet.di.InjectorForTopDownAnalyzer; @@ -64,7 +65,8 @@ public class LazyResolveTestUtil { public static InjectorForTopDownAnalyzer createInjectorForTDA(ModuleDescriptor module, JetCoreEnvironment environment) { TopDownAnalysisParameters params = new TopDownAnalysisParameters( Predicates.alwaysTrue(), false, false, Collections.emptyList()); - return new InjectorForTopDownAnalyzerForJvm(environment.getProject(), params, new BindingTraceContext(), module); + BindingTrace sharedTrace = CliLightClassGenerationSupport.getInstanceForCli(environment.getProject()).getTrace(); + return new InjectorForTopDownAnalyzerForJvm(environment.getProject(), params, sharedTrace, module); } public static ModuleDescriptor resolveEagerly(List files, JetCoreEnvironment environment) { @@ -78,8 +80,9 @@ public class LazyResolveTestUtil { ModuleDescriptor javaModule = new ModuleDescriptor(Name.special("")); final Project project = environment.getProject(); + BindingTrace sharedTrace = CliLightClassGenerationSupport.getInstanceForCli(environment.getProject()).getTrace(); InjectorForJavaDescriptorResolver injector = - new InjectorForJavaDescriptorResolver(project, new BindingTraceContext(), javaModule); + new InjectorForJavaDescriptorResolver(project, sharedTrace, javaModule); final PsiClassFinder psiClassFinder = injector.getPsiClassFinder(); final JavaDescriptorResolver javaDescriptorResolver = injector.getJavaDescriptorResolver();