Refactoring: get module language settings in ResolverForProjectImpl
This commit is contained in:
@@ -18,6 +18,8 @@ package org.jetbrains.kotlin.resolve.jvm
|
|||||||
|
|
||||||
import org.jetbrains.kotlin.analyzer.*
|
import org.jetbrains.kotlin.analyzer.*
|
||||||
import org.jetbrains.kotlin.config.JvmTarget
|
import org.jetbrains.kotlin.config.JvmTarget
|
||||||
|
import org.jetbrains.kotlin.config.LanguageVersionSettings
|
||||||
|
import org.jetbrains.kotlin.config.TargetPlatformVersion
|
||||||
import org.jetbrains.kotlin.container.get
|
import org.jetbrains.kotlin.container.get
|
||||||
import org.jetbrains.kotlin.context.ModuleContext
|
import org.jetbrains.kotlin.context.ModuleContext
|
||||||
import org.jetbrains.kotlin.descriptors.PackagePartProvider
|
import org.jetbrains.kotlin.descriptors.PackagePartProvider
|
||||||
@@ -49,7 +51,8 @@ object JvmAnalyzerFacade : ResolverForModuleFactory() {
|
|||||||
platformParameters: PlatformAnalysisParameters,
|
platformParameters: PlatformAnalysisParameters,
|
||||||
targetEnvironment: TargetEnvironment,
|
targetEnvironment: TargetEnvironment,
|
||||||
resolverForProject: ResolverForProject<M>,
|
resolverForProject: ResolverForProject<M>,
|
||||||
languageSettingsProvider: LanguageSettingsProvider,
|
languageVersionSettings: LanguageVersionSettings,
|
||||||
|
targetPlatformVersion: TargetPlatformVersion,
|
||||||
packagePartProvider: PackagePartProvider
|
packagePartProvider: PackagePartProvider
|
||||||
): ResolverForModule {
|
): ResolverForModule {
|
||||||
val (moduleInfo, syntheticFiles, moduleContentScope) = moduleContent
|
val (moduleInfo, syntheticFiles, moduleContentScope) = moduleContent
|
||||||
@@ -79,9 +82,7 @@ object JvmAnalyzerFacade : ResolverForModuleFactory() {
|
|||||||
resolverForModule.componentProvider.get<JavaDescriptorResolver>()
|
resolverForModule.componentProvider.get<JavaDescriptorResolver>()
|
||||||
}
|
}
|
||||||
|
|
||||||
val jvmTarget = languageSettingsProvider.getTargetPlatform(moduleInfo) as? JvmTarget ?: JvmTarget.JVM_1_6
|
val jvmTarget = targetPlatformVersion as? JvmTarget ?: JvmTarget.JVM_1_6
|
||||||
val languageVersionSettings = languageSettingsProvider.getLanguageVersionSettings(moduleInfo, project)
|
|
||||||
|
|
||||||
val trace = CodeAnalyzerInitializer.getInstance(project).createTrace()
|
val trace = CodeAnalyzerInitializer.getInstance(project).createTrace()
|
||||||
|
|
||||||
val lookupTracker = LookupTracker.DO_NOTHING
|
val lookupTracker = LookupTracker.DO_NOTHING
|
||||||
|
|||||||
@@ -174,6 +174,9 @@ class ResolverForProjectImpl<M : ModuleInfo>(
|
|||||||
val packagePartProvider = packagePartProviderFactory(moduleContent)
|
val packagePartProvider = packagePartProviderFactory(moduleContent)
|
||||||
val resolverForModuleFactory = resolverForModuleFactoryByPlatform(module.platform)
|
val resolverForModuleFactory = resolverForModuleFactoryByPlatform(module.platform)
|
||||||
|
|
||||||
|
val languageVersionSettings = languageSettingsProvider.getLanguageVersionSettings(module, projectContext.project)
|
||||||
|
val targetPlatformVersion = languageSettingsProvider.getTargetPlatform(module)
|
||||||
|
|
||||||
resolverForModuleFactory.createResolverForModule(
|
resolverForModuleFactory.createResolverForModule(
|
||||||
descriptor as ModuleDescriptorImpl,
|
descriptor as ModuleDescriptorImpl,
|
||||||
projectContext.withModule(descriptor),
|
projectContext.withModule(descriptor),
|
||||||
@@ -181,7 +184,8 @@ class ResolverForProjectImpl<M : ModuleInfo>(
|
|||||||
platformParameters,
|
platformParameters,
|
||||||
targetEnvironment,
|
targetEnvironment,
|
||||||
this@ResolverForProjectImpl,
|
this@ResolverForProjectImpl,
|
||||||
languageSettingsProvider,
|
languageVersionSettings,
|
||||||
|
targetPlatformVersion,
|
||||||
packagePartProvider
|
packagePartProvider
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -298,7 +302,8 @@ abstract class ResolverForModuleFactory {
|
|||||||
platformParameters: PlatformAnalysisParameters,
|
platformParameters: PlatformAnalysisParameters,
|
||||||
targetEnvironment: TargetEnvironment,
|
targetEnvironment: TargetEnvironment,
|
||||||
resolverForProject: ResolverForProject<M>,
|
resolverForProject: ResolverForProject<M>,
|
||||||
languageSettingsProvider: LanguageSettingsProvider,
|
languageVersionSettings: LanguageVersionSettings,
|
||||||
|
targetPlatformVersion: TargetPlatformVersion,
|
||||||
packagePartProvider: PackagePartProvider
|
packagePartProvider: PackagePartProvider
|
||||||
): ResolverForModule
|
): ResolverForModule
|
||||||
|
|
||||||
|
|||||||
@@ -106,7 +106,8 @@ object CommonAnalyzerFacade : ResolverForModuleFactory() {
|
|||||||
platformParameters: PlatformAnalysisParameters,
|
platformParameters: PlatformAnalysisParameters,
|
||||||
targetEnvironment: TargetEnvironment,
|
targetEnvironment: TargetEnvironment,
|
||||||
resolverForProject: ResolverForProject<M>,
|
resolverForProject: ResolverForProject<M>,
|
||||||
languageSettingsProvider: LanguageSettingsProvider,
|
languageVersionSettings: LanguageVersionSettings,
|
||||||
|
targetPlatformVersion: TargetPlatformVersion,
|
||||||
packagePartProvider: PackagePartProvider
|
packagePartProvider: PackagePartProvider
|
||||||
): ResolverForModule {
|
): ResolverForModule {
|
||||||
val (moduleInfo, syntheticFiles, moduleContentScope) = moduleContent
|
val (moduleInfo, syntheticFiles, moduleContentScope) = moduleContent
|
||||||
@@ -120,7 +121,7 @@ object CommonAnalyzerFacade : ResolverForModuleFactory() {
|
|||||||
val trace = CodeAnalyzerInitializer.getInstance(project).createTrace()
|
val trace = CodeAnalyzerInitializer.getInstance(project).createTrace()
|
||||||
val container = createContainerToResolveCommonCode(
|
val container = createContainerToResolveCommonCode(
|
||||||
moduleContext, trace, declarationProviderFactory, moduleContentScope, targetEnvironment, packagePartProvider,
|
moduleContext, trace, declarationProviderFactory, moduleContentScope, targetEnvironment, packagePartProvider,
|
||||||
languageSettingsProvider.getLanguageVersionSettings(moduleInfo, project)
|
languageVersionSettings
|
||||||
)
|
)
|
||||||
|
|
||||||
val packageFragmentProviders = listOf(
|
val packageFragmentProviders = listOf(
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ package org.jetbrains.kotlin.idea.caches.resolve
|
|||||||
|
|
||||||
import org.jetbrains.kotlin.analyzer.*
|
import org.jetbrains.kotlin.analyzer.*
|
||||||
import org.jetbrains.kotlin.caches.project.LibraryModuleInfo
|
import org.jetbrains.kotlin.caches.project.LibraryModuleInfo
|
||||||
|
import org.jetbrains.kotlin.config.LanguageVersionSettings
|
||||||
import org.jetbrains.kotlin.config.TargetPlatformVersion
|
import org.jetbrains.kotlin.config.TargetPlatformVersion
|
||||||
import org.jetbrains.kotlin.container.get
|
import org.jetbrains.kotlin.container.get
|
||||||
import org.jetbrains.kotlin.context.ModuleContext
|
import org.jetbrains.kotlin.context.ModuleContext
|
||||||
@@ -45,7 +46,8 @@ object JsAnalyzerFacade : ResolverForModuleFactory() {
|
|||||||
platformParameters: PlatformAnalysisParameters,
|
platformParameters: PlatformAnalysisParameters,
|
||||||
targetEnvironment: TargetEnvironment,
|
targetEnvironment: TargetEnvironment,
|
||||||
resolverForProject: ResolverForProject<M>,
|
resolverForProject: ResolverForProject<M>,
|
||||||
languageSettingsProvider: LanguageSettingsProvider,
|
languageVersionSettings: LanguageVersionSettings,
|
||||||
|
targetPlatformVersion: TargetPlatformVersion,
|
||||||
packagePartProvider: PackagePartProvider
|
packagePartProvider: PackagePartProvider
|
||||||
): ResolverForModule {
|
): ResolverForModule {
|
||||||
val (moduleInfo, syntheticFiles, moduleContentScope) = moduleContent
|
val (moduleInfo, syntheticFiles, moduleContentScope) = moduleContent
|
||||||
@@ -65,7 +67,7 @@ object JsAnalyzerFacade : ResolverForModuleFactory() {
|
|||||||
JsPlatform,
|
JsPlatform,
|
||||||
TargetPlatformVersion.NoVersion,
|
TargetPlatformVersion.NoVersion,
|
||||||
targetEnvironment,
|
targetEnvironment,
|
||||||
languageSettingsProvider.getLanguageVersionSettings(moduleInfo, project)
|
languageVersionSettings
|
||||||
)
|
)
|
||||||
var packageFragmentProvider = container.get<ResolveSession>().packageFragmentProvider
|
var packageFragmentProvider = container.get<ResolveSession>().packageFragmentProvider
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user