Fir2Ir: add irProviders to Fir2IrComponents
Removes the last use of DeclarationStubGenerator in the FIR pipeline.
This commit is contained in:
committed by
Alexander Udalov
parent
13d4d60afa
commit
3f66b31a47
+1
-2
@@ -14,7 +14,6 @@ import org.jetbrains.kotlin.config.JvmSerializeIrMode
|
||||
import org.jetbrains.kotlin.config.languageVersionSettings
|
||||
import org.jetbrains.kotlin.fir.backend.Fir2IrComponents
|
||||
import org.jetbrains.kotlin.fir.backend.Fir2IrExtensions
|
||||
import org.jetbrains.kotlin.fir.backend.FirIrProvider
|
||||
import org.jetbrains.kotlin.ir.IrBuiltIns
|
||||
import org.jetbrains.kotlin.ir.backend.jvm.serialization.JvmIrMangler
|
||||
import org.jetbrains.kotlin.ir.declarations.*
|
||||
@@ -86,7 +85,7 @@ class JvmFir2IrExtensions(configuration: CompilerConfiguration) : Fir2IrExtensio
|
||||
} ?: return false
|
||||
deserializeFromByteArray(
|
||||
serializedIr,
|
||||
irBuiltIns, symbolTable, listOf(FirIrProvider(this)),
|
||||
irBuiltIns, symbolTable, irProviders,
|
||||
irClass,
|
||||
JvmIrTypeSystemContext(irBuiltIns), allowErrorNodes = false
|
||||
)
|
||||
|
||||
@@ -14,6 +14,7 @@ import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
||||
import org.jetbrains.kotlin.ir.IrBuiltIns
|
||||
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.util.SymbolTable
|
||||
|
||||
interface Fir2IrComponents {
|
||||
@@ -26,6 +27,7 @@ interface Fir2IrComponents {
|
||||
val irBuiltIns: IrBuiltIns
|
||||
val builtIns: Fir2IrBuiltIns
|
||||
val irFactory: IrFactory
|
||||
val irProviders: List<IrProvider>
|
||||
val lock: IrLock
|
||||
|
||||
val classifierStorage: Fir2IrClassifierStorage
|
||||
|
||||
@@ -15,6 +15,7 @@ import org.jetbrains.kotlin.fir.signaturer.FirBasedSignatureComposer
|
||||
import org.jetbrains.kotlin.ir.IrBuiltIns
|
||||
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.util.SymbolTable
|
||||
|
||||
class Fir2IrComponentsStorage(
|
||||
@@ -32,6 +33,7 @@ class Fir2IrComponentsStorage(
|
||||
|
||||
override lateinit var irBuiltIns: IrBuiltIns
|
||||
override lateinit var builtIns: Fir2IrBuiltIns
|
||||
override lateinit var irProviders: List<IrProvider>
|
||||
|
||||
override lateinit var typeConverter: Fir2IrTypeConverter
|
||||
override lateinit var visibilityConverter: Fir2IrVisibilityConverter
|
||||
|
||||
@@ -459,6 +459,8 @@ class Fir2IrConverter(
|
||||
components.fakeOverrideGenerator = fakeOverrideGenerator
|
||||
val callGenerator = CallAndReferenceGenerator(components, fir2irVisitor, conversionScope)
|
||||
components.callGenerator = callGenerator
|
||||
val irProvider = FirIrProvider(components)
|
||||
components.irProviders = listOf(irProvider)
|
||||
|
||||
fir2IrExtensions.registerDeclarations(symbolTable)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user