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