Christopher Smith created GROOVY-7677: -----------------------------------------
Summary: AbstractASTTransformation member-value methods should traverse compile-time constants Key: GROOVY-7677 URL: https://issues.apache.org/jira/browse/GROOVY-7677 Project: Groovy Issue Type: Improvement Components: groovy-jdk Affects Versions: 2.4.5 Reporter: Christopher Smith As described [in Cédric's article on parameterized transformations|https://melix.github.io/ast-workshop/exercise4-hints.html], the value of an annotation member during a transformation can be one of several types of expression. The {{AbstractASTTransformation}} class provides a number of methods that "get member values", but only if those values are provided as an *immediate* {{ConstantExpression}}. Using, for example, a {{public static final String}} as an annotation value is perfectly legitimate, and the current implementation simply treats the value as if it were not present. While it would be some work, I suggest that the behavior of these methods should be enhanced to both traverse property/variable expressions and support retrieval of annotation default values. If this is agreeable and there's no identifiable technical reason why this isn't feasible, then I'll attempt to implement at least part of the behavior as part of [my blog series|https://blog.chrylis.com/2015/11/13/introducing-gjt/] and would like to explore merging it into the main distribution. -- This message was sent by Atlassian JIRA (v6.3.4#6332)