diff --git a/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/CompilerTestLanguageVersionSettings.kt b/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/CompilerTestLanguageVersionSettings.kt index 2bf59a94493..4c876a67c90 100644 --- a/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/CompilerTestLanguageVersionSettings.kt +++ b/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/CompilerTestLanguageVersionSettings.kt @@ -46,6 +46,10 @@ private fun specificFeaturesForTests(): Map): LanguageVersionSettings = + parseLanguageVersionSettings(directiveMap) + ?: CompilerTestLanguageVersionSettings(emptyMap(), ApiVersion.LATEST_STABLE, LanguageVersion.LATEST_STABLE) + fun parseLanguageVersionSettings(directiveMap: Map): LanguageVersionSettings? { val apiVersionString = directiveMap[API_VERSION_DIRECTIVE] val languageFeaturesString = directiveMap[LANGUAGE_DIRECTIVE] @@ -76,8 +80,7 @@ fun parseLanguageVersionSettings(directiveMap: Map): LanguageVer fun setupLanguageVersionSettingsForCompilerTests(originalFileText: String, environment: KotlinCoreEnvironment) { val directives = KotlinTestUtils.parseDirectives(originalFileText) - val languageVersionSettings = parseLanguageVersionSettings(directives) ?: - CompilerTestLanguageVersionSettings(emptyMap(), ApiVersion.LATEST_STABLE, LanguageVersion.LATEST_STABLE) + val languageVersionSettings = parseLanguageVersionSettingsOrDefault(directives) environment.configuration.languageVersionSettings = languageVersionSettings } diff --git a/compiler/tests-common/tests/org/jetbrains/kotlin/jvm/compiler/AbstractLoadJavaTest.java b/compiler/tests-common/tests/org/jetbrains/kotlin/jvm/compiler/AbstractLoadJavaTest.java index 6b3c5595bb0..7972715504a 100644 --- a/compiler/tests-common/tests/org/jetbrains/kotlin/jvm/compiler/AbstractLoadJavaTest.java +++ b/compiler/tests-common/tests/org/jetbrains/kotlin/jvm/compiler/AbstractLoadJavaTest.java @@ -10,6 +10,7 @@ import com.intellij.openapi.util.io.FileUtil; import junit.framework.ComparisonFailure; import org.jetbrains.annotations.NotNull; import org.jetbrains.kotlin.analyzer.AnalysisResult; +import org.jetbrains.kotlin.checkers.CompilerTestLanguageVersionSettingsKt; import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles; import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment; import org.jetbrains.kotlin.cli.jvm.compiler.NoScopeRecordCliBindingTrace; @@ -144,14 +145,10 @@ public abstract class AbstractLoadJavaTest extends TestCaseWithTmpdir { } private static void updateConfigurationWithDirectives(String content, CompilerConfiguration configuration) { - String version = InTextDirectivesUtils.findStringWithPrefixes(content, "// LANGUAGE_VERSION:"); - if (version != null) { - LanguageVersion explicitVersion = LanguageVersion.fromVersionString(version); - CommonConfigurationKeysKt.setLanguageVersionSettings( - configuration, - new LanguageVersionSettingsImpl(explicitVersion, ApiVersion.createByLanguageVersion(explicitVersion)) - ); - } + Map directives = KotlinTestUtils.parseDirectives(content); + LanguageVersionSettings languageVersionSettings = CompilerTestLanguageVersionSettingsKt.parseLanguageVersionSettingsOrDefault(directives); + + CommonConfigurationKeysKt.setLanguageVersionSettings(configuration, languageVersionSettings); if (InTextDirectivesUtils.isDirectiveDefined(content, "ANDROID_ANNOTATIONS")) { JvmContentRootsKt.addJvmClasspathRoot(configuration, ForTestCompileRuntime.androidAnnotationsForTests());