Kamal Advani created GROOVY-7950:
------------------------------------

             Summary: AST transforms referencing on a class not detecting 
Trait-mixed in properties
                 Key: GROOVY-7950
                 URL: https://issues.apache.org/jira/browse/GROOVY-7950
             Project: Groovy
          Issue Type: Bug
          Components: ast builder
    Affects Versions: 2.4.7
            Reporter: Kamal Advani


I can't find anything about this in 
http://docs.groovy-lang.org/next/html/documentation/core-traits.html -- 
apologies if I missed it elsewhere. Also could not find a similar issue.

I am applying a transform that references properties to a class that also 
implements a trait with with properties. It seems that the trait transform is 
applied last, such that the annotation-driven AST transforms don't see 
'inherited/mixed in' trait properties.

{code}
import groovy.transform.*

trait T {
    String s1
}

@TupleConstructor(includes='s1, s2') // only a constructor for s2 created, same 
applies to @EqualsAndHashCode for example.
// @Sortable(includes='s1, s2') //  Error during @Sortable processing: tried to 
include unknown property 's1'
class Bar implements T {
    String s2
}
{code}

This 
http://docs.groovy-lang.org/next/html/documentation/core-traits.html#_compatibility_with_ast_transformations
 talks about applying transforms on a trait itself, but as per above, this 
isn't what I'm doing.

Is this behaviour by design, or am I missing something obvious? 

Thanks for your help.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to