[
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)