diff --git a/compiler/frontend.java/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerForJvm.java b/compiler/frontend.java/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerForJvm.java index 5e723dab626..c152f92216a 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerForJvm.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerForJvm.java @@ -178,7 +178,6 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly this.topDownAnalyzer.setOverloadResolver(overloadResolver); this.topDownAnalyzer.setOverrideResolver(overrideResolver); this.topDownAnalyzer.setPackageFragmentProvider(mutablePackageFragmentProvider); - this.topDownAnalyzer.setTopDownAnalysisParameters(topDownAnalysisParameters); this.topDownAnalyzer.setTrace(bindingTrace); this.topDownAnalyzer.setTypeHierarchyResolver(typeHierarchyResolver); diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/AnalyzerFacadeForJVM.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/AnalyzerFacadeForJVM.java index ec76d889d54..e2998a7a461 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/AnalyzerFacadeForJVM.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/AnalyzerFacadeForJVM.java @@ -229,7 +229,7 @@ public enum AnalyzerFacadeForJVM implements AnalyzerFacade { InjectorForTopDownAnalyzerForJvm injector = new InjectorForTopDownAnalyzerForJvm(project, topDownAnalysisParameters, trace, module); try { module.addFragmentProvider(DependencyKind.BINARIES, injector.getJavaDescriptorResolver().getPackageFragmentProvider()); - TopDownAnalysisContext topDownAnalysisContext = injector.getTopDownAnalyzer().analyzeFiles(files, scriptParameters); + TopDownAnalysisContext topDownAnalysisContext = injector.getTopDownAnalyzer().analyzeFiles(topDownAnalysisParameters, files, scriptParameters); BodiesResolveContext bodiesResolveContext = storeContextForBodiesResolve ? new CachedBodiesResolveContext(topDownAnalysisContext) : null; diff --git a/compiler/frontend/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerBasic.java b/compiler/frontend/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerBasic.java index f42ff1ae46d..48f078da742 100644 --- a/compiler/frontend/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerBasic.java +++ b/compiler/frontend/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerBasic.java @@ -145,7 +145,6 @@ public class InjectorForTopDownAnalyzerBasic { this.topDownAnalyzer.setOverloadResolver(overloadResolver); this.topDownAnalyzer.setOverrideResolver(overrideResolver); this.topDownAnalyzer.setPackageFragmentProvider(mutablePackageFragmentProvider); - this.topDownAnalyzer.setTopDownAnalysisParameters(topDownAnalysisParameters); this.topDownAnalyzer.setTrace(bindingTrace); this.topDownAnalyzer.setTypeHierarchyResolver(typeHierarchyResolver); diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/TopDownAnalyzer.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/TopDownAnalyzer.java index d5374d933b0..da3213ca71d 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/TopDownAnalyzer.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/TopDownAnalyzer.java @@ -53,8 +53,6 @@ public class TopDownAnalyzer { @NotNull private OverloadResolver overloadResolver; @NotNull - private TopDownAnalysisParameters topDownAnalysisParameters; - @NotNull private BindingTrace trace; @NotNull private ModuleDescriptor moduleDescriptor; @@ -83,11 +81,6 @@ public class TopDownAnalyzer { this.overloadResolver = overloadResolver; } - @Inject - public void setTopDownAnalysisParameters(@NotNull TopDownAnalysisParameters topDownAnalysisParameters) { - this.topDownAnalysisParameters = topDownAnalysisParameters; - } - @Inject public void setTrace(@NotNull BindingTrace trace) { this.trace = trace; @@ -125,7 +118,7 @@ public class TopDownAnalyzer { overloadResolver.process(c); - if (!topDownAnalysisParameters.isAnalyzingBootstrapLibrary()) { + if (!c.getTopDownAnalysisParameters().isAnalyzingBootstrapLibrary()) { bodyResolver.resolveBodies(c); } @@ -218,6 +211,7 @@ public class TopDownAnalyzer { @NotNull public TopDownAnalysisContext analyzeFiles( + @NotNull TopDownAnalysisParameters topDownAnalysisParameters, @NotNull Collection files, @NotNull List scriptParameters) { ((ModuleDescriptorImpl) moduleDescriptor).addFragmentProvider(DependencyKind.SOURCES, packageFragmentProvider); diff --git a/compiler/tests/org/jetbrains/jet/jvm/compiler/AbstractLoadJavaTest.java b/compiler/tests/org/jetbrains/jet/jvm/compiler/AbstractLoadJavaTest.java index f901a22b7a7..2e64cdf9484 100644 --- a/compiler/tests/org/jetbrains/jet/jvm/compiler/AbstractLoadJavaTest.java +++ b/compiler/tests/org/jetbrains/jet/jvm/compiler/AbstractLoadJavaTest.java @@ -140,22 +140,23 @@ public abstract class AbstractLoadJavaTest extends TestCaseWithTmpdir { BindingTrace trace = support.getTrace(); ModuleDescriptorImpl module = support.getModule(); + TopDownAnalysisParameters parameters = new TopDownAnalysisParameters( + new LockBasedStorageManager(), + new ExceptionTracker(), // dummy + Predicates.alwaysFalse(), + false, + false, + Collections.emptyList() + ); InjectorForTopDownAnalyzerForJvm injectorForAnalyzer = new InjectorForTopDownAnalyzerForJvm( environment.getProject(), - new TopDownAnalysisParameters( - new LockBasedStorageManager(), - new ExceptionTracker(), // dummy - Predicates.alwaysFalse(), - false, - false, - Collections.emptyList() - ), + parameters, trace, module); module.addFragmentProvider(DependencyKind.BINARIES, injectorForAnalyzer.getJavaDescriptorResolver().getPackageFragmentProvider()); - injectorForAnalyzer.getTopDownAnalyzer().analyzeFiles(environment.getSourceFiles(), Collections.emptyList()); + injectorForAnalyzer.getTopDownAnalyzer().analyzeFiles(parameters, environment.getSourceFiles(), Collections.emptyList()); PackageViewDescriptor packageView = module.getPackage(TEST_PACKAGE_FQNAME); assert packageView != null : "Test package not found"; 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 d53d0618fa7..0e9e4c89861 100644 --- a/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/LazyResolveTestUtil.java +++ b/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/LazyResolveTestUtil.java @@ -26,7 +26,6 @@ import org.jetbrains.jet.cli.jvm.compiler.CliLightClassGenerationSupport; import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment; import org.jetbrains.jet.context.ContextPackage; import org.jetbrains.jet.context.GlobalContextImpl; -import org.jetbrains.jet.di.InjectorForTopDownAnalyzer; import org.jetbrains.jet.di.InjectorForTopDownAnalyzerForJvm; import org.jetbrains.jet.lang.descriptors.DependencyKind; import org.jetbrains.jet.lang.descriptors.ModuleDescriptor; @@ -49,7 +48,7 @@ public class LazyResolveTestUtil { private LazyResolveTestUtil() { } - public static InjectorForTopDownAnalyzer createInjectorForTDA(JetCoreEnvironment environment) { + public static ModuleDescriptor resolveEagerly(List files, JetCoreEnvironment environment) { JetTestUtils.newTrace(environment); GlobalContextImpl globalContext = ContextPackage.GlobalContext(); @@ -62,12 +61,7 @@ public class LazyResolveTestUtil { InjectorForTopDownAnalyzerForJvm injector = new InjectorForTopDownAnalyzerForJvm(environment.getProject(), params, sharedTrace, sharedModule); sharedModule.addFragmentProvider(DependencyKind.BINARIES, injector.getJavaDescriptorResolver().getPackageFragmentProvider()); - return injector; - } - - public static ModuleDescriptor resolveEagerly(List files, JetCoreEnvironment environment) { - InjectorForTopDownAnalyzer injector = createInjectorForTDA(environment); - injector.getTopDownAnalyzer().analyzeFiles(files, Collections.emptyList()); + injector.getTopDownAnalyzer().analyzeFiles(params, files, Collections.emptyList()); return injector.getModuleDescriptor(); } diff --git a/idea/src/org/jetbrains/jet/plugin/references/BuiltInsReferenceResolver.java b/idea/src/org/jetbrains/jet/plugin/references/BuiltInsReferenceResolver.java index 2d1675d68fd..372134f11d3 100644 --- a/idea/src/org/jetbrains/jet/plugin/references/BuiltInsReferenceResolver.java +++ b/idea/src/org/jetbrains/jet/plugin/references/BuiltInsReferenceResolver.java @@ -97,7 +97,7 @@ public class BuiltInsReferenceResolver extends AbstractProjectComponent { myProject, topDownAnalysisParameters, trace, module); TopDownAnalyzer analyzer = injector.getTopDownAnalyzer(); - analyzer.analyzeFiles(jetBuiltInsFiles, Collections.emptyList()); + analyzer.analyzeFiles(topDownAnalysisParameters, jetBuiltInsFiles, Collections.emptyList()); builtinsPackageFragment = analyzer.getPackageFragmentProvider().getOrCreateFragment(KotlinBuiltIns.BUILT_INS_PACKAGE_FQ_NAME); builtInsSources = Sets.newHashSet(jetBuiltInsFiles); diff --git a/js/js.translator/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerForJs.java b/js/js.translator/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerForJs.java index 91ba8cb3b61..500522cb792 100644 --- a/js/js.translator/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerForJs.java +++ b/js/js.translator/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerForJs.java @@ -145,7 +145,6 @@ public class InjectorForTopDownAnalyzerForJs { this.topDownAnalyzer.setOverloadResolver(overloadResolver); this.topDownAnalyzer.setOverrideResolver(overrideResolver); this.topDownAnalyzer.setPackageFragmentProvider(mutablePackageFragmentProvider); - this.topDownAnalyzer.setTopDownAnalysisParameters(topDownAnalysisParameters); this.topDownAnalyzer.setTrace(bindingTrace); this.topDownAnalyzer.setTypeHierarchyResolver(typeHierarchyResolver); diff --git a/js/js.translator/src/org/jetbrains/k2js/analyze/AnalyzerFacadeForJS.java b/js/js.translator/src/org/jetbrains/k2js/analyze/AnalyzerFacadeForJS.java index 8290b75ee5c..8d5d860eb3b 100644 --- a/js/js.translator/src/org/jetbrains/k2js/analyze/AnalyzerFacadeForJS.java +++ b/js/js.translator/src/org/jetbrains/k2js/analyze/AnalyzerFacadeForJS.java @@ -109,7 +109,7 @@ public final class AnalyzerFacadeForJS { files : Config.withJsLibAdded(files, config); TopDownAnalysisContext topDownAnalysisContext = - injector.getTopDownAnalyzer().analyzeFiles(allFiles, Collections.emptyList()); + injector.getTopDownAnalyzer().analyzeFiles(topDownAnalysisParameters, allFiles, Collections.emptyList()); BodiesResolveContext bodiesResolveContext = storeContextForBodiesResolve ? new CachedBodiesResolveContext(topDownAnalysisContext) : null;