[test] Use properties for populating the compiler configuration
diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/services/CompilerConfigurationProvider.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/services/CompilerConfigurationProvider.kt
index 1866750..ef87f66 100644
--- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/services/CompilerConfigurationProvider.kt
+++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/services/CompilerConfigurationProvider.kt
@@ -15,7 +15,7 @@
import org.jetbrains.kotlin.compiler.plugin.TEST_ONLY_PLUGIN_REGISTRATION_CALLBACK
import org.jetbrains.kotlin.compiler.plugin.registerInProject
import org.jetbrains.kotlin.config.*
-import org.jetbrains.kotlin.js.config.JSConfigurationKeys
+import org.jetbrains.kotlin.js.config.*
import org.jetbrains.kotlin.platform.TargetPlatform
import org.jetbrains.kotlin.platform.isCommon
import org.jetbrains.kotlin.platform.isJs
@@ -27,9 +27,9 @@
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives
import org.jetbrains.kotlin.test.directives.JsEnvironmentConfigurationDirectives
import org.jetbrains.kotlin.test.directives.isApplicableTo
-import org.jetbrains.kotlin.test.utils.MessageCollectorForCompilerTests
import org.jetbrains.kotlin.test.model.FrontendKinds
import org.jetbrains.kotlin.test.model.TestModule
+import org.jetbrains.kotlin.test.utils.MessageCollectorForCompilerTests
import java.io.File
abstract class CompilerConfigurationProvider(val testServices: TestServices) : TestService {
@@ -134,35 +134,26 @@
configuration[CommonConfigurationKeys.MODULE_NAME] = module.name
if (JsEnvironmentConfigurationDirectives.GENERATE_STRICT_IMPLICIT_EXPORT in module.directives) {
- configuration.put(JSConfigurationKeys.GENERATE_STRICT_IMPLICIT_EXPORT, true)
+ configuration.generateStrictImplicitExport = true
}
if (JsEnvironmentConfigurationDirectives.GENERATE_DTS in module.directives) {
- configuration.put(JSConfigurationKeys.GENERATE_DTS, true)
+ configuration.generateDts = true
}
if (JsEnvironmentConfigurationDirectives.ES6_MODE in module.directives) {
- configuration.put(JSConfigurationKeys.USE_ES6_CLASSES, true)
- configuration.put(JSConfigurationKeys.COMPILE_SUSPEND_AS_JS_GENERATOR, true)
- configuration.put(
- JSConfigurationKeys.COMPILE_LAMBDAS_AS_ES6_ARROW_FUNCTIONS,
- JsEnvironmentConfigurationDirectives.DISABLE_ES6_ARROWS !in module.directives,
- )
+ configuration.useEs6Classes = true
+ configuration.compileSuspendAsJsGenerator = true
+ configuration.compileLambdasAsEs6ArrowFunctions = JsEnvironmentConfigurationDirectives.DISABLE_ES6_ARROWS !in module.directives
}
if (testServices.defaultsProvider.frontendKind == FrontendKinds.FIR) {
- configuration[CommonConfigurationKeys.USE_FIR] = true
+ configuration.useFir = true
}
- configuration.put(CommonConfigurationKeys.VERIFY_IR, IrVerificationMode.ERROR)
- configuration.put(
- CommonConfigurationKeys.ENABLE_IR_VISIBILITY_CHECKS,
- !CodegenTestDirectives.DISABLE_IR_VISIBILITY_CHECKS.isApplicableTo(module, testServices),
- )
- configuration.put(
- CommonConfigurationKeys.ENABLE_IR_VARARG_TYPES_CHECKS,
- !CodegenTestDirectives.DISABLE_IR_VARARG_TYPE_CHECKS.isApplicableTo(module, testServices),
- )
+ configuration.verifyIr = IrVerificationMode.ERROR
+ configuration.enableIrVisibilityChecks = !CodegenTestDirectives.DISABLE_IR_VISIBILITY_CHECKS.isApplicableTo(module, testServices)
+ configuration.enableIrVarargTypesChecks = !CodegenTestDirectives.DISABLE_IR_VARARG_TYPE_CHECKS.isApplicableTo(module, testServices)
val messageCollector = MessageCollectorForCompilerTests(System.err, CompilerTestMessageRenderer(module))
configuration.messageCollector = messageCollector
diff --git a/js/js.tests/test/org/jetbrains/kotlin/incremental/AbstractInvalidationTest.kt b/js/js.tests/test/org/jetbrains/kotlin/incremental/AbstractInvalidationTest.kt
index 66d0d5a..7d3b59d 100644
--- a/js/js.tests/test/org/jetbrains/kotlin/incremental/AbstractInvalidationTest.kt
+++ b/js/js.tests/test/org/jetbrains/kotlin/incremental/AbstractInvalidationTest.kt
@@ -11,6 +11,7 @@
import com.intellij.psi.SingleRootFileViewProvider
import com.intellij.testFramework.TestDataFile
import org.jetbrains.kotlin.cli.common.config.addKotlinSourceRoot
+import org.jetbrains.kotlin.cli.common.disposeRootInWriteAction
import org.jetbrains.kotlin.cli.common.localfs.KotlinLocalFileSystem
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
import org.jetbrains.kotlin.codegen.*
@@ -19,7 +20,7 @@
import org.jetbrains.kotlin.ir.backend.js.ic.KotlinLibraryFile
import org.jetbrains.kotlin.ir.backend.js.ic.KotlinSourceFileMap
import org.jetbrains.kotlin.ir.backend.js.transformers.irToJs.safeModuleName
-import org.jetbrains.kotlin.js.config.JSConfigurationKeys
+import org.jetbrains.kotlin.js.config.*
import org.jetbrains.kotlin.js.test.utils.MODULE_EMULATION_FILE
import org.jetbrains.kotlin.js.test.utils.wrapWithModuleEmulationMarkers
import org.jetbrains.kotlin.konan.file.ZipFileSystemCacheableAccessor
@@ -29,10 +30,6 @@
import org.jetbrains.kotlin.test.TargetBackend
import org.jetbrains.kotlin.test.builders.LanguageVersionSettingsBuilder
import org.jetbrains.kotlin.test.util.JUnit4Assertions
-import org.jetbrains.kotlin.cli.common.disposeRootInWriteAction
-import org.jetbrains.kotlin.js.config.friendLibraries
-import org.jetbrains.kotlin.js.config.includes
-import org.jetbrains.kotlin.js.config.libraries
import org.jetbrains.kotlin.test.utils.TestDisposable
import org.jetbrains.kotlin.utils.addToStdlib.ifNotEmpty
import org.junit.jupiter.api.AfterEach
@@ -147,13 +144,13 @@
includedLibrary: String? = null,
): CompilerConfiguration {
val copy = environment.configuration.copy()
- copy.put(CommonConfigurationKeys.MODULE_NAME, moduleName)
- copy.put(JSConfigurationKeys.MODULE_KIND, moduleKind)
- copy.put(JSConfigurationKeys.PROPERTY_LAZY_INITIALIZATION, true)
- copy.put(JSConfigurationKeys.SOURCE_MAP, true)
- copy.put(JSConfigurationKeys.USE_ES6_CLASSES, targetBackend == TargetBackend.JS_IR_ES6)
- copy.put(JSConfigurationKeys.COMPILE_SUSPEND_AS_JS_GENERATOR, targetBackend == TargetBackend.JS_IR_ES6)
- copy.put(JSConfigurationKeys.COMPILE_LAMBDAS_AS_ES6_ARROW_FUNCTIONS, targetBackend == TargetBackend.JS_IR_ES6)
+ copy.moduleName = moduleName
+ copy.moduleKind = moduleKind
+ copy.propertyLazyInitialization = true
+ copy.sourceMap = true
+ copy.useEs6Classes = targetBackend == TargetBackend.JS_IR_ES6
+ copy.compileSuspendAsJsGenerator = targetBackend == TargetBackend.JS_IR_ES6
+ copy.compileLambdasAsEs6ArrowFunctions = targetBackend == TargetBackend.JS_IR_ES6
copy.languageVersionSettings = with(LanguageVersionSettingsBuilder()) {
languageFeatures.forEach {