[ https://issues.apache.org/jira/browse/GROOVY-11311?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Eric Milles reassigned GROOVY-11311: ------------------------------------ Assignee: Eric Milles > Groovy Closure not retaining param annotations, but only for the default > single object param case > ------------------------------------------------------------------------------------------------- > > Key: GROOVY-11311 > URL: https://issues.apache.org/jira/browse/GROOVY-11311 > Project: Groovy > Issue Type: Bug > Affects Versions: 3.0.8, 4.0.4 > Reporter: Val E > Assignee: Eric Milles > Priority: Minor > Attachments: ClosureAnnotationsTest.groovy > > > In trying to process Groovy closure param annotations, via Java reflection, I > realized that there is one narrow case where the param annotations are not > preserved in the generated call method. > This happens only for the case of a single Object param type. All other > variations retain the annotation, it can be a single param of a different > type, or multiple params of Object type. I think this may have something to > do with handling the default 'it' param > ex: > {code:java} > {@TESTANNO def x-> } //wont retain @TESTANNO > {code} > {code:java} > {@TESTANNO Object x-> } //wont retain @TESTANNO > {code} > {code:java} > {@TESTANNO Integer x-> } //will retain @TESTANNO > {code} > {code:java} > {@TESTANNO def x, @TESTANNO def y-> }//will retain @TESTANNO on both x and y > {code} > > Attached a basic groovy script to demonstrate. > -- This message was sent by Atlassian Jira (v8.20.10#820010)