Do not inject TopDownAnalysisContext into ScriptHeaderResolver
This commit is contained in:
@@ -279,7 +279,6 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
|
||||
|
||||
jetImportsFactory.setProject(project);
|
||||
|
||||
scriptHeaderResolver.setContext(topDownAnalysisContext);
|
||||
scriptHeaderResolver.setDependencyClassByQualifiedNameResolver(javaDescriptorResolver);
|
||||
scriptHeaderResolver.setPackageFragmentProvider(mutablePackageFragmentProvider);
|
||||
scriptHeaderResolver.setTopDownAnalysisParameters(topDownAnalysisParameters);
|
||||
|
||||
@@ -234,7 +234,6 @@ public class InjectorForTopDownAnalyzerBasic {
|
||||
|
||||
jetImportsFactory.setProject(project);
|
||||
|
||||
scriptHeaderResolver.setContext(topDownAnalysisContext);
|
||||
scriptHeaderResolver.setDependencyClassByQualifiedNameResolver(dependencyClassByQualifiedNameResolverDummy);
|
||||
scriptHeaderResolver.setPackageFragmentProvider(mutablePackageFragmentProvider);
|
||||
scriptHeaderResolver.setTopDownAnalysisParameters(topDownAnalysisParameters);
|
||||
|
||||
@@ -177,7 +177,7 @@ public class DeclarationResolver {
|
||||
classDescriptor.getBuilder());
|
||||
}
|
||||
|
||||
scriptHeaderResolver.resolveScriptDeclarations();
|
||||
scriptHeaderResolver.resolveScriptDeclarations(c);
|
||||
|
||||
// TODO : Extensions
|
||||
}
|
||||
|
||||
@@ -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<JetScript, ScriptDescriptor> e : context.getScripts().entrySet()) {
|
||||
public void resolveScriptDeclarations(@NotNull TopDownAnalysisContext c) {
|
||||
for (Map.Entry<JetScript, ScriptDescriptor> 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<ValueParameterDescriptor> valueParameters = Lists.newArrayList();
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -234,7 +234,6 @@ public class InjectorForTopDownAnalyzerForJs {
|
||||
|
||||
jetImportsFactory.setProject(project);
|
||||
|
||||
scriptHeaderResolver.setContext(topDownAnalysisContext);
|
||||
scriptHeaderResolver.setDependencyClassByQualifiedNameResolver(dependencyClassByQualifiedNameResolverDummy);
|
||||
scriptHeaderResolver.setPackageFragmentProvider(mutablePackageFragmentProvider);
|
||||
scriptHeaderResolver.setTopDownAnalysisParameters(topDownAnalysisParameters);
|
||||
|
||||
Reference in New Issue
Block a user