diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBytecodeTextTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBytecodeTextTestGenerated.java index 4d1292a9ceb..57748a62d89 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBytecodeTextTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBytecodeTextTestGenerated.java @@ -4606,6 +4606,12 @@ public class FirLightTreeBytecodeTextTestGenerated extends AbstractFirLightTreeB runTest("compiler/testData/codegen/bytecodeText/lineNumbers/inlineLambdaObjectInit.kt"); } + @Test + @TestMetadata("kt61768.kt") + public void testKt61768() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/lineNumbers/kt61768.kt"); + } + @Test @TestMetadata("singleThen.kt") public void testSingleThen() throws Exception { diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiBytecodeTextTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiBytecodeTextTestGenerated.java index 4f48c9ed537..3775bddbf0c 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiBytecodeTextTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiBytecodeTextTestGenerated.java @@ -4606,6 +4606,12 @@ public class FirPsiBytecodeTextTestGenerated extends AbstractFirPsiBytecodeTextT runTest("compiler/testData/codegen/bytecodeText/lineNumbers/inlineLambdaObjectInit.kt"); } + @Test + @TestMetadata("kt61768.kt") + public void testKt61768() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/lineNumbers/kt61768.kt"); + } + @Test @TestMetadata("singleThen.kt") public void testSingleThen() throws Exception { diff --git a/compiler/ir/backend.jvm/codegen/src/org/jetbrains/kotlin/backend/jvm/codegen/ExpressionCodegen.kt b/compiler/ir/backend.jvm/codegen/src/org/jetbrains/kotlin/backend/jvm/codegen/ExpressionCodegen.kt index 0e2996d38ce..7884f2e5f06 100644 --- a/compiler/ir/backend.jvm/codegen/src/org/jetbrains/kotlin/backend/jvm/codegen/ExpressionCodegen.kt +++ b/compiler/ir/backend.jvm/codegen/src/org/jetbrains/kotlin/backend/jvm/codegen/ExpressionCodegen.kt @@ -582,7 +582,10 @@ class ExpressionCodegen( override fun visitCall(expression: IrCall, data: BlockInfo): PromisedValue { val intrinsic = classCodegen.context.getIntrinsic(expression.symbol) as IntrinsicMethod? - intrinsic?.invoke(expression, this, data)?.let { return it } + if (intrinsic != null) { + expression.markLineNumber(true) + intrinsic.invoke(expression, this, data)?.let { return it } + } val callee = expression.symbol.owner require(callee.parent is IrClass) { "Unhandled intrinsic in ExpressionCodegen: ${callee.render()}" } diff --git a/compiler/testData/codegen/bytecodeText/lineNumbers/kt61768.kt b/compiler/testData/codegen/bytecodeText/lineNumbers/kt61768.kt new file mode 100644 index 00000000000..213b0678baf --- /dev/null +++ b/compiler/testData/codegen/bytecodeText/lineNumbers/kt61768.kt @@ -0,0 +1,8 @@ +// TARGET_BACKEND: JVM_IR + +fun increment() { + var i = 10 + i = i + 10 +} + +// 1 LINENUMBER 5 L1\n +IINC \ No newline at end of file diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBytecodeTextTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBytecodeTextTestGenerated.java index 3d249f3f265..3ba09ebd60f 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBytecodeTextTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBytecodeTextTestGenerated.java @@ -4606,6 +4606,12 @@ public class IrBytecodeTextTestGenerated extends AbstractIrBytecodeTextTest { runTest("compiler/testData/codegen/bytecodeText/lineNumbers/inlineLambdaObjectInit.kt"); } + @Test + @TestMetadata("kt61768.kt") + public void testKt61768() throws Exception { + runTest("compiler/testData/codegen/bytecodeText/lineNumbers/kt61768.kt"); + } + @Test @TestMetadata("singleThen.kt") public void testSingleThen() throws Exception {