Fixing interdependency between delegation and fake overrides
Main changes sit in OverrideResolver::generateOverridesAndDelegationInAClass() Now fake overrides AND delegation are generated for supertypes before any processing is done for subclasses.
This commit is contained in:
@@ -42,7 +42,6 @@ import org.jetbrains.jet.lang.resolve.QualifiedExpressionResolver;
|
||||
import org.jetbrains.jet.lang.resolve.calls.OverloadingConflictResolver;
|
||||
import org.jetbrains.jet.lang.resolve.ImportsResolver;
|
||||
import org.jetbrains.jet.lang.resolve.ScriptHeaderResolver;
|
||||
import org.jetbrains.jet.lang.resolve.DelegationResolver;
|
||||
import org.jetbrains.jet.lang.resolve.OverloadResolver;
|
||||
import org.jetbrains.jet.lang.resolve.OverrideResolver;
|
||||
import org.jetbrains.jet.lang.resolve.TypeHierarchyResolver;
|
||||
@@ -80,7 +79,6 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
|
||||
private OverloadingConflictResolver overloadingConflictResolver;
|
||||
private ImportsResolver importsResolver;
|
||||
private ScriptHeaderResolver scriptHeaderResolver;
|
||||
private DelegationResolver delegationResolver;
|
||||
private OverloadResolver overloadResolver;
|
||||
private OverrideResolver overrideResolver;
|
||||
private TypeHierarchyResolver typeHierarchyResolver;
|
||||
@@ -120,7 +118,6 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
|
||||
this.overloadingConflictResolver = new OverloadingConflictResolver();
|
||||
this.importsResolver = new ImportsResolver();
|
||||
this.scriptHeaderResolver = new ScriptHeaderResolver();
|
||||
this.delegationResolver = new DelegationResolver();
|
||||
this.overloadResolver = new OverloadResolver();
|
||||
this.overrideResolver = new OverrideResolver();
|
||||
this.typeHierarchyResolver = new TypeHierarchyResolver();
|
||||
@@ -132,7 +129,6 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
|
||||
this.topDownAnalyzer.setBodyResolver(bodyResolver);
|
||||
this.topDownAnalyzer.setContext(topDownAnalysisContext);
|
||||
this.topDownAnalyzer.setDeclarationResolver(declarationResolver);
|
||||
this.topDownAnalyzer.setDelegationResolver(delegationResolver);
|
||||
this.topDownAnalyzer.setModuleDescriptor(moduleDescriptor);
|
||||
this.topDownAnalyzer.setNamespaceFactory(namespaceFactory);
|
||||
this.topDownAnalyzer.setOverloadResolver(overloadResolver);
|
||||
@@ -214,9 +210,6 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
|
||||
scriptHeaderResolver.setTopDownAnalysisParameters(topDownAnalysisParameters);
|
||||
scriptHeaderResolver.setTrace(bindingTrace);
|
||||
|
||||
delegationResolver.setContext(topDownAnalysisContext);
|
||||
delegationResolver.setTrace(bindingTrace);
|
||||
|
||||
overloadResolver.setContext(topDownAnalysisContext);
|
||||
overloadResolver.setTrace(bindingTrace);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user