Details
-
Type:
New Feature
-
Status:
Open
-
Priority:
Major
-
Resolution: Unresolved
-
Affects Version/s: 1.7.0
-
Component/s: ast builder
-
Labels:None
-
Environment:All
-
Number of attachments :
Description
Groovy should support annotations on local variable declarations. It is syntactically legal to annotate a local variable, but the AST produced does not carry that annotation.
My use case with the AST builder. Either we'd like to annotate a local variable, like this:
@AstSource(CompilePhase.CONVERSION)
def source = { println "compiled on: ${new Date()}" }
Or annotate a property within a closure (which is a DeclarationExpression), like this:
def result = new AstBuilder().build { phase = CompilePhase.CONVERSION @AstSource source = { println "compiled on: ${new Date()}" } }
A getAnnotations() method should probably be added to DeclarationExpression to support this.
Issue Links
- relates to
-
GROOVY-3481
Groovy Support for annotations on local variable declarations
-