JavaPackageFragmentProvider is only accessible through JavaDescriptorResolver

We need this to guarantee that only one provider is used: either lazy or eager.
This commit is contained in:
Andrey Breslav
2013-12-25 14:03:16 +04:00
parent cedbc0ea53
commit 45bd70daec
6 changed files with 12 additions and 16 deletions
@@ -248,13 +248,13 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
psiBasedMethodSignatureChecker.setAnnotationResolver(javaAnnotationResolver);
psiBasedMethodSignatureChecker.setExternalSignatureResolver(traceBasedExternalSignatureResolver);
this.javaPackageFragmentProvider.setCache(traceBasedJavaResolverCache);
this.javaPackageFragmentProvider.setDeserializedDescriptorResolver(deserializedDescriptorResolver);
this.javaPackageFragmentProvider.setJavaClassFinder(javaClassFinder);
this.javaPackageFragmentProvider.setJavaDescriptorResolver(javaDescriptorResolver);
this.javaPackageFragmentProvider.setKotlinClassFinder(virtualFileFinder);
this.javaPackageFragmentProvider.setMemberResolver(javaMemberResolver);
this.javaPackageFragmentProvider.setModule(moduleDescriptor);
javaPackageFragmentProvider.setCache(traceBasedJavaResolverCache);
javaPackageFragmentProvider.setDeserializedDescriptorResolver(deserializedDescriptorResolver);
javaPackageFragmentProvider.setJavaClassFinder(javaClassFinder);
javaPackageFragmentProvider.setJavaDescriptorResolver(javaDescriptorResolver);
javaPackageFragmentProvider.setKotlinClassFinder(virtualFileFinder);
javaPackageFragmentProvider.setMemberResolver(javaMemberResolver);
javaPackageFragmentProvider.setModule(moduleDescriptor);
declarationResolver.setAnnotationResolver(annotationResolver);
declarationResolver.setContext(topDownAnalysisContext);
@@ -442,8 +442,4 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
return this.javaDescriptorResolver;
}
public JavaPackageFragmentProviderImpl getJavaPackageFragmentProvider() {
return this.javaPackageFragmentProvider;
}
}
@@ -196,7 +196,7 @@ public enum AnalyzerFacadeForJVM implements AnalyzerFacade {
InjectorForTopDownAnalyzerForJvm injector = new InjectorForTopDownAnalyzerForJvm(project, topDownAnalysisParameters, trace, module);
try {
module.addFragmentProvider(injector.getJavaPackageFragmentProvider());
module.addFragmentProvider(injector.getJavaDescriptorResolver().getPackageFragmentProvider());
injector.getTopDownAnalyzer().analyzeFiles(files, scriptParameters);
BodiesResolveContext bodiesResolveContext = storeContextForBodiesResolve ?
new CachedBodiesResolveContext(injector.getTopDownAnalysisContext()) :