[IR] Rename IrAnnotationsFromPluginRegistrar to IrGeneratedDeclarationsRegistrar
In further commits, this service will be used not only for registering annotations, but newly generated IR declarations too
This commit is contained in:
@@ -302,7 +302,7 @@ private class Fir2KlibSerializer(
|
|||||||
session, metadataVersion,
|
session, metadataVersion,
|
||||||
ConstValueProviderImpl(fir2IrActualizedResult.components),
|
ConstValueProviderImpl(fir2IrActualizedResult.components),
|
||||||
allowErrorTypes = false, exportKDoc = false,
|
allowErrorTypes = false, exportKDoc = false,
|
||||||
fir2IrActualizedResult.components.annotationsFromPluginRegistrar.createMetadataAnnotationsProvider()
|
fir2IrActualizedResult.components.annotationsFromPluginRegistrar.createAdditionalMetadataProvider()
|
||||||
),
|
),
|
||||||
languageVersionSettings,
|
languageVersionSettings,
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -168,7 +168,7 @@ internal class FirMetadataSerializer(
|
|||||||
FirKLibSerializerExtension(
|
FirKLibSerializerExtension(
|
||||||
session, metadataVersion, constValueProvider = null,
|
session, metadataVersion, constValueProvider = null,
|
||||||
allowErrorTypes = false, exportKDoc = false,
|
allowErrorTypes = false, exportKDoc = false,
|
||||||
additionalAnnotationsProvider = null
|
additionalMetadataProvider = null
|
||||||
),
|
),
|
||||||
languageVersionSettings,
|
languageVersionSettings,
|
||||||
)
|
)
|
||||||
|
|||||||
+1
-1
@@ -8,7 +8,7 @@ package org.jetbrains.kotlin.fir.serialization
|
|||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
|
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
|
||||||
|
|
||||||
abstract class FirAdditionalMetadataAnnotationsProvider {
|
abstract class FirAdditionalMetadataProvider {
|
||||||
abstract fun findGeneratedAnnotationsFor(declaration: FirDeclaration): List<FirAnnotation>
|
abstract fun findGeneratedAnnotationsFor(declaration: FirDeclaration): List<FirAnnotation>
|
||||||
abstract fun hasGeneratedAnnotationsFor(declaration: FirDeclaration): Boolean
|
abstract fun hasGeneratedAnnotationsFor(declaration: FirDeclaration): Boolean
|
||||||
}
|
}
|
||||||
+1
-1
@@ -30,7 +30,7 @@ class FirKLibSerializerExtension(
|
|||||||
override val constValueProvider: ConstValueProvider?,
|
override val constValueProvider: ConstValueProvider?,
|
||||||
private val allowErrorTypes: Boolean,
|
private val allowErrorTypes: Boolean,
|
||||||
private val exportKDoc: Boolean,
|
private val exportKDoc: Boolean,
|
||||||
override val additionalAnnotationsProvider: FirAdditionalMetadataAnnotationsProvider?
|
override val additionalMetadataProvider: FirAdditionalMetadataProvider?
|
||||||
) : FirSerializerExtensionBase(KlibMetadataSerializerProtocol) {
|
) : FirSerializerExtensionBase(KlibMetadataSerializerProtocol) {
|
||||||
override fun shouldUseTypeTable(): Boolean = true
|
override fun shouldUseTypeTable(): Boolean = true
|
||||||
|
|
||||||
|
|||||||
+3
-3
@@ -27,7 +27,7 @@ abstract class FirSerializerExtension {
|
|||||||
val annotationSerializer by lazy { FirAnnotationSerializer(session, stringTable, constValueProvider) }
|
val annotationSerializer by lazy { FirAnnotationSerializer(session, stringTable, constValueProvider) }
|
||||||
|
|
||||||
protected abstract val constValueProvider: ConstValueProvider?
|
protected abstract val constValueProvider: ConstValueProvider?
|
||||||
protected abstract val additionalAnnotationsProvider: FirAdditionalMetadataAnnotationsProvider?
|
protected abstract val additionalMetadataProvider: FirAdditionalMetadataProvider?
|
||||||
|
|
||||||
@OptIn(ConstValueProviderInternals::class)
|
@OptIn(ConstValueProviderInternals::class)
|
||||||
internal inline fun <T> processFile(firFile: FirFile, crossinline action: () -> T): T {
|
internal inline fun <T> processFile(firFile: FirFile, crossinline action: () -> T): T {
|
||||||
@@ -107,12 +107,12 @@ abstract class FirSerializerExtension {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun hasAdditionalAnnotations(declaration: FirDeclaration): Boolean {
|
fun hasAdditionalAnnotations(declaration: FirDeclaration): Boolean {
|
||||||
return additionalAnnotationsProvider?.hasGeneratedAnnotationsFor(declaration) ?: false
|
return additionalMetadataProvider?.hasGeneratedAnnotationsFor(declaration) ?: false
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: add usages
|
// TODO: add usages
|
||||||
fun getAnnotationsGeneratedByPlugins(declaration: FirDeclaration): List<FirAnnotation> {
|
fun getAnnotationsGeneratedByPlugins(declaration: FirDeclaration): List<FirAnnotation> {
|
||||||
return additionalAnnotationsProvider?.findGeneratedAnnotationsFor(declaration) ?: emptyList()
|
return additionalMetadataProvider?.findGeneratedAnnotationsFor(declaration) ?: emptyList()
|
||||||
}
|
}
|
||||||
|
|
||||||
open fun serializeErrorType(type: ConeErrorType, builder: ProtoBuf.Type.Builder) {
|
open fun serializeErrorType(type: ConeErrorType, builder: ProtoBuf.Type.Builder) {
|
||||||
|
|||||||
+1
-1
@@ -152,7 +152,7 @@ abstract class FirSerializerExtensionBase(
|
|||||||
|
|
||||||
private fun FirAnnotationContainer.allRequiredAnnotations(session: FirSession): List<FirAnnotation> {
|
private fun FirAnnotationContainer.allRequiredAnnotations(session: FirSession): List<FirAnnotation> {
|
||||||
val nonSourceAnnotations = nonSourceAnnotations(session)
|
val nonSourceAnnotations = nonSourceAnnotations(session)
|
||||||
val additionalMetadataAnnotationsProvider = additionalAnnotationsProvider
|
val additionalMetadataAnnotationsProvider = additionalMetadataProvider
|
||||||
return if (this is FirDeclaration && additionalMetadataAnnotationsProvider != null) {
|
return if (this is FirDeclaration && additionalMetadataAnnotationsProvider != null) {
|
||||||
nonSourceAnnotations + additionalMetadataAnnotationsProvider.findGeneratedAnnotationsFor(this)
|
nonSourceAnnotations + additionalMetadataAnnotationsProvider.findGeneratedAnnotationsFor(this)
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
+2
-2
@@ -64,7 +64,7 @@ class FirJvmSerializerExtension(
|
|||||||
private val jvmDefaultMode: JvmDefaultMode,
|
private val jvmDefaultMode: JvmDefaultMode,
|
||||||
override val stringTable: FirElementAwareStringTable,
|
override val stringTable: FirElementAwareStringTable,
|
||||||
override val constValueProvider: ConstValueProvider?,
|
override val constValueProvider: ConstValueProvider?,
|
||||||
override val additionalAnnotationsProvider: FirAdditionalMetadataAnnotationsProvider?,
|
override val additionalMetadataProvider: FirAdditionalMetadataProvider?,
|
||||||
) : FirSerializerExtension() {
|
) : FirSerializerExtension() {
|
||||||
private val signatureSerializer = FirJvmSignatureSerializer(stringTable)
|
private val signatureSerializer = FirJvmSignatureSerializer(stringTable)
|
||||||
|
|
||||||
@@ -82,7 +82,7 @@ class FirJvmSerializerExtension(
|
|||||||
state.globalSerializationBindings, state.config.useTypeTableInSerializer, state.moduleName, state.classBuilderMode,
|
state.globalSerializationBindings, state.config.useTypeTableInSerializer, state.moduleName, state.classBuilderMode,
|
||||||
state.config.isParamAssertionsDisabled, state.config.unifiedNullChecks, state.config.metadataVersion, state.jvmDefaultMode,
|
state.config.isParamAssertionsDisabled, state.config.unifiedNullChecks, state.config.metadataVersion, state.jvmDefaultMode,
|
||||||
FirJvmElementAwareStringTable(typeMapper, components), ConstValueProviderImpl(components),
|
FirJvmElementAwareStringTable(typeMapper, components), ConstValueProviderImpl(components),
|
||||||
components.annotationsFromPluginRegistrar.createMetadataAnnotationsProvider()
|
components.annotationsFromPluginRegistrar.createAdditionalMetadataProvider()
|
||||||
)
|
)
|
||||||
|
|
||||||
override fun shouldUseTypeTable(): Boolean = useTypeTable
|
override fun shouldUseTypeTable(): Boolean = useTypeTable
|
||||||
|
|||||||
+1
-1
@@ -98,7 +98,7 @@ fun makeLocalFirMetadataSerializerForMetadataSource(
|
|||||||
session.languageVersionSettings.getFlag(JvmAnalysisFlags.jvmDefaultMode),
|
session.languageVersionSettings.getFlag(JvmAnalysisFlags.jvmDefaultMode),
|
||||||
stringTable,
|
stringTable,
|
||||||
constValueProvider = null,
|
constValueProvider = null,
|
||||||
additionalAnnotationsProvider = null
|
additionalMetadataProvider = null
|
||||||
)
|
)
|
||||||
return FirMetadataSerializer(
|
return FirMetadataSerializer(
|
||||||
globalSerializationBindings,
|
globalSerializationBindings,
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ interface Fir2IrComponents {
|
|||||||
val extensions: Fir2IrExtensions
|
val extensions: Fir2IrExtensions
|
||||||
val configuration: Fir2IrConfiguration
|
val configuration: Fir2IrConfiguration
|
||||||
|
|
||||||
val annotationsFromPluginRegistrar: Fir2IrAnnotationsFromPluginRegistrar
|
val annotationsFromPluginRegistrar: Fir2IrIrGeneratedDeclarationsRegistrar
|
||||||
|
|
||||||
interface Manglers {
|
interface Manglers {
|
||||||
val descriptorMangler: KotlinMangler.DescriptorMangler
|
val descriptorMangler: KotlinMangler.DescriptorMangler
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ class Fir2IrComponentsStorage(
|
|||||||
override val fakeOverrideGenerator: FakeOverrideGenerator = FakeOverrideGenerator(this, conversionScope)
|
override val fakeOverrideGenerator: FakeOverrideGenerator = FakeOverrideGenerator(this, conversionScope)
|
||||||
override val delegatedMemberGenerator: DelegatedMemberGenerator = DelegatedMemberGenerator(this)
|
override val delegatedMemberGenerator: DelegatedMemberGenerator = DelegatedMemberGenerator(this)
|
||||||
|
|
||||||
override val annotationsFromPluginRegistrar: Fir2IrAnnotationsFromPluginRegistrar = Fir2IrAnnotationsFromPluginRegistrar(this)
|
override val annotationsFromPluginRegistrar: Fir2IrIrGeneratedDeclarationsRegistrar = Fir2IrIrGeneratedDeclarationsRegistrar(this)
|
||||||
|
|
||||||
override val lock: IrLock
|
override val lock: IrLock
|
||||||
get() = symbolTable.lock
|
get() = symbolTable.lock
|
||||||
|
|||||||
+6
-5
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.fir.backend
|
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.FirSession
|
||||||
import org.jetbrains.kotlin.fir.declarations.*
|
import org.jetbrains.kotlin.fir.declarations.*
|
||||||
import org.jetbrains.kotlin.fir.declarations.utils.classId
|
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.buildAnnotationArgumentMapping
|
||||||
import org.jetbrains.kotlin.fir.expressions.builder.buildConstExpression
|
import org.jetbrains.kotlin.fir.expressions.builder.buildConstExpression
|
||||||
import org.jetbrains.kotlin.fir.packageFqName
|
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.getContainingFile
|
||||||
import org.jetbrains.kotlin.fir.resolve.providers.toSymbol
|
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.constructClassType
|
||||||
import org.jetbrains.kotlin.fir.types.toFirResolvedTypeRef
|
import org.jetbrains.kotlin.fir.types.toFirResolvedTypeRef
|
||||||
import org.jetbrains.kotlin.fir.types.toLookupTag
|
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.IrDeclaration
|
||||||
|
import org.jetbrains.kotlin.ir.declarations.IrSimpleFunction
|
||||||
import org.jetbrains.kotlin.ir.declarations.nameWithPackage
|
import org.jetbrains.kotlin.ir.declarations.nameWithPackage
|
||||||
import org.jetbrains.kotlin.ir.expressions.IrConst
|
import org.jetbrains.kotlin.ir.expressions.IrConst
|
||||||
import org.jetbrains.kotlin.ir.expressions.IrConstKind
|
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
|
// opt-in is safe, this code runs after fir2ir is over and all symbols are bound
|
||||||
@OptIn(UnsafeDuringIrConstructionAPI::class)
|
@OptIn(UnsafeDuringIrConstructionAPI::class)
|
||||||
class Fir2IrAnnotationsFromPluginRegistrar(private val components: Fir2IrComponents) : IrAnnotationsFromPluginRegistrar() {
|
class Fir2IrIrGeneratedDeclarationsRegistrar(private val components: Fir2IrComponents) : IrGeneratedDeclarationsRegistrar() {
|
||||||
private val generatedIrDeclarationsByFileByOffset = mutableMapOf<String, MutableMap<Pair<Int, Int>, MutableList<IrConstructorCall>>>()
|
private val generatedIrDeclarationsByFileByOffset = mutableMapOf<String, MutableMap<Pair<Int, Int>, MutableList<IrConstructorCall>>>()
|
||||||
|
|
||||||
private fun IrConstructorCall.hasOnlySupportedAnnotationArgumentTypes(): Boolean {
|
private fun IrConstructorCall.hasOnlySupportedAnnotationArgumentTypes(): Boolean {
|
||||||
@@ -65,7 +66,7 @@ class Fir2IrAnnotationsFromPluginRegistrar(private val components: Fir2IrCompone
|
|||||||
return Provider()
|
return Provider()
|
||||||
}
|
}
|
||||||
|
|
||||||
private inner class Provider : FirAdditionalMetadataAnnotationsProvider() {
|
private inner class Provider : FirAdditionalMetadataProvider() {
|
||||||
override fun findGeneratedAnnotationsFor(declaration: FirDeclaration): List<FirAnnotation> {
|
override fun findGeneratedAnnotationsFor(declaration: FirDeclaration): List<FirAnnotation> {
|
||||||
val irAnnotations = extractGeneratedIrDeclarations(declaration).takeUnless { it.isEmpty() } ?: return emptyList()
|
val irAnnotations = extractGeneratedIrDeclarations(declaration).takeUnless { it.isEmpty() } ?: return emptyList()
|
||||||
return irAnnotations.map { it.toFirAnnotation() }
|
return irAnnotations.map { it.toFirAnnotation() }
|
||||||
@@ -72,7 +72,7 @@ class Fir2IrPluginContext(
|
|||||||
private val symbolProvider: FirSymbolProvider
|
private val symbolProvider: FirSymbolProvider
|
||||||
get() = components.session.symbolProvider
|
get() = components.session.symbolProvider
|
||||||
|
|
||||||
override val annotationsRegistrar: Fir2IrAnnotationsFromPluginRegistrar
|
override val metadataDeclarationRegistrar: Fir2IrIrGeneratedDeclarationsRegistrar
|
||||||
get() = components.annotationsFromPluginRegistrar
|
get() = components.annotationsFromPluginRegistrar
|
||||||
|
|
||||||
override fun referenceClass(classId: ClassId): IrClassSymbol? {
|
override fun referenceClass(classId: ClassId): IrClassSymbol? {
|
||||||
|
|||||||
+1
-1
@@ -8,7 +8,7 @@ package org.jetbrains.kotlin.backend.common.extensions
|
|||||||
import org.jetbrains.kotlin.ir.declarations.IrDeclaration
|
import org.jetbrains.kotlin.ir.declarations.IrDeclaration
|
||||||
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
|
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
|
||||||
|
|
||||||
abstract class IrAnnotationsFromPluginRegistrar {
|
abstract class IrGeneratedDeclarationsRegistrar {
|
||||||
abstract fun addMetadataVisibleAnnotationsToElement(declaration: IrDeclaration, annotations: List<IrConstructorCall>)
|
abstract fun addMetadataVisibleAnnotationsToElement(declaration: IrDeclaration, annotations: List<IrConstructorCall>)
|
||||||
|
|
||||||
fun addMetadataVisibleAnnotationsToElement(declaration: IrDeclaration, vararg annotations: IrConstructorCall) {
|
fun addMetadataVisibleAnnotationsToElement(declaration: IrDeclaration, vararg annotations: IrConstructorCall) {
|
||||||
+4
-2
@@ -57,10 +57,12 @@ interface IrPluginContext : IrGeneratorContext {
|
|||||||
val platform: TargetPlatform?
|
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
|
* This service properly works only in K2 compiler
|
||||||
*/
|
*/
|
||||||
val annotationsRegistrar: IrAnnotationsFromPluginRegistrar
|
val metadataDeclarationRegistrar: IrGeneratedDeclarationsRegistrar
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a logger instance to post diagnostic messages from plugin
|
* Returns a logger instance to post diagnostic messages from plugin
|
||||||
|
|||||||
+4
-3
@@ -15,6 +15,7 @@ import org.jetbrains.kotlin.ir.IrBuiltIns
|
|||||||
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
|
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
|
||||||
import org.jetbrains.kotlin.ir.declarations.IrConstructor
|
import org.jetbrains.kotlin.ir.declarations.IrConstructor
|
||||||
import org.jetbrains.kotlin.ir.declarations.IrDeclaration
|
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.expressions.IrConstructorCall
|
||||||
import org.jetbrains.kotlin.ir.linkage.IrDeserializer
|
import org.jetbrains.kotlin.ir.linkage.IrDeserializer
|
||||||
import org.jetbrains.kotlin.ir.symbols.*
|
import org.jetbrains.kotlin.ir.symbols.*
|
||||||
@@ -53,8 +54,8 @@ open class IrPluginContextImpl constructor(
|
|||||||
|
|
||||||
override val symbolTable: ReferenceSymbolTable = st
|
override val symbolTable: ReferenceSymbolTable = st
|
||||||
|
|
||||||
final override val annotationsRegistrar: IrAnnotationsFromPluginRegistrar
|
final override val metadataDeclarationRegistrar: IrGeneratedDeclarationsRegistrar
|
||||||
get() = DummyIrAnnotationsFromPluginRegistrar
|
get() = DummyIrGeneratedDeclarationsRegistrar
|
||||||
|
|
||||||
private fun resolveMemberScope(fqName: FqName): MemberScope? {
|
private fun resolveMemberScope(fqName: FqName): MemberScope? {
|
||||||
val pkg = module.getPackage(fqName)
|
val pkg = module.getPackage(fqName)
|
||||||
@@ -181,7 +182,7 @@ open class IrPluginContextImpl constructor(
|
|||||||
return symbol
|
return symbol
|
||||||
}
|
}
|
||||||
|
|
||||||
private object DummyIrAnnotationsFromPluginRegistrar : IrAnnotationsFromPluginRegistrar() {
|
private object DummyIrGeneratedDeclarationsRegistrar : IrGeneratedDeclarationsRegistrar() {
|
||||||
override fun addMetadataVisibleAnnotationsToElement(declaration: IrDeclaration, annotations: List<IrConstructorCall>) {
|
override fun addMetadataVisibleAnnotationsToElement(declaration: IrDeclaration, annotations: List<IrConstructorCall>) {
|
||||||
declaration.annotations += annotations
|
declaration.annotations += annotations
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -99,7 +99,7 @@ abstract class Fir2IrJsWasmResultsConverter(testServices: TestServices) : Abstra
|
|||||||
components.session, metadataVersion,
|
components.session, metadataVersion,
|
||||||
ConstValueProviderImpl(components),
|
ConstValueProviderImpl(components),
|
||||||
allowErrorTypes = false, exportKDoc = false,
|
allowErrorTypes = false, exportKDoc = false,
|
||||||
components.annotationsFromPluginRegistrar.createMetadataAnnotationsProvider()
|
components.annotationsFromPluginRegistrar.createAdditionalMetadataProvider()
|
||||||
),
|
),
|
||||||
languageVersionSettings,
|
languageVersionSettings,
|
||||||
)
|
)
|
||||||
|
|||||||
+1
-1
@@ -89,7 +89,7 @@ internal fun PhaseContext.firSerializerBase(
|
|||||||
},
|
},
|
||||||
allowErrorTypes = false,
|
allowErrorTypes = false,
|
||||||
exportKDoc = shouldExportKDoc(),
|
exportKDoc = shouldExportKDoc(),
|
||||||
additionalAnnotationsProvider = fir2IrInput?.components?.annotationsFromPluginRegistrar?.createMetadataAnnotationsProvider()
|
additionalMetadataProvider = fir2IrInput?.components?.annotationsFromPluginRegistrar?.createMetadataAnnotationsProvider()
|
||||||
),
|
),
|
||||||
configuration.languageVersionSettings,
|
configuration.languageVersionSettings,
|
||||||
produceHeaderKlib,
|
produceHeaderKlib,
|
||||||
|
|||||||
+1
-2
@@ -9,7 +9,6 @@ import org.jetbrains.kotlin.backend.common.extensions.IrPluginContext
|
|||||||
import org.jetbrains.kotlin.ir.IrElement
|
import org.jetbrains.kotlin.ir.IrElement
|
||||||
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
|
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
|
||||||
import org.jetbrains.kotlin.ir.declarations.*
|
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.IrConstKind
|
||||||
import org.jetbrains.kotlin.ir.expressions.impl.IrConstImpl
|
import org.jetbrains.kotlin.ir.expressions.impl.IrConstImpl
|
||||||
import org.jetbrains.kotlin.ir.expressions.impl.IrConstructorCallImpl
|
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")
|
IrConstImpl(UNDEFINED_OFFSET, UNDEFINED_OFFSET, context.irBuiltIns.stringType, IrConstKind.String, "OK")
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
context.annotationsRegistrar.addMetadataVisibleAnnotationsToElement(declaration, annotationCall)
|
context.metadataDeclarationRegistrar.addMetadataVisibleAnnotationsToElement(declaration, annotationCall)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -93,7 +93,7 @@ class SerializableCompanionIrGenerator(
|
|||||||
|
|
||||||
val annotationCall = IrConstructorCallImpl.fromSymbolOwner(irClass.startOffset, irClass.endOffset, annotationType, annotationCtor)
|
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) {
|
private fun IrBuilderWithScope.patchSerializableClassWithMarkerAnnotation(serializer: IrClass) {
|
||||||
|
|||||||
Reference in New Issue
Block a user