[Test] Pass CompilerConfiguration to AbstractEnvironmentConfigurator.registerCompilerExtensions

This is needed to provide ability to configure extensions depending on
  configuration of specific test
This commit is contained in:
Dmitriy Novozhilov
2022-04-07 15:05:54 +04:00
committed by teamcity
parent 400ad6a01e
commit afad6a564a
8 changed files with 18 additions and 15 deletions
@@ -7,6 +7,7 @@ package org.jetbrains.kotlinx.atomicfu
import com.intellij.openapi.project.Project
import org.jetbrains.kotlin.backend.common.extensions.IrGenerationExtension
import org.jetbrains.kotlin.config.CompilerConfiguration
import org.jetbrains.kotlin.js.test.ir.AbstractJsIrTest
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
import org.jetbrains.kotlin.test.model.TestModule
@@ -39,7 +40,7 @@ class AtomicfuRuntimeClasspathProvider(testServices: TestServices) : RuntimeClas
}
class AtomicfuEnvironmentConfigurator(testServices: TestServices) : EnvironmentConfigurator(testServices) {
override fun registerCompilerExtensions(project: Project, module: TestModule) {
override fun registerCompilerExtensions(project: Project, module: TestModule, configuration: CompilerConfiguration) {
IrGenerationExtension.registerExtension(project, AtomicfuLoweringExtension())
}
}
}
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.plugin.services
import com.intellij.openapi.project.Project
import org.jetbrains.kotlin.backend.common.extensions.IrGenerationExtension
import org.jetbrains.kotlin.config.CompilerConfiguration
import org.jetbrains.kotlin.fir.extensions.FirExtensionRegistrar
import org.jetbrains.kotlin.fir.plugin.FirPluginPrototypeExtensionRegistrar
import org.jetbrains.kotlin.ir.plugin.GeneratedDeclarationsIrBodyFiller
@@ -15,7 +16,7 @@ import org.jetbrains.kotlin.test.services.EnvironmentConfigurator
import org.jetbrains.kotlin.test.services.TestServices
class ExtensionRegistrarConfigurator(testServices: TestServices) : EnvironmentConfigurator(testServices) {
override fun registerCompilerExtensions(project: Project, module: TestModule) {
override fun registerCompilerExtensions(project: Project, module: TestModule, configuration: CompilerConfiguration) {
FirExtensionRegistrar.registerExtension(project, FirPluginPrototypeExtensionRegistrar())
IrGenerationExtension.registerExtension(project, GeneratedDeclarationsIrBodyFiller())
}
@@ -58,7 +58,7 @@ internal fun TestConfigurationBuilder.configureForKotlinxSerialization(libraries
configuration.addJvmClasspathRoots(librariesPaths)
}
override fun registerCompilerExtensions(project: Project, module: TestModule) {
override fun registerCompilerExtensions(project: Project, module: TestModule, configuration: CompilerConfiguration) {
SerializationComponentRegistrar.registerExtensions(project)
}
}
@@ -31,7 +31,7 @@ class ParcelizeEnvironmentConfigurator(
configuration.addJvmClasspathRoots(listOf(runtimeLibrary, androidExtensionsRuntimeLibrary, androidApiJar))
}
override fun registerCompilerExtensions(project: Project, module: TestModule) {
override fun registerCompilerExtensions(project: Project, module: TestModule, configuration: CompilerConfiguration) {
if (useFirExtension) {
FirExtensionRegistrar.registerExtension(project, FirParcelizeExtensionRegistrar())
IrGenerationExtension.registerExtension(project, ParcelizeFirIrGeneratorExtension())
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.parcelize.test.services
import com.intellij.openapi.project.Project
import org.jetbrains.kotlin.config.CompilerConfiguration
import org.jetbrains.kotlin.descriptors.ClassDescriptor
import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.name.FqName
@@ -16,7 +17,7 @@ import org.jetbrains.kotlin.test.services.EnvironmentConfigurator
import org.jetbrains.kotlin.test.services.TestServices
class SerializableLikeExtensionProvider(testServices: TestServices) : EnvironmentConfigurator(testServices) {
override fun registerCompilerExtensions(project: Project, module: TestModule) {
override fun registerCompilerExtensions(project: Project, module: TestModule, configuration: CompilerConfiguration) {
SyntheticResolveExtension.registerExtension(project, SerializableLike())
}