From 25e533a42da1d66c910a806d37db0eee8df0de4c Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Sun, 23 Feb 2014 11:23:25 +0400 Subject: [PATCH] Do not inject TopDownAnalysisContext into ScriptHeaderResolver --- .../di/InjectorForTopDownAnalyzerForJvm.java | 1 - .../di/InjectorForTopDownAnalyzerBasic.java | 1 - .../jet/lang/resolve/DeclarationResolver.java | 2 +- .../lang/resolve/ScriptHeaderResolver.java | 19 ++++++------------- .../lang/resolve/TypeHierarchyResolver.java | 2 +- .../di/InjectorForTopDownAnalyzerForJs.java | 1 - 6 files changed, 8 insertions(+), 18 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 a4b0dfa61b5..7cded462135 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerForJvm.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerForJvm.java @@ -279,7 +279,6 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly jetImportsFactory.setProject(project); - scriptHeaderResolver.setContext(topDownAnalysisContext); scriptHeaderResolver.setDependencyClassByQualifiedNameResolver(javaDescriptorResolver); scriptHeaderResolver.setPackageFragmentProvider(mutablePackageFragmentProvider); scriptHeaderResolver.setTopDownAnalysisParameters(topDownAnalysisParameters); diff --git a/compiler/frontend/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerBasic.java b/compiler/frontend/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerBasic.java index f86d75a57e1..63578d90551 100644 --- a/compiler/frontend/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerBasic.java +++ b/compiler/frontend/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerBasic.java @@ -234,7 +234,6 @@ public class InjectorForTopDownAnalyzerBasic { jetImportsFactory.setProject(project); - scriptHeaderResolver.setContext(topDownAnalysisContext); scriptHeaderResolver.setDependencyClassByQualifiedNameResolver(dependencyClassByQualifiedNameResolverDummy); scriptHeaderResolver.setPackageFragmentProvider(mutablePackageFragmentProvider); scriptHeaderResolver.setTopDownAnalysisParameters(topDownAnalysisParameters); 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 2cd42ed4be2..439ce03eeea 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DeclarationResolver.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DeclarationResolver.java @@ -177,7 +177,7 @@ public class DeclarationResolver { classDescriptor.getBuilder()); } - scriptHeaderResolver.resolveScriptDeclarations(); + scriptHeaderResolver.resolveScriptDeclarations(c); // TODO : Extensions } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/ScriptHeaderResolver.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/ScriptHeaderResolver.java index 0bf36a9c0c9..120582c2c59 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/ScriptHeaderResolver.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/ScriptHeaderResolver.java @@ -55,8 +55,6 @@ public class ScriptHeaderResolver { @NotNull private DependencyClassByQualifiedNameResolver dependencyClassByQualifiedNameResolver; @NotNull - private TopDownAnalysisContext context; - @NotNull private BindingTrace trace; @NotNull private TopDownAnalysisParameters topDownAnalysisParameters; @@ -71,11 +69,6 @@ public class ScriptHeaderResolver { this.dependencyClassByQualifiedNameResolver = dependencyClassByQualifiedNameResolver; } - @Inject - public void setContext(@NotNull TopDownAnalysisContext context) { - this.context = context; - } - @Inject public void setTrace(@NotNull BindingTrace trace) { this.trace = trace; @@ -116,7 +109,7 @@ public class ScriptHeaderResolver { return new ValueParameterDescriptorImpl(script, index, Annotations.EMPTY, scriptParameter.getName(), type, false, null); } - public void processScriptHierarchy(@NotNull JetScript script, @NotNull JetScope outerScope) { + public void processScriptHierarchy(@NotNull TopDownAnalysisContext c, @NotNull JetScript script, @NotNull JetScope outerScope) { JetFile file = (JetFile) script.getContainingFile(); JetPackageDirective packageDirective = file.getPackageDirective(); FqName fqName = packageDirective != null ? new FqName(packageDirective.getQualifiedName()) : FqName.ROOT; @@ -135,19 +128,19 @@ public class ScriptHeaderResolver { WritableScopeImpl scriptScope = new WritableScopeImpl(outerScope, scriptDescriptor, RedeclarationHandler.DO_NOTHING, "script"); scriptScope.changeLockLevel(WritableScope.LockLevel.BOTH); - context.getScriptScopes().put(script, scriptScope); - context.getScripts().put(script, scriptDescriptor); + c.getScriptScopes().put(script, scriptScope); + c.getScripts().put(script, scriptDescriptor); trace.record(BindingContext.SCRIPT, script, scriptDescriptor); ((WritableScope)outerScope).addClassifierDescriptor(scriptDescriptor.getClassDescriptor()); } - public void resolveScriptDeclarations() { - for (Map.Entry e : context.getScripts().entrySet()) { + public void resolveScriptDeclarations(@NotNull TopDownAnalysisContext c) { + for (Map.Entry e : c.getScripts().entrySet()) { JetScript declaration = e.getKey(); ScriptDescriptor descriptor = e.getValue(); - WritableScope scope = context.getScriptScopes().get(declaration); + WritableScope scope = c.getScriptScopes().get(declaration); List valueParameters = Lists.newArrayList(); 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 b1db38a303f..3b8ed8b09a0 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/TypeHierarchyResolver.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/TypeHierarchyResolver.java @@ -468,7 +468,7 @@ public class TypeHierarchyResolver { context.getFileScopes().put(file, packageScope); if (file.isScript()) { - scriptHeaderResolver.processScriptHierarchy(file.getScript(), packageScope); + scriptHeaderResolver.processScriptHierarchy(context, file.getScript(), packageScope); } prepareForDeferredCall(packageScope, packageFragment, file); 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 db0ce128012..844fee4d298 100644 --- a/js/js.translator/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerForJs.java +++ b/js/js.translator/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerForJs.java @@ -234,7 +234,6 @@ public class InjectorForTopDownAnalyzerForJs { jetImportsFactory.setProject(project); - scriptHeaderResolver.setContext(topDownAnalysisContext); scriptHeaderResolver.setDependencyClassByQualifiedNameResolver(dependencyClassByQualifiedNameResolverDummy); scriptHeaderResolver.setPackageFragmentProvider(mutablePackageFragmentProvider); scriptHeaderResolver.setTopDownAnalysisParameters(topDownAnalysisParameters);