From 7e43f2e61edf552257999b5bd033da2dc1b0e693 Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Sun, 23 Feb 2014 11:21:22 +0400 Subject: [PATCH] Do not inject TopDownAnalysisContext into ImportsResolver --- .../di/InjectorForTopDownAnalyzerForJvm.java | 1 - .../di/InjectorForTopDownAnalyzerBasic.java | 1 - .../jet/lang/resolve/DeclarationResolver.java | 2 +- .../jet/lang/resolve/ImportsResolver.java | 25 +++++++------------ .../lang/resolve/TypeHierarchyResolver.java | 2 +- .../di/InjectorForTopDownAnalyzerForJs.java | 1 - 6 files changed, 11 insertions(+), 21 deletions(-) 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 be6400de2bb..a4b0dfa61b5 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerForJvm.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerForJvm.java @@ -272,7 +272,6 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly declarationResolver.setScriptHeaderResolver(scriptHeaderResolver); declarationResolver.setTrace(bindingTrace); - importsResolver.setContext(topDownAnalysisContext); importsResolver.setImportsFactory(jetImportsFactory); importsResolver.setModuleDescriptor(moduleDescriptor); importsResolver.setQualifiedExpressionResolver(qualifiedExpressionResolver); diff --git a/compiler/frontend/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerBasic.java b/compiler/frontend/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerBasic.java index a7d120e8d52..f86d75a57e1 100644 --- a/compiler/frontend/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerBasic.java +++ b/compiler/frontend/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerBasic.java @@ -227,7 +227,6 @@ public class InjectorForTopDownAnalyzerBasic { declarationResolver.setScriptHeaderResolver(scriptHeaderResolver); declarationResolver.setTrace(bindingTrace); - importsResolver.setContext(topDownAnalysisContext); importsResolver.setImportsFactory(jetImportsFactory); importsResolver.setModuleDescriptor(moduleDescriptor); importsResolver.setQualifiedExpressionResolver(qualifiedExpressionResolver); diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DeclarationResolver.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DeclarationResolver.java index 6ec5b56df8e..2cd42ed4be2 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DeclarationResolver.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DeclarationResolver.java @@ -90,7 +90,7 @@ public class DeclarationResolver { resolveAnnotationStubsOnClassesAndConstructors(c); resolveFunctionAndPropertyHeaders(c); createFunctionsForDataClasses(c); - importsResolver.processMembersImports(); + importsResolver.processMembersImports(c); checkRedeclarationsInPackages(c); checkRedeclarationsInInnerClassNames(c); } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/ImportsResolver.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/ImportsResolver.java index f2d6a40e021..526ac9caaf2 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/ImportsResolver.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/ImportsResolver.java @@ -35,8 +35,6 @@ import static org.jetbrains.jet.lang.diagnostics.Errors.*; import static org.jetbrains.jet.lang.resolve.QualifiedExpressionResolver.LookupMode; public class ImportsResolver { - @NotNull - private TopDownAnalysisContext context; @NotNull private ModuleDescriptor moduleDescriptor; @NotNull @@ -46,11 +44,6 @@ public class ImportsResolver { @NotNull private JetImportsFactory importsFactory; - @Inject - public void setContext(@NotNull TopDownAnalysisContext context) { - this.context = context; - } - @Inject public void setModuleDescriptor(@NotNull ModuleDescriptor moduleDescriptor) { this.moduleDescriptor = moduleDescriptor; @@ -71,21 +64,21 @@ public class ImportsResolver { this.importsFactory = importsFactory; } - public void processTypeImports() { - processImports(LookupMode.ONLY_CLASSES); + public void processTypeImports(@NotNull TopDownAnalysisContext c) { + processImports(c, LookupMode.ONLY_CLASSES); } - public void processMembersImports() { - processImports(LookupMode.EVERYTHING); + public void processMembersImports(@NotNull TopDownAnalysisContext c) { + processImports(c, LookupMode.EVERYTHING); } - private void processImports(@NotNull LookupMode lookupMode) { - for (JetFile file : context.getPackageFragments().keySet()) { - WritableScope fileScope = context.getFileScopes().get(file); + private void processImports(@NotNull TopDownAnalysisContext c, @NotNull LookupMode lookupMode) { + for (JetFile file : c.getPackageFragments().keySet()) { + WritableScope fileScope = c.getFileScopes().get(file); processImportsInFile(lookupMode, fileScope, Lists.newArrayList(file.getImportDirectives()), JetPsiUtil.getFQName(file).isRoot()); } - for (JetScript script : context.getScripts().keySet()) { - WritableScope scriptScope = context.getScriptScopes().get(script); + for (JetScript script : c.getScripts().keySet()) { + WritableScope scriptScope = c.getScriptScopes().get(script); processImportsInFile(lookupMode, scriptScope, script.getImportDirectives(), true); } } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/TypeHierarchyResolver.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/TypeHierarchyResolver.java index b273c1aa49b..b1db38a303f 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/TypeHierarchyResolver.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/TypeHierarchyResolver.java @@ -128,7 +128,7 @@ public class TypeHierarchyResolver { } } - importsResolver.processTypeImports(); + importsResolver.processTypeImports(context); createTypeConstructors(); // create type constructors for classes and generic parameters, supertypes are not filled in resolveTypesInClassHeaders(); // Generic bounds and types in supertype lists (no expressions or constructor resolution) 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 63708d27e8f..db0ce128012 100644 --- a/js/js.translator/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerForJs.java +++ b/js/js.translator/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerForJs.java @@ -227,7 +227,6 @@ public class InjectorForTopDownAnalyzerForJs { declarationResolver.setScriptHeaderResolver(scriptHeaderResolver); declarationResolver.setTrace(bindingTrace); - importsResolver.setContext(topDownAnalysisContext); importsResolver.setImportsFactory(jetImportsFactory); importsResolver.setModuleDescriptor(moduleDescriptor); importsResolver.setQualifiedExpressionResolver(qualifiedExpressionResolver);