From ef1d1ef94697c541cb21036c7b08f3e0c05487f5 Mon Sep 17 00:00:00 2001 From: Mikhail Zarechenskiy Date: Tue, 7 Nov 2017 14:59:37 +0300 Subject: [PATCH] Enable new inference feature by system property for tests only --- .../kotlin/checkers/AbstractDiagnosticsTest.kt | 2 +- .../kotlin/checkers/BaseDiagnosticsTest.kt | 10 +++++++--- .../CompilerTestLanguageVersionSettings.kt | 14 ++++++++++++-- 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/AbstractDiagnosticsTest.kt b/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/AbstractDiagnosticsTest.kt index c806bbb8d78..f8a1dcb0f4d 100644 --- a/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/AbstractDiagnosticsTest.kt +++ b/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/AbstractDiagnosticsTest.kt @@ -227,7 +227,7 @@ abstract class AbstractDiagnosticsTest : BaseDiagnosticsTest() { } return result ?: CompilerTestLanguageVersionSettings( - BaseDiagnosticsTest.DEFAULT_DIAGNOSTIC_TESTS_FEATURES, + DEFAULT_DIAGNOSTIC_TESTS_FEATURES, LanguageVersionSettingsImpl.DEFAULT.apiVersion, LanguageVersionSettingsImpl.DEFAULT.languageVersion ) diff --git a/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/BaseDiagnosticsTest.kt b/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/BaseDiagnosticsTest.kt index 09e38b274e4..5d138c7beb6 100644 --- a/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/BaseDiagnosticsTest.kt +++ b/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/BaseDiagnosticsTest.kt @@ -141,7 +141,7 @@ abstract class BaseDiagnosticsTest : KotlinMultiFileTestWithJava>, @@ -277,8 +282,7 @@ abstract class BaseDiagnosticsTest : KotlinMultiFileTestWithJava, override val apiVersion: ApiVersion, - override val languageVersion: LanguageVersion + override val languageVersion: LanguageVersion, + private val specificFeatures: Map = specificFeaturesForTests() ) : LanguageVersionSettings { private val delegate = LanguageVersionSettingsImpl(languageVersion, apiVersion) override fun getFeatureSupport(feature: LanguageFeature): LanguageFeature.State = - languageFeatures[feature] ?: delegate.getFeatureSupport(feature) + specificFeatures[feature] ?: + languageFeatures[feature] ?: + delegate.getFeatureSupport(feature) override fun getFlag(flag: AnalysisFlag): T = flag.defaultValue } +private fun specificFeaturesForTests(): Map { + return if (System.getProperty("kotlin.ni") == "true") + mapOf(LanguageFeature.NewInference to LanguageFeature.State.ENABLED) + else + emptyMap() +} + fun parseLanguageVersionSettings(directiveMap: Map): LanguageVersionSettings? { val apiVersionString = directiveMap[API_VERSION_DIRECTIVE] val directives = directiveMap[LANGUAGE_DIRECTIVE]