[Parcelize] Fix registration of IR extension for K2 mode
This commit is contained in:
committed by
teamcity
parent
1a8496757e
commit
935f5c1180
+8
-3
@@ -9,6 +9,7 @@ import org.jetbrains.kotlin.backend.common.extensions.IrGenerationExtension
|
|||||||
import org.jetbrains.kotlin.codegen.extensions.ClassBuilderInterceptorExtension
|
import org.jetbrains.kotlin.codegen.extensions.ClassBuilderInterceptorExtension
|
||||||
import org.jetbrains.kotlin.codegen.extensions.ExpressionCodegenExtension
|
import org.jetbrains.kotlin.codegen.extensions.ExpressionCodegenExtension
|
||||||
import org.jetbrains.kotlin.compiler.plugin.CompilerPluginRegistrar
|
import org.jetbrains.kotlin.compiler.plugin.CompilerPluginRegistrar
|
||||||
|
import org.jetbrains.kotlin.config.CommonConfigurationKeys
|
||||||
import org.jetbrains.kotlin.config.CompilerConfiguration
|
import org.jetbrains.kotlin.config.CompilerConfiguration
|
||||||
import org.jetbrains.kotlin.container.StorageComponentContainer
|
import org.jetbrains.kotlin.container.StorageComponentContainer
|
||||||
import org.jetbrains.kotlin.container.useInstance
|
import org.jetbrains.kotlin.container.useInstance
|
||||||
@@ -22,9 +23,13 @@ import org.jetbrains.kotlin.resolve.extensions.SyntheticResolveExtension
|
|||||||
|
|
||||||
class ParcelizeComponentRegistrar : CompilerPluginRegistrar() {
|
class ParcelizeComponentRegistrar : CompilerPluginRegistrar() {
|
||||||
companion object {
|
companion object {
|
||||||
fun registerParcelizeComponents(extensionStorage: ExtensionStorage) = with(extensionStorage) {
|
fun registerParcelizeComponents(extensionStorage: ExtensionStorage, useFir: Boolean) = with(extensionStorage) {
|
||||||
ExpressionCodegenExtension.registerExtension(ParcelizeCodegenExtension())
|
ExpressionCodegenExtension.registerExtension(ParcelizeCodegenExtension())
|
||||||
IrGenerationExtension.registerExtension(ParcelizeIrGeneratorExtension())
|
if (useFir) {
|
||||||
|
IrGenerationExtension.registerExtension(ParcelizeFirIrGeneratorExtension())
|
||||||
|
} else {
|
||||||
|
IrGenerationExtension.registerExtension(ParcelizeIrGeneratorExtension())
|
||||||
|
}
|
||||||
SyntheticResolveExtension.registerExtension(ParcelizeResolveExtension())
|
SyntheticResolveExtension.registerExtension(ParcelizeResolveExtension())
|
||||||
ClassBuilderInterceptorExtension.registerExtension(ParcelizeClinitClassBuilderInterceptorExtension())
|
ClassBuilderInterceptorExtension.registerExtension(ParcelizeClinitClassBuilderInterceptorExtension())
|
||||||
StorageComponentContainerContributor.registerExtension(ParcelizeDeclarationCheckerComponentContainerContributor())
|
StorageComponentContainerContributor.registerExtension(ParcelizeDeclarationCheckerComponentContainerContributor())
|
||||||
@@ -33,7 +38,7 @@ class ParcelizeComponentRegistrar : CompilerPluginRegistrar() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun ExtensionStorage.registerExtensions(configuration: CompilerConfiguration) {
|
override fun ExtensionStorage.registerExtensions(configuration: CompilerConfiguration) {
|
||||||
registerParcelizeComponents(this)
|
registerParcelizeComponents(this, configuration.getBoolean(CommonConfigurationKeys.USE_FIR))
|
||||||
}
|
}
|
||||||
|
|
||||||
override val supportsK2: Boolean
|
override val supportsK2: Boolean
|
||||||
|
|||||||
+2
-1
@@ -9,6 +9,7 @@ import org.jetbrains.kotlin.cli.jvm.config.addJvmClasspathRoots
|
|||||||
import org.jetbrains.kotlin.compiler.plugin.CompilerPluginRegistrar
|
import org.jetbrains.kotlin.compiler.plugin.CompilerPluginRegistrar
|
||||||
import org.jetbrains.kotlin.config.CompilerConfiguration
|
import org.jetbrains.kotlin.config.CompilerConfiguration
|
||||||
import org.jetbrains.kotlin.parcelize.ParcelizeComponentRegistrar
|
import org.jetbrains.kotlin.parcelize.ParcelizeComponentRegistrar
|
||||||
|
import org.jetbrains.kotlin.test.model.FrontendKinds
|
||||||
import org.jetbrains.kotlin.test.model.TestModule
|
import org.jetbrains.kotlin.test.model.TestModule
|
||||||
import org.jetbrains.kotlin.test.services.EnvironmentConfigurator
|
import org.jetbrains.kotlin.test.services.EnvironmentConfigurator
|
||||||
import org.jetbrains.kotlin.test.services.TestServices
|
import org.jetbrains.kotlin.test.services.TestServices
|
||||||
@@ -28,6 +29,6 @@ class ParcelizeEnvironmentConfigurator(testServices: TestServices) : Environment
|
|||||||
module: TestModule,
|
module: TestModule,
|
||||||
configuration: CompilerConfiguration
|
configuration: CompilerConfiguration
|
||||||
) {
|
) {
|
||||||
ParcelizeComponentRegistrar.registerParcelizeComponents(this)
|
ParcelizeComponentRegistrar.registerParcelizeComponents(this, useFir = module.frontendKind == FrontendKinds.FIR)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user