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 { private fun createEnumValuesBody(valuesField: IrField): IrBody {
val cloneFun = context.irBuiltIns.arrayClass.owner.functions.find { it.name.asString() == "clone" }!! val cloneFun = context.irBuiltIns.arrayClass.owner.functions.find { it.name.asString() == "clone" }!!
val returnType = valuesFunction.symbol.owner.returnType
val irCloneValues = 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 = 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( return IrBlockBodyImpl(
@@ -548,7 +548,7 @@ private class EnumClassLowering(val context: JvmBackendContext) : ClassLoweringP
IrReturnImpl( IrReturnImpl(
UNDEFINED_OFFSET, UNDEFINED_OFFSET,
UNDEFINED_OFFSET, UNDEFINED_OFFSET,
valuesFunction.symbol.owner.returnType, returnType,
valuesFunction.symbol, valuesFunction.symbol,
irCloneValues irCloneValues
) )