[ 
https://issues.apache.org/jira/browse/GROOVY-10177?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17637461#comment-17637461
 ] 

Eric Milles edited comment on GROOVY-10177 at 11/22/22 9:23 PM:
----------------------------------------------------------------

Feel free to re-open if a suitable recreation script or project can be provided 
that is separate from eclipse.  Otherwise, this will need to be an eclipse 
issue ticket.

I did find out that incremental compilation picks up BinaryType (as opposed to 
the typical SourceType) references.  If property nodes are not hydrated the 
same from a binary type, you may see this kind of thing.  Adding 
"allProperties=true" to your {{TupleConstructor}} annotation will pick up 
setter-based properties.


was (Author: emilles):
Feel free to re-open if a suitable recreation script or project can be provided 
that is separate from eclipse.  Otherwise, this will need to be an eclipse 
issue ticket.

> TupleConstructor misses super properties in different compilation unit
> ----------------------------------------------------------------------
>
>                 Key: GROOVY-10177
>                 URL: https://issues.apache.org/jira/browse/GROOVY-10177
>             Project: Groovy
>          Issue Type: Bug
>    Affects Versions: 3.0.8
>            Reporter: Christopher Smith
>            Assignee: Eric Milles
>            Priority: Major
>
> I am using the following annotation on a concrete subclass of an abstract 
> class:
> {code:groovy}
> @TupleConstructor(defaults = false, includeSuperProperties = true, callSuper 
> = true)
> class Implementation extends Abstract {
> {code}
> When I compile both classes together, I get the expected behavior: The 
> parameters specified in the {{Abstract}} constructor are copied to the 
> parameter list of the {{Implementation}} constructor, and an immediate 
> {{invokespecial}} to the super constructor is generated.
> However, if the two classes are compiled in separate passes, 
> {{TupleConstructor}} instead omits the super parameters and passes defaults 
> (nulls) to the super constructor. This happens consistently either with 
> Eclipse incremental compilation or with a test implementation, which is 
> compiled in the second {{compileTests}} goal.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to