diff --git a/compiler/frontend.java/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerForJvm.java b/compiler/frontend.java/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerForJvm.java index fc87da131a4..2ef4f347c8e 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerForJvm.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerForJvm.java @@ -21,11 +21,11 @@ import org.jetbrains.jet.lang.resolve.TopDownAnalysisParameters; import org.jetbrains.jet.storage.StorageManager; import org.jetbrains.jet.lang.resolve.BindingTrace; 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.TopDownAnalysisContext; import org.jetbrains.jet.lang.resolve.MutablePackageFragmentProvider; 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.resolver.TraceBasedExternalSignatureResolver; import org.jetbrains.jet.lang.resolve.java.resolver.TraceBasedJavaResolverCache; @@ -72,11 +72,11 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly private final StorageManager storageManager; private final BindingTrace bindingTrace; private final ModuleDescriptorImpl moduleDescriptor; + private final PlatformToKotlinClassMap platformToKotlinClassMap; private final TopDownAnalyzer topDownAnalyzer; private final TopDownAnalysisContext topDownAnalysisContext; private final MutablePackageFragmentProvider mutablePackageFragmentProvider; private final JavaDescriptorResolver javaDescriptorResolver; - private final JavaToKotlinClassMap javaToKotlinClassMap; private final JavaClassFinderImpl javaClassFinder; private final TraceBasedExternalSignatureResolver traceBasedExternalSignatureResolver; private final TraceBasedJavaResolverCache traceBasedJavaResolverCache; @@ -123,6 +123,7 @@ public class InjectorForTopDownAnalyzerForJvm implements InjectorForTopDownAnaly this.storageManager = topDownAnalysisParameters.getStorageManager(); this.bindingTrace = bindingTrace; this.moduleDescriptor = moduleDescriptor; + this.platformToKotlinClassMap = moduleDescriptor.getPlatformToKotlinClassMap(); this.topDownAnalyzer = new TopDownAnalyzer(); this.topDownAnalysisContext = new TopDownAnalysisContext(); 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.lazyJavaPackageFragmentProvider = new LazyJavaPackageFragmentProvider(globalJavaResolverContext, getModuleDescriptor()); this.javaDescriptorResolver = new JavaDescriptorResolver(lazyJavaPackageFragmentProvider, getModuleDescriptor()); - this.javaToKotlinClassMap = org.jetbrains.jet.lang.resolve.java.mapping.JavaToKotlinClassMap.getInstance(); this.bodyResolver = new BodyResolver(); this.annotationResolver = new AnnotationResolver(); this.callResolver = new CallResolver(); this.argumentTypeResolver = new ArgumentTypeResolver(); - this.expressionTypingServices = new ExpressionTypingServices(getTopDownAnalysisContext(), javaToKotlinClassMap); + this.expressionTypingServices = new ExpressionTypingServices(getTopDownAnalysisContext(), platformToKotlinClassMap); this.callExpressionResolver = new CallExpressionResolver(); this.descriptorResolver = new DescriptorResolver(); this.delegatedPropertyResolver = new DelegatedPropertyResolver(); diff --git a/compiler/frontend/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerBasic.java b/compiler/frontend/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerBasic.java index b1df3297d60..102bf906215 100644 --- a/compiler/frontend/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerBasic.java +++ b/compiler/frontend/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerBasic.java @@ -21,10 +21,10 @@ import org.jetbrains.jet.lang.resolve.TopDownAnalysisParameters; import org.jetbrains.jet.storage.StorageManager; import org.jetbrains.jet.lang.resolve.BindingTrace; 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.TopDownAnalysisContext; 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.resolve.BodyResolver; import org.jetbrains.jet.lang.resolve.AnnotationResolver; @@ -61,10 +61,10 @@ public class InjectorForTopDownAnalyzerBasic { private final StorageManager storageManager; private final BindingTrace bindingTrace; private final ModuleDescriptorImpl moduleDescriptor; + private final PlatformToKotlinClassMap platformToKotlinClassMap; private final TopDownAnalyzer topDownAnalyzer; private final TopDownAnalysisContext topDownAnalysisContext; private final MutablePackageFragmentProvider mutablePackageFragmentProvider; - private final PlatformToKotlinClassMap platformToKotlinClassMap; private final DependencyClassByQualifiedNameResolverDummyImpl dependencyClassByQualifiedNameResolverDummy; private final BodyResolver bodyResolver; private final AnnotationResolver annotationResolver; @@ -94,18 +94,17 @@ public class InjectorForTopDownAnalyzerBasic { @NotNull Project project, @NotNull TopDownAnalysisParameters topDownAnalysisParameters, @NotNull BindingTrace bindingTrace, - @NotNull ModuleDescriptorImpl moduleDescriptor, - @NotNull PlatformToKotlinClassMap platformToKotlinClassMap + @NotNull ModuleDescriptorImpl moduleDescriptor ) { this.project = project; this.topDownAnalysisParameters = topDownAnalysisParameters; this.storageManager = topDownAnalysisParameters.getStorageManager(); this.bindingTrace = bindingTrace; this.moduleDescriptor = moduleDescriptor; + this.platformToKotlinClassMap = moduleDescriptor.getPlatformToKotlinClassMap(); this.topDownAnalyzer = new TopDownAnalyzer(); this.topDownAnalysisContext = new TopDownAnalysisContext(); this.mutablePackageFragmentProvider = new MutablePackageFragmentProvider(getModuleDescriptor()); - this.platformToKotlinClassMap = platformToKotlinClassMap; this.dependencyClassByQualifiedNameResolverDummy = new DependencyClassByQualifiedNameResolverDummyImpl(); this.bodyResolver = new BodyResolver(); this.annotationResolver = new AnnotationResolver(); diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/TopDownAnalyzer.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/TopDownAnalyzer.java index 7a14056a146..00e45b4ef41 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/TopDownAnalyzer.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/TopDownAnalyzer.java @@ -181,7 +181,7 @@ public class TopDownAnalyzer { InjectorForTopDownAnalyzerBasic injector = new InjectorForTopDownAnalyzerBasic( object.getProject(), topDownAnalysisParameters, new ObservableBindingTrace(context.trace), - moduleDescriptor, context.expressionTypingServices.getPlatformToKotlinClassMap()); + moduleDescriptor); injector.getTopDownAnalysisContext().setOuterDataFlowInfo(context.dataFlowInfo); diff --git a/generators/src/org/jetbrains/jet/generators/injectors/GenerateInjectors.kt b/generators/src/org/jetbrains/jet/generators/injectors/GenerateInjectors.kt index 6ace39c33c1..bdd6e8acae4 100644 --- a/generators/src/org/jetbrains/jet/generators/injectors/GenerateInjectors.kt +++ b/generators/src/org/jetbrains/jet/generators/injectors/GenerateInjectors.kt @@ -64,7 +64,7 @@ private fun DependencyInjectorGenerator.commonForTopDownAnalyzer() { parameter(javaClass()) parameter(javaClass(), useAsContext = true) parameter(javaClass()) - publicParameter(javaClass()) + publicParameter(javaClass(), useAsContext = true) publicFields( javaClass(), @@ -78,8 +78,6 @@ private fun generatorForTopDownAnalyzerBasic() = generator("compiler/frontend/src", "org.jetbrains.jet.di", "InjectorForTopDownAnalyzerBasic") { commonForTopDownAnalyzer() - parameter(javaClass()) - field(javaClass()) } @@ -88,7 +86,6 @@ private fun generatorForTopDownAnalyzerForJs() = commonForTopDownAnalyzer() field(javaClass()) - field(javaClass(), init = GivenExpression("org.jetbrains.jet.lang.PlatformToKotlinClassMap.EMPTY")) } private fun generatorForTopDownAnalyzerForJvm() = @@ -98,7 +95,6 @@ private fun generatorForTopDownAnalyzerForJvm() = publicField(javaClass()) - field(javaClass(), init = GivenExpression("org.jetbrains.jet.lang.resolve.java.mapping.JavaToKotlinClassMap.getInstance()")) fields( javaClass(), javaClass(), diff --git a/idea/src/org/jetbrains/jet/plugin/references/BuiltInsReferenceResolver.java b/idea/src/org/jetbrains/jet/plugin/references/BuiltInsReferenceResolver.java index 4db7eb1e5dd..2d1675d68fd 100644 --- a/idea/src/org/jetbrains/jet/plugin/references/BuiltInsReferenceResolver.java +++ b/idea/src/org/jetbrains/jet/plugin/references/BuiltInsReferenceResolver.java @@ -94,7 +94,7 @@ public class BuiltInsReferenceResolver extends AbstractProjectComponent { Name.special(""), Collections.emptyList(), PlatformToKotlinClassMap.EMPTY); BindingTraceContext trace = new BindingTraceContext(); InjectorForTopDownAnalyzerBasic injector = new InjectorForTopDownAnalyzerBasic( - myProject, topDownAnalysisParameters, trace, module, PlatformToKotlinClassMap.EMPTY); + myProject, topDownAnalysisParameters, trace, module); TopDownAnalyzer analyzer = injector.getTopDownAnalyzer(); analyzer.analyzeFiles(jetBuiltInsFiles, Collections.emptyList()); diff --git a/js/js.translator/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerForJs.java b/js/js.translator/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerForJs.java index fa6f0f9f041..d2841848125 100644 --- a/js/js.translator/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerForJs.java +++ b/js/js.translator/src/org/jetbrains/jet/di/InjectorForTopDownAnalyzerForJs.java @@ -21,11 +21,11 @@ import org.jetbrains.jet.lang.resolve.TopDownAnalysisParameters; import org.jetbrains.jet.storage.StorageManager; import org.jetbrains.jet.lang.resolve.BindingTrace; 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.TopDownAnalysisContext; import org.jetbrains.jet.lang.resolve.MutablePackageFragmentProvider; 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.AnnotationResolver; import org.jetbrains.jet.lang.resolve.calls.CallResolver; @@ -61,11 +61,11 @@ public class InjectorForTopDownAnalyzerForJs { private final StorageManager storageManager; private final BindingTrace bindingTrace; private final ModuleDescriptorImpl moduleDescriptor; + private final PlatformToKotlinClassMap platformToKotlinClassMap; private final TopDownAnalyzer topDownAnalyzer; private final TopDownAnalysisContext topDownAnalysisContext; private final MutablePackageFragmentProvider mutablePackageFragmentProvider; private final DependencyClassByQualifiedNameResolverDummyImpl dependencyClassByQualifiedNameResolverDummy; - private final PlatformToKotlinClassMap platformToKotlinClassMap; private final BodyResolver bodyResolver; private final AnnotationResolver annotationResolver; private final CallResolver callResolver; @@ -101,11 +101,11 @@ public class InjectorForTopDownAnalyzerForJs { this.storageManager = topDownAnalysisParameters.getStorageManager(); this.bindingTrace = bindingTrace; this.moduleDescriptor = moduleDescriptor; + this.platformToKotlinClassMap = moduleDescriptor.getPlatformToKotlinClassMap(); this.topDownAnalyzer = new TopDownAnalyzer(); this.topDownAnalysisContext = new TopDownAnalysisContext(); this.mutablePackageFragmentProvider = new MutablePackageFragmentProvider(getModuleDescriptor()); this.dependencyClassByQualifiedNameResolverDummy = new DependencyClassByQualifiedNameResolverDummyImpl(); - this.platformToKotlinClassMap = org.jetbrains.jet.lang.PlatformToKotlinClassMap.EMPTY; this.bodyResolver = new BodyResolver(); this.annotationResolver = new AnnotationResolver(); this.callResolver = new CallResolver();