Assertion error on singleton values in ExpressionCodegen.

This commit is contained in:
Dmitry Petrov
2016-09-28 15:52:35 +03:00
parent f423369327
commit de2bef910b
@@ -196,7 +196,7 @@ class ExpressionCodegen(
override fun visitInstanceInitializerCall(expression: IrInstanceInitializerCall, data: BlockInfo): StackValue { override fun visitInstanceInitializerCall(expression: IrInstanceInitializerCall, data: BlockInfo): StackValue {
throw AssertionError("IrInstanceInitializerCall should've been lowered before code generation: ${expression.render()}") throw AssertionError("Instruction should've been lowered before code generation: ${expression.render()}")
} }
override fun visitDelegatingConstructorCall(expression: IrDelegatingConstructorCall, data: BlockInfo): StackValue { override fun visitDelegatingConstructorCall(expression: IrDelegatingConstructorCall, data: BlockInfo): StackValue {
@@ -267,8 +267,11 @@ class ExpressionCodegen(
} }
override fun visitGetObjectValue(expression: IrGetObjectValue, data: BlockInfo): StackValue { override fun visitGetObjectValue(expression: IrGetObjectValue, data: BlockInfo): StackValue {
StackValue.singleton(expression.descriptor, typeMapper).put(expression.asmType, mv) throw AssertionError("Instruction should've been lowered before code generation: ${expression.render()}")
return expression.onStack }
override fun visitGetEnumValue(expression: IrGetEnumValue, data: BlockInfo): StackValue {
throw AssertionError("Instruction should've been lowered before code generation: ${expression.render()}")
} }
override fun visitSetVariable(expression: IrSetVariable, data: BlockInfo): StackValue { override fun visitSetVariable(expression: IrSetVariable, data: BlockInfo): StackValue {