Fix KT-43265.
This commit is contained in:
committed by
Stanislav Erokhin
parent
c0a83f48bf
commit
0a0b9d57c9
+3
-3
@@ -78,17 +78,17 @@ internal class CEnumCompanionGenerator(
|
||||
.single { it.name.identifier == enumEntryName }.symbol
|
||||
}
|
||||
|
||||
private fun generateAliasGetterBody(getter: IrSimpleFunction, entrySymbol: IrEnumEntrySymbol): IrBody =
|
||||
private fun generateAliasGetterBody(getter: IrSimpleFunction, entrySymbol: IrEnumEntrySymbol, enumClass: IrClass): IrBody =
|
||||
irBuilder(irBuiltIns, getter.symbol, SYNTHETIC_OFFSET, SYNTHETIC_OFFSET).irBlockBody {
|
||||
+irReturn(
|
||||
IrGetEnumValueImpl(startOffset, endOffset, entrySymbol.owner.parentAsClass.defaultType, entrySymbol)
|
||||
IrGetEnumValueImpl(startOffset, endOffset, enumClass.defaultType, entrySymbol)
|
||||
)
|
||||
}
|
||||
|
||||
private fun declareEntryAliasProperty(propertyDescriptor: PropertyDescriptor, enumClass: IrClass): IrProperty {
|
||||
val entrySymbol = fundCorrespondingEnumEntrySymbol(propertyDescriptor, enumClass)
|
||||
return createProperty(propertyDescriptor).also {
|
||||
it.getter!!.body = generateAliasGetterBody(it.getter!!, entrySymbol)
|
||||
it.getter!!.body = generateAliasGetterBody(it.getter!!, entrySymbol, enumClass)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user