Refactor JDR: create LazyJavaPackageFragmentProvider in injector
This commit is contained in:
+15
-6
@@ -25,11 +25,13 @@ import org.jetbrains.jet.lang.resolve.java.resolver.TraceBasedExternalSignatureR
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.TraceBasedJavaResolverCache;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.TraceBasedErrorReporter;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.PsiBasedMethodSignatureChecker;
|
||||
import org.jetbrains.jet.lang.resolve.java.lazy.LazyJavaClassResolverWithCache;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.PsiBasedExternalAnnotationResolver;
|
||||
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaPackageFragmentProvider;
|
||||
import org.jetbrains.jet.lang.resolve.kotlin.VirtualFileFinder;
|
||||
import org.jetbrains.jet.lang.descriptors.ModuleDescriptorImpl;
|
||||
import org.jetbrains.jet.lang.resolve.java.lazy.LazyJavaPackageFragmentProvider;
|
||||
import org.jetbrains.jet.lang.resolve.java.lazy.GlobalJavaResolverContext;
|
||||
import org.jetbrains.jet.lang.resolve.kotlin.DeserializedDescriptorResolver;
|
||||
import org.jetbrains.jet.lang.resolve.kotlin.AnnotationDescriptorDeserializer;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -48,11 +50,13 @@ public class InjectorForJavaDescriptorResolver {
|
||||
private final TraceBasedJavaResolverCache traceBasedJavaResolverCache;
|
||||
private final TraceBasedErrorReporter traceBasedErrorReporter;
|
||||
private final PsiBasedMethodSignatureChecker psiBasedMethodSignatureChecker;
|
||||
private final LazyJavaClassResolverWithCache lazyJavaClassResolverWithCache;
|
||||
private final PsiBasedExternalAnnotationResolver psiBasedExternalAnnotationResolver;
|
||||
private final JavaDescriptorResolver javaDescriptorResolver;
|
||||
private final JavaPackageFragmentProvider javaPackageFragmentProvider;
|
||||
private final VirtualFileFinder virtualFileFinder;
|
||||
private final ModuleDescriptorImpl module;
|
||||
private final LazyJavaPackageFragmentProvider lazyJavaPackageFragmentProvider;
|
||||
private final GlobalJavaResolverContext globalJavaResolverContext;
|
||||
private final DeserializedDescriptorResolver deserializedDescriptorResolver;
|
||||
private final AnnotationDescriptorDeserializer annotationDescriptorDeserializer;
|
||||
|
||||
@@ -69,12 +73,14 @@ public class InjectorForJavaDescriptorResolver {
|
||||
this.traceBasedJavaResolverCache = new TraceBasedJavaResolverCache();
|
||||
this.traceBasedErrorReporter = new TraceBasedErrorReporter();
|
||||
this.psiBasedMethodSignatureChecker = new PsiBasedMethodSignatureChecker();
|
||||
this.lazyJavaClassResolverWithCache = new LazyJavaClassResolverWithCache(traceBasedJavaResolverCache);
|
||||
this.psiBasedExternalAnnotationResolver = new PsiBasedExternalAnnotationResolver();
|
||||
this.deserializedDescriptorResolver = new DeserializedDescriptorResolver();
|
||||
this.javaDescriptorResolver = new JavaDescriptorResolver();
|
||||
this.virtualFileFinder = org.jetbrains.jet.lang.resolve.kotlin.VirtualFileFinder.SERVICE.getInstance(project);
|
||||
this.module = org.jetbrains.jet.lang.resolve.java.AnalyzerFacadeForJVM.createJavaModule("<fake-jdr-module>");
|
||||
this.javaDescriptorResolver = new JavaDescriptorResolver(storageManager, getJavaClassFinder(), psiBasedExternalAnnotationResolver, traceBasedExternalSignatureResolver, traceBasedErrorReporter, psiBasedMethodSignatureChecker, traceBasedJavaResolverCache, deserializedDescriptorResolver, virtualFileFinder, getModule());
|
||||
this.javaPackageFragmentProvider = javaDescriptorResolver.getPackageFragmentProvider();
|
||||
this.deserializedDescriptorResolver = new DeserializedDescriptorResolver();
|
||||
this.globalJavaResolverContext = new GlobalJavaResolverContext(storageManager, getJavaClassFinder(), virtualFileFinder, deserializedDescriptorResolver, lazyJavaClassResolverWithCache, psiBasedExternalAnnotationResolver, traceBasedExternalSignatureResolver, traceBasedErrorReporter, psiBasedMethodSignatureChecker, traceBasedJavaResolverCache, getJavaDescriptorResolver());
|
||||
this.lazyJavaPackageFragmentProvider = new LazyJavaPackageFragmentProvider(globalJavaResolverContext, getModule());
|
||||
this.annotationDescriptorDeserializer = new AnnotationDescriptorDeserializer(storageManager);
|
||||
|
||||
this.javaClassFinder.setProject(project);
|
||||
@@ -89,10 +95,13 @@ public class InjectorForJavaDescriptorResolver {
|
||||
psiBasedMethodSignatureChecker.setExternalAnnotationResolver(psiBasedExternalAnnotationResolver);
|
||||
psiBasedMethodSignatureChecker.setExternalSignatureResolver(traceBasedExternalSignatureResolver);
|
||||
|
||||
this.javaDescriptorResolver.setLazyJavaPackageFragmentProvider(lazyJavaPackageFragmentProvider);
|
||||
this.javaDescriptorResolver.setModule(module);
|
||||
|
||||
deserializedDescriptorResolver.setAnnotationDeserializer(annotationDescriptorDeserializer);
|
||||
deserializedDescriptorResolver.setErrorReporter(traceBasedErrorReporter);
|
||||
deserializedDescriptorResolver.setJavaDescriptorResolver(javaDescriptorResolver);
|
||||
deserializedDescriptorResolver.setJavaPackageFragmentProvider(javaPackageFragmentProvider);
|
||||
deserializedDescriptorResolver.setJavaPackageFragmentProvider(lazyJavaPackageFragmentProvider);
|
||||
deserializedDescriptorResolver.setStorageManager(storageManager);
|
||||
|
||||
annotationDescriptorDeserializer.setErrorReporter(traceBasedErrorReporter);
|
||||
|
||||
+22
-13
@@ -34,10 +34,10 @@ import org.jetbrains.jet.lang.resolve.java.JavaClassFinderImpl;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.TraceBasedExternalSignatureResolver;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.TraceBasedJavaResolverCache;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.TraceBasedErrorReporter;
|
||||
import org.jetbrains.jet.lang.resolve.java.lazy.LazyJavaClassResolverWithCache;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.PsiBasedMethodSignatureChecker;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.PsiBasedExternalAnnotationResolver;
|
||||
import org.jetbrains.jet.lang.resolve.MutablePackageFragmentProvider;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaPackageFragmentProvider;
|
||||
import org.jetbrains.jet.lang.resolve.kotlin.VirtualFileFinder;
|
||||
import org.jetbrains.jet.lang.resolve.DeclarationResolver;
|
||||
import org.jetbrains.jet.lang.resolve.AnnotationResolver;
|
||||
@@ -57,6 +57,8 @@ import org.jetbrains.jet.lang.resolve.TypeHierarchyResolver;
|
||||
import org.jetbrains.jet.lang.resolve.DelegatedPropertyResolver;
|
||||
import org.jetbrains.jet.lang.resolve.FunctionAnalyzerExtension;
|
||||
import org.jetbrains.jet.lang.resolve.ScriptBodyResolver;
|
||||
import org.jetbrains.jet.lang.resolve.java.lazy.LazyJavaPackageFragmentProvider;
|
||||
import org.jetbrains.jet.lang.resolve.java.lazy.GlobalJavaResolverContext;
|
||||
import org.jetbrains.jet.lang.resolve.kotlin.DeserializedDescriptorResolver;
|
||||
import org.jetbrains.jet.lang.resolve.kotlin.AnnotationDescriptorDeserializer;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -84,10 +86,10 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
|
||||
private final TraceBasedExternalSignatureResolver traceBasedExternalSignatureResolver;
|
||||
private final TraceBasedJavaResolverCache traceBasedJavaResolverCache;
|
||||
private final TraceBasedErrorReporter traceBasedErrorReporter;
|
||||
private final LazyJavaClassResolverWithCache lazyJavaClassResolverWithCache;
|
||||
private final PsiBasedMethodSignatureChecker psiBasedMethodSignatureChecker;
|
||||
private final PsiBasedExternalAnnotationResolver psiBasedExternalAnnotationResolver;
|
||||
private final MutablePackageFragmentProvider mutablePackageFragmentProvider;
|
||||
private final JavaPackageFragmentProvider javaPackageFragmentProvider;
|
||||
private final VirtualFileFinder virtualFileFinder;
|
||||
private final DeclarationResolver declarationResolver;
|
||||
private final AnnotationResolver annotationResolver;
|
||||
@@ -107,6 +109,8 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
|
||||
private final DelegatedPropertyResolver delegatedPropertyResolver;
|
||||
private final FunctionAnalyzerExtension functionAnalyzerExtension;
|
||||
private final ScriptBodyResolver scriptBodyResolver;
|
||||
private final LazyJavaPackageFragmentProvider lazyJavaPackageFragmentProvider;
|
||||
private final GlobalJavaResolverContext globalJavaResolverContext;
|
||||
private final DeserializedDescriptorResolver deserializedDescriptorResolver;
|
||||
private final AnnotationDescriptorDeserializer annotationDescriptorDeserializer;
|
||||
|
||||
@@ -128,18 +132,17 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
|
||||
this.topDownAnalysisParameters = topDownAnalysisParameters;
|
||||
this.bindingTrace = bindingTrace;
|
||||
this.moduleDescriptor = moduleDescriptor;
|
||||
this.javaClassFinder = new JavaClassFinderImpl();
|
||||
this.psiBasedExternalAnnotationResolver = new PsiBasedExternalAnnotationResolver();
|
||||
this.traceBasedExternalSignatureResolver = new TraceBasedExternalSignatureResolver();
|
||||
this.traceBasedErrorReporter = new TraceBasedErrorReporter();
|
||||
this.psiBasedMethodSignatureChecker = new PsiBasedMethodSignatureChecker();
|
||||
this.traceBasedJavaResolverCache = new TraceBasedJavaResolverCache();
|
||||
this.deserializedDescriptorResolver = new DeserializedDescriptorResolver();
|
||||
this.virtualFileFinder = org.jetbrains.jet.lang.resolve.kotlin.VirtualFileFinder.SERVICE.getInstance(project);
|
||||
this.javaDescriptorResolver = new JavaDescriptorResolver(storageManager, javaClassFinder, psiBasedExternalAnnotationResolver, traceBasedExternalSignatureResolver, traceBasedErrorReporter, psiBasedMethodSignatureChecker, traceBasedJavaResolverCache, deserializedDescriptorResolver, virtualFileFinder, getModuleDescriptor());
|
||||
this.javaDescriptorResolver = new JavaDescriptorResolver();
|
||||
this.javaToKotlinClassMap = org.jetbrains.jet.lang.resolve.java.mapping.JavaToKotlinClassMap.getInstance();
|
||||
this.javaClassFinder = new JavaClassFinderImpl();
|
||||
this.traceBasedExternalSignatureResolver = new TraceBasedExternalSignatureResolver();
|
||||
this.traceBasedJavaResolverCache = new TraceBasedJavaResolverCache();
|
||||
this.traceBasedErrorReporter = new TraceBasedErrorReporter();
|
||||
this.lazyJavaClassResolverWithCache = new LazyJavaClassResolverWithCache(traceBasedJavaResolverCache);
|
||||
this.psiBasedMethodSignatureChecker = new PsiBasedMethodSignatureChecker();
|
||||
this.psiBasedExternalAnnotationResolver = new PsiBasedExternalAnnotationResolver();
|
||||
this.mutablePackageFragmentProvider = new MutablePackageFragmentProvider(getModuleDescriptor());
|
||||
this.javaPackageFragmentProvider = javaDescriptorResolver.getPackageFragmentProvider();
|
||||
this.virtualFileFinder = org.jetbrains.jet.lang.resolve.kotlin.VirtualFileFinder.SERVICE.getInstance(project);
|
||||
this.declarationResolver = new DeclarationResolver();
|
||||
this.annotationResolver = new AnnotationResolver();
|
||||
this.callResolver = new CallResolver();
|
||||
@@ -158,6 +161,9 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
|
||||
this.delegatedPropertyResolver = new DelegatedPropertyResolver();
|
||||
this.functionAnalyzerExtension = new FunctionAnalyzerExtension();
|
||||
this.scriptBodyResolver = new ScriptBodyResolver();
|
||||
this.deserializedDescriptorResolver = new DeserializedDescriptorResolver();
|
||||
this.globalJavaResolverContext = new GlobalJavaResolverContext(storageManager, javaClassFinder, virtualFileFinder, deserializedDescriptorResolver, lazyJavaClassResolverWithCache, psiBasedExternalAnnotationResolver, traceBasedExternalSignatureResolver, traceBasedErrorReporter, psiBasedMethodSignatureChecker, traceBasedJavaResolverCache, getJavaDescriptorResolver());
|
||||
this.lazyJavaPackageFragmentProvider = new LazyJavaPackageFragmentProvider(globalJavaResolverContext, getModuleDescriptor());
|
||||
this.annotationDescriptorDeserializer = new AnnotationDescriptorDeserializer(storageManager);
|
||||
|
||||
this.topDownAnalyzer.setBodyResolver(bodyResolver);
|
||||
@@ -196,6 +202,9 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
|
||||
this.descriptorResolver.setStorageManager(storageManager);
|
||||
this.descriptorResolver.setTypeResolver(typeResolver);
|
||||
|
||||
this.javaDescriptorResolver.setLazyJavaPackageFragmentProvider(lazyJavaPackageFragmentProvider);
|
||||
this.javaDescriptorResolver.setModule(moduleDescriptor);
|
||||
|
||||
javaClassFinder.setProject(project);
|
||||
|
||||
traceBasedExternalSignatureResolver.setExternalAnnotationResolver(psiBasedExternalAnnotationResolver);
|
||||
@@ -281,7 +290,7 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
|
||||
deserializedDescriptorResolver.setAnnotationDeserializer(annotationDescriptorDeserializer);
|
||||
deserializedDescriptorResolver.setErrorReporter(traceBasedErrorReporter);
|
||||
deserializedDescriptorResolver.setJavaDescriptorResolver(javaDescriptorResolver);
|
||||
deserializedDescriptorResolver.setJavaPackageFragmentProvider(javaPackageFragmentProvider);
|
||||
deserializedDescriptorResolver.setJavaPackageFragmentProvider(lazyJavaPackageFragmentProvider);
|
||||
deserializedDescriptorResolver.setStorageManager(storageManager);
|
||||
|
||||
annotationDescriptorDeserializer.setErrorReporter(traceBasedErrorReporter);
|
||||
|
||||
+18
-41
@@ -21,53 +21,20 @@ import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jet.lang.descriptors.ClassDescriptor;
|
||||
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
|
||||
import org.jetbrains.jet.lang.descriptors.PackageFragmentDescriptor;
|
||||
import org.jetbrains.jet.lang.resolve.java.lazy.GlobalJavaResolverContext;
|
||||
import org.jetbrains.jet.lang.resolve.java.lazy.LazyJavaClassResolverWithCache;
|
||||
import org.jetbrains.jet.lang.descriptors.PackageFragmentProvider;
|
||||
import org.jetbrains.jet.lang.resolve.java.lazy.LazyJavaPackageFragmentProvider;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.*;
|
||||
import org.jetbrains.jet.lang.resolve.kotlin.DeserializedDescriptorResolver;
|
||||
import org.jetbrains.jet.lang.resolve.kotlin.KotlinClassFinder;
|
||||
import org.jetbrains.jet.lang.resolve.name.FqName;
|
||||
import org.jetbrains.jet.lang.resolve.name.Name;
|
||||
import org.jetbrains.jet.lang.types.DependencyClassByQualifiedNameResolver;
|
||||
import org.jetbrains.jet.storage.StorageManager;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
public class JavaDescriptorResolver implements DependencyClassByQualifiedNameResolver {
|
||||
public static final Name JAVA_ROOT = Name.special("<java_root>");
|
||||
|
||||
private final ModuleDescriptor module;
|
||||
private final LazyJavaPackageFragmentProvider lazyJavaPackageFragmentProvider;
|
||||
private ModuleDescriptor module;
|
||||
|
||||
public JavaDescriptorResolver(
|
||||
StorageManager storageManager,
|
||||
JavaClassFinder javaClassFinder,
|
||||
ExternalAnnotationResolver externalAnnotationResolver,
|
||||
ExternalSignatureResolver externalSignatureResolver,
|
||||
ErrorReporter errorReporter,
|
||||
MethodSignatureChecker signatureChecker,
|
||||
JavaResolverCache javaResolverCache,
|
||||
DeserializedDescriptorResolver deserializedDescriptorResolver,
|
||||
KotlinClassFinder kotlinClassFinder,
|
||||
ModuleDescriptor module
|
||||
) {
|
||||
this.module = module;
|
||||
this.lazyJavaPackageFragmentProvider = new LazyJavaPackageFragmentProvider(
|
||||
new GlobalJavaResolverContext(
|
||||
storageManager,
|
||||
javaClassFinder,
|
||||
kotlinClassFinder,
|
||||
deserializedDescriptorResolver,
|
||||
new LazyJavaClassResolverWithCache(javaResolverCache),
|
||||
externalAnnotationResolver,
|
||||
externalSignatureResolver,
|
||||
errorReporter,
|
||||
signatureChecker,
|
||||
javaResolverCache,
|
||||
this
|
||||
),
|
||||
module
|
||||
);
|
||||
}
|
||||
private LazyJavaPackageFragmentProvider lazyJavaPackageFragmentProvider;
|
||||
|
||||
@NotNull
|
||||
public ModuleDescriptor getModule() {
|
||||
@@ -75,18 +42,28 @@ public class JavaDescriptorResolver implements DependencyClassByQualifiedNameRes
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public LazyJavaPackageFragmentProvider getPackageFragmentProvider() {
|
||||
public PackageFragmentProvider getPackageFragmentProvider() {
|
||||
return lazyJavaPackageFragmentProvider;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public ClassDescriptor resolveClass(@NotNull FqName qualifiedName) {
|
||||
return getPackageFragmentProvider().getClass(qualifiedName);
|
||||
return lazyJavaPackageFragmentProvider.getClass(qualifiedName);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public PackageFragmentDescriptor getPackageFragment(@NotNull FqName fqName) {
|
||||
return getPackageFragmentProvider().getPackageFragment(fqName);
|
||||
return lazyJavaPackageFragmentProvider.getPackageFragment(fqName);
|
||||
}
|
||||
|
||||
@Inject
|
||||
public void setModule(@NotNull ModuleDescriptor module) {
|
||||
this.module = module;
|
||||
}
|
||||
|
||||
@Inject
|
||||
public void setLazyJavaPackageFragmentProvider(@NotNull LazyJavaPackageFragmentProvider lazyJavaPackageFragmentProvider) {
|
||||
this.lazyJavaPackageFragmentProvider = lazyJavaPackageFragmentProvider;
|
||||
}
|
||||
}
|
||||
|
||||
+9
-8
@@ -10,14 +10,15 @@ import org.jetbrains.jet.lang.resolve.java.lazy.descriptors.LazyPackageFragmentF
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.DescriptorResolverUtils
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaPackageFragmentProvider
|
||||
import org.jetbrains.jet.lang.resolve.java.lazy.descriptors.LazyJavaPackageFragment
|
||||
import org.jetbrains.jet.lang.resolve.name.Name
|
||||
import org.jetbrains.jet.lang.resolve.scopes.JetScope
|
||||
import org.jetbrains.jet.lang.resolve.kotlin.KotlinJvmBinaryClass
|
||||
|
||||
public open class LazyJavaPackageFragmentProvider(
|
||||
private val outerContext: GlobalJavaResolverContext,
|
||||
public class LazyJavaPackageFragmentProvider(
|
||||
outerContext: GlobalJavaResolverContext,
|
||||
private val _module: ModuleDescriptor
|
||||
) : JavaPackageFragmentProvider {
|
||||
|
||||
private val outerClassResolver = outerContext.javaClassResolver
|
||||
|
||||
private val c = LazyJavaResolverContext(
|
||||
this,
|
||||
outerContext.storageManager,
|
||||
@@ -83,16 +84,16 @@ public open class LazyJavaPackageFragmentProvider(
|
||||
val outer = javaClass.getOuterClass()
|
||||
val scope = if (outer != null) {
|
||||
val outerClass = resolveClass(outer)
|
||||
if (outerClass == null) return outerContext.javaClassResolver.resolveClass(javaClass)
|
||||
if (outerClass == null) return outerClassResolver.resolveClass(javaClass)
|
||||
outerClass.getUnsubstitutedInnerClassesScope()
|
||||
}
|
||||
else {
|
||||
val outerPackage = getPackageFragment(fqName!!.parent())
|
||||
if (outerPackage == null) return outerContext.javaClassResolver.resolveClass(javaClass)
|
||||
if (outerPackage == null) return outerClassResolver.resolveClass(javaClass)
|
||||
outerPackage.getMemberScope()
|
||||
}
|
||||
return scope.getClassifier(javaClass.getName()) as? ClassDescriptor
|
||||
?: outerContext.javaClassResolver.resolveClass(javaClass)
|
||||
?: outerClassResolver.resolveClass(javaClass)
|
||||
}
|
||||
|
||||
override fun resolveClassByFqName(fqName: FqName): ClassDescriptor? {
|
||||
@@ -101,7 +102,7 @@ public open class LazyJavaPackageFragmentProvider(
|
||||
|
||||
// TODO Here we prefer sources (something outside JDR subsystem) to binaries, which should actually be driven by module dependencies separation
|
||||
// See DeserializedDescriptorResolver.javaDescriptorFinder
|
||||
val classFromSources = outerContext.javaClassResolver.resolveClassByFqName(fqName)
|
||||
val classFromSources = outerClassResolver.resolveClassByFqName(fqName)
|
||||
if (classFromSources != null) return classFromSources
|
||||
|
||||
val (jClass, kClass) = c.findClassInJava(fqName)
|
||||
|
||||
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user