Refactoring: get module language settings in ResolverForProjectImpl

This commit is contained in:
Nikolay Krasko
2018-03-16 13:27:21 +03:00
parent 525d90540a
commit 0b0eb210b6
4 changed files with 19 additions and 10 deletions
@@ -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