diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/di/InjectorForLazyResolveWithJava.java b/compiler/frontend.java/src/org/jetbrains/kotlin/di/InjectorForLazyResolveWithJava.java index abf22440811..f6c96d6b9d4 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/di/InjectorForLazyResolveWithJava.java +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/di/InjectorForLazyResolveWithJava.java @@ -157,7 +157,7 @@ public class InjectorForLazyResolveWithJava { this.kotlinBuiltIns = module.getBuiltIns(); this.platformToKotlinClassMap = module.getPlatformToKotlinClassMap(); this.declarationProviderFactory = declarationProviderFactory; - this.resolveSession = new ResolveSession(project, globalContext, module, declarationProviderFactory, bindingTrace); + this.resolveSession = new ResolveSession(project, globalContext, getModule(), declarationProviderFactory, bindingTrace); this.scopeProvider = new ScopeProvider(getResolveSession()); this.moduleContentScope = moduleContentScope; this.moduleClassResolver = moduleClassResolver; @@ -173,8 +173,8 @@ public class InjectorForLazyResolveWithJava { this.samConversionResolver = SamConversionResolverImpl.INSTANCE$; this.javaSourceElementFactory = new JavaSourceElementFactoryImpl(); this.globalJavaResolverContext = new GlobalJavaResolverContext(storageManager, getJavaClassFinder(), virtualFileFinder, deserializedDescriptorResolver, psiBasedExternalAnnotationResolver, traceBasedExternalSignatureResolver, traceBasedErrorReporter, psiBasedMethodSignatureChecker, lazyResolveBasedCache, javaPropertyInitializerEvaluator, samConversionResolver, javaSourceElementFactory, moduleClassResolver); - this.lazyJavaPackageFragmentProvider = new LazyJavaPackageFragmentProvider(globalJavaResolverContext, module); - this.javaDescriptorResolver = new JavaDescriptorResolver(lazyJavaPackageFragmentProvider, module); + this.lazyJavaPackageFragmentProvider = new LazyJavaPackageFragmentProvider(globalJavaResolverContext, getModule()); + this.javaDescriptorResolver = new JavaDescriptorResolver(lazyJavaPackageFragmentProvider, getModule()); this.javaFlexibleTypeCapabilitiesProvider = new JavaFlexibleTypeCapabilitiesProvider(); this.lazyResolveToken = new LazyResolveToken(); this.javaLazyAnalyzerPostConstruct = new JavaLazyAnalyzerPostConstruct(); @@ -190,10 +190,10 @@ public class InjectorForLazyResolveWithJava { this.forLoopConventionsChecker = new ForLoopConventionsChecker(); this.descriptorResolver = new DescriptorResolver(); this.qualifiedExpressionResolver = new QualifiedExpressionResolver(); - this.typeResolver = new TypeResolver(annotationResolver, qualifiedExpressionResolver, module, javaFlexibleTypeCapabilitiesProvider, storageManager, lazyResolveToken, dynamicTypesSettings); + this.typeResolver = new TypeResolver(annotationResolver, qualifiedExpressionResolver, getModule(), javaFlexibleTypeCapabilitiesProvider, storageManager, lazyResolveToken, dynamicTypesSettings); this.localClassifierAnalyzer = new LocalClassifierAnalyzer(descriptorResolver, typeResolver, annotationResolver); this.delegatedPropertyResolver = new DelegatedPropertyResolver(); - this.reflectionTypes = new ReflectionTypes(module); + this.reflectionTypes = new ReflectionTypes(getModule()); this.callExpressionResolver = new CallExpressionResolver(); this.statementFilter = new StatementFilter(); this.candidateResolver = new CandidateResolver(); @@ -205,8 +205,8 @@ public class InjectorForLazyResolveWithJava { this.scriptBodyResolver = new ScriptBodyResolver(); this.additionalFileScopeProvider = new AdditionalFileScopeProvider(); this.javaClassDataFinder = new JavaClassDataFinder(virtualFileFinder, deserializedDescriptorResolver); - this.binaryClassAnnotationAndConstantLoader = new BinaryClassAnnotationAndConstantLoaderImpl(module, storageManager, virtualFileFinder, traceBasedErrorReporter); - this.deserializationComponentsForJava = new DeserializationComponentsForJava(storageManager, module, javaClassDataFinder, binaryClassAnnotationAndConstantLoader, lazyJavaPackageFragmentProvider); + this.binaryClassAnnotationAndConstantLoader = new BinaryClassAnnotationAndConstantLoaderImpl(getModule(), storageManager, virtualFileFinder, traceBasedErrorReporter); + this.deserializationComponentsForJava = new DeserializationComponentsForJava(storageManager, getModule(), javaClassDataFinder, binaryClassAnnotationAndConstantLoader, lazyJavaPackageFragmentProvider); this.resolveSession.setAnnotationResolve(annotationResolver); this.resolveSession.setDescriptorResolver(descriptorResolver); @@ -317,6 +317,10 @@ public class InjectorForLazyResolveWithJava { public void destroy() { } + public ModuleDescriptorImpl getModule() { + return this.module; + } + public ResolveSession getResolveSession() { return this.resolveSession; } diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/di/InjectorForReplWithJava.java b/compiler/frontend.java/src/org/jetbrains/kotlin/di/InjectorForReplWithJava.java index 2042291e401..9d0bd2f5d98 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/di/InjectorForReplWithJava.java +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/di/InjectorForReplWithJava.java @@ -179,7 +179,7 @@ public class InjectorForReplWithJava { this.kotlinBuiltIns = module.getBuiltIns(); this.platformToKotlinClassMap = module.getPlatformToKotlinClassMap(); this.declarationProviderFactory = declarationProviderFactory; - this.resolveSession = new ResolveSession(project, globalContext, module, declarationProviderFactory, bindingTrace); + this.resolveSession = new ResolveSession(project, globalContext, getModule(), declarationProviderFactory, bindingTrace); this.scopeProvider = new ScopeProvider(getResolveSession()); this.moduleContentScope = moduleContentScope; this.lazyTopDownAnalyzer = new LazyTopDownAnalyzer(); @@ -197,11 +197,11 @@ public class InjectorForReplWithJava { this.javaSourceElementFactory = new JavaSourceElementFactoryImpl(); this.singleModuleClassResolver = new SingleModuleClassResolver(); this.globalJavaResolverContext = new GlobalJavaResolverContext(storageManager, javaClassFinder, virtualFileFinder, deserializedDescriptorResolver, psiBasedExternalAnnotationResolver, traceBasedExternalSignatureResolver, traceBasedErrorReporter, psiBasedMethodSignatureChecker, lazyResolveBasedCache, javaPropertyInitializerEvaluator, samConversionResolver, javaSourceElementFactory, singleModuleClassResolver); - this.lazyJavaPackageFragmentProvider = new LazyJavaPackageFragmentProvider(globalJavaResolverContext, module); - this.javaDescriptorResolver = new JavaDescriptorResolver(lazyJavaPackageFragmentProvider, module); + this.lazyJavaPackageFragmentProvider = new LazyJavaPackageFragmentProvider(globalJavaResolverContext, getModule()); + this.javaDescriptorResolver = new JavaDescriptorResolver(lazyJavaPackageFragmentProvider, getModule()); this.javaClassDataFinder = new JavaClassDataFinder(virtualFileFinder, deserializedDescriptorResolver); - this.binaryClassAnnotationAndConstantLoader = new BinaryClassAnnotationAndConstantLoaderImpl(module, storageManager, virtualFileFinder, traceBasedErrorReporter); - this.deserializationComponentsForJava = new DeserializationComponentsForJava(storageManager, module, javaClassDataFinder, binaryClassAnnotationAndConstantLoader, lazyJavaPackageFragmentProvider); + this.binaryClassAnnotationAndConstantLoader = new BinaryClassAnnotationAndConstantLoaderImpl(getModule(), storageManager, virtualFileFinder, traceBasedErrorReporter); + this.deserializationComponentsForJava = new DeserializationComponentsForJava(storageManager, getModule(), javaClassDataFinder, binaryClassAnnotationAndConstantLoader, lazyJavaPackageFragmentProvider); this.javaLazyAnalyzerPostConstruct = new JavaLazyAnalyzerPostConstruct(); this.javaFlexibleTypeCapabilitiesProvider = new JavaFlexibleTypeCapabilitiesProvider(); this.kotlinJvmCheckerProvider = KotlinJvmCheckerProvider.INSTANCE$; @@ -218,10 +218,10 @@ public class InjectorForReplWithJava { this.descriptorResolver = new DescriptorResolver(); this.qualifiedExpressionResolver = new QualifiedExpressionResolver(); this.lazinessToken = new LazinessToken(); - this.typeResolver = new TypeResolver(annotationResolver, qualifiedExpressionResolver, module, javaFlexibleTypeCapabilitiesProvider, storageManager, lazinessToken, dynamicTypesSettings); + this.typeResolver = new TypeResolver(annotationResolver, qualifiedExpressionResolver, getModule(), javaFlexibleTypeCapabilitiesProvider, storageManager, lazinessToken, dynamicTypesSettings); this.localClassifierAnalyzer = new LocalClassifierAnalyzer(descriptorResolver, typeResolver, annotationResolver); this.delegatedPropertyResolver = new DelegatedPropertyResolver(); - this.reflectionTypes = new ReflectionTypes(module); + this.reflectionTypes = new ReflectionTypes(getModule()); this.callExpressionResolver = new CallExpressionResolver(); this.statementFilter = new StatementFilter(); this.candidateResolver = new CandidateResolver(); @@ -392,6 +392,10 @@ public class InjectorForReplWithJava { public void destroy() { } + public ModuleDescriptorImpl getModule() { + return this.module; + } + public ResolveSession getResolveSession() { return this.resolveSession; } diff --git a/compiler/frontend.java/src/org/jetbrains/kotlin/di/InjectorForTopDownAnalyzerForJvm.java b/compiler/frontend.java/src/org/jetbrains/kotlin/di/InjectorForTopDownAnalyzerForJvm.java index dff22a2b9dc..ab4a917ad5b 100644 --- a/compiler/frontend.java/src/org/jetbrains/kotlin/di/InjectorForTopDownAnalyzerForJvm.java +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/di/InjectorForTopDownAnalyzerForJvm.java @@ -178,7 +178,7 @@ public class InjectorForTopDownAnalyzerForJvm { this.kotlinBuiltIns = module.getBuiltIns(); this.platformToKotlinClassMap = module.getPlatformToKotlinClassMap(); this.declarationProviderFactory = declarationProviderFactory; - this.resolveSession = new ResolveSession(project, globalContext, module, declarationProviderFactory, bindingTrace); + this.resolveSession = new ResolveSession(project, globalContext, getModule(), declarationProviderFactory, bindingTrace); this.scopeProvider = new ScopeProvider(getResolveSession()); this.moduleContentScope = moduleContentScope; this.lazyTopDownAnalyzer = new LazyTopDownAnalyzer(); @@ -196,11 +196,11 @@ public class InjectorForTopDownAnalyzerForJvm { this.javaSourceElementFactory = new JavaSourceElementFactoryImpl(); this.singleModuleClassResolver = new SingleModuleClassResolver(); this.globalJavaResolverContext = new GlobalJavaResolverContext(storageManager, javaClassFinder, virtualFileFinder, deserializedDescriptorResolver, psiBasedExternalAnnotationResolver, traceBasedExternalSignatureResolver, traceBasedErrorReporter, psiBasedMethodSignatureChecker, lazyResolveBasedCache, javaPropertyInitializerEvaluator, samConversionResolver, javaSourceElementFactory, singleModuleClassResolver); - this.lazyJavaPackageFragmentProvider = new LazyJavaPackageFragmentProvider(globalJavaResolverContext, module); - this.javaDescriptorResolver = new JavaDescriptorResolver(lazyJavaPackageFragmentProvider, module); + this.lazyJavaPackageFragmentProvider = new LazyJavaPackageFragmentProvider(globalJavaResolverContext, getModule()); + this.javaDescriptorResolver = new JavaDescriptorResolver(lazyJavaPackageFragmentProvider, getModule()); this.javaClassDataFinder = new JavaClassDataFinder(virtualFileFinder, deserializedDescriptorResolver); - this.binaryClassAnnotationAndConstantLoader = new BinaryClassAnnotationAndConstantLoaderImpl(module, storageManager, virtualFileFinder, traceBasedErrorReporter); - this.deserializationComponentsForJava = new DeserializationComponentsForJava(storageManager, module, javaClassDataFinder, binaryClassAnnotationAndConstantLoader, lazyJavaPackageFragmentProvider); + this.binaryClassAnnotationAndConstantLoader = new BinaryClassAnnotationAndConstantLoaderImpl(getModule(), storageManager, virtualFileFinder, traceBasedErrorReporter); + this.deserializationComponentsForJava = new DeserializationComponentsForJava(storageManager, getModule(), javaClassDataFinder, binaryClassAnnotationAndConstantLoader, lazyJavaPackageFragmentProvider); this.javaLazyAnalyzerPostConstruct = new JavaLazyAnalyzerPostConstruct(); this.javaFlexibleTypeCapabilitiesProvider = new JavaFlexibleTypeCapabilitiesProvider(); this.kotlinJvmCheckerProvider = KotlinJvmCheckerProvider.INSTANCE$; @@ -216,10 +216,10 @@ public class InjectorForTopDownAnalyzerForJvm { this.descriptorResolver = new DescriptorResolver(); this.qualifiedExpressionResolver = new QualifiedExpressionResolver(); this.lazinessToken = new LazinessToken(); - this.typeResolver = new TypeResolver(annotationResolver, qualifiedExpressionResolver, module, javaFlexibleTypeCapabilitiesProvider, storageManager, lazinessToken, dynamicTypesSettings); + this.typeResolver = new TypeResolver(annotationResolver, qualifiedExpressionResolver, getModule(), javaFlexibleTypeCapabilitiesProvider, storageManager, lazinessToken, dynamicTypesSettings); this.localClassifierAnalyzer = new LocalClassifierAnalyzer(descriptorResolver, typeResolver, annotationResolver); this.delegatedPropertyResolver = new DelegatedPropertyResolver(); - this.reflectionTypes = new ReflectionTypes(module); + this.reflectionTypes = new ReflectionTypes(getModule()); this.callExpressionResolver = new CallExpressionResolver(); this.statementFilter = new StatementFilter(); this.candidateResolver = new CandidateResolver(); @@ -391,6 +391,10 @@ public class InjectorForTopDownAnalyzerForJvm { public void destroy() { } + public ModuleDescriptorImpl getModule() { + return this.module; + } + public ResolveSession getResolveSession() { return this.resolveSession; } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/di/InjectorForLazyTopDownAnalyzerBasic.java b/compiler/frontend/src/org/jetbrains/kotlin/di/InjectorForLazyTopDownAnalyzerBasic.java index 2f29800e24b..76cef999acc 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/di/InjectorForLazyTopDownAnalyzerBasic.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/di/InjectorForLazyTopDownAnalyzerBasic.java @@ -137,7 +137,7 @@ public class InjectorForLazyTopDownAnalyzerBasic { this.kotlinBuiltIns = module.getBuiltIns(); this.platformToKotlinClassMap = module.getPlatformToKotlinClassMap(); this.declarationProviderFactory = declarationProviderFactory; - this.resolveSession = new ResolveSession(project, globalContext, module, declarationProviderFactory, bindingTrace); + this.resolveSession = new ResolveSession(project, globalContext, getModule(), declarationProviderFactory, bindingTrace); this.scopeProvider = new ScopeProvider(getResolveSession()); this.lazyTopDownAnalyzerForTopLevel = new LazyTopDownAnalyzerForTopLevel(); this.defaultProvider = DefaultProvider.INSTANCE$; @@ -154,10 +154,10 @@ public class InjectorForLazyTopDownAnalyzerBasic { this.qualifiedExpressionResolver = new QualifiedExpressionResolver(); this.flexibleTypeCapabilitiesProvider = new FlexibleTypeCapabilitiesProvider(); this.lazinessToken = new LazinessToken(); - this.typeResolver = new TypeResolver(annotationResolver, qualifiedExpressionResolver, module, flexibleTypeCapabilitiesProvider, storageManager, lazinessToken, dynamicTypesSettings); + this.typeResolver = new TypeResolver(annotationResolver, qualifiedExpressionResolver, getModule(), flexibleTypeCapabilitiesProvider, storageManager, lazinessToken, dynamicTypesSettings); this.localClassifierAnalyzer = new LocalClassifierAnalyzer(descriptorResolver, typeResolver, annotationResolver); this.delegatedPropertyResolver = new DelegatedPropertyResolver(); - this.reflectionTypes = new ReflectionTypes(module); + this.reflectionTypes = new ReflectionTypes(getModule()); this.callExpressionResolver = new CallExpressionResolver(); this.statementFilter = new StatementFilter(); this.candidateResolver = new CandidateResolver(); @@ -303,6 +303,10 @@ public class InjectorForLazyTopDownAnalyzerBasic { public void destroy() { } + public ModuleDescriptorImpl getModule() { + return this.module; + } + public ResolveSession getResolveSession() { return this.resolveSession; } diff --git a/compiler/tests/org/jetbrains/kotlin/jvm/compiler/AbstractSdkAnnotationsValidityTest.java b/compiler/tests/org/jetbrains/kotlin/jvm/compiler/AbstractSdkAnnotationsValidityTest.java index 87c14ef82df..29771d305ce 100644 --- a/compiler/tests/org/jetbrains/kotlin/jvm/compiler/AbstractSdkAnnotationsValidityTest.java +++ b/compiler/tests/org/jetbrains/kotlin/jvm/compiler/AbstractSdkAnnotationsValidityTest.java @@ -25,8 +25,8 @@ import org.jetbrains.kotlin.cli.jvm.compiler.CliLightClassGenerationSupport; import org.jetbrains.kotlin.cli.jvm.compiler.JetCoreEnvironment; import org.jetbrains.kotlin.descriptors.*; import org.jetbrains.kotlin.descriptors.impl.DeclarationDescriptorVisitorEmptyBodies; -import org.jetbrains.kotlin.di.InjectorForLazyResolveWithJavaUtil; import org.jetbrains.kotlin.di.InjectorForLazyResolveWithJava; +import org.jetbrains.kotlin.di.InjectorForLazyResolveWithJavaUtil; import org.jetbrains.kotlin.load.java.JavaBindingContext; import org.jetbrains.kotlin.name.FqName; import org.jetbrains.kotlin.platform.JavaToKotlinClassMap; @@ -77,7 +77,7 @@ public abstract class AbstractSdkAnnotationsValidityTest extends UsefulTestCase BindingTrace trace = new CliLightClassGenerationSupport.NoScopeRecordCliBindingTrace(); InjectorForLazyResolveWithJava injector = InjectorForLazyResolveWithJavaUtil.create(commonEnvironment.getProject(), trace, false); - ModuleDescriptor module = injector.getResolveSession().getModuleDescriptor(); + ModuleDescriptor module = injector.getModule(); AlternativeSignatureErrorFindingVisitor visitor = new AlternativeSignatureErrorFindingVisitor(trace.getBindingContext(), errors); diff --git a/compiler/tests/org/jetbrains/kotlin/jvm/compiler/LoadDescriptorUtil.java b/compiler/tests/org/jetbrains/kotlin/jvm/compiler/LoadDescriptorUtil.java index a8d4e500a4f..b53dcd3a384 100644 --- a/compiler/tests/org/jetbrains/kotlin/jvm/compiler/LoadDescriptorUtil.java +++ b/compiler/tests/org/jetbrains/kotlin/jvm/compiler/LoadDescriptorUtil.java @@ -33,10 +33,9 @@ import org.jetbrains.kotlin.codegen.GenerationUtils; import org.jetbrains.kotlin.codegen.forTestCompile.ForTestCompileRuntime; import org.jetbrains.kotlin.codegen.state.GenerationState; import org.jetbrains.kotlin.config.CompilerConfiguration; -import org.jetbrains.kotlin.descriptors.ModuleDescriptor; import org.jetbrains.kotlin.descriptors.PackageViewDescriptor; -import org.jetbrains.kotlin.di.InjectorForLazyResolveWithJavaUtil; import org.jetbrains.kotlin.di.InjectorForLazyResolveWithJava; +import org.jetbrains.kotlin.di.InjectorForLazyResolveWithJavaUtil; import org.jetbrains.kotlin.name.FqName; import org.jetbrains.kotlin.name.Name; import org.jetbrains.kotlin.psi.JetFile; @@ -95,9 +94,8 @@ public final class LoadDescriptorUtil { BindingTrace trace = new CliLightClassGenerationSupport.NoScopeRecordCliBindingTrace(); InjectorForLazyResolveWithJava injector = InjectorForLazyResolveWithJavaUtil.create(jetCoreEnvironment.getProject(), trace, true); - ModuleDescriptor module = injector.getResolveSession().getModuleDescriptor(); - PackageViewDescriptor packageView = module.getPackage(TEST_PACKAGE_FQNAME); + PackageViewDescriptor packageView = injector.getModule().getPackage(TEST_PACKAGE_FQNAME); assert packageView != null; return Pair.create(packageView, trace.getBindingContext()); diff --git a/compiler/tests/org/jetbrains/kotlin/jvm/compiler/longTest/ResolveDescriptorsFromExternalLibraries.java b/compiler/tests/org/jetbrains/kotlin/jvm/compiler/longTest/ResolveDescriptorsFromExternalLibraries.java index bf412a68775..3a67dee6d9a 100644 --- a/compiler/tests/org/jetbrains/kotlin/jvm/compiler/longTest/ResolveDescriptorsFromExternalLibraries.java +++ b/compiler/tests/org/jetbrains/kotlin/jvm/compiler/longTest/ResolveDescriptorsFromExternalLibraries.java @@ -30,9 +30,8 @@ import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles; import org.jetbrains.kotlin.cli.jvm.compiler.JetCoreEnvironment; import org.jetbrains.kotlin.config.CompilerConfiguration; import org.jetbrains.kotlin.descriptors.ClassDescriptor; -import org.jetbrains.kotlin.descriptors.ModuleDescriptor; -import org.jetbrains.kotlin.di.InjectorForLazyResolveWithJavaUtil; import org.jetbrains.kotlin.di.InjectorForLazyResolveWithJava; +import org.jetbrains.kotlin.di.InjectorForLazyResolveWithJavaUtil; import org.jetbrains.kotlin.name.FqName; import org.jetbrains.kotlin.resolve.BindingTraceContext; import org.jetbrains.kotlin.test.ConfigurationKind; @@ -181,7 +180,6 @@ public class ResolveDescriptorsFromExternalLibraries { InjectorForLazyResolveWithJava injector = InjectorForLazyResolveWithJavaUtil.create(jetCoreEnvironment.getProject(), new BindingTraceContext(), false); - ModuleDescriptor moduleDescriptor = injector.getResolveSession().getModuleDescriptor(); boolean hasErrors; try { @@ -213,7 +211,7 @@ public class ResolveDescriptorsFromExternalLibraries { String className = entryName.substring(0, entryName.length() - ".class".length()).replace("/", "."); try { - ClassDescriptor clazz = resolveTopLevelClass(moduleDescriptor, new FqName(className)); + ClassDescriptor clazz = resolveTopLevelClass(injector.getModule(), new FqName(className)); if (clazz == null) { throw new IllegalStateException("class not found by name " + className + " in " + libDescription); } diff --git a/compiler/tests/org/jetbrains/kotlin/types/JetTypeCheckerTest.java b/compiler/tests/org/jetbrains/kotlin/types/JetTypeCheckerTest.java index 8c320b19a5e..abbfa514a88 100644 --- a/compiler/tests/org/jetbrains/kotlin/types/JetTypeCheckerTest.java +++ b/compiler/tests/org/jetbrains/kotlin/types/JetTypeCheckerTest.java @@ -27,8 +27,8 @@ import org.jetbrains.kotlin.descriptors.ModuleDescriptor; import org.jetbrains.kotlin.descriptors.PackageViewDescriptor; import org.jetbrains.kotlin.descriptors.ReceiverParameterDescriptor; import org.jetbrains.kotlin.descriptors.impl.ReceiverParameterDescriptorImpl; -import org.jetbrains.kotlin.di.InjectorForLazyResolveWithJavaUtil; import org.jetbrains.kotlin.di.InjectorForLazyResolveWithJava; +import org.jetbrains.kotlin.di.InjectorForLazyResolveWithJavaUtil; import org.jetbrains.kotlin.di.InjectorForTests; import org.jetbrains.kotlin.name.FqName; import org.jetbrains.kotlin.psi.JetExpression; @@ -594,7 +594,7 @@ public class JetTypeCheckerTest extends JetLiteFixture { scope, scope.getContainingDeclaration(), RedeclarationHandler.DO_NOTHING, "JetTypeCheckerTest.addImports"); BindingTraceContext trace = new CliLightClassGenerationSupport.NoScopeRecordCliBindingTrace(); InjectorForLazyResolveWithJava injector = InjectorForLazyResolveWithJavaUtil.create(getProject(), trace, true); - ModuleDescriptor module = injector.getResolveSession().getModuleDescriptor(); + ModuleDescriptor module = injector.getModule(); for (ImportPath defaultImport : module.getDefaultImports()) { FqName fqName = defaultImport.fqnPart(); if (defaultImport.isAllUnder()) { diff --git a/generators/src/org/jetbrains/kotlin/generators/injectors/GenerateInjectors.kt b/generators/src/org/jetbrains/kotlin/generators/injectors/GenerateInjectors.kt index 66f0ee35f05..7bbedf82f0a 100644 --- a/generators/src/org/jetbrains/kotlin/generators/injectors/GenerateInjectors.kt +++ b/generators/src/org/jetbrains/kotlin/generators/injectors/GenerateInjectors.kt @@ -242,7 +242,7 @@ private fun DependencyInjectorGenerator.commonForResolveSessionBased() { parameter() parameter(useAsContext = true) parameter() - parameter(name = "module", useAsContext = true) + publicParameter(name = "module", useAsContext = true) parameter() publicField() diff --git a/js/js.frontend/src/org/jetbrains/kotlin/di/InjectorForTopDownAnalyzerForJs.java b/js/js.frontend/src/org/jetbrains/kotlin/di/InjectorForTopDownAnalyzerForJs.java index 8eed7526f33..3bd58674e27 100644 --- a/js/js.frontend/src/org/jetbrains/kotlin/di/InjectorForTopDownAnalyzerForJs.java +++ b/js/js.frontend/src/org/jetbrains/kotlin/di/InjectorForTopDownAnalyzerForJs.java @@ -137,7 +137,7 @@ public class InjectorForTopDownAnalyzerForJs { this.kotlinBuiltIns = module.getBuiltIns(); this.platformToKotlinClassMap = module.getPlatformToKotlinClassMap(); this.declarationProviderFactory = declarationProviderFactory; - this.resolveSession = new ResolveSession(project, globalContext, module, declarationProviderFactory, bindingTrace); + this.resolveSession = new ResolveSession(project, globalContext, getModule(), declarationProviderFactory, bindingTrace); this.scopeProvider = new ScopeProvider(getResolveSession()); this.lazyTopDownAnalyzerForTopLevel = new LazyTopDownAnalyzerForTopLevel(); this.kotlinJsCheckerProvider = KotlinJsCheckerProvider.INSTANCE$; @@ -154,10 +154,10 @@ public class InjectorForTopDownAnalyzerForJs { this.qualifiedExpressionResolver = new QualifiedExpressionResolver(); this.flexibleTypeCapabilitiesProvider = new FlexibleTypeCapabilitiesProvider(); this.lazinessToken = new LazinessToken(); - this.typeResolver = new TypeResolver(annotationResolver, qualifiedExpressionResolver, module, flexibleTypeCapabilitiesProvider, storageManager, lazinessToken, dynamicTypesAllowed); + this.typeResolver = new TypeResolver(annotationResolver, qualifiedExpressionResolver, getModule(), flexibleTypeCapabilitiesProvider, storageManager, lazinessToken, dynamicTypesAllowed); this.localClassifierAnalyzer = new LocalClassifierAnalyzer(descriptorResolver, typeResolver, annotationResolver); this.delegatedPropertyResolver = new DelegatedPropertyResolver(); - this.reflectionTypes = new ReflectionTypes(module); + this.reflectionTypes = new ReflectionTypes(getModule()); this.callExpressionResolver = new CallExpressionResolver(); this.statementFilter = new StatementFilter(); this.candidateResolver = new CandidateResolver(); @@ -303,6 +303,10 @@ public class InjectorForTopDownAnalyzerForJs { public void destroy() { } + public ModuleDescriptorImpl getModule() { + return this.module; + } + public ResolveSession getResolveSession() { return this.resolveSession; }