Do not inject TopDownAnalysisParameters into TopDownAnalyzer
This commit is contained in:
@@ -178,7 +178,6 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
|
||||
this.topDownAnalyzer.setOverloadResolver(overloadResolver);
|
||||
this.topDownAnalyzer.setOverrideResolver(overrideResolver);
|
||||
this.topDownAnalyzer.setPackageFragmentProvider(mutablePackageFragmentProvider);
|
||||
this.topDownAnalyzer.setTopDownAnalysisParameters(topDownAnalysisParameters);
|
||||
this.topDownAnalyzer.setTrace(bindingTrace);
|
||||
this.topDownAnalyzer.setTypeHierarchyResolver(typeHierarchyResolver);
|
||||
|
||||
|
||||
+1
-1
@@ -229,7 +229,7 @@ public enum AnalyzerFacadeForJVM implements AnalyzerFacade {
|
||||
InjectorForTopDownAnalyzerForJvm injector = new InjectorForTopDownAnalyzerForJvm(project, topDownAnalysisParameters, trace, module);
|
||||
try {
|
||||
module.addFragmentProvider(DependencyKind.BINARIES, injector.getJavaDescriptorResolver().getPackageFragmentProvider());
|
||||
TopDownAnalysisContext topDownAnalysisContext = injector.getTopDownAnalyzer().analyzeFiles(files, scriptParameters);
|
||||
TopDownAnalysisContext topDownAnalysisContext = injector.getTopDownAnalyzer().analyzeFiles(topDownAnalysisParameters, files, scriptParameters);
|
||||
BodiesResolveContext bodiesResolveContext = storeContextForBodiesResolve ?
|
||||
new CachedBodiesResolveContext(topDownAnalysisContext) :
|
||||
null;
|
||||
|
||||
@@ -145,7 +145,6 @@ public class InjectorForTopDownAnalyzerBasic {
|
||||
this.topDownAnalyzer.setOverloadResolver(overloadResolver);
|
||||
this.topDownAnalyzer.setOverrideResolver(overrideResolver);
|
||||
this.topDownAnalyzer.setPackageFragmentProvider(mutablePackageFragmentProvider);
|
||||
this.topDownAnalyzer.setTopDownAnalysisParameters(topDownAnalysisParameters);
|
||||
this.topDownAnalyzer.setTrace(bindingTrace);
|
||||
this.topDownAnalyzer.setTypeHierarchyResolver(typeHierarchyResolver);
|
||||
|
||||
|
||||
@@ -53,8 +53,6 @@ public class TopDownAnalyzer {
|
||||
@NotNull
|
||||
private OverloadResolver overloadResolver;
|
||||
@NotNull
|
||||
private TopDownAnalysisParameters topDownAnalysisParameters;
|
||||
@NotNull
|
||||
private BindingTrace trace;
|
||||
@NotNull
|
||||
private ModuleDescriptor moduleDescriptor;
|
||||
@@ -83,11 +81,6 @@ public class TopDownAnalyzer {
|
||||
this.overloadResolver = overloadResolver;
|
||||
}
|
||||
|
||||
@Inject
|
||||
public void setTopDownAnalysisParameters(@NotNull TopDownAnalysisParameters topDownAnalysisParameters) {
|
||||
this.topDownAnalysisParameters = topDownAnalysisParameters;
|
||||
}
|
||||
|
||||
@Inject
|
||||
public void setTrace(@NotNull BindingTrace trace) {
|
||||
this.trace = trace;
|
||||
@@ -125,7 +118,7 @@ public class TopDownAnalyzer {
|
||||
|
||||
overloadResolver.process(c);
|
||||
|
||||
if (!topDownAnalysisParameters.isAnalyzingBootstrapLibrary()) {
|
||||
if (!c.getTopDownAnalysisParameters().isAnalyzingBootstrapLibrary()) {
|
||||
bodyResolver.resolveBodies(c);
|
||||
}
|
||||
|
||||
@@ -218,6 +211,7 @@ public class TopDownAnalyzer {
|
||||
|
||||
@NotNull
|
||||
public TopDownAnalysisContext analyzeFiles(
|
||||
@NotNull TopDownAnalysisParameters topDownAnalysisParameters,
|
||||
@NotNull Collection<JetFile> files,
|
||||
@NotNull List<AnalyzerScriptParameter> scriptParameters) {
|
||||
((ModuleDescriptorImpl) moduleDescriptor).addFragmentProvider(DependencyKind.SOURCES, packageFragmentProvider);
|
||||
|
||||
@@ -140,22 +140,23 @@ public abstract class AbstractLoadJavaTest extends TestCaseWithTmpdir {
|
||||
BindingTrace trace = support.getTrace();
|
||||
ModuleDescriptorImpl module = support.getModule();
|
||||
|
||||
TopDownAnalysisParameters parameters = new TopDownAnalysisParameters(
|
||||
new LockBasedStorageManager(),
|
||||
new ExceptionTracker(), // dummy
|
||||
Predicates.<PsiFile>alwaysFalse(),
|
||||
false,
|
||||
false,
|
||||
Collections.<AnalyzerScriptParameter>emptyList()
|
||||
);
|
||||
InjectorForTopDownAnalyzerForJvm injectorForAnalyzer = new InjectorForTopDownAnalyzerForJvm(
|
||||
environment.getProject(),
|
||||
new TopDownAnalysisParameters(
|
||||
new LockBasedStorageManager(),
|
||||
new ExceptionTracker(), // dummy
|
||||
Predicates.<PsiFile>alwaysFalse(),
|
||||
false,
|
||||
false,
|
||||
Collections.<AnalyzerScriptParameter>emptyList()
|
||||
),
|
||||
parameters,
|
||||
trace,
|
||||
module);
|
||||
|
||||
module.addFragmentProvider(DependencyKind.BINARIES, injectorForAnalyzer.getJavaDescriptorResolver().getPackageFragmentProvider());
|
||||
|
||||
injectorForAnalyzer.getTopDownAnalyzer().analyzeFiles(environment.getSourceFiles(), Collections.<AnalyzerScriptParameter>emptyList());
|
||||
injectorForAnalyzer.getTopDownAnalyzer().analyzeFiles(parameters, environment.getSourceFiles(), Collections.<AnalyzerScriptParameter>emptyList());
|
||||
|
||||
PackageViewDescriptor packageView = module.getPackage(TEST_PACKAGE_FQNAME);
|
||||
assert packageView != null : "Test package not found";
|
||||
|
||||
@@ -26,7 +26,6 @@ import org.jetbrains.jet.cli.jvm.compiler.CliLightClassGenerationSupport;
|
||||
import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment;
|
||||
import org.jetbrains.jet.context.ContextPackage;
|
||||
import org.jetbrains.jet.context.GlobalContextImpl;
|
||||
import org.jetbrains.jet.di.InjectorForTopDownAnalyzer;
|
||||
import org.jetbrains.jet.di.InjectorForTopDownAnalyzerForJvm;
|
||||
import org.jetbrains.jet.lang.descriptors.DependencyKind;
|
||||
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
|
||||
@@ -49,7 +48,7 @@ public class LazyResolveTestUtil {
|
||||
private LazyResolveTestUtil() {
|
||||
}
|
||||
|
||||
public static InjectorForTopDownAnalyzer createInjectorForTDA(JetCoreEnvironment environment) {
|
||||
public static ModuleDescriptor resolveEagerly(List<JetFile> files, JetCoreEnvironment environment) {
|
||||
JetTestUtils.newTrace(environment);
|
||||
|
||||
GlobalContextImpl globalContext = ContextPackage.GlobalContext();
|
||||
@@ -62,12 +61,7 @@ public class LazyResolveTestUtil {
|
||||
InjectorForTopDownAnalyzerForJvm injector =
|
||||
new InjectorForTopDownAnalyzerForJvm(environment.getProject(), params, sharedTrace, sharedModule);
|
||||
sharedModule.addFragmentProvider(DependencyKind.BINARIES, injector.getJavaDescriptorResolver().getPackageFragmentProvider());
|
||||
return injector;
|
||||
}
|
||||
|
||||
public static ModuleDescriptor resolveEagerly(List<JetFile> files, JetCoreEnvironment environment) {
|
||||
InjectorForTopDownAnalyzer injector = createInjectorForTDA(environment);
|
||||
injector.getTopDownAnalyzer().analyzeFiles(files, Collections.<AnalyzerScriptParameter>emptyList());
|
||||
injector.getTopDownAnalyzer().analyzeFiles(params, files, Collections.<AnalyzerScriptParameter>emptyList());
|
||||
return injector.getModuleDescriptor();
|
||||
}
|
||||
|
||||
|
||||
@@ -97,7 +97,7 @@ public class BuiltInsReferenceResolver extends AbstractProjectComponent {
|
||||
myProject, topDownAnalysisParameters, trace, module);
|
||||
|
||||
TopDownAnalyzer analyzer = injector.getTopDownAnalyzer();
|
||||
analyzer.analyzeFiles(jetBuiltInsFiles, Collections.<AnalyzerScriptParameter>emptyList());
|
||||
analyzer.analyzeFiles(topDownAnalysisParameters, jetBuiltInsFiles, Collections.<AnalyzerScriptParameter>emptyList());
|
||||
|
||||
builtinsPackageFragment = analyzer.getPackageFragmentProvider().getOrCreateFragment(KotlinBuiltIns.BUILT_INS_PACKAGE_FQ_NAME);
|
||||
builtInsSources = Sets.newHashSet(jetBuiltInsFiles);
|
||||
|
||||
@@ -145,7 +145,6 @@ public class InjectorForTopDownAnalyzerForJs {
|
||||
this.topDownAnalyzer.setOverloadResolver(overloadResolver);
|
||||
this.topDownAnalyzer.setOverrideResolver(overrideResolver);
|
||||
this.topDownAnalyzer.setPackageFragmentProvider(mutablePackageFragmentProvider);
|
||||
this.topDownAnalyzer.setTopDownAnalysisParameters(topDownAnalysisParameters);
|
||||
this.topDownAnalyzer.setTrace(bindingTrace);
|
||||
this.topDownAnalyzer.setTypeHierarchyResolver(typeHierarchyResolver);
|
||||
|
||||
|
||||
@@ -109,7 +109,7 @@ public final class AnalyzerFacadeForJS {
|
||||
files :
|
||||
Config.withJsLibAdded(files, config);
|
||||
TopDownAnalysisContext topDownAnalysisContext =
|
||||
injector.getTopDownAnalyzer().analyzeFiles(allFiles, Collections.<AnalyzerScriptParameter>emptyList());
|
||||
injector.getTopDownAnalyzer().analyzeFiles(topDownAnalysisParameters, allFiles, Collections.<AnalyzerScriptParameter>emptyList());
|
||||
BodiesResolveContext bodiesResolveContext = storeContextForBodiesResolve ?
|
||||
new CachedBodiesResolveContext(topDownAnalysisContext) :
|
||||
null;
|
||||
|
||||
Reference in New Issue
Block a user