[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:
+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.expressions.IrConstructorCall
|
||||
|
||||
abstract class IrAnnotationsFromPluginRegistrar {
|
||||
abstract class IrGeneratedDeclarationsRegistrar {
|
||||
abstract fun addMetadataVisibleAnnotationsToElement(declaration: IrDeclaration, annotations: List<IrConstructorCall>)
|
||||
|
||||
fun addMetadataVisibleAnnotationsToElement(declaration: IrDeclaration, vararg annotations: IrConstructorCall) {
|
||||
+4
-2
@@ -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
|
||||
|
||||
+4
-3
@@ -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<IrConstructorCall>) {
|
||||
declaration.annotations += annotations
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user