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 {
|
||||
expression.markLineNumber(startOffset = true)
|
||||
expression.value.markLineNumber(startOffset = true)
|
||||
@@ -568,7 +560,10 @@ class ExpressionCodegen(
|
||||
}
|
||||
|
||||
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 {
|
||||
|
||||
Reference in New Issue
Block a user