Throw a clearer error on unexpected IR nodes in expressions
This commit is contained in:
+4
-9
@@ -536,14 +536,6 @@ class ExpressionCodegen(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun visitGetObjectValue(expression: IrGetObjectValue, data: BlockInfo): StackValue {
|
|
||||||
throw AssertionError("Instruction should've been lowered before code generation: ${expression.render()}")
|
|
||||||
}
|
|
||||||
|
|
||||||
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 {
|
||||||
expression.markLineNumber(startOffset = true)
|
expression.markLineNumber(startOffset = true)
|
||||||
expression.value.markLineNumber(startOffset = true)
|
expression.value.markLineNumber(startOffset = true)
|
||||||
@@ -568,7 +560,10 @@ class ExpressionCodegen(
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun visitElement(element: IrElement, data: BlockInfo): StackValue {
|
override fun visitElement(element: IrElement, data: BlockInfo): StackValue {
|
||||||
TODO("not implemented for $element") //To change body of created functions use File | Settings | File Templates.
|
throw AssertionError(
|
||||||
|
"Unexpected IR element found during code generation. Either code generation for it " +
|
||||||
|
"is not implemented, or it should have been lowered: ${element.render()}"
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun visitClass(declaration: IrClass, data: BlockInfo): StackValue {
|
override fun visitClass(declaration: IrClass, data: BlockInfo): StackValue {
|
||||||
|
|||||||
Reference in New Issue
Block a user