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 d61ff63da33..fb258b8d31a 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 @@ -354,16 +354,15 @@ class Fir2IrClassifierStorage( val firClass = firClassSymbol.fir getCachedIrClass(firClass)?.let { return symbolTable.referenceClass(it.descriptor) } // TODO: remove all this code and change to unbound symbol creation - val irClass = createIrClass(firClass) if (firClass is FirAnonymousObject || firClass is FirRegularClass && firClass.visibility == Visibilities.LOCAL) { + val irClass = createIrClass(firClass) return symbolTable.referenceClass(irClass.descriptor) } val classId = firClassSymbol.classId val parentId = classId.outerClassId val irParent = declarationStorage.findIrParent(classId.packageFqName, parentId, firClassSymbol) - if (irParent != null) { - irClass.parent = irParent - } + val irClass = createIrClass(firClass, irParent) + if (irParent is IrExternalPackageFragment) { declarationStorage.addDeclarationsToExternalClass(firClass as FirRegularClass, irClass) }