Big refactoring. Migrating to package views and fragments.
This commit is contained in:
+20
-12
@@ -17,6 +17,7 @@
|
||||
package org.jetbrains.jet.di;
|
||||
|
||||
import com.intellij.openapi.project.Project;
|
||||
import org.jetbrains.jet.lang.descriptors.ModuleDescriptorImpl;
|
||||
import org.jetbrains.jet.lang.resolve.BindingTrace;
|
||||
import org.jetbrains.jet.lang.resolve.java.JavaClassFinderImpl;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.TraceBasedExternalSignatureResolver;
|
||||
@@ -27,12 +28,13 @@ import org.jetbrains.jet.lang.resolve.java.resolver.PsiBasedExternalAnnotationRe
|
||||
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver;
|
||||
import org.jetbrains.jet.lang.resolve.kotlin.VirtualFileKotlinClassFinder;
|
||||
import org.jetbrains.jet.lang.resolve.kotlin.VirtualFileFinder;
|
||||
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaAnnotationResolver;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaAnnotationArgumentResolver;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaClassResolver;
|
||||
import org.jetbrains.jet.lang.resolve.kotlin.DeserializedDescriptorResolver;
|
||||
import org.jetbrains.jet.lang.resolve.kotlin.AnnotationDescriptorDeserializer;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaNamespaceResolver;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaPackageFragmentProvider;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaMemberResolver;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaConstructorResolver;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaTypeTransformer;
|
||||
@@ -58,12 +60,13 @@ public class InjectorForJavaDescriptorResolver {
|
||||
private final JavaDescriptorResolver javaDescriptorResolver;
|
||||
private final VirtualFileKotlinClassFinder virtualFileKotlinClassFinder;
|
||||
private final VirtualFileFinder virtualFileFinder;
|
||||
private final ModuleDescriptorImpl module;
|
||||
private final JavaAnnotationResolver javaAnnotationResolver;
|
||||
private final JavaAnnotationArgumentResolver javaAnnotationArgumentResolver;
|
||||
private final JavaClassResolver javaClassResolver;
|
||||
private final DeserializedDescriptorResolver deserializedDescriptorResolver;
|
||||
private final AnnotationDescriptorDeserializer annotationDescriptorDeserializer;
|
||||
private final JavaNamespaceResolver javaNamespaceResolver;
|
||||
private final JavaPackageFragmentProvider javaPackageFragmentProvider;
|
||||
private final JavaMemberResolver javaMemberResolver;
|
||||
private final JavaConstructorResolver javaConstructorResolver;
|
||||
private final JavaTypeTransformer javaTypeTransformer;
|
||||
@@ -88,12 +91,13 @@ public class InjectorForJavaDescriptorResolver {
|
||||
this.javaDescriptorResolver = new JavaDescriptorResolver();
|
||||
this.virtualFileKotlinClassFinder = new VirtualFileKotlinClassFinder();
|
||||
this.virtualFileFinder = com.intellij.openapi.components.ServiceManager.getService(project, VirtualFileFinder.class);
|
||||
this.module = org.jetbrains.jet.lang.resolve.java.AnalyzerFacadeForJVM.createJavaModule("<fake-jdr-module>");
|
||||
this.javaAnnotationResolver = new JavaAnnotationResolver();
|
||||
this.javaAnnotationArgumentResolver = new JavaAnnotationArgumentResolver();
|
||||
this.javaClassResolver = new JavaClassResolver();
|
||||
this.deserializedDescriptorResolver = new DeserializedDescriptorResolver();
|
||||
this.annotationDescriptorDeserializer = new AnnotationDescriptorDeserializer();
|
||||
this.javaNamespaceResolver = new JavaNamespaceResolver();
|
||||
this.javaPackageFragmentProvider = new JavaPackageFragmentProvider();
|
||||
this.javaMemberResolver = new JavaMemberResolver();
|
||||
this.javaConstructorResolver = new JavaConstructorResolver();
|
||||
this.javaTypeTransformer = new JavaTypeTransformer();
|
||||
@@ -116,7 +120,7 @@ public class InjectorForJavaDescriptorResolver {
|
||||
psiBasedMethodSignatureChecker.setExternalSignatureResolver(traceBasedExternalSignatureResolver);
|
||||
|
||||
this.javaDescriptorResolver.setClassResolver(javaClassResolver);
|
||||
this.javaDescriptorResolver.setNamespaceResolver(javaNamespaceResolver);
|
||||
this.javaDescriptorResolver.setPackageFragmentProvider(javaPackageFragmentProvider);
|
||||
|
||||
virtualFileKotlinClassFinder.setVirtualFileFinder(virtualFileFinder);
|
||||
|
||||
@@ -135,29 +139,29 @@ public class InjectorForJavaDescriptorResolver {
|
||||
javaClassResolver.setJavaClassFinder(javaClassFinder);
|
||||
javaClassResolver.setKotlinClassFinder(virtualFileKotlinClassFinder);
|
||||
javaClassResolver.setMemberResolver(javaMemberResolver);
|
||||
javaClassResolver.setNamespaceResolver(javaNamespaceResolver);
|
||||
javaClassResolver.setPackageFragmentProvider(javaPackageFragmentProvider);
|
||||
javaClassResolver.setSupertypesResolver(javaSupertypeResolver);
|
||||
javaClassResolver.setTypeParameterResolver(javaTypeParameterResolver);
|
||||
|
||||
deserializedDescriptorResolver.setAnnotationDeserializer(annotationDescriptorDeserializer);
|
||||
deserializedDescriptorResolver.setErrorReporter(traceBasedErrorReporter);
|
||||
deserializedDescriptorResolver.setJavaClassResolver(javaClassResolver);
|
||||
deserializedDescriptorResolver.setJavaNamespaceResolver(javaNamespaceResolver);
|
||||
deserializedDescriptorResolver.setJavaPackageFragmentProvider(javaPackageFragmentProvider);
|
||||
|
||||
annotationDescriptorDeserializer.setErrorReporter(traceBasedErrorReporter);
|
||||
annotationDescriptorDeserializer.setJavaClassResolver(javaClassResolver);
|
||||
annotationDescriptorDeserializer.setKotlinClassFinder(virtualFileKotlinClassFinder);
|
||||
|
||||
javaNamespaceResolver.setCache(traceBasedJavaResolverCache);
|
||||
javaNamespaceResolver.setDeserializedDescriptorResolver(deserializedDescriptorResolver);
|
||||
javaNamespaceResolver.setJavaClassFinder(javaClassFinder);
|
||||
javaNamespaceResolver.setKotlinClassFinder(virtualFileKotlinClassFinder);
|
||||
javaNamespaceResolver.setMemberResolver(javaMemberResolver);
|
||||
javaPackageFragmentProvider.setCache(traceBasedJavaResolverCache);
|
||||
javaPackageFragmentProvider.setDeserializedDescriptorResolver(deserializedDescriptorResolver);
|
||||
javaPackageFragmentProvider.setJavaClassFinder(javaClassFinder);
|
||||
javaPackageFragmentProvider.setKotlinClassFinder(virtualFileKotlinClassFinder);
|
||||
javaPackageFragmentProvider.setMemberResolver(javaMemberResolver);
|
||||
javaPackageFragmentProvider.setModule(module);
|
||||
|
||||
javaMemberResolver.setClassResolver(javaClassResolver);
|
||||
javaMemberResolver.setConstructorResolver(javaConstructorResolver);
|
||||
javaMemberResolver.setFunctionResolver(javaFunctionResolver);
|
||||
javaMemberResolver.setNamespaceResolver(javaNamespaceResolver);
|
||||
javaMemberResolver.setPropertyResolver(javaPropertyResolver);
|
||||
|
||||
javaConstructorResolver.setCache(traceBasedJavaResolverCache);
|
||||
@@ -206,4 +210,8 @@ public class InjectorForJavaDescriptorResolver {
|
||||
return this.javaDescriptorResolver;
|
||||
}
|
||||
|
||||
public ModuleDescriptorImpl getModule() {
|
||||
return this.module;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+19
-21
@@ -37,6 +37,7 @@ 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.resolver.PsiBasedExternalAnnotationResolver;
|
||||
import org.jetbrains.jet.lang.resolve.kotlin.VirtualFileKotlinClassFinder;
|
||||
import org.jetbrains.jet.lang.resolve.MutablePackageFragmentProvider;
|
||||
import org.jetbrains.jet.lang.resolve.NamespaceFactoryImpl;
|
||||
import org.jetbrains.jet.lang.resolve.kotlin.VirtualFileFinder;
|
||||
import org.jetbrains.jet.lang.resolve.DeclarationResolver;
|
||||
@@ -63,7 +64,7 @@ import org.jetbrains.jet.lang.resolve.java.resolver.JavaAnnotationArgumentResolv
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaTypeTransformer;
|
||||
import org.jetbrains.jet.lang.resolve.kotlin.DeserializedDescriptorResolver;
|
||||
import org.jetbrains.jet.lang.resolve.kotlin.AnnotationDescriptorDeserializer;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaNamespaceResolver;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaPackageFragmentProvider;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaMemberResolver;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaConstructorResolver;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaValueParameterResolver;
|
||||
@@ -98,6 +99,7 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
|
||||
private final PsiBasedMethodSignatureChecker psiBasedMethodSignatureChecker;
|
||||
private final PsiBasedExternalAnnotationResolver psiBasedExternalAnnotationResolver;
|
||||
private final VirtualFileKotlinClassFinder virtualFileKotlinClassFinder;
|
||||
private final MutablePackageFragmentProvider mutablePackageFragmentProvider;
|
||||
private final NamespaceFactoryImpl namespaceFactory;
|
||||
private final VirtualFileFinder virtualFileFinder;
|
||||
private final DeclarationResolver declarationResolver;
|
||||
@@ -124,7 +126,7 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
|
||||
private final JavaTypeTransformer javaTypeTransformer;
|
||||
private final DeserializedDescriptorResolver deserializedDescriptorResolver;
|
||||
private final AnnotationDescriptorDeserializer annotationDescriptorDeserializer;
|
||||
private final JavaNamespaceResolver javaNamespaceResolver;
|
||||
private final JavaPackageFragmentProvider javaPackageFragmentProvider;
|
||||
private final JavaMemberResolver javaMemberResolver;
|
||||
private final JavaConstructorResolver javaConstructorResolver;
|
||||
private final JavaValueParameterResolver javaValueParameterResolver;
|
||||
@@ -160,6 +162,7 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
|
||||
this.psiBasedMethodSignatureChecker = new PsiBasedMethodSignatureChecker();
|
||||
this.psiBasedExternalAnnotationResolver = new PsiBasedExternalAnnotationResolver();
|
||||
this.virtualFileKotlinClassFinder = new VirtualFileKotlinClassFinder();
|
||||
this.mutablePackageFragmentProvider = new MutablePackageFragmentProvider(getModuleDescriptor());
|
||||
this.namespaceFactory = new NamespaceFactoryImpl();
|
||||
this.virtualFileFinder = com.intellij.openapi.components.ServiceManager.getService(project, VirtualFileFinder.class);
|
||||
this.declarationResolver = new DeclarationResolver();
|
||||
@@ -186,7 +189,7 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
|
||||
this.javaTypeTransformer = new JavaTypeTransformer();
|
||||
this.deserializedDescriptorResolver = new DeserializedDescriptorResolver();
|
||||
this.annotationDescriptorDeserializer = new AnnotationDescriptorDeserializer();
|
||||
this.javaNamespaceResolver = new JavaNamespaceResolver();
|
||||
this.javaPackageFragmentProvider = new JavaPackageFragmentProvider();
|
||||
this.javaMemberResolver = new JavaMemberResolver();
|
||||
this.javaConstructorResolver = new JavaConstructorResolver();
|
||||
this.javaValueParameterResolver = new JavaValueParameterResolver();
|
||||
@@ -199,9 +202,9 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
|
||||
this.topDownAnalyzer.setContext(topDownAnalysisContext);
|
||||
this.topDownAnalyzer.setDeclarationResolver(declarationResolver);
|
||||
this.topDownAnalyzer.setModuleDescriptor(moduleDescriptor);
|
||||
this.topDownAnalyzer.setNamespaceFactory(namespaceFactory);
|
||||
this.topDownAnalyzer.setOverloadResolver(overloadResolver);
|
||||
this.topDownAnalyzer.setOverrideResolver(overrideResolver);
|
||||
this.topDownAnalyzer.setPackageFragmentProvider(mutablePackageFragmentProvider);
|
||||
this.topDownAnalyzer.setTopDownAnalysisParameters(topDownAnalysisParameters);
|
||||
this.topDownAnalyzer.setTrace(bindingTrace);
|
||||
this.topDownAnalyzer.setTypeHierarchyResolver(typeHierarchyResolver);
|
||||
@@ -230,10 +233,8 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
|
||||
this.descriptorResolver.setExpressionTypingServices(expressionTypingServices);
|
||||
this.descriptorResolver.setTypeResolver(typeResolver);
|
||||
|
||||
this.javaBridgeConfiguration.setJavaDescriptorResolver(javaDescriptorResolver);
|
||||
|
||||
javaDescriptorResolver.setClassResolver(javaClassResolver);
|
||||
javaDescriptorResolver.setNamespaceResolver(javaNamespaceResolver);
|
||||
javaDescriptorResolver.setPackageFragmentProvider(javaPackageFragmentProvider);
|
||||
|
||||
javaClassFinder.setProject(project);
|
||||
|
||||
@@ -249,8 +250,9 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
|
||||
|
||||
virtualFileKotlinClassFinder.setVirtualFileFinder(virtualFileFinder);
|
||||
|
||||
this.namespaceFactory.setModuleDescriptor(moduleDescriptor);
|
||||
this.namespaceFactory.setTrace(bindingTrace);
|
||||
namespaceFactory.setModule(moduleDescriptor);
|
||||
namespaceFactory.setPackageFragmentProvider(mutablePackageFragmentProvider);
|
||||
namespaceFactory.setTrace(bindingTrace);
|
||||
|
||||
declarationResolver.setAnnotationResolver(annotationResolver);
|
||||
declarationResolver.setContext(topDownAnalysisContext);
|
||||
@@ -330,7 +332,7 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
|
||||
javaClassResolver.setJavaClassFinder(javaClassFinder);
|
||||
javaClassResolver.setKotlinClassFinder(virtualFileKotlinClassFinder);
|
||||
javaClassResolver.setMemberResolver(javaMemberResolver);
|
||||
javaClassResolver.setNamespaceResolver(javaNamespaceResolver);
|
||||
javaClassResolver.setPackageFragmentProvider(javaPackageFragmentProvider);
|
||||
javaClassResolver.setSupertypesResolver(javaSupertypeResolver);
|
||||
javaClassResolver.setTypeParameterResolver(javaTypeParameterResolver);
|
||||
|
||||
@@ -347,22 +349,22 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
|
||||
deserializedDescriptorResolver.setAnnotationDeserializer(annotationDescriptorDeserializer);
|
||||
deserializedDescriptorResolver.setErrorReporter(traceBasedErrorReporter);
|
||||
deserializedDescriptorResolver.setJavaClassResolver(javaClassResolver);
|
||||
deserializedDescriptorResolver.setJavaNamespaceResolver(javaNamespaceResolver);
|
||||
deserializedDescriptorResolver.setJavaPackageFragmentProvider(javaPackageFragmentProvider);
|
||||
|
||||
annotationDescriptorDeserializer.setErrorReporter(traceBasedErrorReporter);
|
||||
annotationDescriptorDeserializer.setJavaClassResolver(javaClassResolver);
|
||||
annotationDescriptorDeserializer.setKotlinClassFinder(virtualFileKotlinClassFinder);
|
||||
|
||||
javaNamespaceResolver.setCache(traceBasedJavaResolverCache);
|
||||
javaNamespaceResolver.setDeserializedDescriptorResolver(deserializedDescriptorResolver);
|
||||
javaNamespaceResolver.setJavaClassFinder(javaClassFinder);
|
||||
javaNamespaceResolver.setKotlinClassFinder(virtualFileKotlinClassFinder);
|
||||
javaNamespaceResolver.setMemberResolver(javaMemberResolver);
|
||||
javaPackageFragmentProvider.setCache(traceBasedJavaResolverCache);
|
||||
javaPackageFragmentProvider.setDeserializedDescriptorResolver(deserializedDescriptorResolver);
|
||||
javaPackageFragmentProvider.setJavaClassFinder(javaClassFinder);
|
||||
javaPackageFragmentProvider.setKotlinClassFinder(virtualFileKotlinClassFinder);
|
||||
javaPackageFragmentProvider.setMemberResolver(javaMemberResolver);
|
||||
javaPackageFragmentProvider.setModule(moduleDescriptor);
|
||||
|
||||
javaMemberResolver.setClassResolver(javaClassResolver);
|
||||
javaMemberResolver.setConstructorResolver(javaConstructorResolver);
|
||||
javaMemberResolver.setFunctionResolver(javaFunctionResolver);
|
||||
javaMemberResolver.setNamespaceResolver(javaNamespaceResolver);
|
||||
javaMemberResolver.setPropertyResolver(javaPropertyResolver);
|
||||
|
||||
javaConstructorResolver.setCache(traceBasedJavaResolverCache);
|
||||
@@ -445,8 +447,4 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
|
||||
return this.javaBridgeConfiguration;
|
||||
}
|
||||
|
||||
public NamespaceFactoryImpl getNamespaceFactory() {
|
||||
return this.namespaceFactory;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+12
-28
@@ -26,10 +26,9 @@ import org.jetbrains.jet.analyzer.AnalyzerFacade;
|
||||
import org.jetbrains.jet.analyzer.AnalyzerFacadeForEverything;
|
||||
import org.jetbrains.jet.di.InjectorForJavaDescriptorResolver;
|
||||
import org.jetbrains.jet.di.InjectorForTopDownAnalyzerForJvm;
|
||||
import org.jetbrains.jet.lang.ModuleConfiguration;
|
||||
import org.jetbrains.jet.lang.DefaultModuleConfiguration;
|
||||
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
|
||||
import org.jetbrains.jet.lang.descriptors.ModuleDescriptorImpl;
|
||||
import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor;
|
||||
import org.jetbrains.jet.lang.psi.JetFile;
|
||||
import org.jetbrains.jet.lang.resolve.*;
|
||||
import org.jetbrains.jet.lang.resolve.java.mapping.JavaToKotlinClassMap;
|
||||
@@ -38,8 +37,6 @@ import org.jetbrains.jet.lang.resolve.lazy.declarations.FileBasedDeclarationProv
|
||||
import org.jetbrains.jet.lang.resolve.lazy.storage.LockBasedLazyResolveStorageManager;
|
||||
import org.jetbrains.jet.lang.resolve.name.FqName;
|
||||
import org.jetbrains.jet.lang.resolve.name.Name;
|
||||
import org.jetbrains.jet.lang.resolve.scopes.JetScope;
|
||||
import org.jetbrains.jet.lang.resolve.scopes.WritableScope;
|
||||
import org.jetbrains.jet.lang.types.lang.KotlinBuiltIns;
|
||||
|
||||
import java.util.Collection;
|
||||
@@ -90,7 +87,7 @@ public enum AnalyzerFacadeForJVM implements AnalyzerFacade {
|
||||
@NotNull Collection<JetFile> files,
|
||||
@NotNull BindingTrace trace,
|
||||
@NotNull InjectorForJavaDescriptorResolver injector,
|
||||
final boolean addBuiltIns
|
||||
boolean addBuiltIns
|
||||
) {
|
||||
final JavaClassFinderImpl classFinder = injector.getJavaClassFinder();
|
||||
|
||||
@@ -103,30 +100,17 @@ public enum AnalyzerFacadeForJVM implements AnalyzerFacade {
|
||||
}
|
||||
});
|
||||
|
||||
final JavaDescriptorResolver javaDescriptorResolver = injector.getJavaDescriptorResolver();
|
||||
JavaDescriptorResolver javaDescriptorResolver = injector.getJavaDescriptorResolver();
|
||||
|
||||
ModuleConfiguration moduleConfiguration = new ModuleConfiguration() {
|
||||
@Override
|
||||
public void extendNamespaceScope(
|
||||
@NotNull NamespaceDescriptor namespaceDescriptor,
|
||||
@NotNull WritableScope namespaceMemberScope
|
||||
) {
|
||||
FqName fqName = DescriptorUtils.getFQName(namespaceDescriptor).toSafe();
|
||||
if (KotlinBuiltIns.BUILT_INS_PACKAGE_FQ_NAME.equals(fqName) && addBuiltIns) {
|
||||
namespaceMemberScope.importScope(KotlinBuiltIns.getInstance().getBuiltInsScope());
|
||||
}
|
||||
if (classFinder.findPackage(fqName) != null) {
|
||||
JetScope javaPackageScope = javaDescriptorResolver.getJavaPackageScope(namespaceDescriptor);
|
||||
assert javaPackageScope != null;
|
||||
namespaceMemberScope.importScope(javaPackageScope);
|
||||
}
|
||||
}
|
||||
};
|
||||
ModuleDescriptorImpl module = injector.getModule();
|
||||
|
||||
ModuleDescriptorImpl lazyModule = createJavaModule("<lazy module>");
|
||||
lazyModule.setModuleConfiguration(moduleConfiguration);
|
||||
module.setModuleConfiguration(DefaultModuleConfiguration.INSTANCE);
|
||||
module.addFragmentProvider(javaDescriptorResolver.getPackageFragmentProvider());
|
||||
if (addBuiltIns) {
|
||||
module.addFragmentProvider(KotlinBuiltIns.getInstance().getBuiltInsModule().getPackageFragmentProvider());
|
||||
}
|
||||
|
||||
return new ResolveSession(project, storageManager, lazyModule, declarationProviderFactory, trace);
|
||||
return new ResolveSession(project, storageManager, module, declarationProviderFactory, trace);
|
||||
}
|
||||
|
||||
public static AnalyzeExhaust analyzeOneFileWithJavaIntegrationAndCheckForErrors(
|
||||
@@ -192,7 +176,6 @@ public enum AnalyzerFacadeForJVM implements AnalyzerFacade {
|
||||
boolean storeContextForBodiesResolve
|
||||
) {
|
||||
ModuleDescriptorImpl owner = createJavaModule("<module>");
|
||||
|
||||
TopDownAnalysisParameters topDownAnalysisParameters = new TopDownAnalysisParameters(
|
||||
filesToAnalyzeCompletely, false, false, scriptParameters);
|
||||
|
||||
@@ -206,7 +189,8 @@ public enum AnalyzerFacadeForJVM implements AnalyzerFacade {
|
||||
new CachedBodiesResolveContext(injector.getTopDownAnalysisContext()) :
|
||||
null;
|
||||
return AnalyzeExhaust.success(trace.getBindingContext(), bodiesResolveContext, owner);
|
||||
} finally {
|
||||
}
|
||||
finally {
|
||||
injector.destroy();
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -17,7 +17,7 @@
|
||||
package org.jetbrains.jet.lang.resolve.java;
|
||||
|
||||
import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
|
||||
import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor;
|
||||
import org.jetbrains.jet.lang.descriptors.PackageFragmentDescriptor;
|
||||
import org.jetbrains.jet.lang.resolve.BindingContext;
|
||||
import org.jetbrains.jet.util.slicedmap.Slices;
|
||||
import org.jetbrains.jet.util.slicedmap.WritableSlice;
|
||||
@@ -32,7 +32,7 @@ public class JavaBindingContext {
|
||||
/**
|
||||
* @see BindingContext#NAMESPACE_IS_SRC
|
||||
*/
|
||||
public static final WritableSlice<NamespaceDescriptor, JavaNamespaceKind> JAVA_NAMESPACE_KIND = Slices.createSimpleSlice();
|
||||
public static final WritableSlice<PackageFragmentDescriptor, JavaNamespaceKind> JAVA_NAMESPACE_KIND = Slices.createSimpleSlice();
|
||||
|
||||
public static final WritableSlice<DeclarationDescriptor, List<String>> LOAD_FROM_JAVA_SIGNATURE_ERRORS = Slices.createCollectiveSlice();
|
||||
|
||||
|
||||
+2
-13
@@ -64,12 +64,6 @@ public class TraceBasedJavaResolverCache implements JavaResolverCache {
|
||||
return trace.get(FQNAME_TO_CLASS_DESCRIPTOR, fqName);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public NamespaceDescriptor getPackageResolvedFromSource(@NotNull FqName fqName) {
|
||||
return trace.get(FQNAME_TO_NAMESPACE_DESCRIPTOR, fqName);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public SimpleFunctionDescriptor getMethod(@NotNull JavaMethod method) {
|
||||
@@ -132,17 +126,12 @@ public class TraceBasedJavaResolverCache implements JavaResolverCache {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void recordProperNamespace(@NotNull NamespaceDescriptor descriptor) {
|
||||
public void recordProperPackage(@NotNull PackageFragmentDescriptor descriptor) {
|
||||
trace.record(JavaBindingContext.JAVA_NAMESPACE_KIND, descriptor, JavaNamespaceKind.PROPER);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void recordClassStaticMembersNamespace(@NotNull NamespaceDescriptor descriptor) {
|
||||
public void recordClassStaticMembersNamespace(@NotNull PackageFragmentDescriptor descriptor) {
|
||||
trace.record(JavaBindingContext.JAVA_NAMESPACE_KIND, descriptor, JavaNamespaceKind.CLASS_STATICS);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void recordPackage(@NotNull JavaElement element, @NotNull NamespaceDescriptor descriptor) {
|
||||
trace.record(NAMESPACE, ((JavaElementImpl) element).getPsi(), descriptor);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user