Paul King closed GROOVY-8289.

> STC and default value in ctor is causing debugging error
> --------------------------------------------------------
>                 Key: GROOVY-8289
>                 URL: https://issues.apache.org/jira/browse/GROOVY-8289
>             Project: Groovy
>          Issue Type: Bug
>          Components: bytecode
>    Affects Versions: 2.4.12
>            Reporter: Eric Milles
>            Assignee: Paul King
>            Priority: Major
>             Fix For: 2.4.13
>         Attachments: C1.txt, C2.txt, C3.txt
> When debugging in the IDE, there is a curious behavior where it looks like 
> step requests are not being respected.  One thing I have found is that JDWP 
> requests to the JVM process are failing to resolve the variable "this" in 
> certain cases.  I need some help from someone who knows the bytecode better 
> than myself to figure out where the problem lies.
> Original issue: https://github.com/groovy/groovy-eclipse/issues/312
> I have narrowed it down to a small bit of code with static compilation 
> enabled.
> {code}
> @groovy.transform.CompileStatic
> class C {
>   String string
>   C(String s = null) { string = s }
>   static void main(args) {
>     def c = new C('') // put breakpoint on this line, run as Java app, and 
> step
>     println c
>   }
> }
> {code}
> Debug stepping fails when executing the constructor for C.  If I use {{new 
> C(string:'')}}, the generated default constructor is used instead and 
> debugging works fine.  So I think it has something to do with the one-arg 
> constructor's bytecode.
> I dumped the class file using javap and have attached them.  {{C1.txt}} is 
> for the code above.  {{C2.txt}} is the above with the named args constructor 
> used instead.  I'm not sure if the local args table for the single-argument 
> constructor is bad and that is why "this" cannot be resolved.
> There are several similar bugs reported for other tools and whatnots when 
> looking for "JDWP error code 35".  Hopefully, these help point to something 
> in the bytecode that can be corrected.
> http://bugs.java.com/bugdatabase/view_bug.do?bug_id=5005668
> https://bugs.openjdk.java.net/browse/JDK-4992932

This message was sent by Atlassian JIRA

Reply via email to