[Injection] Pull languageVersionSettings injection to 'configureModule'
This commit is contained in:
+2
-2
@@ -19,6 +19,7 @@ package org.jetbrains.kotlin.analyzer.common
|
||||
import com.intellij.openapi.components.ServiceManager
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.psi.search.GlobalSearchScope
|
||||
import org.jetbrains.kotlin.resolve.TargetPlatform
|
||||
import org.jetbrains.kotlin.analyzer.*
|
||||
import org.jetbrains.kotlin.config.LanguageFeature
|
||||
import org.jetbrains.kotlin.config.LanguageVersionSettings
|
||||
@@ -160,14 +161,13 @@ object CommonResolverForModuleFactory : ResolverForModuleFactory() {
|
||||
metadataPartProvider: MetadataPartProvider,
|
||||
languageVersionSettings: LanguageVersionSettings
|
||||
): StorageComponentContainer = createContainer("ResolveCommonCode", CommonPlatformCompilerServices) {
|
||||
configureModule(moduleContext, DefaultBuiltInPlatforms.commonPlatform, CommonPlatformCompilerServices, bindingTrace)
|
||||
configureModule(moduleContext, DefaultBuiltInPlatforms.commonPlatform, CommonPlatformCompilerServices, bindingTrace, languageVersionSettings)
|
||||
|
||||
useInstance(moduleContentScope)
|
||||
useInstance(LookupTracker.DO_NOTHING)
|
||||
useInstance(ExpectActualTracker.DoNothing)
|
||||
useImpl<ResolveSession>()
|
||||
useImpl<LazyTopDownAnalyzer>()
|
||||
useInstance(languageVersionSettings)
|
||||
useImpl<AnnotationResolverImpl>()
|
||||
useImpl<CompilerDeserializationConfiguration>()
|
||||
useInstance(metadataPartProvider)
|
||||
|
||||
@@ -64,7 +64,7 @@ fun createContainerForLazyResolveWithJava(
|
||||
configureJavaClassFinder: (StorageComponentContainer.() -> Unit)? = null,
|
||||
javaClassTracker: JavaClassesTracker? = null
|
||||
): StorageComponentContainer = createContainer("LazyResolveWithJava", JvmPlatformCompilerServices) {
|
||||
configureModule(moduleContext, jvmPlatform, JvmPlatformCompilerServices, bindingTrace)
|
||||
configureModule(moduleContext, jvmPlatform, JvmPlatformCompilerServices, bindingTrace, languageVersionSettings)
|
||||
|
||||
useInstance(moduleContentScope)
|
||||
useInstance(lookupTracker)
|
||||
@@ -94,8 +94,6 @@ fun createContainerForLazyResolveWithJava(
|
||||
useInstance(moduleClassResolver)
|
||||
useInstance(declarationProviderFactory)
|
||||
|
||||
useInstance(languageVersionSettings)
|
||||
|
||||
useInstance(languageVersionSettings.getFlag(JvmAnalysisFlags.jsr305))
|
||||
|
||||
if (useBuiltInsProvider) {
|
||||
|
||||
@@ -45,7 +45,8 @@ fun StorageComponentContainer.configureModule(
|
||||
moduleContext: ModuleContext,
|
||||
platform: TargetPlatform,
|
||||
compilerServices: PlatformDependentCompilerServices,
|
||||
trace: BindingTrace
|
||||
trace: BindingTrace,
|
||||
languageVersionSettings: LanguageVersionSettings
|
||||
) {
|
||||
useInstance(moduleContext)
|
||||
useInstance(moduleContext.module)
|
||||
@@ -53,6 +54,7 @@ fun StorageComponentContainer.configureModule(
|
||||
useInstance(moduleContext.storageManager)
|
||||
useInstance(moduleContext.module.builtIns)
|
||||
useInstance(trace)
|
||||
useInstance(languageVersionSettings)
|
||||
|
||||
useInstance(platform)
|
||||
useInstance(compilerServices)
|
||||
@@ -87,12 +89,11 @@ fun createContainerForBodyResolve(
|
||||
compilerServices: PlatformDependentCompilerServices,
|
||||
languageVersionSettings: LanguageVersionSettings
|
||||
): StorageComponentContainer = createContainer("BodyResolve", compilerServices) {
|
||||
configureModule(moduleContext, platform, compilerServices, bindingTrace)
|
||||
configureModule(moduleContext, platform, compilerServices, bindingTrace, languageVersionSettings)
|
||||
|
||||
useInstance(statementFilter)
|
||||
|
||||
useInstance(BodyResolveCache.ThrowException)
|
||||
useInstance(languageVersionSettings)
|
||||
useImpl<AnnotationResolverImpl>()
|
||||
|
||||
useImpl<BodyResolver>()
|
||||
@@ -108,12 +109,11 @@ fun createContainerForLazyBodyResolve(
|
||||
compilerServices: PlatformDependentCompilerServices,
|
||||
languageVersionSettings: LanguageVersionSettings
|
||||
): StorageComponentContainer = createContainer("LazyBodyResolve", compilerServices) {
|
||||
configureModule(moduleContext, platform, compilerServices, bindingTrace)
|
||||
configureModule(moduleContext, platform, compilerServices, bindingTrace, languageVersionSettings)
|
||||
|
||||
useInstance(kotlinCodeAnalyzer)
|
||||
useInstance(kotlinCodeAnalyzer.fileScopeProvider)
|
||||
useInstance(bodyResolveCache)
|
||||
useInstance(languageVersionSettings)
|
||||
useImpl<AnnotationResolverImpl>()
|
||||
useImpl<LazyTopDownAnalyzer>()
|
||||
useImpl<BasicAbsentDescriptorHandler>()
|
||||
@@ -130,7 +130,7 @@ fun createContainerForLazyLocalClassifierAnalyzer(
|
||||
localClassDescriptorHolder: LocalClassDescriptorHolder,
|
||||
compilerServices: PlatformDependentCompilerServices
|
||||
): StorageComponentContainer = createContainer("LocalClassifierAnalyzer", compilerServices) {
|
||||
configureModule(moduleContext, platform, compilerServices, bindingTrace)
|
||||
configureModule(moduleContext, platform, compilerServices, bindingTrace, languageVersionSettings)
|
||||
|
||||
useInstance(localClassDescriptorHolder)
|
||||
useInstance(lookupTracker)
|
||||
@@ -148,7 +148,6 @@ fun createContainerForLazyLocalClassifierAnalyzer(
|
||||
useImpl<DeclarationScopeProviderForLocalClassifierAnalyzer>()
|
||||
useImpl<LocalLazyDeclarationResolver>()
|
||||
|
||||
useInstance(languageVersionSettings)
|
||||
useImpl<SubstitutingScopeProviderImpl>()
|
||||
useInstance(statementFilter)
|
||||
}
|
||||
@@ -162,10 +161,9 @@ fun createContainerForLazyResolve(
|
||||
targetEnvironment: TargetEnvironment,
|
||||
languageVersionSettings: LanguageVersionSettings
|
||||
): StorageComponentContainer = createContainer("LazyResolve", compilerServices) {
|
||||
configureModule(moduleContext, platform, compilerServices, bindingTrace)
|
||||
configureModule(moduleContext, platform, compilerServices, bindingTrace, languageVersionSettings)
|
||||
|
||||
useInstance(declarationProviderFactory)
|
||||
useInstance(languageVersionSettings)
|
||||
|
||||
useImpl<AnnotationResolverImpl>()
|
||||
useImpl<CompilerDeserializationConfiguration>()
|
||||
|
||||
@@ -21,7 +21,6 @@ import org.jetbrains.kotlin.config.LanguageVersionSettingsImpl
|
||||
import org.jetbrains.kotlin.container.StorageComponentContainer
|
||||
import org.jetbrains.kotlin.container.getValue
|
||||
import org.jetbrains.kotlin.container.useImpl
|
||||
import org.jetbrains.kotlin.container.useInstance
|
||||
import org.jetbrains.kotlin.context.ModuleContext
|
||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
|
||||
import org.jetbrains.kotlin.frontend.di.configureModule
|
||||
@@ -35,9 +34,13 @@ import org.jetbrains.kotlin.types.expressions.FakeCallResolver
|
||||
|
||||
fun createContainerForTests(project: Project, module: ModuleDescriptor): ContainerForTests {
|
||||
return ContainerForTests(createContainer("Tests", JvmPlatformCompilerServices) {
|
||||
configureModule(ModuleContext(module, project),
|
||||
JvmPlatforms.defaultJvmPlatform, JvmPlatformCompilerServices, BindingTraceContext())
|
||||
useInstance(LanguageVersionSettingsImpl.DEFAULT)
|
||||
configureModule(
|
||||
ModuleContext(module, project),
|
||||
JvmPlatforms.defaultJvmPlatform,
|
||||
JvmPlatformCompilerServices,
|
||||
BindingTraceContext(),
|
||||
LanguageVersionSettingsImpl.DEFAULT
|
||||
)
|
||||
useImpl<SubstitutingScopeProviderImpl>()
|
||||
useImpl<AnnotationResolverImpl>()
|
||||
useImpl<ExpressionTypingServices>()
|
||||
|
||||
+2
-2
@@ -309,14 +309,14 @@ internal object IDELightClassContexts {
|
||||
val jvmTarget = IDELanguageSettingsProvider.getTargetPlatform(moduleInfo, project) as? JvmTarget ?: JvmTarget.DEFAULT
|
||||
configureModule(
|
||||
ModuleContext(moduleDescriptor, project), JvmPlatforms.jvmPlatformByTargetVersion(jvmTarget),
|
||||
JvmPlatformCompilerServices, trace
|
||||
JvmPlatformCompilerServices, trace,
|
||||
IDELanguageSettingsProvider.getLanguageVersionSettings(moduleInfo, project)
|
||||
)
|
||||
|
||||
useInstance(GlobalSearchScope.EMPTY_SCOPE)
|
||||
useInstance(LookupTracker.DO_NOTHING)
|
||||
useInstance(ExpectActualTracker.DoNothing)
|
||||
useImpl<FileScopeProviderImpl>()
|
||||
useInstance(IDELanguageSettingsProvider.getLanguageVersionSettings(moduleInfo, project))
|
||||
useInstance(FileBasedDeclarationProviderFactory(sm, files))
|
||||
|
||||
useInstance(CodegenAffectingAnnotations(realWorldModule))
|
||||
|
||||
@@ -49,7 +49,8 @@ fun createTopDownAnalyzerForJs(
|
||||
moduleContext,
|
||||
JsPlatforms.defaultJsPlatform,
|
||||
JsPlatformCompilerServices,
|
||||
bindingTrace
|
||||
bindingTrace,
|
||||
languageVersionSettings
|
||||
)
|
||||
|
||||
useInstance(declarationProviderFactory)
|
||||
@@ -59,7 +60,6 @@ fun createTopDownAnalyzerForJs(
|
||||
useInstance(lookupTracker)
|
||||
useInstance(expectActualTracker)
|
||||
|
||||
useInstance(languageVersionSettings)
|
||||
useImpl<ResolveSession>()
|
||||
useImpl<LazyTopDownAnalyzer>()
|
||||
useImpl<SubstitutingScopeProviderImpl>()
|
||||
|
||||
Reference in New Issue
Block a user