Repository: groovy Updated Branches: refs/heads/GROOVY_2_5_X 0dc69445c -> d21d696de
GROOVY-7647: Incorrect line information for debug (closes #830) Project: http://git-wip-us.apache.org/repos/asf/groovy/repo Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/d21d696d Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/d21d696d Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/d21d696d Branch: refs/heads/GROOVY_2_5_X Commit: d21d696decd57168068fc974d3836f1e6089c7d3 Parents: aef54c6 Author: Paul King <pa...@asert.com.au> Authored: Fri Nov 23 16:29:06 2018 +1000 Committer: Paul King <pa...@asert.com.au> Committed: Sat Nov 24 14:46:28 2018 +1000 ---------------------------------------------------------------------- .../org/codehaus/groovy/classgen/asm/StatementWriter.java | 7 +++++++ .../groovy/classgen/asm/sc/StaticCompilationTest.groovy | 3 +-- 2 files changed, 8 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/groovy/blob/d21d696d/src/main/java/org/codehaus/groovy/classgen/asm/StatementWriter.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/codehaus/groovy/classgen/asm/StatementWriter.java b/src/main/java/org/codehaus/groovy/classgen/asm/StatementWriter.java index 1550237..b1d257a 100644 --- a/src/main/java/org/codehaus/groovy/classgen/asm/StatementWriter.java +++ b/src/main/java/org/codehaus/groovy/classgen/asm/StatementWriter.java @@ -94,6 +94,13 @@ public class StatementWriter { } compileStack.pop(); + // GROOVY-7647 + if (block.getLastLineNumber() > 0) { + MethodVisitor mv = controller.getMethodVisitor(); + Label blockEnd = new Label(); mv.visitLabel(blockEnd); + mv.visitLineNumber(block.getLastLineNumber(), blockEnd); + } + controller.getOperandStack().popDownTo(mark); } http://git-wip-us.apache.org/repos/asf/groovy/blob/d21d696d/src/test/org/codehaus/groovy/classgen/asm/sc/StaticCompilationTest.groovy ---------------------------------------------------------------------- diff --git a/src/test/org/codehaus/groovy/classgen/asm/sc/StaticCompilationTest.groovy b/src/test/org/codehaus/groovy/classgen/asm/sc/StaticCompilationTest.groovy index b83430a..318f692 100644 --- a/src/test/org/codehaus/groovy/classgen/asm/sc/StaticCompilationTest.groovy +++ b/src/test/org/codehaus/groovy/classgen/asm/sc/StaticCompilationTest.groovy @@ -19,8 +19,6 @@ package org.codehaus.groovy.classgen.asm.sc import org.codehaus.groovy.classgen.asm.AbstractBytecodeTestCase -import org.codehaus.groovy.control.CompilerConfiguration -import org.codehaus.groovy.transform.stc.GroovyTypeCheckingExtensionSupport import static org.codehaus.groovy.control.CompilerConfiguration.DEFAULT as config @@ -33,6 +31,7 @@ class StaticCompilationTest extends AbstractBytecodeTestCase { assert bytecode.hasStrictSequence( ['public m()V', 'L0', + 'LINENUMBER 3 L0', 'RETURN'] ) }