Do not inject TopDownAnalysisContext into ImportsResolver
This commit is contained in:
@@ -272,7 +272,6 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
|
|||||||
declarationResolver.setScriptHeaderResolver(scriptHeaderResolver);
|
declarationResolver.setScriptHeaderResolver(scriptHeaderResolver);
|
||||||
declarationResolver.setTrace(bindingTrace);
|
declarationResolver.setTrace(bindingTrace);
|
||||||
|
|
||||||
importsResolver.setContext(topDownAnalysisContext);
|
|
||||||
importsResolver.setImportsFactory(jetImportsFactory);
|
importsResolver.setImportsFactory(jetImportsFactory);
|
||||||
importsResolver.setModuleDescriptor(moduleDescriptor);
|
importsResolver.setModuleDescriptor(moduleDescriptor);
|
||||||
importsResolver.setQualifiedExpressionResolver(qualifiedExpressionResolver);
|
importsResolver.setQualifiedExpressionResolver(qualifiedExpressionResolver);
|
||||||
|
|||||||
@@ -227,7 +227,6 @@ public class InjectorForTopDownAnalyzerBasic {
|
|||||||
declarationResolver.setScriptHeaderResolver(scriptHeaderResolver);
|
declarationResolver.setScriptHeaderResolver(scriptHeaderResolver);
|
||||||
declarationResolver.setTrace(bindingTrace);
|
declarationResolver.setTrace(bindingTrace);
|
||||||
|
|
||||||
importsResolver.setContext(topDownAnalysisContext);
|
|
||||||
importsResolver.setImportsFactory(jetImportsFactory);
|
importsResolver.setImportsFactory(jetImportsFactory);
|
||||||
importsResolver.setModuleDescriptor(moduleDescriptor);
|
importsResolver.setModuleDescriptor(moduleDescriptor);
|
||||||
importsResolver.setQualifiedExpressionResolver(qualifiedExpressionResolver);
|
importsResolver.setQualifiedExpressionResolver(qualifiedExpressionResolver);
|
||||||
|
|||||||
@@ -90,7 +90,7 @@ public class DeclarationResolver {
|
|||||||
resolveAnnotationStubsOnClassesAndConstructors(c);
|
resolveAnnotationStubsOnClassesAndConstructors(c);
|
||||||
resolveFunctionAndPropertyHeaders(c);
|
resolveFunctionAndPropertyHeaders(c);
|
||||||
createFunctionsForDataClasses(c);
|
createFunctionsForDataClasses(c);
|
||||||
importsResolver.processMembersImports();
|
importsResolver.processMembersImports(c);
|
||||||
checkRedeclarationsInPackages(c);
|
checkRedeclarationsInPackages(c);
|
||||||
checkRedeclarationsInInnerClassNames(c);
|
checkRedeclarationsInInnerClassNames(c);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,8 +35,6 @@ import static org.jetbrains.jet.lang.diagnostics.Errors.*;
|
|||||||
import static org.jetbrains.jet.lang.resolve.QualifiedExpressionResolver.LookupMode;
|
import static org.jetbrains.jet.lang.resolve.QualifiedExpressionResolver.LookupMode;
|
||||||
|
|
||||||
public class ImportsResolver {
|
public class ImportsResolver {
|
||||||
@NotNull
|
|
||||||
private TopDownAnalysisContext context;
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private ModuleDescriptor moduleDescriptor;
|
private ModuleDescriptor moduleDescriptor;
|
||||||
@NotNull
|
@NotNull
|
||||||
@@ -46,11 +44,6 @@ public class ImportsResolver {
|
|||||||
@NotNull
|
@NotNull
|
||||||
private JetImportsFactory importsFactory;
|
private JetImportsFactory importsFactory;
|
||||||
|
|
||||||
@Inject
|
|
||||||
public void setContext(@NotNull TopDownAnalysisContext context) {
|
|
||||||
this.context = context;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public void setModuleDescriptor(@NotNull ModuleDescriptor moduleDescriptor) {
|
public void setModuleDescriptor(@NotNull ModuleDescriptor moduleDescriptor) {
|
||||||
this.moduleDescriptor = moduleDescriptor;
|
this.moduleDescriptor = moduleDescriptor;
|
||||||
@@ -71,21 +64,21 @@ public class ImportsResolver {
|
|||||||
this.importsFactory = importsFactory;
|
this.importsFactory = importsFactory;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void processTypeImports() {
|
public void processTypeImports(@NotNull TopDownAnalysisContext c) {
|
||||||
processImports(LookupMode.ONLY_CLASSES);
|
processImports(c, LookupMode.ONLY_CLASSES);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void processMembersImports() {
|
public void processMembersImports(@NotNull TopDownAnalysisContext c) {
|
||||||
processImports(LookupMode.EVERYTHING);
|
processImports(c, LookupMode.EVERYTHING);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void processImports(@NotNull LookupMode lookupMode) {
|
private void processImports(@NotNull TopDownAnalysisContext c, @NotNull LookupMode lookupMode) {
|
||||||
for (JetFile file : context.getPackageFragments().keySet()) {
|
for (JetFile file : c.getPackageFragments().keySet()) {
|
||||||
WritableScope fileScope = context.getFileScopes().get(file);
|
WritableScope fileScope = c.getFileScopes().get(file);
|
||||||
processImportsInFile(lookupMode, fileScope, Lists.newArrayList(file.getImportDirectives()), JetPsiUtil.getFQName(file).isRoot());
|
processImportsInFile(lookupMode, fileScope, Lists.newArrayList(file.getImportDirectives()), JetPsiUtil.getFQName(file).isRoot());
|
||||||
}
|
}
|
||||||
for (JetScript script : context.getScripts().keySet()) {
|
for (JetScript script : c.getScripts().keySet()) {
|
||||||
WritableScope scriptScope = context.getScriptScopes().get(script);
|
WritableScope scriptScope = c.getScriptScopes().get(script);
|
||||||
processImportsInFile(lookupMode, scriptScope, script.getImportDirectives(), true);
|
processImportsInFile(lookupMode, scriptScope, script.getImportDirectives(), true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -128,7 +128,7 @@ public class TypeHierarchyResolver {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
importsResolver.processTypeImports();
|
importsResolver.processTypeImports(context);
|
||||||
|
|
||||||
createTypeConstructors(); // create type constructors for classes and generic parameters, supertypes are not filled in
|
createTypeConstructors(); // create type constructors for classes and generic parameters, supertypes are not filled in
|
||||||
resolveTypesInClassHeaders(); // Generic bounds and types in supertype lists (no expressions or constructor resolution)
|
resolveTypesInClassHeaders(); // Generic bounds and types in supertype lists (no expressions or constructor resolution)
|
||||||
|
|||||||
@@ -227,7 +227,6 @@ public class InjectorForTopDownAnalyzerForJs {
|
|||||||
declarationResolver.setScriptHeaderResolver(scriptHeaderResolver);
|
declarationResolver.setScriptHeaderResolver(scriptHeaderResolver);
|
||||||
declarationResolver.setTrace(bindingTrace);
|
declarationResolver.setTrace(bindingTrace);
|
||||||
|
|
||||||
importsResolver.setContext(topDownAnalysisContext);
|
|
||||||
importsResolver.setImportsFactory(jetImportsFactory);
|
importsResolver.setImportsFactory(jetImportsFactory);
|
||||||
importsResolver.setModuleDescriptor(moduleDescriptor);
|
importsResolver.setModuleDescriptor(moduleDescriptor);
|
||||||
importsResolver.setQualifiedExpressionResolver(qualifiedExpressionResolver);
|
importsResolver.setQualifiedExpressionResolver(qualifiedExpressionResolver);
|
||||||
|
|||||||
Reference in New Issue
Block a user