Do not inject TopDownAnalysisContext into ScriptHeaderResolver
This commit is contained in:
@@ -279,7 +279,6 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
|
|||||||
|
|
||||||
jetImportsFactory.setProject(project);
|
jetImportsFactory.setProject(project);
|
||||||
|
|
||||||
scriptHeaderResolver.setContext(topDownAnalysisContext);
|
|
||||||
scriptHeaderResolver.setDependencyClassByQualifiedNameResolver(javaDescriptorResolver);
|
scriptHeaderResolver.setDependencyClassByQualifiedNameResolver(javaDescriptorResolver);
|
||||||
scriptHeaderResolver.setPackageFragmentProvider(mutablePackageFragmentProvider);
|
scriptHeaderResolver.setPackageFragmentProvider(mutablePackageFragmentProvider);
|
||||||
scriptHeaderResolver.setTopDownAnalysisParameters(topDownAnalysisParameters);
|
scriptHeaderResolver.setTopDownAnalysisParameters(topDownAnalysisParameters);
|
||||||
|
|||||||
@@ -234,7 +234,6 @@ public class InjectorForTopDownAnalyzerBasic {
|
|||||||
|
|
||||||
jetImportsFactory.setProject(project);
|
jetImportsFactory.setProject(project);
|
||||||
|
|
||||||
scriptHeaderResolver.setContext(topDownAnalysisContext);
|
|
||||||
scriptHeaderResolver.setDependencyClassByQualifiedNameResolver(dependencyClassByQualifiedNameResolverDummy);
|
scriptHeaderResolver.setDependencyClassByQualifiedNameResolver(dependencyClassByQualifiedNameResolverDummy);
|
||||||
scriptHeaderResolver.setPackageFragmentProvider(mutablePackageFragmentProvider);
|
scriptHeaderResolver.setPackageFragmentProvider(mutablePackageFragmentProvider);
|
||||||
scriptHeaderResolver.setTopDownAnalysisParameters(topDownAnalysisParameters);
|
scriptHeaderResolver.setTopDownAnalysisParameters(topDownAnalysisParameters);
|
||||||
|
|||||||
@@ -177,7 +177,7 @@ public class DeclarationResolver {
|
|||||||
classDescriptor.getBuilder());
|
classDescriptor.getBuilder());
|
||||||
}
|
}
|
||||||
|
|
||||||
scriptHeaderResolver.resolveScriptDeclarations();
|
scriptHeaderResolver.resolveScriptDeclarations(c);
|
||||||
|
|
||||||
// TODO : Extensions
|
// TODO : Extensions
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -55,8 +55,6 @@ public class ScriptHeaderResolver {
|
|||||||
@NotNull
|
@NotNull
|
||||||
private DependencyClassByQualifiedNameResolver dependencyClassByQualifiedNameResolver;
|
private DependencyClassByQualifiedNameResolver dependencyClassByQualifiedNameResolver;
|
||||||
@NotNull
|
@NotNull
|
||||||
private TopDownAnalysisContext context;
|
|
||||||
@NotNull
|
|
||||||
private BindingTrace trace;
|
private BindingTrace trace;
|
||||||
@NotNull
|
@NotNull
|
||||||
private TopDownAnalysisParameters topDownAnalysisParameters;
|
private TopDownAnalysisParameters topDownAnalysisParameters;
|
||||||
@@ -71,11 +69,6 @@ public class ScriptHeaderResolver {
|
|||||||
this.dependencyClassByQualifiedNameResolver = dependencyClassByQualifiedNameResolver;
|
this.dependencyClassByQualifiedNameResolver = dependencyClassByQualifiedNameResolver;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Inject
|
|
||||||
public void setContext(@NotNull TopDownAnalysisContext context) {
|
|
||||||
this.context = context;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public void setTrace(@NotNull BindingTrace trace) {
|
public void setTrace(@NotNull BindingTrace trace) {
|
||||||
this.trace = trace;
|
this.trace = trace;
|
||||||
@@ -116,7 +109,7 @@ public class ScriptHeaderResolver {
|
|||||||
return new ValueParameterDescriptorImpl(script, index, Annotations.EMPTY, scriptParameter.getName(), type, false, null);
|
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();
|
JetFile file = (JetFile) script.getContainingFile();
|
||||||
JetPackageDirective packageDirective = file.getPackageDirective();
|
JetPackageDirective packageDirective = file.getPackageDirective();
|
||||||
FqName fqName = packageDirective != null ? new FqName(packageDirective.getQualifiedName()) : FqName.ROOT;
|
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");
|
WritableScopeImpl scriptScope = new WritableScopeImpl(outerScope, scriptDescriptor, RedeclarationHandler.DO_NOTHING, "script");
|
||||||
scriptScope.changeLockLevel(WritableScope.LockLevel.BOTH);
|
scriptScope.changeLockLevel(WritableScope.LockLevel.BOTH);
|
||||||
|
|
||||||
context.getScriptScopes().put(script, scriptScope);
|
c.getScriptScopes().put(script, scriptScope);
|
||||||
context.getScripts().put(script, scriptDescriptor);
|
c.getScripts().put(script, scriptDescriptor);
|
||||||
|
|
||||||
trace.record(BindingContext.SCRIPT, script, scriptDescriptor);
|
trace.record(BindingContext.SCRIPT, script, scriptDescriptor);
|
||||||
|
|
||||||
((WritableScope)outerScope).addClassifierDescriptor(scriptDescriptor.getClassDescriptor());
|
((WritableScope)outerScope).addClassifierDescriptor(scriptDescriptor.getClassDescriptor());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void resolveScriptDeclarations() {
|
public void resolveScriptDeclarations(@NotNull TopDownAnalysisContext c) {
|
||||||
for (Map.Entry<JetScript, ScriptDescriptor> e : context.getScripts().entrySet()) {
|
for (Map.Entry<JetScript, ScriptDescriptor> e : c.getScripts().entrySet()) {
|
||||||
JetScript declaration = e.getKey();
|
JetScript declaration = e.getKey();
|
||||||
ScriptDescriptor descriptor = e.getValue();
|
ScriptDescriptor descriptor = e.getValue();
|
||||||
WritableScope scope = context.getScriptScopes().get(declaration);
|
WritableScope scope = c.getScriptScopes().get(declaration);
|
||||||
|
|
||||||
List<ValueParameterDescriptor> valueParameters = Lists.newArrayList();
|
List<ValueParameterDescriptor> valueParameters = Lists.newArrayList();
|
||||||
|
|
||||||
|
|||||||
@@ -468,7 +468,7 @@ public class TypeHierarchyResolver {
|
|||||||
context.getFileScopes().put(file, packageScope);
|
context.getFileScopes().put(file, packageScope);
|
||||||
|
|
||||||
if (file.isScript()) {
|
if (file.isScript()) {
|
||||||
scriptHeaderResolver.processScriptHierarchy(file.getScript(), packageScope);
|
scriptHeaderResolver.processScriptHierarchy(context, file.getScript(), packageScope);
|
||||||
}
|
}
|
||||||
|
|
||||||
prepareForDeferredCall(packageScope, packageFragment, file);
|
prepareForDeferredCall(packageScope, packageFragment, file);
|
||||||
|
|||||||
@@ -234,7 +234,6 @@ public class InjectorForTopDownAnalyzerForJs {
|
|||||||
|
|
||||||
jetImportsFactory.setProject(project);
|
jetImportsFactory.setProject(project);
|
||||||
|
|
||||||
scriptHeaderResolver.setContext(topDownAnalysisContext);
|
|
||||||
scriptHeaderResolver.setDependencyClassByQualifiedNameResolver(dependencyClassByQualifiedNameResolverDummy);
|
scriptHeaderResolver.setDependencyClassByQualifiedNameResolver(dependencyClassByQualifiedNameResolverDummy);
|
||||||
scriptHeaderResolver.setPackageFragmentProvider(mutablePackageFragmentProvider);
|
scriptHeaderResolver.setPackageFragmentProvider(mutablePackageFragmentProvider);
|
||||||
scriptHeaderResolver.setTopDownAnalysisParameters(topDownAnalysisParameters);
|
scriptHeaderResolver.setTopDownAnalysisParameters(topDownAnalysisParameters);
|
||||||
|
|||||||
Reference in New Issue
Block a user