Resolution helpers in tests fixed

This commit is contained in:
Andrey Breslav
2012-12-28 19:57:41 +04:00
parent fe39f1ea63
commit effaebdd26
2 changed files with 21 additions and 3 deletions
@@ -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<String> paths = getEnvironment().getConfiguration().get(CommonConfigurationKeys.SOURCE_ROOTS_KEY);
assert paths != null;
List<JetFile> 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() {
@@ -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.<PsiFile>alwaysTrue(), false, false, Collections.<AnalyzerScriptParameter>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<JetFile> files, JetCoreEnvironment environment) {
@@ -78,8 +80,9 @@ public class LazyResolveTestUtil {
ModuleDescriptor javaModule = new ModuleDescriptor(Name.special("<java module>"));
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();