Simplify CompilerTestLanguageVersionSettings: merge two maps into one

This commit is contained in:
Mikhail Zarechenskiy
2017-11-09 11:02:22 +03:00
parent cd2d32d92a
commit 28e539b158
2 changed files with 4 additions and 8 deletions
@@ -27,24 +27,22 @@ const val LANGUAGE_DIRECTIVE = "LANGUAGE"
const val API_VERSION_DIRECTIVE = "API_VERSION"
data class CompilerTestLanguageVersionSettings(
private val languageFeatures: Map<LanguageFeature, LanguageFeature.State>,
private val initialLanguageFeatures: Map<LanguageFeature, LanguageFeature.State>,
override val apiVersion: ApiVersion,
override val languageVersion: LanguageVersion,
private val specificFeatures: Map<LanguageFeature, LanguageFeature.State> = specificFeaturesForTests(),
private val analysisFlags: Map<AnalysisFlag<*>, Any?> = emptyMap()
) : LanguageVersionSettings {
private val languageFeatures = initialLanguageFeatures + specificFeaturesForTests()
private val delegate = LanguageVersionSettingsImpl(languageVersion, apiVersion)
override fun getFeatureSupport(feature: LanguageFeature): LanguageFeature.State =
specificFeatures[feature] ?:
languageFeatures[feature] ?:
delegate.getFeatureSupport(feature)
languageFeatures[feature] ?: delegate.getFeatureSupport(feature)
@Suppress("UNCHECKED_CAST")
override fun <T> getFlag(flag: AnalysisFlag<T>): T = analysisFlags[flag] as T? ?: flag.defaultValue
}
fun specificFeaturesForTests(): Map<LanguageFeature, LanguageFeature.State> {
private fun specificFeaturesForTests(): Map<LanguageFeature, LanguageFeature.State> {
return if (System.getProperty("kotlin.ni") == "true")
mapOf(LanguageFeature.NewInference to LanguageFeature.State.ENABLED)
else
@@ -33,7 +33,6 @@ import org.jetbrains.kotlin.backend.common.output.OutputFile;
import org.jetbrains.kotlin.backend.common.output.SimpleOutputFileCollection;
import org.jetbrains.kotlin.checkers.CheckerTestUtil;
import org.jetbrains.kotlin.checkers.CompilerTestLanguageVersionSettings;
import org.jetbrains.kotlin.checkers.CompilerTestLanguageVersionSettingsKt;
import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys;
import org.jetbrains.kotlin.cli.common.output.outputUtils.OutputUtilsKt;
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles;
@@ -201,7 +200,6 @@ public abstract class CodegenTestCase extends KtUsefulTestCase {
Collections.emptyMap(),
ApiVersion.createByLanguageVersion(explicitLanguageVersion),
explicitLanguageVersion,
CompilerTestLanguageVersionSettingsKt.specificFeaturesForTests(),
Collections.emptyMap()
);
CommonConfigurationKeysKt.setLanguageVersionSettings(