From e066afc67f4aeb2bce55ceadb9531d74c8543d55 Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Wed, 26 Feb 2020 11:08:06 +0300 Subject: [PATCH] FIR2IR: set parents for external enum entries --- .../jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt index 2c7f1ac9b88..54e8d195233 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt @@ -968,8 +968,11 @@ class Fir2IrDeclarationStorage( return when (val firDeclaration = firVariableSymbol.fir) { is FirEnumEntry -> { val containingFile = firProvider.getFirCallableContainerFile(firVariableSymbol) + val parentClassSymbol = firVariableSymbol.callableId.classId?.let { firSymbolProvider.getClassLikeSymbolByFqName(it) } + val irParentClass = (parentClassSymbol?.fir as? FirClass<*>)?.let { getIrClass(it, setParentAndContent = false) } val irEnumEntry = getIrEnumEntry( firDeclaration, + irParent = irParentClass, origin = if (containingFile == null) IrDeclarationOrigin.IR_EXTERNAL_DECLARATION_STUB else IrDeclarationOrigin.DEFINED ) irSymbolTable.referenceEnumEntry(irEnumEntry.descriptor)