@@ -20,6 +20,10 @@ import org.jetbrains.kotlin.config.CommonConfigurationKeys
20
20
import org.jetbrains.kotlin.config.CompilerConfiguration as KotlinCompilerConfiguration
21
21
import org.jetbrains.kotlin.config.JVMConfigurationKeys
22
22
import org.jetbrains.kotlin.config.JvmTarget
23
+ import org.jetbrains.kotlin.config.LanguageFeature
24
+ import org.jetbrains.kotlin.config.LanguageVersionSettingsImpl
25
+ import org.jetbrains.kotlin.config.ApiVersion
26
+ import org.jetbrains.kotlin.config.LanguageVersion
23
27
import org.jetbrains.kotlin.container.ComponentProvider
24
28
import org.jetbrains.kotlin.container.get
25
29
import org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar
@@ -72,8 +76,7 @@ import kotlin.script.experimental.jvm.JvmDependency
72
76
import org.javacs.kt.util.KotlinLSException
73
77
import org.javacs.kt.util.KotlinNullableNotNullManager
74
78
import org.javacs.kt.util.LoggingMessageCollector
75
- import org.jetbrains.kotlin.config.*
76
- import java.util.*
79
+
77
80
78
81
79
82
private val GRADLE_DSL_DEPENDENCY_PATTERN = Regex (" ^gradle-(?:kotlin-dsl|core).*\\ .jar$" )
@@ -344,49 +347,3 @@ private fun describeExpression(expression: String): String = expression.lines().
344
347
(lines.take(3 ) + listOf (" ..." , lines.last())).joinToString(separator = " \n " )
345
348
}
346
349
}
347
-
348
- class LanguageVersionSettingsImpl @JvmOverloads constructor(
349
- override val languageVersion : LanguageVersion ,
350
- override val apiVersion : ApiVersion ,
351
- analysisFlags : Map <AnalysisFlag <* >, Any? > = emptyMap(),
352
- specificFeatures : Map <LanguageFeature , LanguageFeature .State > = emptyMap()
353
- ) : LanguageVersionSettings {
354
- private val analysisFlags: Map <AnalysisFlag <* >, * > = Collections .unmodifiableMap(analysisFlags)
355
- private val specificFeatures: Map <LanguageFeature , LanguageFeature .State > = Collections .unmodifiableMap(specificFeatures)
356
-
357
- @Suppress(" UNCHECKED_CAST" )
358
- override fun <T > getFlag (flag : AnalysisFlag <T >): T = analysisFlags[flag] as T ? ? : flag.defaultValue
359
-
360
- override fun getFeatureSupport (feature : LanguageFeature ): LanguageFeature .State {
361
- specificFeatures[feature]?.let { return it }
362
-
363
- val since = feature.sinceVersion
364
- if (since != null && languageVersion >= since && apiVersion >= feature.sinceApiVersion) {
365
- return feature.defaultState
366
- }
367
-
368
- return LanguageFeature .State .DISABLED
369
- }
370
-
371
- override fun toString () = buildString {
372
- append(" Language = $languageVersion , API = $apiVersion " )
373
- specificFeatures.forEach { (feature, state) ->
374
- val char = when (state) {
375
- LanguageFeature .State .ENABLED -> ' +'
376
- LanguageFeature .State .ENABLED_WITH_WARNING -> ' ~'
377
- LanguageFeature .State .ENABLED_WITH_ERROR , LanguageFeature .State .DISABLED -> ' -'
378
- }
379
- append(" $char$feature " )
380
- }
381
- }
382
-
383
- override fun isPreRelease (): Boolean = languageVersion.isPreRelease() ||
384
- specificFeatures.any { (feature, state) ->
385
- state == LanguageFeature .State .ENABLED && feature.forcesPreReleaseBinariesIfEnabled()
386
- }
387
-
388
- companion object {
389
- @JvmField
390
- val DEFAULT = LanguageVersionSettingsImpl (LanguageVersion .LATEST_STABLE , ApiVersion .LATEST_STABLE )
391
- }
392
- }
0 commit comments