Propagate 'CompilerConfiguration' to frontend checkers
This commit is contained in:
@@ -61,7 +61,7 @@ object JsAnalyzerFacade : AnalyzerFacade<PlatformAnalysisParameters>() {
|
||||
BindingTraceContext(),
|
||||
JsPlatform,
|
||||
targetEnvironment,
|
||||
LanguageVersionSettingsProvider.getInstance(project).getLanguageVersionSettings(moduleInfo)
|
||||
LanguageSettingsProvider.getInstance(project).getLanguageVersionSettings(moduleInfo)
|
||||
)
|
||||
var packageFragmentProvider = container.get<ResolveSession>().packageFragmentProvider
|
||||
|
||||
|
||||
@@ -79,7 +79,7 @@ val Module.languageVersionSettings: LanguageVersionSettings
|
||||
return LanguageVersionSettingsImpl(languageVersion, ApiVersion.createByLanguageVersion(apiVersion), extraLanguageFeatures)
|
||||
}
|
||||
|
||||
private val Module.targetPlatform: TargetPlatformKind<*>?
|
||||
val Module.targetPlatform: TargetPlatformKind<*>?
|
||||
get() = KotlinFacetSettingsProvider.getInstance(project).getSettings(this).versionInfo.targetPlatformKind
|
||||
|
||||
private val Module.implementsCommonModule: Boolean
|
||||
|
||||
@@ -39,9 +39,9 @@ sealed class TargetPlatformKind<out Version : DescriptionAware>(
|
||||
}
|
||||
}
|
||||
|
||||
object JavaScript : TargetPlatformKind<NoVersion>(NoVersion, "JavaScript")
|
||||
object JavaScript : TargetPlatformKind<DescriptionAware.NoVersion>(DescriptionAware.NoVersion, "JavaScript")
|
||||
|
||||
object Common : TargetPlatformKind<NoVersion>(NoVersion, "Common (experimental)")
|
||||
object Common : TargetPlatformKind<DescriptionAware.NoVersion>(DescriptionAware.NoVersion, "Common (experimental)")
|
||||
|
||||
companion object {
|
||||
|
||||
@@ -49,10 +49,6 @@ sealed class TargetPlatformKind<out Version : DescriptionAware>(
|
||||
}
|
||||
}
|
||||
|
||||
object NoVersion : DescriptionAware {
|
||||
override val description = ""
|
||||
}
|
||||
|
||||
data class KotlinVersionInfo(
|
||||
var languageLevel: LanguageVersion? = null,
|
||||
var apiLevel: LanguageVersion? = null,
|
||||
|
||||
@@ -305,7 +305,7 @@
|
||||
<projectService serviceInterface="org.jetbrains.kotlin.console.KotlinConsoleKeeper"
|
||||
serviceImplementation="org.jetbrains.kotlin.console.KotlinConsoleKeeper"/>
|
||||
|
||||
<projectService serviceInterface="org.jetbrains.kotlin.analyzer.LanguageVersionSettingsProvider"
|
||||
<projectService serviceInterface="org.jetbrains.kotlin.analyzer.LanguageSettingsProvider"
|
||||
serviceImplementation="org.jetbrains.kotlin.idea.compiler.LanguageVersionSettingsProviderImpl"/>
|
||||
|
||||
<projectService serviceInterface="org.jetbrains.kotlin.config.KotlinFacetSettingsProvider"
|
||||
|
||||
@@ -16,15 +16,21 @@
|
||||
|
||||
package org.jetbrains.kotlin.idea.compiler
|
||||
|
||||
import org.jetbrains.kotlin.analyzer.LanguageVersionSettingsProvider
|
||||
import org.jetbrains.kotlin.analyzer.LanguageSettingsProvider
|
||||
import org.jetbrains.kotlin.analyzer.ModuleInfo
|
||||
import org.jetbrains.kotlin.config.LanguageVersionSettings
|
||||
import org.jetbrains.kotlin.config.LanguageVersionSettingsImpl
|
||||
import org.jetbrains.kotlin.idea.caches.resolve.ModuleSourceInfo
|
||||
import org.jetbrains.kotlin.idea.project.languageVersionSettings
|
||||
import org.jetbrains.kotlin.idea.project.targetPlatform
|
||||
import org.jetbrains.kotlin.utils.DescriptionAware
|
||||
|
||||
class LanguageVersionSettingsProviderImpl : LanguageVersionSettingsProvider {
|
||||
class LanguageVersionSettingsProviderImpl : LanguageSettingsProvider {
|
||||
override fun getLanguageVersionSettings(moduleInfo: ModuleInfo): LanguageVersionSettings {
|
||||
return (moduleInfo as? ModuleSourceInfo)?.module?.languageVersionSettings ?: LanguageVersionSettingsImpl.DEFAULT
|
||||
}
|
||||
|
||||
override fun getTargetPlatform(moduleInfo: ModuleInfo): DescriptionAware {
|
||||
return (moduleInfo as? ModuleSourceInfo)?.module?.targetPlatform?.version ?: DescriptionAware.NoVersion
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user