JVM_IR: do not generate line number info for temporary loads.
Loads from compiler-introduces temporary variables to do not correspond to loads in user code.
This commit is contained in:
+4
-1
@@ -426,7 +426,10 @@ class ExpressionCodegen(
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun visitGetValue(expression: IrGetValue, data: BlockInfo): StackValue {
|
override fun visitGetValue(expression: IrGetValue, data: BlockInfo): StackValue {
|
||||||
expression.markLineNumber(startOffset = true)
|
// Do not generate line number information for loads from compiler-generated
|
||||||
|
// temporary variables. They do not correspond to variable loads in user code.
|
||||||
|
if (expression.symbol.owner.origin != IrDeclarationOrigin.IR_TEMPORARY_VARIABLE)
|
||||||
|
expression.markLineNumber(startOffset = true)
|
||||||
return generateLocal(expression.symbol, expression.asmType)
|
return generateLocal(expression.symbol, expression.asmType)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,5 +6,3 @@ fun foo() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 1 LINENUMBER 3
|
// 1 LINENUMBER 3
|
||||||
// Adding ignore flags below the test since the test relies on line numbers.
|
|
||||||
// IGNORE_BACKEND: JVM_IR
|
|
||||||
|
|||||||
Reference in New Issue
Block a user