Christopher Smith created GROOVY-10177:
------------------------------------------

             Summary: 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


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.3.4#803005)

Reply via email to