diff --git a/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/js/klib/compilerPipeline.kt b/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/js/klib/compilerPipeline.kt index 84394e9d76f..d91b29f10aa 100644 --- a/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/js/klib/compilerPipeline.kt +++ b/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/js/klib/compilerPipeline.kt @@ -302,7 +302,7 @@ private class Fir2KlibSerializer( session, metadataVersion, ConstValueProviderImpl(fir2IrActualizedResult.components), allowErrorTypes = false, exportKDoc = false, - fir2IrActualizedResult.components.annotationsFromPluginRegistrar.createMetadataAnnotationsProvider() + fir2IrActualizedResult.components.annotationsFromPluginRegistrar.createAdditionalMetadataProvider() ), languageVersionSettings, ) diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/metadata/FirMetadataSerializer.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/metadata/FirMetadataSerializer.kt index 0f2657d254a..ca571ec39bf 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/metadata/FirMetadataSerializer.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/metadata/FirMetadataSerializer.kt @@ -168,7 +168,7 @@ internal class FirMetadataSerializer( FirKLibSerializerExtension( session, metadataVersion, constValueProvider = null, allowErrorTypes = false, exportKDoc = false, - additionalAnnotationsProvider = null + additionalMetadataProvider = null ), languageVersionSettings, ) diff --git a/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/FirAdditionalMetadataAnnotationsProvider.kt b/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/FirAdditionalMetadataProvider.kt similarity index 90% rename from compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/FirAdditionalMetadataAnnotationsProvider.kt rename to compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/FirAdditionalMetadataProvider.kt index b7b402767a9..f187130d21a 100644 --- a/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/FirAdditionalMetadataAnnotationsProvider.kt +++ b/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/FirAdditionalMetadataProvider.kt @@ -8,7 +8,7 @@ package org.jetbrains.kotlin.fir.serialization import org.jetbrains.kotlin.fir.declarations.FirDeclaration import org.jetbrains.kotlin.fir.expressions.FirAnnotation -abstract class FirAdditionalMetadataAnnotationsProvider { +abstract class FirAdditionalMetadataProvider { abstract fun findGeneratedAnnotationsFor(declaration: FirDeclaration): List abstract fun hasGeneratedAnnotationsFor(declaration: FirDeclaration): Boolean } diff --git a/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/FirKLibSerializerExtension.kt b/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/FirKLibSerializerExtension.kt index 7dbdabb91bf..efcb41e785c 100644 --- a/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/FirKLibSerializerExtension.kt +++ b/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/FirKLibSerializerExtension.kt @@ -30,7 +30,7 @@ class FirKLibSerializerExtension( override val constValueProvider: ConstValueProvider?, private val allowErrorTypes: Boolean, private val exportKDoc: Boolean, - override val additionalAnnotationsProvider: FirAdditionalMetadataAnnotationsProvider? + override val additionalMetadataProvider: FirAdditionalMetadataProvider? ) : FirSerializerExtensionBase(KlibMetadataSerializerProtocol) { override fun shouldUseTypeTable(): Boolean = true diff --git a/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/FirSerializerExtension.kt b/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/FirSerializerExtension.kt index 2f12567c436..6d5b3b16fb0 100644 --- a/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/FirSerializerExtension.kt +++ b/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/FirSerializerExtension.kt @@ -27,7 +27,7 @@ abstract class FirSerializerExtension { val annotationSerializer by lazy { FirAnnotationSerializer(session, stringTable, constValueProvider) } protected abstract val constValueProvider: ConstValueProvider? - protected abstract val additionalAnnotationsProvider: FirAdditionalMetadataAnnotationsProvider? + protected abstract val additionalMetadataProvider: FirAdditionalMetadataProvider? @OptIn(ConstValueProviderInternals::class) internal inline fun processFile(firFile: FirFile, crossinline action: () -> T): T { @@ -107,12 +107,12 @@ abstract class FirSerializerExtension { } fun hasAdditionalAnnotations(declaration: FirDeclaration): Boolean { - return additionalAnnotationsProvider?.hasGeneratedAnnotationsFor(declaration) ?: false + return additionalMetadataProvider?.hasGeneratedAnnotationsFor(declaration) ?: false } // TODO: add usages fun getAnnotationsGeneratedByPlugins(declaration: FirDeclaration): List { - return additionalAnnotationsProvider?.findGeneratedAnnotationsFor(declaration) ?: emptyList() + return additionalMetadataProvider?.findGeneratedAnnotationsFor(declaration) ?: emptyList() } open fun serializeErrorType(type: ConeErrorType, builder: ProtoBuf.Type.Builder) { diff --git a/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/FirSerializerExtensionBase.kt b/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/FirSerializerExtensionBase.kt index 14558493d7c..95aa138370b 100644 --- a/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/FirSerializerExtensionBase.kt +++ b/compiler/fir/fir-serialization/src/org/jetbrains/kotlin/fir/serialization/FirSerializerExtensionBase.kt @@ -152,7 +152,7 @@ abstract class FirSerializerExtensionBase( private fun FirAnnotationContainer.allRequiredAnnotations(session: FirSession): List { val nonSourceAnnotations = nonSourceAnnotations(session) - val additionalMetadataAnnotationsProvider = additionalAnnotationsProvider + val additionalMetadataAnnotationsProvider = additionalMetadataProvider return if (this is FirDeclaration && additionalMetadataAnnotationsProvider != null) { nonSourceAnnotations + additionalMetadataAnnotationsProvider.findGeneratedAnnotationsFor(this) } else { diff --git a/compiler/fir/fir2ir/jvm-backend/src/org/jetbrains/kotlin/fir/backend/jvm/FirJvmSerializerExtension.kt b/compiler/fir/fir2ir/jvm-backend/src/org/jetbrains/kotlin/fir/backend/jvm/FirJvmSerializerExtension.kt index 650184c0c4c..ce333cf38a8 100644 --- a/compiler/fir/fir2ir/jvm-backend/src/org/jetbrains/kotlin/fir/backend/jvm/FirJvmSerializerExtension.kt +++ b/compiler/fir/fir2ir/jvm-backend/src/org/jetbrains/kotlin/fir/backend/jvm/FirJvmSerializerExtension.kt @@ -64,7 +64,7 @@ class FirJvmSerializerExtension( private val jvmDefaultMode: JvmDefaultMode, override val stringTable: FirElementAwareStringTable, override val constValueProvider: ConstValueProvider?, - override val additionalAnnotationsProvider: FirAdditionalMetadataAnnotationsProvider?, + override val additionalMetadataProvider: FirAdditionalMetadataProvider?, ) : FirSerializerExtension() { private val signatureSerializer = FirJvmSignatureSerializer(stringTable) @@ -82,7 +82,7 @@ class FirJvmSerializerExtension( state.globalSerializationBindings, state.config.useTypeTableInSerializer, state.moduleName, state.classBuilderMode, state.config.isParamAssertionsDisabled, state.config.unifiedNullChecks, state.config.metadataVersion, state.jvmDefaultMode, FirJvmElementAwareStringTable(typeMapper, components), ConstValueProviderImpl(components), - components.annotationsFromPluginRegistrar.createMetadataAnnotationsProvider() + components.annotationsFromPluginRegistrar.createAdditionalMetadataProvider() ) override fun shouldUseTypeTable(): Boolean = useTypeTable diff --git a/compiler/fir/fir2ir/jvm-backend/src/org/jetbrains/kotlin/fir/backend/jvm/FirMetadataSerializer.kt b/compiler/fir/fir2ir/jvm-backend/src/org/jetbrains/kotlin/fir/backend/jvm/FirMetadataSerializer.kt index 67ded9f2068..d17cc67687d 100644 --- a/compiler/fir/fir2ir/jvm-backend/src/org/jetbrains/kotlin/fir/backend/jvm/FirMetadataSerializer.kt +++ b/compiler/fir/fir2ir/jvm-backend/src/org/jetbrains/kotlin/fir/backend/jvm/FirMetadataSerializer.kt @@ -98,7 +98,7 @@ fun makeLocalFirMetadataSerializerForMetadataSource( session.languageVersionSettings.getFlag(JvmAnalysisFlags.jvmDefaultMode), stringTable, constValueProvider = null, - additionalAnnotationsProvider = null + additionalMetadataProvider = null ) return FirMetadataSerializer( globalSerializationBindings, diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrComponents.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrComponents.kt index c6188963d2b..60ab8987f89 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrComponents.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrComponents.kt @@ -58,7 +58,7 @@ interface Fir2IrComponents { val extensions: Fir2IrExtensions val configuration: Fir2IrConfiguration - val annotationsFromPluginRegistrar: Fir2IrAnnotationsFromPluginRegistrar + val annotationsFromPluginRegistrar: Fir2IrIrGeneratedDeclarationsRegistrar interface Manglers { val descriptorMangler: KotlinMangler.DescriptorMangler diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrComponentsStorage.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrComponentsStorage.kt index 1bc1aa0d68a..2ea264dc1da 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrComponentsStorage.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrComponentsStorage.kt @@ -64,7 +64,7 @@ class Fir2IrComponentsStorage( override val fakeOverrideGenerator: FakeOverrideGenerator = FakeOverrideGenerator(this, conversionScope) override val delegatedMemberGenerator: DelegatedMemberGenerator = DelegatedMemberGenerator(this) - override val annotationsFromPluginRegistrar: Fir2IrAnnotationsFromPluginRegistrar = Fir2IrAnnotationsFromPluginRegistrar(this) + override val annotationsFromPluginRegistrar: Fir2IrIrGeneratedDeclarationsRegistrar = Fir2IrIrGeneratedDeclarationsRegistrar(this) override val lock: IrLock get() = symbolTable.lock diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrAnnotationsFromPluginRegistrar.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrIrGeneratedDeclarationsRegistrar.kt similarity index 95% rename from compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrAnnotationsFromPluginRegistrar.kt rename to compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrIrGeneratedDeclarationsRegistrar.kt index dfe8ec5d243..316ef649674 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrAnnotationsFromPluginRegistrar.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrIrGeneratedDeclarationsRegistrar.kt @@ -5,7 +5,7 @@ package org.jetbrains.kotlin.fir.backend -import org.jetbrains.kotlin.backend.common.extensions.IrAnnotationsFromPluginRegistrar +import org.jetbrains.kotlin.backend.common.extensions.IrGeneratedDeclarationsRegistrar import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.declarations.utils.classId @@ -14,14 +14,15 @@ import org.jetbrains.kotlin.fir.expressions.builder.buildAnnotation import org.jetbrains.kotlin.fir.expressions.builder.buildAnnotationArgumentMapping import org.jetbrains.kotlin.fir.expressions.builder.buildConstExpression import org.jetbrains.kotlin.fir.packageFqName -import org.jetbrains.kotlin.fir.resolve.providers.firProvider import org.jetbrains.kotlin.fir.resolve.providers.getContainingFile import org.jetbrains.kotlin.fir.resolve.providers.toSymbol -import org.jetbrains.kotlin.fir.serialization.FirAdditionalMetadataAnnotationsProvider +import org.jetbrains.kotlin.fir.serialization.FirAdditionalMetadataProvider import org.jetbrains.kotlin.fir.types.constructClassType import org.jetbrains.kotlin.fir.types.toFirResolvedTypeRef import org.jetbrains.kotlin.fir.types.toLookupTag +import org.jetbrains.kotlin.ir.declarations.IrConstructor import org.jetbrains.kotlin.ir.declarations.IrDeclaration +import org.jetbrains.kotlin.ir.declarations.IrSimpleFunction import org.jetbrains.kotlin.ir.declarations.nameWithPackage import org.jetbrains.kotlin.ir.expressions.IrConst import org.jetbrains.kotlin.ir.expressions.IrConstKind @@ -35,7 +36,7 @@ import org.jetbrains.kotlin.utils.addToStdlib.runIf // opt-in is safe, this code runs after fir2ir is over and all symbols are bound @OptIn(UnsafeDuringIrConstructionAPI::class) -class Fir2IrAnnotationsFromPluginRegistrar(private val components: Fir2IrComponents) : IrAnnotationsFromPluginRegistrar() { +class Fir2IrIrGeneratedDeclarationsRegistrar(private val components: Fir2IrComponents) : IrGeneratedDeclarationsRegistrar() { private val generatedIrDeclarationsByFileByOffset = mutableMapOf, MutableList>>() private fun IrConstructorCall.hasOnlySupportedAnnotationArgumentTypes(): Boolean { @@ -65,7 +66,7 @@ class Fir2IrAnnotationsFromPluginRegistrar(private val components: Fir2IrCompone return Provider() } - private inner class Provider : FirAdditionalMetadataAnnotationsProvider() { + private inner class Provider : FirAdditionalMetadataProvider() { override fun findGeneratedAnnotationsFor(declaration: FirDeclaration): List { val irAnnotations = extractGeneratedIrDeclarations(declaration).takeUnless { it.isEmpty() } ?: return emptyList() return irAnnotations.map { it.toFirAnnotation() } diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrPluginContext.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrPluginContext.kt index 6f16eda551e..63b80845e33 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrPluginContext.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrPluginContext.kt @@ -72,7 +72,7 @@ class Fir2IrPluginContext( private val symbolProvider: FirSymbolProvider get() = components.session.symbolProvider - override val annotationsRegistrar: Fir2IrAnnotationsFromPluginRegistrar + override val metadataDeclarationRegistrar: Fir2IrIrGeneratedDeclarationsRegistrar get() = components.annotationsFromPluginRegistrar override fun referenceClass(classId: ClassId): IrClassSymbol? { diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/extensions/IrAnnotationsFromPluginRegistrar.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/extensions/IrGeneratedDeclarationsRegistrar.kt similarity index 93% rename from compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/extensions/IrAnnotationsFromPluginRegistrar.kt rename to compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/extensions/IrGeneratedDeclarationsRegistrar.kt index e65be9b06ae..56d5194d999 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/extensions/IrAnnotationsFromPluginRegistrar.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/extensions/IrGeneratedDeclarationsRegistrar.kt @@ -8,7 +8,7 @@ package org.jetbrains.kotlin.backend.common.extensions import org.jetbrains.kotlin.ir.declarations.IrDeclaration import org.jetbrains.kotlin.ir.expressions.IrConstructorCall -abstract class IrAnnotationsFromPluginRegistrar { +abstract class IrGeneratedDeclarationsRegistrar { abstract fun addMetadataVisibleAnnotationsToElement(declaration: IrDeclaration, annotations: List) fun addMetadataVisibleAnnotationsToElement(declaration: IrDeclaration, vararg annotations: IrConstructorCall) { diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/extensions/IrPluginContext.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/extensions/IrPluginContext.kt index 925d660f867..7663d9df294 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/extensions/IrPluginContext.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/extensions/IrPluginContext.kt @@ -57,10 +57,12 @@ interface IrPluginContext : IrGeneratorContext { val platform: TargetPlatform? /** - * Use this service to add annotations to declarations if those annotations should be saved into metadata + * Use this service to: + * - add annotations to declarations if those annotations should be saved into metadata + * - register that declaration generated at IR stage will appear in compiled metadata * This service properly works only in K2 compiler */ - val annotationsRegistrar: IrAnnotationsFromPluginRegistrar + val metadataDeclarationRegistrar: IrGeneratedDeclarationsRegistrar /** * Returns a logger instance to post diagnostic messages from plugin diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/extensions/IrPluginContextImpl.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/extensions/IrPluginContextImpl.kt index f6114e8ac0d..c001f2d08f8 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/extensions/IrPluginContextImpl.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/extensions/IrPluginContextImpl.kt @@ -15,6 +15,7 @@ import org.jetbrains.kotlin.ir.IrBuiltIns import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI import org.jetbrains.kotlin.ir.declarations.IrConstructor import org.jetbrains.kotlin.ir.declarations.IrDeclaration +import org.jetbrains.kotlin.ir.declarations.IrSimpleFunction import org.jetbrains.kotlin.ir.expressions.IrConstructorCall import org.jetbrains.kotlin.ir.linkage.IrDeserializer import org.jetbrains.kotlin.ir.symbols.* @@ -53,8 +54,8 @@ open class IrPluginContextImpl constructor( override val symbolTable: ReferenceSymbolTable = st - final override val annotationsRegistrar: IrAnnotationsFromPluginRegistrar - get() = DummyIrAnnotationsFromPluginRegistrar + final override val metadataDeclarationRegistrar: IrGeneratedDeclarationsRegistrar + get() = DummyIrGeneratedDeclarationsRegistrar private fun resolveMemberScope(fqName: FqName): MemberScope? { val pkg = module.getPackage(fqName) @@ -181,7 +182,7 @@ open class IrPluginContextImpl constructor( return symbol } - private object DummyIrAnnotationsFromPluginRegistrar : IrAnnotationsFromPluginRegistrar() { + private object DummyIrGeneratedDeclarationsRegistrar : IrGeneratedDeclarationsRegistrar() { override fun addMetadataVisibleAnnotationsToElement(declaration: IrDeclaration, annotations: List) { declaration.annotations += annotations } diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/Fir2IrJsWasmResultsConverter.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/Fir2IrJsWasmResultsConverter.kt index 5d510298ee6..9ccec605a75 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/Fir2IrJsWasmResultsConverter.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/frontend/fir/Fir2IrJsWasmResultsConverter.kt @@ -99,7 +99,7 @@ abstract class Fir2IrJsWasmResultsConverter(testServices: TestServices) : Abstra components.session, metadataVersion, ConstValueProviderImpl(components), allowErrorTypes = false, exportKDoc = false, - components.annotationsFromPluginRegistrar.createMetadataAnnotationsProvider() + components.annotationsFromPluginRegistrar.createAdditionalMetadataProvider() ), languageVersionSettings, ) diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/FirNativeSerializer.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/FirNativeSerializer.kt index 849932efcad..0cb9bc785df 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/FirNativeSerializer.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/FirNativeSerializer.kt @@ -89,7 +89,7 @@ internal fun PhaseContext.firSerializerBase( }, allowErrorTypes = false, exportKDoc = shouldExportKDoc(), - additionalAnnotationsProvider = fir2IrInput?.components?.annotationsFromPluginRegistrar?.createMetadataAnnotationsProvider() + additionalMetadataProvider = fir2IrInput?.components?.annotationsFromPluginRegistrar?.createMetadataAnnotationsProvider() ), configuration.languageVersionSettings, produceHeaderKlib, diff --git a/plugins/fir-plugin-prototype/src/org/jetbrains/kotlin/ir/plugin/TransformerForAddingAnnotations.kt b/plugins/fir-plugin-prototype/src/org/jetbrains/kotlin/ir/plugin/TransformerForAddingAnnotations.kt index a2365c4a498..0b0b29d3a03 100644 --- a/plugins/fir-plugin-prototype/src/org/jetbrains/kotlin/ir/plugin/TransformerForAddingAnnotations.kt +++ b/plugins/fir-plugin-prototype/src/org/jetbrains/kotlin/ir/plugin/TransformerForAddingAnnotations.kt @@ -9,7 +9,6 @@ import org.jetbrains.kotlin.backend.common.extensions.IrPluginContext import org.jetbrains.kotlin.ir.IrElement import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET import org.jetbrains.kotlin.ir.declarations.* -import org.jetbrains.kotlin.ir.expressions.IrConst import org.jetbrains.kotlin.ir.expressions.IrConstKind import org.jetbrains.kotlin.ir.expressions.impl.IrConstImpl import org.jetbrains.kotlin.ir.expressions.impl.IrConstructorCallImpl @@ -109,7 +108,7 @@ class TransformerForAddingAnnotations(val context: IrPluginContext) : IrElementV IrConstImpl(UNDEFINED_OFFSET, UNDEFINED_OFFSET, context.irBuiltIns.stringType, IrConstKind.String, "OK") ) } - context.annotationsRegistrar.addMetadataVisibleAnnotationsToElement(declaration, annotationCall) + context.metadataDeclarationRegistrar.addMetadataVisibleAnnotationsToElement(declaration, annotationCall) } } } diff --git a/plugins/kotlinx-serialization/kotlinx-serialization.backend/src/org/jetbrains/kotlinx/serialization/compiler/backend/ir/SerializableCompanionIrGenerator.kt b/plugins/kotlinx-serialization/kotlinx-serialization.backend/src/org/jetbrains/kotlinx/serialization/compiler/backend/ir/SerializableCompanionIrGenerator.kt index ca76f5426f0..6fcb1e93f2c 100644 --- a/plugins/kotlinx-serialization/kotlinx-serialization.backend/src/org/jetbrains/kotlinx/serialization/compiler/backend/ir/SerializableCompanionIrGenerator.kt +++ b/plugins/kotlinx-serialization/kotlinx-serialization.backend/src/org/jetbrains/kotlinx/serialization/compiler/backend/ir/SerializableCompanionIrGenerator.kt @@ -93,7 +93,7 @@ class SerializableCompanionIrGenerator( val annotationCall = IrConstructorCallImpl.fromSymbolOwner(irClass.startOffset, irClass.endOffset, annotationType, annotationCtor) - compilerContext.annotationsRegistrar.addMetadataVisibleAnnotationsToElement(irClass, annotationCall) + compilerContext.metadataDeclarationRegistrar.addMetadataVisibleAnnotationsToElement(irClass, annotationCall) } private fun IrBuilderWithScope.patchSerializableClassWithMarkerAnnotation(serializer: IrClass) {