[FIR] Add ability to provide additional synthetic declarations to metadata from plugins

^KT-55885 Fixed
This commit is contained in:
Dmitriy Novozhilov
2023-01-31 12:42:14 +02:00
committed by Space Team
parent 8350226bad
commit 1248ee12d6
3 changed files with 125 additions and 7 deletions
@@ -33,6 +33,7 @@ abstract class FirExtensionRegistrar : FirExtensionRegistrarAdapter() {
FirAssignExpressionAltererExtension::class,
FirScriptConfiguratorExtension::class,
FirFunctionTypeKindExtension::class,
FirDeclarationsForMetadataProviderExtension::class,
)
}
@@ -96,6 +97,11 @@ abstract class FirExtensionRegistrar : FirExtensionRegistrarAdapter() {
registerExtension(FirFunctionTypeKindExtension::class, this)
}
@JvmName("plusDeclarationForMetadataProviderExtension")
operator fun (FirDeclarationsForMetadataProviderExtension.Factory).unaryPlus() {
registerExtension(FirDeclarationsForMetadataProviderExtension::class, this)
}
// ------------------ reference methods ------------------
@JvmName("plusStatusTransformerExtension")
@@ -153,6 +159,11 @@ abstract class FirExtensionRegistrar : FirExtensionRegistrarAdapter() {
FirFunctionTypeKindExtension.Factory { this.invoke(it) }.unaryPlus()
}
@JvmName("plusDeclarationForMetadataProviderExtension")
operator fun ((FirSession) -> FirDeclarationsForMetadataProviderExtension).unaryPlus() {
FirDeclarationsForMetadataProviderExtension.Factory { this.invoke(it) }.unaryPlus()
}
// ------------------ utilities ------------------
@JvmName("bindLeft")