diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrClassifierStorage.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrClassifierStorage.kt index c5925e14cd0..a70b418025e 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrClassifierStorage.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrClassifierStorage.kt @@ -37,7 +37,6 @@ import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.StandardClassIds class Fir2IrClassifierStorage( - private val converter: Fir2IrConverter, private val components: Fir2IrComponents ) : Fir2IrComponents by components { private val firProvider = session.firProvider diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrComponents.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrComponents.kt index 444f17be007..d4eec95acd3 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrComponents.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrComponents.kt @@ -20,6 +20,8 @@ interface Fir2IrComponents { val session: FirSession val scopeSession: ScopeSession + val converter: Fir2IrConverter + val symbolTable: SymbolTable val irBuiltIns: IrBuiltIns val builtIns: Fir2IrBuiltIns diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrComponentsStorage.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrComponentsStorage.kt index 2b69b3dbde6..17f851120a5 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrComponentsStorage.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrComponentsStorage.kt @@ -24,6 +24,9 @@ class Fir2IrComponentsStorage( override val irFactory: IrFactory, override val signatureComposer: FirBasedSignatureComposer ) : Fir2IrComponents { + + override lateinit var converter: Fir2IrConverter + override lateinit var classifierStorage: Fir2IrClassifierStorage override lateinit var declarationStorage: Fir2IrDeclarationStorage diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrConverter.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrConverter.kt index 2ec83fc74ac..4e1bc0778c2 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrConverter.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrConverter.kt @@ -418,7 +418,10 @@ class Fir2IrConverter( val signatureComposer = FirBasedSignatureComposer(mangler) val components = Fir2IrComponentsStorage(session, scopeSession, symbolTable, irFactory, signatureComposer) val converter = Fir2IrConverter(moduleDescriptor, components) - val classifierStorage = Fir2IrClassifierStorage(converter, components) + + components.converter = converter + + val classifierStorage = Fir2IrClassifierStorage(components) components.classifierStorage = classifierStorage components.delegatedMemberGenerator = DelegatedMemberGenerator(components) val declarationStorage = Fir2IrDeclarationStorage(components, moduleDescriptor) @@ -433,7 +436,7 @@ class Fir2IrConverter( ) components.irBuiltIns = irBuiltIns val conversionScope = Fir2IrConversionScope() - val fir2irVisitor = Fir2IrVisitor(converter, components, conversionScope) + val fir2irVisitor = Fir2IrVisitor(components, conversionScope) val builtIns = Fir2IrBuiltIns(components, specialSymbolProvider) val annotationGenerator = AnnotationGenerator(components) components.builtIns = builtIns diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt index 7f4ce5426d6..62afa770af1 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt @@ -55,7 +55,6 @@ import org.jetbrains.kotlin.psi.KtForExpression import org.jetbrains.kotlin.util.OperatorNameConventions class Fir2IrVisitor( - private val converter: Fir2IrConverter, private val components: Fir2IrComponents, private val conversionScope: Fir2IrConversionScope ) : Fir2IrComponents by components, FirDefaultVisitor(), IrGeneratorContextInterface {