[ https://issues.apache.org/jira/browse/GROOVY-7647?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16696417#comment-16696417 ]
ASF GitHub Bot commented on GROOVY-7647: ---------------------------------------- GitHub user paulk-asert opened a pull request: https://github.com/apache/groovy/pull/830 GROOVY-7647: Incorrect line information for debug You can merge this pull request into a Git repository by running: $ git pull https://github.com/paulk-asert/groovy groovy7647 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/groovy/pull/830.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #830 ---- commit ae3bb53f64396f9b95fa7f592397b11542397ee9 Author: Paul King <paulk@...> Date: 2018-11-23T06:29:06Z GROOVY-7647: Incorrect line information for debug ---- > Incorrect line information for debug > ------------------------------------ > > Key: GROOVY-7647 > URL: https://issues.apache.org/jira/browse/GROOVY-7647 > Project: Groovy > Issue Type: Bug > Components: class generator, Compiler > Affects Versions: 2.4.5 > Reporter: Egor Ushakov > Priority: Major > > Try to debug the code: > {code} > boolean boolVar = false; //line 15 > if (boolVar) { // set breakpoint here and step over //line 16 > print "ok"; //line 17 > } // end of file //line 18 > {code} > It steps over to the line with print even though it is not executed. > Seems that compiler does not generate line info for the last block (line 18): > {code} > public java.lang.Object run(); > descriptor: ()Ljava/lang/Object; > flags: ACC_PUBLIC > Code: > stack=3, locals=3, args_size=1 > 0: invokestatic #18 // Method > $getCallSiteArray:()[Lorg/codehaus/groovy/runtime/callsite/CallSite; > 3: astore_1 > 4: iconst_0 > 5: istore_2 > 6: iload_2 > 7: pop > 8: iload_2 > 9: ifeq 28 > 12: aload_1 > 13: ldc #41 // int 1 > 15: aaload > 16: aload_0 > 17: ldc #43 // String ok > 19: invokeinterface #47, 3 // InterfaceMethod > org/codehaus/groovy/runtime/callsite/CallSite.callCurrent:(Lgroovy/lang/GroovyObject;Ljava/lang/Object;)Ljava/lang/Object; > 24: areturn > 25: goto 30 > 28: aconst_null > 29: areturn > 30: aconst_null > 31: areturn > LocalVariableTable: > Start Length Slot Name Signature > 0 30 0 this Lsdfklajsdlkjas/test; > 6 24 2 boolVar Z > LineNumberTable: > line 15: 4 > line 16: 8 > line 17: 12 > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)