[Test] Unify all fir2ir facades for non-jvm platforms
Setup of fir2ir for JS, Native and Wasm is very similar, so it makes sense to extract all common parts of it into common base facade
This commit is contained in:
committed by
Space Team
parent
e38b25c278
commit
06af6adf4f
@@ -13,6 +13,7 @@ import org.jetbrains.kotlin.ir.IrLock
|
||||
import org.jetbrains.kotlin.ir.declarations.IrFactory
|
||||
import org.jetbrains.kotlin.ir.linkage.IrProvider
|
||||
import org.jetbrains.kotlin.ir.overrides.IrFakeOverrideBuilder
|
||||
import org.jetbrains.kotlin.ir.util.KotlinMangler
|
||||
import org.jetbrains.kotlin.ir.util.SymbolTable
|
||||
|
||||
interface Fir2IrComponents {
|
||||
@@ -31,6 +32,8 @@ interface Fir2IrComponents {
|
||||
val symbolTable: SymbolTable
|
||||
val irBuiltIns: IrBuiltInsOverFir
|
||||
val builtIns: Fir2IrBuiltIns
|
||||
val manglers: Manglers
|
||||
|
||||
val irFactory: IrFactory
|
||||
val irProviders: List<IrProvider>
|
||||
val lock: IrLock
|
||||
@@ -56,4 +59,10 @@ interface Fir2IrComponents {
|
||||
val configuration: Fir2IrConfiguration
|
||||
|
||||
val annotationsFromPluginRegistrar: Fir2IrAnnotationsFromPluginRegistrar
|
||||
|
||||
interface Manglers {
|
||||
val descriptorMangler: KotlinMangler.DescriptorMangler
|
||||
val irMangler: KotlinMangler.IrMangler
|
||||
val firMangler: FirMangler
|
||||
}
|
||||
}
|
||||
|
||||
@@ -68,4 +68,15 @@ class Fir2IrComponentsStorage(
|
||||
|
||||
override val lock: IrLock
|
||||
get() = symbolTable.lock
|
||||
|
||||
override val manglers: Fir2IrComponents.Manglers = object : Fir2IrComponents.Manglers {
|
||||
override val descriptorMangler: KotlinMangler.DescriptorMangler
|
||||
get() = symbolTable.signaturer.mangler
|
||||
|
||||
override val irMangler: KotlinMangler.IrMangler
|
||||
get() = irMangler
|
||||
|
||||
override val firMangler: FirMangler
|
||||
get() = commonMemberStorage.firSignatureComposer.mangler
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user