Fix return types in EnumClassLowering

This commit is contained in:
Steven Schäfer
2019-05-10 10:45:43 +02:00
committed by max-kammerer
parent 2da0315d2e
commit e6f65d4260
@@ -535,11 +535,11 @@ private class EnumClassLowering(val context: JvmBackendContext) : ClassLoweringP
private fun createEnumValuesBody(valuesField: IrField): IrBody {
val cloneFun = context.irBuiltIns.arrayClass.owner.functions.find { it.name.asString() == "clone" }!!
val returnType = valuesFunction.symbol.owner.returnType
val irCloneValues =
IrCallImpl(UNDEFINED_OFFSET, UNDEFINED_OFFSET, cloneFun.returnType, cloneFun.symbol, cloneFun.descriptor, 0).apply {
IrCallImpl(UNDEFINED_OFFSET, UNDEFINED_OFFSET, returnType, cloneFun.symbol, cloneFun.descriptor, 0).apply {
dispatchReceiver =
IrGetFieldImpl(UNDEFINED_OFFSET, UNDEFINED_OFFSET, valuesField.symbol, valuesField.symbol.owner.type)
IrGetFieldImpl(UNDEFINED_OFFSET, UNDEFINED_OFFSET, valuesField.symbol, valuesField.symbol.owner.type)
}
return IrBlockBodyImpl(
@@ -548,7 +548,7 @@ private class EnumClassLowering(val context: JvmBackendContext) : ClassLoweringP
IrReturnImpl(
UNDEFINED_OFFSET,
UNDEFINED_OFFSET,
valuesFunction.symbol.owner.returnType,
returnType,
valuesFunction.symbol,
irCloneValues
)