[ https://issues.apache.org/jira/browse/GROOVY-7647?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Paul King closed GROOVY-7647. ----------------------------- > 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 > Assignee: Paul King > Priority: Major > Fix For: 2.4.16, 3.0.0-alpha-4, 2.5.5 > > > 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)