[
https://issues.apache.org/jira/browse/GROOVY-7950?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Eric Milles reassigned GROOVY-7950:
-----------------------------------
Assignee: Eric Milles
> AST transforms referencing properties 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
> Affects Versions: 2.4.7
> Reporter: Kamal Advani
> Assignee: Eric Milles
> Priority: Major
> Labels: trait, traits
>
> 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 in a class, the
> transformed class also implements a trait 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
(v8.20.10#820010)