Got rid of dependency on compiler dependencies in injector for TDA for JVM.

This commit is contained in:
Evgeny Gerashchenko
2012-07-03 19:08:41 +04:00
parent 5e50f1928b
commit 5a88d28154
16 changed files with 34 additions and 50 deletions
@@ -302,7 +302,7 @@ public class KotlinToJVMBytecodeCompiler {
environment.getSourceFiles(), environment.getSourceFiles(),
scriptParameters, scriptParameters,
filesToAnalyzeCompletely, filesToAnalyzeCompletely,
configuration.getEnvironment().getCompilerDependencies()); configuration.getEnvironment().getCompilerDependencies().getCompilerSpecialMode());
} }
}, environment.getSourceFiles() }, environment.getSourceFiles()
); );
@@ -105,7 +105,8 @@ public class ReplInterpreter {
false, false,
true, true,
Collections.<AnalyzerScriptParameter>emptyList()); Collections.<AnalyzerScriptParameter>emptyList());
injector = new InjectorForTopDownAnalyzerForJvm(project, topDownAnalysisParameters, trace, module, compilerDependencies); injector = new InjectorForTopDownAnalyzerForJvm(project, topDownAnalysisParameters, trace, module,
compilerDependencies.getCompilerSpecialMode());
List<URL> classpath = Lists.newArrayList(); List<URL> classpath = Lists.newArrayList();
@@ -27,7 +27,6 @@ import com.intellij.openapi.project.Project;
import org.jetbrains.jet.lang.resolve.TopDownAnalysisParameters; import org.jetbrains.jet.lang.resolve.TopDownAnalysisParameters;
import org.jetbrains.jet.lang.resolve.BindingTrace; import org.jetbrains.jet.lang.resolve.BindingTrace;
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor; import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
import org.jetbrains.jet.lang.resolve.java.CompilerDependencies;
import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode; import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode;
import org.jetbrains.jet.lang.resolve.java.JavaBridgeConfiguration; import org.jetbrains.jet.lang.resolve.java.JavaBridgeConfiguration;
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver; import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver;
@@ -54,7 +53,7 @@ import com.intellij.openapi.project.Project;
import org.jetbrains.jet.lang.resolve.TopDownAnalysisParameters; import org.jetbrains.jet.lang.resolve.TopDownAnalysisParameters;
import org.jetbrains.jet.lang.resolve.BindingTrace; import org.jetbrains.jet.lang.resolve.BindingTrace;
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor; import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
import org.jetbrains.jet.lang.resolve.java.CompilerDependencies; import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import javax.annotation.PreDestroy; import javax.annotation.PreDestroy;
@@ -71,8 +70,7 @@ public class InjectorForTopDownAnalyzerForJvm {
private final TopDownAnalysisParameters topDownAnalysisParameters; private final TopDownAnalysisParameters topDownAnalysisParameters;
private final BindingTrace bindingTrace; private final BindingTrace bindingTrace;
private final ModuleDescriptor moduleDescriptor; private final ModuleDescriptor moduleDescriptor;
private final CompilerDependencies compilerDependencies; private final CompilerSpecialMode compilerSpecialMode;
private CompilerSpecialMode compilerSpecialMode;
private JavaBridgeConfiguration javaBridgeConfiguration; private JavaBridgeConfiguration javaBridgeConfiguration;
private JavaDescriptorResolver javaDescriptorResolver; private JavaDescriptorResolver javaDescriptorResolver;
private PsiClassFinderImpl psiClassFinder; private PsiClassFinderImpl psiClassFinder;
@@ -100,7 +98,7 @@ public class InjectorForTopDownAnalyzerForJvm {
@NotNull TopDownAnalysisParameters topDownAnalysisParameters, @NotNull TopDownAnalysisParameters topDownAnalysisParameters,
@NotNull BindingTrace bindingTrace, @NotNull BindingTrace bindingTrace,
@NotNull ModuleDescriptor moduleDescriptor, @NotNull ModuleDescriptor moduleDescriptor,
@NotNull CompilerDependencies compilerDependencies @NotNull CompilerSpecialMode compilerSpecialMode
) { ) {
this.topDownAnalyzer = new TopDownAnalyzer(); this.topDownAnalyzer = new TopDownAnalyzer();
this.topDownAnalysisContext = new TopDownAnalysisContext(); this.topDownAnalysisContext = new TopDownAnalysisContext();
@@ -112,8 +110,7 @@ public class InjectorForTopDownAnalyzerForJvm {
this.topDownAnalysisParameters = topDownAnalysisParameters; this.topDownAnalysisParameters = topDownAnalysisParameters;
this.bindingTrace = bindingTrace; this.bindingTrace = bindingTrace;
this.moduleDescriptor = moduleDescriptor; this.moduleDescriptor = moduleDescriptor;
this.compilerDependencies = compilerDependencies; this.compilerSpecialMode = compilerSpecialMode;
this.compilerSpecialMode = compilerDependencies.getCompilerSpecialMode();
this.javaBridgeConfiguration = new JavaBridgeConfiguration(); this.javaBridgeConfiguration = new JavaBridgeConfiguration();
this.javaDescriptorResolver = new JavaDescriptorResolver(); this.javaDescriptorResolver = new JavaDescriptorResolver();
this.psiClassFinder = new PsiClassFinderImpl(); this.psiClassFinder = new PsiClassFinderImpl();
@@ -28,19 +28,12 @@ import org.jetbrains.jet.di.InjectorForTopDownAnalyzerForJvm;
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor; import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.jet.lang.psi.JetFile;
import org.jetbrains.jet.lang.resolve.*; import org.jetbrains.jet.lang.resolve.*;
import org.jetbrains.jet.lang.resolve.AnalyzerScriptParameter;
import org.jetbrains.jet.lang.resolve.AnalyzingUtils;
import org.jetbrains.jet.lang.resolve.BindingTraceContext;
import org.jetbrains.jet.lang.resolve.ObservableBindingTrace;
import org.jetbrains.jet.lang.resolve.TopDownAnalysisParameters;
import org.jetbrains.jet.lang.resolve.name.Name; import org.jetbrains.jet.lang.resolve.name.Name;
import java.util.Collection; import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import static org.jetbrains.jet.lang.resolve.java.CompilerDependencies.compilerDependenciesForProduction;
/** /**
* @author abreslav * @author abreslav
*/ */
@@ -58,7 +51,7 @@ public enum AnalyzerFacadeForJVM implements AnalyzerFacade {
@NotNull List<AnalyzerScriptParameter> scriptParameters, @NotNull List<AnalyzerScriptParameter> scriptParameters,
@NotNull Predicate<PsiFile> filesToAnalyzeCompletely) { @NotNull Predicate<PsiFile> filesToAnalyzeCompletely) {
return analyzeFilesWithJavaIntegration(project, files, scriptParameters, filesToAnalyzeCompletely, return analyzeFilesWithJavaIntegration(project, files, scriptParameters, filesToAnalyzeCompletely,
compilerDependenciesForProduction(CompilerSpecialMode.REGULAR), true); CompilerSpecialMode.REGULAR, true);
} }
@NotNull @NotNull
@@ -75,10 +68,10 @@ public enum AnalyzerFacadeForJVM implements AnalyzerFacade {
} }
public static AnalyzeExhaust analyzeOneFileWithJavaIntegrationAndCheckForErrors( public static AnalyzeExhaust analyzeOneFileWithJavaIntegrationAndCheckForErrors(
JetFile file, List<AnalyzerScriptParameter> scriptParameters, @NotNull CompilerDependencies compilerDependencies) { JetFile file, List<AnalyzerScriptParameter> scriptParameters, @NotNull CompilerSpecialMode compilerSpecialMode) {
AnalyzingUtils.checkForSyntacticErrors(file); AnalyzingUtils.checkForSyntacticErrors(file);
AnalyzeExhaust analyzeExhaust = analyzeOneFileWithJavaIntegration(file, scriptParameters, compilerDependencies); AnalyzeExhaust analyzeExhaust = analyzeOneFileWithJavaIntegration(file, scriptParameters, compilerSpecialMode);
AnalyzingUtils.throwExceptionOnErrors(analyzeExhaust.getBindingContext()); AnalyzingUtils.throwExceptionOnErrors(analyzeExhaust.getBindingContext());
@@ -86,20 +79,20 @@ public enum AnalyzerFacadeForJVM implements AnalyzerFacade {
} }
public static AnalyzeExhaust analyzeOneFileWithJavaIntegration( public static AnalyzeExhaust analyzeOneFileWithJavaIntegration(
JetFile file, List<AnalyzerScriptParameter> scriptParameters, @NotNull CompilerDependencies compilerDependencies) { JetFile file, List<AnalyzerScriptParameter> scriptParameters, @NotNull CompilerSpecialMode compilerSpecialMode) {
return analyzeFilesWithJavaIntegration(file.getProject(), Collections.singleton(file), scriptParameters, return analyzeFilesWithJavaIntegration(file.getProject(), Collections.singleton(file), scriptParameters,
Predicates.<PsiFile>alwaysTrue(), compilerDependencies); Predicates.<PsiFile>alwaysTrue(), compilerSpecialMode);
} }
public static AnalyzeExhaust analyzeFilesWithJavaIntegrationAndCheckForErrors( public static AnalyzeExhaust analyzeFilesWithJavaIntegrationAndCheckForErrors(
Project project, Collection<JetFile> files, List<AnalyzerScriptParameter> scriptParameters, Predicate<PsiFile> filesToAnalyzeCompletely, Project project, Collection<JetFile> files, List<AnalyzerScriptParameter> scriptParameters, Predicate<PsiFile> filesToAnalyzeCompletely,
@NotNull CompilerDependencies compilerDependencies) { @NotNull CompilerSpecialMode compilerSpecialMode) {
for (JetFile file : files) { for (JetFile file : files) {
AnalyzingUtils.checkForSyntacticErrors(file); AnalyzingUtils.checkForSyntacticErrors(file);
} }
AnalyzeExhaust analyzeExhaust = analyzeFilesWithJavaIntegration( AnalyzeExhaust analyzeExhaust = analyzeFilesWithJavaIntegration(
project, files, scriptParameters, filesToAnalyzeCompletely, compilerDependencies, false); project, files, scriptParameters, filesToAnalyzeCompletely, compilerSpecialMode, false);
AnalyzingUtils.throwExceptionOnErrors(analyzeExhaust.getBindingContext()); AnalyzingUtils.throwExceptionOnErrors(analyzeExhaust.getBindingContext());
@@ -108,14 +101,14 @@ public enum AnalyzerFacadeForJVM implements AnalyzerFacade {
public static AnalyzeExhaust analyzeFilesWithJavaIntegration( public static AnalyzeExhaust analyzeFilesWithJavaIntegration(
Project project, Collection<JetFile> files, List<AnalyzerScriptParameter> scriptParameters, Predicate<PsiFile> filesToAnalyzeCompletely, Project project, Collection<JetFile> files, List<AnalyzerScriptParameter> scriptParameters, Predicate<PsiFile> filesToAnalyzeCompletely,
@NotNull CompilerDependencies compilerDependencies) { @NotNull CompilerSpecialMode compilerSpecialMode) {
return analyzeFilesWithJavaIntegration( return analyzeFilesWithJavaIntegration(
project, files, scriptParameters, filesToAnalyzeCompletely, compilerDependencies, false); project, files, scriptParameters, filesToAnalyzeCompletely, compilerSpecialMode, false);
} }
public static AnalyzeExhaust analyzeFilesWithJavaIntegration( public static AnalyzeExhaust analyzeFilesWithJavaIntegration(
Project project, Collection<JetFile> files, List<AnalyzerScriptParameter> scriptParameters, Predicate<PsiFile> filesToAnalyzeCompletely, Project project, Collection<JetFile> files, List<AnalyzerScriptParameter> scriptParameters, Predicate<PsiFile> filesToAnalyzeCompletely,
@NotNull CompilerDependencies compilerDependencies, @NotNull CompilerSpecialMode compilerSpecialMode,
boolean storeContextForBodiesResolve) { boolean storeContextForBodiesResolve) {
BindingTraceContext bindingTraceContext = new BindingTraceContext(); BindingTraceContext bindingTraceContext = new BindingTraceContext();
@@ -126,7 +119,7 @@ public enum AnalyzerFacadeForJVM implements AnalyzerFacade {
InjectorForTopDownAnalyzerForJvm injector = new InjectorForTopDownAnalyzerForJvm( InjectorForTopDownAnalyzerForJvm injector = new InjectorForTopDownAnalyzerForJvm(
project, topDownAnalysisParameters, project, topDownAnalysisParameters,
new ObservableBindingTrace(bindingTraceContext), owner, compilerDependencies); new ObservableBindingTrace(bindingTraceContext), owner, compilerSpecialMode);
try { try {
injector.getTopDownAnalyzer().analyzeFiles(files, scriptParameters); injector.getTopDownAnalyzer().analyzeFiles(files, scriptParameters);
BodiesResolveContext bodiesResolveContext = storeContextForBodiesResolve ? BodiesResolveContext bodiesResolveContext = storeContextForBodiesResolve ?
@@ -139,13 +132,13 @@ public enum AnalyzerFacadeForJVM implements AnalyzerFacade {
} }
public static AnalyzeExhaust shallowAnalyzeFiles(Collection<JetFile> files, public static AnalyzeExhaust shallowAnalyzeFiles(Collection<JetFile> files,
@NotNull CompilerSpecialMode compilerSpecialMode, @NotNull CompilerDependencies compilerDependencies) { @NotNull CompilerSpecialMode compilerSpecialMode) {
assert files.size() > 0; assert files.size() > 0;
Project project = files.iterator().next().getProject(); Project project = files.iterator().next().getProject();
return analyzeFilesWithJavaIntegration(project, return analyzeFilesWithJavaIntegration(project,
files, Collections.<AnalyzerScriptParameter>emptyList(), Predicates.<PsiFile>alwaysFalse(), files, Collections.<AnalyzerScriptParameter>emptyList(), Predicates.<PsiFile>alwaysFalse(),
compilerDependencies); compilerSpecialMode);
} }
} }
@@ -171,7 +171,7 @@ public class JetLightClass extends AbstractLightClass implements JetJavaMirrorMa
AnalyzeExhaust context = AnalyzerFacadeForJVM.shallowAnalyzeFiles( AnalyzeExhaust context = AnalyzerFacadeForJVM.shallowAnalyzeFiles(
JetFilesProvider.getInstance(project).sampleToAllFilesInModule().fun(file), JetFilesProvider.getInstance(project).sampleToAllFilesInModule().fun(file),
// TODO: wrong environment // stepan.koltsov@ 2012-04-09 // TODO: wrong environment // stepan.koltsov@ 2012-04-09
CompilerSpecialMode.REGULAR, CompilerDependencies.compilerDependenciesForProduction(CompilerSpecialMode.REGULAR)); CompilerSpecialMode.REGULAR);
if (context.isError()) { if (context.isError()) {
throw new IllegalStateException("failed to analyze: " + context.getError(), context.getError()); throw new IllegalStateException("failed to analyze: " + context.getError(), context.getError());
@@ -33,9 +33,9 @@ import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.analyzer.AnalyzeExhaust; import org.jetbrains.jet.analyzer.AnalyzeExhaust;
import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment; import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment;
import org.jetbrains.jet.lang.diagnostics.UnresolvedReferenceDiagnosticFactory;
import org.jetbrains.jet.lang.diagnostics.Diagnostic; import org.jetbrains.jet.lang.diagnostics.Diagnostic;
import org.jetbrains.jet.lang.diagnostics.Severity; import org.jetbrains.jet.lang.diagnostics.Severity;
import org.jetbrains.jet.lang.diagnostics.UnresolvedReferenceDiagnosticFactory;
import org.jetbrains.jet.lang.diagnostics.rendering.DefaultErrorMessages; import org.jetbrains.jet.lang.diagnostics.rendering.DefaultErrorMessages;
import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.jet.lang.psi.JetFile;
import org.jetbrains.jet.lang.resolve.AnalyzerScriptParameter; import org.jetbrains.jet.lang.resolve.AnalyzerScriptParameter;
@@ -172,7 +172,7 @@ public class JetTestUtils {
public static AnalyzeExhaust analyzeFile(@NotNull JetFile namespace, @NotNull CompilerSpecialMode compilerSpecialMode) { public static AnalyzeExhaust analyzeFile(@NotNull JetFile namespace, @NotNull CompilerSpecialMode compilerSpecialMode) {
return AnalyzerFacadeForJVM.analyzeOneFileWithJavaIntegration(namespace, Collections.<AnalyzerScriptParameter>emptyList(), return AnalyzerFacadeForJVM.analyzeOneFileWithJavaIntegration(namespace, Collections.<AnalyzerScriptParameter>emptyList(),
CompileCompilerDependenciesTest.compilerDependenciesForTests(compilerSpecialMode, true)); compilerSpecialMode);
} }
public static JetCoreEnvironment createEnvironmentWithMockJdkAndIdeaAnnotations(Disposable disposable) { public static JetCoreEnvironment createEnvironmentWithMockJdkAndIdeaAnnotations(Disposable disposable) {
@@ -19,7 +19,6 @@ package org.jetbrains.jet.checkers;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.intellij.psi.PsiFile; import com.intellij.psi.PsiFile;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.CompileCompilerDependenciesTest;
import org.jetbrains.jet.JetLiteFixture; import org.jetbrains.jet.JetLiteFixture;
import org.jetbrains.jet.lang.diagnostics.Diagnostic; import org.jetbrains.jet.lang.diagnostics.Diagnostic;
import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.jet.lang.psi.JetFile;
@@ -107,9 +106,8 @@ public class CheckerTestUtilTest extends JetLiteFixture {
public void test(final @NotNull PsiFile psiFile) { public void test(final @NotNull PsiFile psiFile) {
BindingContext bindingContext = AnalyzerFacadeForJVM.analyzeOneFileWithJavaIntegration( BindingContext bindingContext = AnalyzerFacadeForJVM.analyzeOneFileWithJavaIntegration(
(JetFile) psiFile, Collections.<AnalyzerScriptParameter>emptyList(), (JetFile) psiFile,Collections.<AnalyzerScriptParameter>emptyList(), CompilerSpecialMode.REGULAR)
CompileCompilerDependenciesTest.compilerDependenciesForTests(CompilerSpecialMode.REGULAR, true)) .getBindingContext();
.getBindingContext();
String expectedText = CheckerTestUtil.addDiagnosticMarkersToText(psiFile, CheckerTestUtil.getDiagnosticsIncludingSyntaxErrors(bindingContext, psiFile)).toString(); String expectedText = CheckerTestUtil.addDiagnosticMarkersToText(psiFile, CheckerTestUtil.getDiagnosticsIncludingSyntaxErrors(bindingContext, psiFile)).toString();
@@ -176,7 +176,7 @@ public class JetDiagnosticsTest extends JetLiteFixture {
BindingContext bindingContext = AnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration( BindingContext bindingContext = AnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(
getProject(), jetFiles, Collections.<AnalyzerScriptParameter>emptyList(), getProject(), jetFiles, Collections.<AnalyzerScriptParameter>emptyList(),
Predicates.<PsiFile>alwaysTrue(), Predicates.<PsiFile>alwaysTrue(),
myEnvironment.getCompilerDependencies()) myEnvironment.getCompilerDependencies().getCompilerSpecialMode())
.getBindingContext(); .getBindingContext();
boolean ok = true; boolean ok = true;
@@ -259,7 +259,7 @@ public abstract class CodegenTestCase extends UsefulTestCase {
myFiles.getPsiFiles(), myFiles.getPsiFiles(),
myFiles.getScriptParameterTypes(), myFiles.getScriptParameterTypes(),
Predicates.<PsiFile>alwaysTrue(), Predicates.<PsiFile>alwaysTrue(),
myEnvironment.getCompilerDependencies()); myEnvironment.getCompilerDependencies().getCompilerSpecialMode());
analyzeExhaust.throwIfError(); analyzeExhaust.throwIfError();
AnalyzingUtils.throwExceptionOnErrors(analyzeExhaust.getBindingContext()); AnalyzingUtils.throwExceptionOnErrors(analyzeExhaust.getBindingContext());
GenerationState state = new GenerationState(myEnvironment.getProject(), classBuilderFactory, analyzeExhaust, myFiles.getPsiFiles()); GenerationState state = new GenerationState(myEnvironment.getProject(), classBuilderFactory, analyzeExhaust, myFiles.getPsiFiles());
@@ -17,7 +17,6 @@
package org.jetbrains.jet.codegen; package org.jetbrains.jet.codegen;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.CompileCompilerDependenciesTest;
import org.jetbrains.jet.analyzer.AnalyzeExhaust; import org.jetbrains.jet.analyzer.AnalyzeExhaust;
import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.jet.lang.psi.JetFile;
import org.jetbrains.jet.lang.resolve.AnalyzerScriptParameter; import org.jetbrains.jet.lang.resolve.AnalyzerScriptParameter;
@@ -37,8 +36,7 @@ public class GenerationUtils {
public static GenerationState compileFileGetGenerationStateForTest(JetFile psiFile, @NotNull CompilerSpecialMode compilerSpecialMode) { public static GenerationState compileFileGetGenerationStateForTest(JetFile psiFile, @NotNull CompilerSpecialMode compilerSpecialMode) {
final AnalyzeExhaust analyzeExhaust = AnalyzerFacadeForJVM.analyzeOneFileWithJavaIntegrationAndCheckForErrors( final AnalyzeExhaust analyzeExhaust = AnalyzerFacadeForJVM.analyzeOneFileWithJavaIntegrationAndCheckForErrors(
psiFile, Collections.<AnalyzerScriptParameter>emptyList(), psiFile, Collections.<AnalyzerScriptParameter>emptyList(), compilerSpecialMode);
CompileCompilerDependenciesTest.compilerDependenciesForTests(compilerSpecialMode, true));
analyzeExhaust.throwIfError(); analyzeExhaust.throwIfError();
GenerationState state = new GenerationState(psiFile.getProject(), ClassBuilderFactories.binaries(false), analyzeExhaust, Collections.singletonList(psiFile)); GenerationState state = new GenerationState(psiFile.getProject(), ClassBuilderFactories.binaries(false), analyzeExhaust, Collections.singletonList(psiFile));
state.compileCorrectFiles(CompilationErrorHandler.THROW_EXCEPTION); state.compileCorrectFiles(CompilationErrorHandler.THROW_EXCEPTION);
@@ -90,7 +90,7 @@ public class ReadJavaBinaryClassTest extends TestCaseWithTmpdir {
BindingContext bindingContext = AnalyzerFacadeForJVM.analyzeOneFileWithJavaIntegrationAndCheckForErrors( BindingContext bindingContext = AnalyzerFacadeForJVM.analyzeOneFileWithJavaIntegrationAndCheckForErrors(
psiFile, Collections.<AnalyzerScriptParameter>emptyList(), psiFile, Collections.<AnalyzerScriptParameter>emptyList(),
jetCoreEnvironment.getCompilerDependencies()) jetCoreEnvironment.getCompilerDependencies().getCompilerSpecialMode())
.getBindingContext(); .getBindingContext();
return bindingContext.get(BindingContext.FQNAME_TO_NAMESPACE_DESCRIPTOR, FqName.topLevel(Name.identifier("test"))); return bindingContext.get(BindingContext.FQNAME_TO_NAMESPACE_DESCRIPTOR, FqName.topLevel(Name.identifier("test")));
} }
@@ -75,7 +75,7 @@ public abstract class AbstractLazyResolveTest {
protected InjectorForTopDownAnalyzerForJvm createInjectorForTDA(ModuleDescriptor module) { protected InjectorForTopDownAnalyzerForJvm createInjectorForTDA(ModuleDescriptor module) {
TopDownAnalysisParameters params = new TopDownAnalysisParameters( TopDownAnalysisParameters params = new TopDownAnalysisParameters(
Predicates.<PsiFile>alwaysTrue(), false, false, Collections.<AnalyzerScriptParameter>emptyList()); Predicates.<PsiFile>alwaysTrue(), false, false, Collections.<AnalyzerScriptParameter>emptyList());
return new InjectorForTopDownAnalyzerForJvm(project, params, new BindingTraceContext(), module, compilerDependencies); return new InjectorForTopDownAnalyzerForJvm(project, params, new BindingTraceContext(), module, CompilerSpecialMode.JDK_HEADERS);
} }
} }
@@ -23,8 +23,6 @@ import org.jetbrains.jet.JetTestCaseBuilder;
import org.jetbrains.jet.JetTestUtils; import org.jetbrains.jet.JetTestUtils;
import org.jetbrains.jet.analyzer.AnalyzeExhaust; import org.jetbrains.jet.analyzer.AnalyzeExhaust;
import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor; import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
import org.jetbrains.jet.lang.descriptors.PropertyAccessorDescriptor;
import org.jetbrains.jet.lang.descriptors.PropertyDescriptor;
import org.jetbrains.jet.lang.psi.JetElement; import org.jetbrains.jet.lang.psi.JetElement;
import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.jet.lang.psi.JetFile;
import org.jetbrains.jet.lang.psi.JetVisitorVoid; import org.jetbrains.jet.lang.psi.JetVisitorVoid;
@@ -94,7 +92,7 @@ public class DescriptorRendererTest extends JetLiteFixture {
AnalyzeExhaust analyzeExhaust = AnalyzeExhaust analyzeExhaust =
AnalyzerFacadeForJVM.analyzeOneFileWithJavaIntegration( AnalyzerFacadeForJVM.analyzeOneFileWithJavaIntegration(
(JetFile) psiFile, Collections.<AnalyzerScriptParameter>emptyList(), (JetFile) psiFile, Collections.<AnalyzerScriptParameter>emptyList(),
myEnvironment.getCompilerDependencies()); myEnvironment.getCompilerDependencies().getCompilerSpecialMode());
final BindingContext bindingContext = analyzeExhaust.getBindingContext(); final BindingContext bindingContext = analyzeExhaust.getBindingContext();
final List<DeclarationDescriptor> descriptors = new ArrayList<DeclarationDescriptor>(); final List<DeclarationDescriptor> descriptors = new ArrayList<DeclarationDescriptor>();
psiFile.acceptChildren(new JetVisitorVoid() { psiFile.acceptChildren(new JetVisitorVoid() {
@@ -156,7 +156,7 @@ public abstract class ExpectedResolveData {
AnalyzeExhaust analyzeExhaust = AnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(project, files, Collections.<AnalyzerScriptParameter>emptyList(), AnalyzeExhaust analyzeExhaust = AnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(project, files, Collections.<AnalyzerScriptParameter>emptyList(),
Predicates.<PsiFile>alwaysTrue(), Predicates.<PsiFile>alwaysTrue(),
jetCoreEnvironment.getCompilerDependencies()); jetCoreEnvironment.getCompilerDependencies().getCompilerSpecialMode());
BindingContext bindingContext = analyzeExhaust.getBindingContext(); BindingContext bindingContext = analyzeExhaust.getBindingContext();
for (Diagnostic diagnostic : bindingContext.getDiagnostics()) { for (Diagnostic diagnostic : bindingContext.getDiagnostics()) {
if (diagnostic.getFactory() instanceof UnresolvedReferenceDiagnosticFactory) { if (diagnostic.getFactory() instanceof UnresolvedReferenceDiagnosticFactory) {
@@ -68,7 +68,7 @@ public class JetDefaultModalityModifiersTest extends JetLiteFixture {
assert aClass instanceof JetClass; assert aClass instanceof JetClass;
AnalyzeExhaust bindingContext = AnalyzerFacadeForJVM.analyzeOneFileWithJavaIntegration(file, AnalyzeExhaust bindingContext = AnalyzerFacadeForJVM.analyzeOneFileWithJavaIntegration(file,
Collections.<AnalyzerScriptParameter>emptyList(), Collections.<AnalyzerScriptParameter>emptyList(),
myEnvironment.getCompilerDependencies()); myEnvironment.getCompilerDependencies().getCompilerSpecialMode());
DeclarationDescriptor classDescriptor = bindingContext.getBindingContext().get(BindingContext.DECLARATION_TO_DESCRIPTOR, aClass); DeclarationDescriptor classDescriptor = bindingContext.getBindingContext().get(BindingContext.DECLARATION_TO_DESCRIPTOR, aClass);
WritableScopeImpl scope = new WritableScopeImpl( WritableScopeImpl scope = new WritableScopeImpl(
libraryScope, root, RedeclarationHandler.DO_NOTHING, "JetDefaultModalityModifiersTest"); libraryScope, root, RedeclarationHandler.DO_NOTHING, "JetDefaultModalityModifiersTest");
@@ -88,8 +88,7 @@ public class AllInjectorsGenerator {
private static void generateInjectorForTopDownAnalyzerForJvm() throws IOException { private static void generateInjectorForTopDownAnalyzerForJvm() throws IOException {
DependencyInjectorGenerator generator = new DependencyInjectorGenerator(false); DependencyInjectorGenerator generator = new DependencyInjectorGenerator(false);
generateInjectorForTopDownAnalyzerCommon(generator); generateInjectorForTopDownAnalyzerCommon(generator);
generator.addParameter(CompilerDependencies.class); generator.addParameter(CompilerSpecialMode.class);
generator.addField(false, CompilerSpecialMode.class, null, new GivenExpression("compilerDependencies.getCompilerSpecialMode()"));
generator.addPublicField(JavaBridgeConfiguration.class); generator.addPublicField(JavaBridgeConfiguration.class);
generator.addField(JavaDescriptorResolver.class); generator.addField(JavaDescriptorResolver.class);
generator.addField(PsiClassFinderImpl.class); generator.addField(PsiClassFinderImpl.class);