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:
Mads Ager
2019-01-28 15:15:51 +01:00
committed by max-kammerer
parent b1f6a05aa0
commit 52464fd103
2 changed files with 4 additions and 3 deletions
@@ -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