Make KotlinJvmCheckerProvider non-singleton, pass module to it
This commit is contained in:
@@ -38,7 +38,7 @@ public fun createContainerForReplWithJava(
|
||||
moduleContext: ModuleContext, bindingTrace: BindingTrace, declarationProviderFactory: DeclarationProviderFactory,
|
||||
moduleContentScope: GlobalSearchScope, additionalFileScopeProvider: FileScopeProvider.AdditionalScopes
|
||||
): ContainerForReplWithJava = createContainer("ReplWithJava") {
|
||||
configureModule(moduleContext, KotlinJvmCheckerProvider, bindingTrace)
|
||||
configureModule(moduleContext, KotlinJvmCheckerProvider(moduleContext.module), bindingTrace)
|
||||
configureJavaTopDownAnalysis(moduleContentScope, moduleContext.project)
|
||||
|
||||
useInstance(additionalFileScopeProvider)
|
||||
|
||||
@@ -71,7 +71,7 @@ public fun createContainerForLazyResolveWithJava(
|
||||
moduleContext: ModuleContext, bindingTrace: BindingTrace, declarationProviderFactory: DeclarationProviderFactory,
|
||||
moduleContentScope: GlobalSearchScope, moduleClassResolver: ModuleClassResolver
|
||||
): Pair<ResolveSession, JavaDescriptorResolver> = createContainer("LazyResolveWithJava") {
|
||||
configureModule(moduleContext, KotlinJvmCheckerProvider, bindingTrace)
|
||||
configureModule(moduleContext, KotlinJvmCheckerProvider(moduleContext.module), bindingTrace)
|
||||
configureJavaTopDownAnalysis(moduleContentScope, moduleContext.project)
|
||||
|
||||
useInstance(moduleClassResolver)
|
||||
@@ -92,7 +92,7 @@ public fun createContainerForTopDownAnalyzerForJvm(
|
||||
declarationProviderFactory: DeclarationProviderFactory,
|
||||
moduleContentScope: GlobalSearchScope
|
||||
): ContainerForTopDownAnalyzerForJvm = createContainer("TopDownAnalyzerForJvm") {
|
||||
configureModule(moduleContext, KotlinJvmCheckerProvider, bindingTrace)
|
||||
configureModule(moduleContext, KotlinJvmCheckerProvider(moduleContext.module), bindingTrace)
|
||||
configureJavaTopDownAnalysis(moduleContentScope, moduleContext.project)
|
||||
useInstance(declarationProviderFactory)
|
||||
useInstance(BodyResolveCache.ThrowException)
|
||||
|
||||
+1
-1
@@ -52,7 +52,7 @@ import org.jetbrains.kotlin.types.expressions.SenselessComparisonChecker
|
||||
import org.jetbrains.kotlin.types.flexibility
|
||||
import org.jetbrains.kotlin.types.isFlexible
|
||||
|
||||
public object KotlinJvmCheckerProvider : AdditionalCheckerProvider(
|
||||
public class KotlinJvmCheckerProvider(private val module: ModuleDescriptor) : AdditionalCheckerProvider(
|
||||
additionalDeclarationCheckers = listOf(PlatformStaticAnnotationChecker(),
|
||||
LocalFunInlineChecker(),
|
||||
ReifiedTypeParameterAnnotationChecker(),
|
||||
|
||||
@@ -53,7 +53,8 @@ public abstract class AbstractDescriptorRendererTest : KotlinTestWithEnvironment
|
||||
context,
|
||||
FileBasedDeclarationProviderFactory(context.storageManager, listOf(psiFile)),
|
||||
CliLightClassGenerationSupport.NoScopeRecordCliBindingTrace(),
|
||||
KotlinJvmCheckerProvider, DynamicTypesSettings())
|
||||
KotlinJvmCheckerProvider(context.module), DynamicTypesSettings()
|
||||
)
|
||||
|
||||
context.initializeModuleContents(resolveSession.getPackageFragmentProvider())
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ import org.jetbrains.kotlin.types.expressions.FakeCallResolver
|
||||
|
||||
public fun createContainerForTests(project: Project, module: ModuleDescriptor): ContainerForTests {
|
||||
return ContainerForTests(createContainer("Tests") {
|
||||
configureModule(ModuleContext(module, project), KotlinJvmCheckerProvider)
|
||||
configureModule(ModuleContext(module, project), KotlinJvmCheckerProvider(module))
|
||||
useImpl<ExpressionTypingServices>()
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user