Refactor JDR: create LazyJavaPackageFragmentProvider in injector

This commit is contained in:
Pavel V. Talanov
2014-02-07 17:45:30 +04:00
parent 737f538ea7
commit 18d088cb71
5 changed files with 69 additions and 71 deletions
@@ -36,6 +36,7 @@ import org.jetbrains.jet.lang.resolve.calls.CallResolver;
import org.jetbrains.jet.lang.resolve.calls.CallResolverExtensionProvider;
import org.jetbrains.jet.lang.resolve.java.JavaClassFinderImpl;
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver;
import org.jetbrains.jet.lang.resolve.java.lazy.LazyJavaClassResolverWithCache;
import org.jetbrains.jet.lang.resolve.java.mapping.JavaToKotlinClassMap;
import org.jetbrains.jet.lang.resolve.java.resolver.*;
import org.jetbrains.jet.lang.resolve.kotlin.VirtualFileFinder;
@@ -127,15 +128,16 @@ public class GenerateInjectors {
generator.implementInterface(InjectorForTopDownAnalyzer.class);
generateInjectorForTopDownAnalyzerCommon(generator);
generator.addPublicField(JavaDescriptorResolver.class);
generator.addField(false, JavaToKotlinClassMap.class, null, new GivenExpression("org.jetbrains.jet.lang.resolve.java.mapping.JavaToKotlinClassMap.getInstance()"));
generator.addField(false, JavaToKotlinClassMap.class, null,
new GivenExpression("org.jetbrains.jet.lang.resolve.java.mapping.JavaToKotlinClassMap.getInstance()"));
generator.addField(JavaClassFinderImpl.class);
generator.addField(TraceBasedExternalSignatureResolver.class);
generator.addField(TraceBasedJavaResolverCache.class);
generator.addField(TraceBasedErrorReporter.class);
generator.addField(LazyJavaClassResolverWithCache.class);
generator.addField(PsiBasedMethodSignatureChecker.class);
generator.addField(PsiBasedExternalAnnotationResolver.class);
generator.addField(MutablePackageFragmentProvider.class);
generator.addField(false, JavaPackageFragmentProvider.class, null, new GivenExpression("javaDescriptorResolver.getPackageFragmentProvider()"));
generator.addField(false, VirtualFileFinder.class, "virtualFileFinder",
new GivenExpression(
VirtualFileFinder.class.getName() + ".SERVICE.getInstance(project)"));
@@ -159,9 +161,9 @@ public class GenerateInjectors {
generator.addField(TraceBasedJavaResolverCache.class);
generator.addField(TraceBasedErrorReporter.class);
generator.addField(PsiBasedMethodSignatureChecker.class);
generator.addField(LazyJavaClassResolverWithCache.class);
generator.addField(PsiBasedExternalAnnotationResolver.class);
generator.addPublicField(JavaDescriptorResolver.class);
generator.addField(false, JavaPackageFragmentProvider.class, null, new GivenExpression("javaDescriptorResolver.getPackageFragmentProvider()"));
generator.addField(false, VirtualFileFinder.class, "virtualFileFinder",
new GivenExpression(VirtualFileFinder.class.getName() + ".SERVICE.getInstance(project)"));
generator.addField(true, ModuleDescriptorImpl.class, "module",