diff --git a/idea/idea-test-framework/test/org/jetbrains/kotlin/idea/test/KotlinLightCodeInsightFixtureTestCase.kt b/idea/idea-test-framework/test/org/jetbrains/kotlin/idea/test/KotlinLightCodeInsightFixtureTestCase.kt index 22858c1ec79..508c785fba8 100644 --- a/idea/idea-test-framework/test/org/jetbrains/kotlin/idea/test/KotlinLightCodeInsightFixtureTestCase.kt +++ b/idea/idea-test-framework/test/org/jetbrains/kotlin/idea/test/KotlinLightCodeInsightFixtureTestCase.kt @@ -32,11 +32,8 @@ import com.intellij.testFramework.LightProjectDescriptor import com.intellij.testFramework.LoggedErrorProcessor import org.apache.log4j.Logger import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments -import org.jetbrains.kotlin.config.CompilerSettings +import org.jetbrains.kotlin.config.* import org.jetbrains.kotlin.config.CompilerSettings.Companion.DEFAULT_ADDITIONAL_ARGUMENTS -import org.jetbrains.kotlin.config.JvmTarget -import org.jetbrains.kotlin.config.LanguageFeature -import org.jetbrains.kotlin.config.LanguageVersion import org.jetbrains.kotlin.idea.KotlinFileType import org.jetbrains.kotlin.idea.compiler.configuration.KotlinCommonCompilerArgumentsHolder import org.jetbrains.kotlin.idea.compiler.configuration.KotlinCompilerSettings @@ -254,7 +251,11 @@ private fun configureCompilerOptions(fileText: String, project: Project, module: val options = InTextDirectivesUtils.findListWithPrefixes(fileText, "// $COMPILER_ARGUMENTS_DIRECTIVE ").firstOrNull() if (version != null || jvmTarget != null || options != null) { - configureLanguageAndApiVersion(project, module, version ?: LanguageVersion.LATEST_STABLE.versionString) + configureLanguageAndApiVersion( + project, module, + version ?: LanguageVersion.LATEST_STABLE.versionString, + null + ) val facetSettings = KotlinFacet.get(module)!!.configuration.settings @@ -304,7 +305,7 @@ private fun rollbackCompilerOptions(project: Project, module: Module, removeFace return } - configureLanguageAndApiVersion(project, module, LanguageVersion.LATEST_STABLE.versionString) + configureLanguageAndApiVersion(project, module, LanguageVersion.LATEST_STABLE.versionString, ApiVersion.LATEST_STABLE.versionString) val facetSettings = KotlinFacet.get(module)!!.configuration.settings (facetSettings.compilerArguments as? K2JVMCompilerArguments)?.jvmTarget = JvmTarget.DEFAULT.description @@ -333,7 +334,12 @@ fun withCustomLanguageAndApiVersion( .update { this.languageVersion = LanguageVersion.LATEST_STABLE.versionString } module.removeKotlinFacet(IdeModifiableModelsProviderImpl(project), commitModel = true) } else { - configureLanguageAndApiVersion(project, module, LanguageVersion.LATEST_STABLE.versionString, null) + configureLanguageAndApiVersion( + project, + module, + LanguageVersion.LATEST_STABLE.versionString, + ApiVersion.LATEST_STABLE.versionString + ) } } } @@ -342,11 +348,17 @@ private fun configureLanguageAndApiVersion( project: Project, module: Module, languageVersion: String, - apiVersion: String? = null + apiVersion: String? ) { WriteAction.run { val modelsProvider = IdeModifiableModelsProviderImpl(project) val facet = module.getOrCreateFacet(modelsProvider, useProjectSettings = false) + + val compilerArguments = facet.configuration.settings.compilerArguments + if (compilerArguments != null) { + compilerArguments.apiVersion = null + } + facet.configureFacet(languageVersion, LanguageFeature.State.DISABLED, null, modelsProvider) if (apiVersion != null) { facet.configuration.settings.apiLevel = LanguageVersion.fromVersionString(apiVersion)