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 6a416e006f6..44f9db6c9f3 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerForJvm.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerForJvm.java @@ -286,7 +286,6 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly overloadResolver.setTrace(bindingTrace); - overrideResolver.setContext(topDownAnalysisContext); overrideResolver.setTopDownAnalysisParameters(topDownAnalysisParameters); overrideResolver.setTrace(bindingTrace); diff --git a/compiler/frontend/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerBasic.java b/compiler/frontend/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerBasic.java index 0591bd220d4..1d8d1cda5a0 100644 --- a/compiler/frontend/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerBasic.java +++ b/compiler/frontend/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerBasic.java @@ -241,7 +241,6 @@ public class InjectorForTopDownAnalyzerBasic { overloadResolver.setTrace(bindingTrace); - overrideResolver.setContext(topDownAnalysisContext); overrideResolver.setTopDownAnalysisParameters(topDownAnalysisParameters); overrideResolver.setTrace(bindingTrace); diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/OverrideResolver.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/OverrideResolver.java index a3fe6e04350..332f22cb8e0 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/OverrideResolver.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/OverrideResolver.java @@ -48,16 +48,9 @@ import static org.jetbrains.jet.lang.resolve.OverridingUtil.OverrideCompatibilit public class OverrideResolver { - private TopDownAnalysisContext context; private TopDownAnalysisParameters topDownAnalysisParameters; private BindingTrace trace; - - @Inject - public void setContext(TopDownAnalysisContext context) { - this.context = context; - } - @Inject public void setTopDownAnalysisParameters(TopDownAnalysisParameters topDownAnalysisParameters) { this.topDownAnalysisParameters = topDownAnalysisParameters; @@ -70,23 +63,23 @@ public class OverrideResolver { - public void process() { + public void process(@NotNull TopDownAnalysisContext c) { //all created fake descriptors are stored to resolve visibility on them later - generateOverridesAndDelegation(); + generateOverridesAndDelegation(c); - checkVisibility(); - checkOverrides(); - checkParameterOverridesForAllClasses(); + checkVisibility(c); + checkOverrides(c); + checkParameterOverridesForAllClasses(c); } /** * Generate fake overrides and add overridden descriptors to existing descriptors. */ - private void generateOverridesAndDelegation() { - Set ourClasses = new HashSet(context.getClasses().values()); + private void generateOverridesAndDelegation(@NotNull TopDownAnalysisContext c) { + Set ourClasses = new HashSet(c.getClasses().values()); Set processed = new HashSet(); - for (MutableClassDescriptorLite klass : ContainerUtil.reverse(context.getClassesTopologicalOrder())) { + for (MutableClassDescriptorLite klass : ContainerUtil.reverse(c.getClassesTopologicalOrder())) { if (klass instanceof MutableClassDescriptor && ourClasses.contains(klass)) { generateOverridesAndDelegationInAClass((MutableClassDescriptor) klass, processed, ourClasses); @@ -216,8 +209,8 @@ public class OverrideResolver { return r; } - private void checkOverrides() { - for (Map.Entry entry : context.getClasses().entrySet()) { + private void checkOverrides(@NotNull TopDownAnalysisContext c) { + for (Map.Entry entry : c.getClasses().entrySet()) { checkOverridesInAClass((MutableClassDescriptor) entry.getValue(), entry.getKey()); } } @@ -651,8 +644,8 @@ public class OverrideResolver { return invisibleOverride; } - private void checkParameterOverridesForAllClasses() { - for (ClassDescriptorWithResolutionScopes classDescriptor : context.getClasses().values()) { + private void checkParameterOverridesForAllClasses(@NotNull TopDownAnalysisContext c) { + for (ClassDescriptorWithResolutionScopes classDescriptor : c.getClasses().values()) { for (DeclarationDescriptor member : classDescriptor.getDefaultType().getMemberScope().getAllDescriptors()) { if (member instanceof CallableMemberDescriptor) { checkOverridesForParameters((CallableMemberDescriptor) member); @@ -726,8 +719,8 @@ public class OverrideResolver { return false; } - private void checkVisibility() { - for (Map.Entry entry : context.getMembers().entrySet()) { + private void checkVisibility(@NotNull TopDownAnalysisContext c) { + for (Map.Entry entry : c.getMembers().entrySet()) { checkVisibilityForMember(entry.getKey(), entry.getValue()); } } 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 199cbb1e1cb..7aa90107449 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/TopDownAnalyzer.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/TopDownAnalyzer.java @@ -119,7 +119,7 @@ public class TopDownAnalyzer { typeHierarchyResolver.process(outerScope, owner, declarations); declarationResolver.process(c); - overrideResolver.process(); + overrideResolver.process(c); lockScopes(c); 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 86f323bbd3e..490c0af73d5 100644 --- a/js/js.translator/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerForJs.java +++ b/js/js.translator/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerForJs.java @@ -241,7 +241,6 @@ public class InjectorForTopDownAnalyzerForJs { overloadResolver.setTrace(bindingTrace); - overrideResolver.setContext(topDownAnalysisContext); overrideResolver.setTopDownAnalysisParameters(topDownAnalysisParameters); overrideResolver.setTrace(bindingTrace);