PlatformToKotlinClassMap can be obtained from the module
This commit is contained in:
+4
-4
@@ -21,11 +21,11 @@ import org.jetbrains.jet.lang.resolve.TopDownAnalysisParameters;
|
|||||||
import org.jetbrains.jet.storage.StorageManager;
|
import org.jetbrains.jet.storage.StorageManager;
|
||||||
import org.jetbrains.jet.lang.resolve.BindingTrace;
|
import org.jetbrains.jet.lang.resolve.BindingTrace;
|
||||||
import org.jetbrains.jet.lang.descriptors.ModuleDescriptorImpl;
|
import org.jetbrains.jet.lang.descriptors.ModuleDescriptorImpl;
|
||||||
|
import org.jetbrains.jet.lang.PlatformToKotlinClassMap;
|
||||||
import org.jetbrains.jet.lang.resolve.TopDownAnalyzer;
|
import org.jetbrains.jet.lang.resolve.TopDownAnalyzer;
|
||||||
import org.jetbrains.jet.lang.resolve.TopDownAnalysisContext;
|
import org.jetbrains.jet.lang.resolve.TopDownAnalysisContext;
|
||||||
import org.jetbrains.jet.lang.resolve.MutablePackageFragmentProvider;
|
import org.jetbrains.jet.lang.resolve.MutablePackageFragmentProvider;
|
||||||
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver;
|
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver;
|
||||||
import org.jetbrains.jet.lang.resolve.java.mapping.JavaToKotlinClassMap;
|
|
||||||
import org.jetbrains.jet.lang.resolve.java.JavaClassFinderImpl;
|
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.TraceBasedExternalSignatureResolver;
|
||||||
import org.jetbrains.jet.lang.resolve.java.resolver.TraceBasedJavaResolverCache;
|
import org.jetbrains.jet.lang.resolve.java.resolver.TraceBasedJavaResolverCache;
|
||||||
@@ -72,11 +72,11 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
|
|||||||
private final StorageManager storageManager;
|
private final StorageManager storageManager;
|
||||||
private final BindingTrace bindingTrace;
|
private final BindingTrace bindingTrace;
|
||||||
private final ModuleDescriptorImpl moduleDescriptor;
|
private final ModuleDescriptorImpl moduleDescriptor;
|
||||||
|
private final PlatformToKotlinClassMap platformToKotlinClassMap;
|
||||||
private final TopDownAnalyzer topDownAnalyzer;
|
private final TopDownAnalyzer topDownAnalyzer;
|
||||||
private final TopDownAnalysisContext topDownAnalysisContext;
|
private final TopDownAnalysisContext topDownAnalysisContext;
|
||||||
private final MutablePackageFragmentProvider mutablePackageFragmentProvider;
|
private final MutablePackageFragmentProvider mutablePackageFragmentProvider;
|
||||||
private final JavaDescriptorResolver javaDescriptorResolver;
|
private final JavaDescriptorResolver javaDescriptorResolver;
|
||||||
private final JavaToKotlinClassMap javaToKotlinClassMap;
|
|
||||||
private final JavaClassFinderImpl javaClassFinder;
|
private final JavaClassFinderImpl javaClassFinder;
|
||||||
private final TraceBasedExternalSignatureResolver traceBasedExternalSignatureResolver;
|
private final TraceBasedExternalSignatureResolver traceBasedExternalSignatureResolver;
|
||||||
private final TraceBasedJavaResolverCache traceBasedJavaResolverCache;
|
private final TraceBasedJavaResolverCache traceBasedJavaResolverCache;
|
||||||
@@ -123,6 +123,7 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
|
|||||||
this.storageManager = topDownAnalysisParameters.getStorageManager();
|
this.storageManager = topDownAnalysisParameters.getStorageManager();
|
||||||
this.bindingTrace = bindingTrace;
|
this.bindingTrace = bindingTrace;
|
||||||
this.moduleDescriptor = moduleDescriptor;
|
this.moduleDescriptor = moduleDescriptor;
|
||||||
|
this.platformToKotlinClassMap = moduleDescriptor.getPlatformToKotlinClassMap();
|
||||||
this.topDownAnalyzer = new TopDownAnalyzer();
|
this.topDownAnalyzer = new TopDownAnalyzer();
|
||||||
this.topDownAnalysisContext = new TopDownAnalysisContext();
|
this.topDownAnalysisContext = new TopDownAnalysisContext();
|
||||||
this.mutablePackageFragmentProvider = new MutablePackageFragmentProvider(getModuleDescriptor());
|
this.mutablePackageFragmentProvider = new MutablePackageFragmentProvider(getModuleDescriptor());
|
||||||
@@ -137,12 +138,11 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly
|
|||||||
this.globalJavaResolverContext = new GlobalJavaResolverContext(storageManager, javaClassFinder, virtualFileFinder, deserializedDescriptorResolver, psiBasedExternalAnnotationResolver, traceBasedExternalSignatureResolver, traceBasedErrorReporter, psiBasedMethodSignatureChecker, traceBasedJavaResolverCache);
|
this.globalJavaResolverContext = new GlobalJavaResolverContext(storageManager, javaClassFinder, virtualFileFinder, deserializedDescriptorResolver, psiBasedExternalAnnotationResolver, traceBasedExternalSignatureResolver, traceBasedErrorReporter, psiBasedMethodSignatureChecker, traceBasedJavaResolverCache);
|
||||||
this.lazyJavaPackageFragmentProvider = new LazyJavaPackageFragmentProvider(globalJavaResolverContext, getModuleDescriptor());
|
this.lazyJavaPackageFragmentProvider = new LazyJavaPackageFragmentProvider(globalJavaResolverContext, getModuleDescriptor());
|
||||||
this.javaDescriptorResolver = new JavaDescriptorResolver(lazyJavaPackageFragmentProvider, getModuleDescriptor());
|
this.javaDescriptorResolver = new JavaDescriptorResolver(lazyJavaPackageFragmentProvider, getModuleDescriptor());
|
||||||
this.javaToKotlinClassMap = org.jetbrains.jet.lang.resolve.java.mapping.JavaToKotlinClassMap.getInstance();
|
|
||||||
this.bodyResolver = new BodyResolver();
|
this.bodyResolver = new BodyResolver();
|
||||||
this.annotationResolver = new AnnotationResolver();
|
this.annotationResolver = new AnnotationResolver();
|
||||||
this.callResolver = new CallResolver();
|
this.callResolver = new CallResolver();
|
||||||
this.argumentTypeResolver = new ArgumentTypeResolver();
|
this.argumentTypeResolver = new ArgumentTypeResolver();
|
||||||
this.expressionTypingServices = new ExpressionTypingServices(getTopDownAnalysisContext(), javaToKotlinClassMap);
|
this.expressionTypingServices = new ExpressionTypingServices(getTopDownAnalysisContext(), platformToKotlinClassMap);
|
||||||
this.callExpressionResolver = new CallExpressionResolver();
|
this.callExpressionResolver = new CallExpressionResolver();
|
||||||
this.descriptorResolver = new DescriptorResolver();
|
this.descriptorResolver = new DescriptorResolver();
|
||||||
this.delegatedPropertyResolver = new DelegatedPropertyResolver();
|
this.delegatedPropertyResolver = new DelegatedPropertyResolver();
|
||||||
|
|||||||
@@ -21,10 +21,10 @@ import org.jetbrains.jet.lang.resolve.TopDownAnalysisParameters;
|
|||||||
import org.jetbrains.jet.storage.StorageManager;
|
import org.jetbrains.jet.storage.StorageManager;
|
||||||
import org.jetbrains.jet.lang.resolve.BindingTrace;
|
import org.jetbrains.jet.lang.resolve.BindingTrace;
|
||||||
import org.jetbrains.jet.lang.descriptors.ModuleDescriptorImpl;
|
import org.jetbrains.jet.lang.descriptors.ModuleDescriptorImpl;
|
||||||
|
import org.jetbrains.jet.lang.PlatformToKotlinClassMap;
|
||||||
import org.jetbrains.jet.lang.resolve.TopDownAnalyzer;
|
import org.jetbrains.jet.lang.resolve.TopDownAnalyzer;
|
||||||
import org.jetbrains.jet.lang.resolve.TopDownAnalysisContext;
|
import org.jetbrains.jet.lang.resolve.TopDownAnalysisContext;
|
||||||
import org.jetbrains.jet.lang.resolve.MutablePackageFragmentProvider;
|
import org.jetbrains.jet.lang.resolve.MutablePackageFragmentProvider;
|
||||||
import org.jetbrains.jet.lang.PlatformToKotlinClassMap;
|
|
||||||
import org.jetbrains.jet.lang.types.DependencyClassByQualifiedNameResolverDummyImpl;
|
import org.jetbrains.jet.lang.types.DependencyClassByQualifiedNameResolverDummyImpl;
|
||||||
import org.jetbrains.jet.lang.resolve.BodyResolver;
|
import org.jetbrains.jet.lang.resolve.BodyResolver;
|
||||||
import org.jetbrains.jet.lang.resolve.AnnotationResolver;
|
import org.jetbrains.jet.lang.resolve.AnnotationResolver;
|
||||||
@@ -61,10 +61,10 @@ public class InjectorForTopDownAnalyzerBasic {
|
|||||||
private final StorageManager storageManager;
|
private final StorageManager storageManager;
|
||||||
private final BindingTrace bindingTrace;
|
private final BindingTrace bindingTrace;
|
||||||
private final ModuleDescriptorImpl moduleDescriptor;
|
private final ModuleDescriptorImpl moduleDescriptor;
|
||||||
|
private final PlatformToKotlinClassMap platformToKotlinClassMap;
|
||||||
private final TopDownAnalyzer topDownAnalyzer;
|
private final TopDownAnalyzer topDownAnalyzer;
|
||||||
private final TopDownAnalysisContext topDownAnalysisContext;
|
private final TopDownAnalysisContext topDownAnalysisContext;
|
||||||
private final MutablePackageFragmentProvider mutablePackageFragmentProvider;
|
private final MutablePackageFragmentProvider mutablePackageFragmentProvider;
|
||||||
private final PlatformToKotlinClassMap platformToKotlinClassMap;
|
|
||||||
private final DependencyClassByQualifiedNameResolverDummyImpl dependencyClassByQualifiedNameResolverDummy;
|
private final DependencyClassByQualifiedNameResolverDummyImpl dependencyClassByQualifiedNameResolverDummy;
|
||||||
private final BodyResolver bodyResolver;
|
private final BodyResolver bodyResolver;
|
||||||
private final AnnotationResolver annotationResolver;
|
private final AnnotationResolver annotationResolver;
|
||||||
@@ -94,18 +94,17 @@ public class InjectorForTopDownAnalyzerBasic {
|
|||||||
@NotNull Project project,
|
@NotNull Project project,
|
||||||
@NotNull TopDownAnalysisParameters topDownAnalysisParameters,
|
@NotNull TopDownAnalysisParameters topDownAnalysisParameters,
|
||||||
@NotNull BindingTrace bindingTrace,
|
@NotNull BindingTrace bindingTrace,
|
||||||
@NotNull ModuleDescriptorImpl moduleDescriptor,
|
@NotNull ModuleDescriptorImpl moduleDescriptor
|
||||||
@NotNull PlatformToKotlinClassMap platformToKotlinClassMap
|
|
||||||
) {
|
) {
|
||||||
this.project = project;
|
this.project = project;
|
||||||
this.topDownAnalysisParameters = topDownAnalysisParameters;
|
this.topDownAnalysisParameters = topDownAnalysisParameters;
|
||||||
this.storageManager = topDownAnalysisParameters.getStorageManager();
|
this.storageManager = topDownAnalysisParameters.getStorageManager();
|
||||||
this.bindingTrace = bindingTrace;
|
this.bindingTrace = bindingTrace;
|
||||||
this.moduleDescriptor = moduleDescriptor;
|
this.moduleDescriptor = moduleDescriptor;
|
||||||
|
this.platformToKotlinClassMap = moduleDescriptor.getPlatformToKotlinClassMap();
|
||||||
this.topDownAnalyzer = new TopDownAnalyzer();
|
this.topDownAnalyzer = new TopDownAnalyzer();
|
||||||
this.topDownAnalysisContext = new TopDownAnalysisContext();
|
this.topDownAnalysisContext = new TopDownAnalysisContext();
|
||||||
this.mutablePackageFragmentProvider = new MutablePackageFragmentProvider(getModuleDescriptor());
|
this.mutablePackageFragmentProvider = new MutablePackageFragmentProvider(getModuleDescriptor());
|
||||||
this.platformToKotlinClassMap = platformToKotlinClassMap;
|
|
||||||
this.dependencyClassByQualifiedNameResolverDummy = new DependencyClassByQualifiedNameResolverDummyImpl();
|
this.dependencyClassByQualifiedNameResolverDummy = new DependencyClassByQualifiedNameResolverDummyImpl();
|
||||||
this.bodyResolver = new BodyResolver();
|
this.bodyResolver = new BodyResolver();
|
||||||
this.annotationResolver = new AnnotationResolver();
|
this.annotationResolver = new AnnotationResolver();
|
||||||
|
|||||||
@@ -181,7 +181,7 @@ public class TopDownAnalyzer {
|
|||||||
|
|
||||||
InjectorForTopDownAnalyzerBasic injector = new InjectorForTopDownAnalyzerBasic(
|
InjectorForTopDownAnalyzerBasic injector = new InjectorForTopDownAnalyzerBasic(
|
||||||
object.getProject(), topDownAnalysisParameters, new ObservableBindingTrace(context.trace),
|
object.getProject(), topDownAnalysisParameters, new ObservableBindingTrace(context.trace),
|
||||||
moduleDescriptor, context.expressionTypingServices.getPlatformToKotlinClassMap());
|
moduleDescriptor);
|
||||||
|
|
||||||
injector.getTopDownAnalysisContext().setOuterDataFlowInfo(context.dataFlowInfo);
|
injector.getTopDownAnalysisContext().setOuterDataFlowInfo(context.dataFlowInfo);
|
||||||
|
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ private fun DependencyInjectorGenerator.commonForTopDownAnalyzer() {
|
|||||||
parameter(javaClass<Project>())
|
parameter(javaClass<Project>())
|
||||||
parameter(javaClass<TopDownAnalysisParameters>(), useAsContext = true)
|
parameter(javaClass<TopDownAnalysisParameters>(), useAsContext = true)
|
||||||
parameter(javaClass<BindingTrace>())
|
parameter(javaClass<BindingTrace>())
|
||||||
publicParameter(javaClass<ModuleDescriptorImpl>())
|
publicParameter(javaClass<ModuleDescriptorImpl>(), useAsContext = true)
|
||||||
|
|
||||||
publicFields(
|
publicFields(
|
||||||
javaClass<TopDownAnalyzer>(),
|
javaClass<TopDownAnalyzer>(),
|
||||||
@@ -78,8 +78,6 @@ private fun generatorForTopDownAnalyzerBasic() =
|
|||||||
generator("compiler/frontend/src", "org.jetbrains.jet.di", "InjectorForTopDownAnalyzerBasic") {
|
generator("compiler/frontend/src", "org.jetbrains.jet.di", "InjectorForTopDownAnalyzerBasic") {
|
||||||
commonForTopDownAnalyzer()
|
commonForTopDownAnalyzer()
|
||||||
|
|
||||||
parameter(javaClass<PlatformToKotlinClassMap>())
|
|
||||||
|
|
||||||
field(javaClass<DependencyClassByQualifiedNameResolverDummyImpl>())
|
field(javaClass<DependencyClassByQualifiedNameResolverDummyImpl>())
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -88,7 +86,6 @@ private fun generatorForTopDownAnalyzerForJs() =
|
|||||||
commonForTopDownAnalyzer()
|
commonForTopDownAnalyzer()
|
||||||
|
|
||||||
field(javaClass<DependencyClassByQualifiedNameResolverDummyImpl>())
|
field(javaClass<DependencyClassByQualifiedNameResolverDummyImpl>())
|
||||||
field(javaClass<PlatformToKotlinClassMap>(), init = GivenExpression("org.jetbrains.jet.lang.PlatformToKotlinClassMap.EMPTY"))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun generatorForTopDownAnalyzerForJvm() =
|
private fun generatorForTopDownAnalyzerForJvm() =
|
||||||
@@ -98,7 +95,6 @@ private fun generatorForTopDownAnalyzerForJvm() =
|
|||||||
|
|
||||||
publicField(javaClass<JavaDescriptorResolver>())
|
publicField(javaClass<JavaDescriptorResolver>())
|
||||||
|
|
||||||
field(javaClass<JavaToKotlinClassMap>(), init = GivenExpression("org.jetbrains.jet.lang.resolve.java.mapping.JavaToKotlinClassMap.getInstance()"))
|
|
||||||
fields(
|
fields(
|
||||||
javaClass<JavaClassFinderImpl>(),
|
javaClass<JavaClassFinderImpl>(),
|
||||||
javaClass<TraceBasedExternalSignatureResolver>(),
|
javaClass<TraceBasedExternalSignatureResolver>(),
|
||||||
|
|||||||
@@ -94,7 +94,7 @@ public class BuiltInsReferenceResolver extends AbstractProjectComponent {
|
|||||||
Name.special("<fake_module>"), Collections.<ImportPath>emptyList(), PlatformToKotlinClassMap.EMPTY);
|
Name.special("<fake_module>"), Collections.<ImportPath>emptyList(), PlatformToKotlinClassMap.EMPTY);
|
||||||
BindingTraceContext trace = new BindingTraceContext();
|
BindingTraceContext trace = new BindingTraceContext();
|
||||||
InjectorForTopDownAnalyzerBasic injector = new InjectorForTopDownAnalyzerBasic(
|
InjectorForTopDownAnalyzerBasic injector = new InjectorForTopDownAnalyzerBasic(
|
||||||
myProject, topDownAnalysisParameters, trace, module, PlatformToKotlinClassMap.EMPTY);
|
myProject, topDownAnalysisParameters, trace, module);
|
||||||
|
|
||||||
TopDownAnalyzer analyzer = injector.getTopDownAnalyzer();
|
TopDownAnalyzer analyzer = injector.getTopDownAnalyzer();
|
||||||
analyzer.analyzeFiles(jetBuiltInsFiles, Collections.<AnalyzerScriptParameter>emptyList());
|
analyzer.analyzeFiles(jetBuiltInsFiles, Collections.<AnalyzerScriptParameter>emptyList());
|
||||||
|
|||||||
@@ -21,11 +21,11 @@ import org.jetbrains.jet.lang.resolve.TopDownAnalysisParameters;
|
|||||||
import org.jetbrains.jet.storage.StorageManager;
|
import org.jetbrains.jet.storage.StorageManager;
|
||||||
import org.jetbrains.jet.lang.resolve.BindingTrace;
|
import org.jetbrains.jet.lang.resolve.BindingTrace;
|
||||||
import org.jetbrains.jet.lang.descriptors.ModuleDescriptorImpl;
|
import org.jetbrains.jet.lang.descriptors.ModuleDescriptorImpl;
|
||||||
|
import org.jetbrains.jet.lang.PlatformToKotlinClassMap;
|
||||||
import org.jetbrains.jet.lang.resolve.TopDownAnalyzer;
|
import org.jetbrains.jet.lang.resolve.TopDownAnalyzer;
|
||||||
import org.jetbrains.jet.lang.resolve.TopDownAnalysisContext;
|
import org.jetbrains.jet.lang.resolve.TopDownAnalysisContext;
|
||||||
import org.jetbrains.jet.lang.resolve.MutablePackageFragmentProvider;
|
import org.jetbrains.jet.lang.resolve.MutablePackageFragmentProvider;
|
||||||
import org.jetbrains.jet.lang.types.DependencyClassByQualifiedNameResolverDummyImpl;
|
import org.jetbrains.jet.lang.types.DependencyClassByQualifiedNameResolverDummyImpl;
|
||||||
import org.jetbrains.jet.lang.PlatformToKotlinClassMap;
|
|
||||||
import org.jetbrains.jet.lang.resolve.BodyResolver;
|
import org.jetbrains.jet.lang.resolve.BodyResolver;
|
||||||
import org.jetbrains.jet.lang.resolve.AnnotationResolver;
|
import org.jetbrains.jet.lang.resolve.AnnotationResolver;
|
||||||
import org.jetbrains.jet.lang.resolve.calls.CallResolver;
|
import org.jetbrains.jet.lang.resolve.calls.CallResolver;
|
||||||
@@ -61,11 +61,11 @@ public class InjectorForTopDownAnalyzerForJs {
|
|||||||
private final StorageManager storageManager;
|
private final StorageManager storageManager;
|
||||||
private final BindingTrace bindingTrace;
|
private final BindingTrace bindingTrace;
|
||||||
private final ModuleDescriptorImpl moduleDescriptor;
|
private final ModuleDescriptorImpl moduleDescriptor;
|
||||||
|
private final PlatformToKotlinClassMap platformToKotlinClassMap;
|
||||||
private final TopDownAnalyzer topDownAnalyzer;
|
private final TopDownAnalyzer topDownAnalyzer;
|
||||||
private final TopDownAnalysisContext topDownAnalysisContext;
|
private final TopDownAnalysisContext topDownAnalysisContext;
|
||||||
private final MutablePackageFragmentProvider mutablePackageFragmentProvider;
|
private final MutablePackageFragmentProvider mutablePackageFragmentProvider;
|
||||||
private final DependencyClassByQualifiedNameResolverDummyImpl dependencyClassByQualifiedNameResolverDummy;
|
private final DependencyClassByQualifiedNameResolverDummyImpl dependencyClassByQualifiedNameResolverDummy;
|
||||||
private final PlatformToKotlinClassMap platformToKotlinClassMap;
|
|
||||||
private final BodyResolver bodyResolver;
|
private final BodyResolver bodyResolver;
|
||||||
private final AnnotationResolver annotationResolver;
|
private final AnnotationResolver annotationResolver;
|
||||||
private final CallResolver callResolver;
|
private final CallResolver callResolver;
|
||||||
@@ -101,11 +101,11 @@ public class InjectorForTopDownAnalyzerForJs {
|
|||||||
this.storageManager = topDownAnalysisParameters.getStorageManager();
|
this.storageManager = topDownAnalysisParameters.getStorageManager();
|
||||||
this.bindingTrace = bindingTrace;
|
this.bindingTrace = bindingTrace;
|
||||||
this.moduleDescriptor = moduleDescriptor;
|
this.moduleDescriptor = moduleDescriptor;
|
||||||
|
this.platformToKotlinClassMap = moduleDescriptor.getPlatformToKotlinClassMap();
|
||||||
this.topDownAnalyzer = new TopDownAnalyzer();
|
this.topDownAnalyzer = new TopDownAnalyzer();
|
||||||
this.topDownAnalysisContext = new TopDownAnalysisContext();
|
this.topDownAnalysisContext = new TopDownAnalysisContext();
|
||||||
this.mutablePackageFragmentProvider = new MutablePackageFragmentProvider(getModuleDescriptor());
|
this.mutablePackageFragmentProvider = new MutablePackageFragmentProvider(getModuleDescriptor());
|
||||||
this.dependencyClassByQualifiedNameResolverDummy = new DependencyClassByQualifiedNameResolverDummyImpl();
|
this.dependencyClassByQualifiedNameResolverDummy = new DependencyClassByQualifiedNameResolverDummyImpl();
|
||||||
this.platformToKotlinClassMap = org.jetbrains.jet.lang.PlatformToKotlinClassMap.EMPTY;
|
|
||||||
this.bodyResolver = new BodyResolver();
|
this.bodyResolver = new BodyResolver();
|
||||||
this.annotationResolver = new AnnotationResolver();
|
this.annotationResolver = new AnnotationResolver();
|
||||||
this.callResolver = new CallResolver();
|
this.callResolver = new CallResolver();
|
||||||
|
|||||||
Reference in New Issue
Block a user