diff --git a/compiler/test-infrastructure/tests/org/jetbrains/kotlin/test/builders/LanguageVersionSettingsBuilder.kt b/compiler/test-infrastructure/tests/org/jetbrains/kotlin/test/builders/LanguageVersionSettingsBuilder.kt index 239d0f9e928..e83431f6d1f 100644 --- a/compiler/test-infrastructure/tests/org/jetbrains/kotlin/test/builders/LanguageVersionSettingsBuilder.kt +++ b/compiler/test-infrastructure/tests/org/jetbrains/kotlin/test/builders/LanguageVersionSettingsBuilder.kt @@ -53,7 +53,8 @@ class LanguageVersionSettingsBuilder { fun configureUsingDirectives( directives: RegisteredDirectives, environmentConfigurators: List, - targetBackend: TargetBackend? + targetBackend: TargetBackend?, + useK2: Boolean ) { val apiVersion = directives.singleOrZeroValue(LanguageSettingsDirectives.API_VERSION) if (apiVersion != null) { @@ -61,6 +62,10 @@ class LanguageVersionSettingsBuilder { val languageVersion = maxOf(LanguageVersion.LATEST_STABLE, LanguageVersion.fromVersionString(apiVersion.versionString)!!) this.languageVersion = languageVersion } + when { + useK2 && this.languageVersion < LanguageVersion.KOTLIN_2_0 -> this.languageVersion = LanguageVersion.KOTLIN_2_0 + !useK2 && this.languageVersion > LanguageVersion.KOTLIN_1_9 -> this.languageVersion = LanguageVersion.KOTLIN_1_9 + } val analysisFlags = listOfNotNull( analysisFlag(AnalysisFlags.optIn, directives[LanguageSettingsDirectives.OPT_IN].takeIf { it.isNotEmpty() }), diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/services/impl/ModuleStructureExtractorImpl.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/services/impl/ModuleStructureExtractorImpl.kt index 342b7a1270c..f44362c271a 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/services/impl/ModuleStructureExtractorImpl.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/services/impl/ModuleStructureExtractorImpl.kt @@ -334,7 +334,11 @@ class ModuleStructureExtractorImpl( moduleDirectives.forEach { it.checkDirectiveApplicability(contextIsGlobal = isImplicitModule, contextIsModule = true) } val targetBackend = currentModuleTargetBackend ?: defaultsProvider.defaultTargetBackend - currentModuleLanguageVersionSettingsBuilder.configureUsingDirectives(moduleDirectives, environmentConfigurators, targetBackend) + val frontendKind = currentModuleFrontendKind ?: defaultsProvider.defaultFrontend + + currentModuleLanguageVersionSettingsBuilder.configureUsingDirectives( + moduleDirectives, environmentConfigurators, targetBackend, useK2 = frontendKind == FrontendKinds.FIR + ) val moduleName = currentModuleName ?: testServices.defaultDirectives[ModuleStructureDirectives.MODULE].firstOrNull() ?: DEFAULT_MODULE_NAME