[ 
https://issues.apache.org/jira/browse/GROOVY-7969?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15571138#comment-15571138
 ] 

ASF GitHub Bot commented on GROOVY-7969:
----------------------------------------

Github user paulk-asert closed the pull request at:

    https://github.com/apache/groovy/pull/448


> Incorrect modifers on setter for volatile property with @Bindable/@Vetoable
> ---------------------------------------------------------------------------
>
>                 Key: GROOVY-7969
>                 URL: https://issues.apache.org/jira/browse/GROOVY-7969
>             Project: Groovy
>          Issue Type: Bug
>            Reporter: Paul King
>            Assignee: Paul King
>             Fix For: 2.4.8
>
>
> As part of GROOVY-3726 we fixed getter/setter method modifiers for volatile 
> (or transient) properties. The @Bindable and @Vetoable transforms however 
> generate their own setters and bypass that fix.
> Here is a script to reproduce the problem:
> {code}
> import static java.lang.reflect.Modifier.toString
> import groovy.beans.Bindable
> class Foo {
>   volatile Date now
> }
> @Bindable class Bar {
>   volatile Date then
> }
> void pretty(int mod) { println "${mod.toString().padRight(10)}" + 
> toString(mod) }
> pretty(Foo.getMethod('getNow').modifiers)
> pretty(Foo.getMethod('setNow', Date).modifiers)
> pretty(Bar.getMethod('getThen').modifiers)
> pretty(Bar.getMethod('setThen', Date).modifiers)
> {code}
> which currently produces:
> {noformat}
> 1         public
> 1         public
> 1         public
> 65        public volatile
> {noformat}



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

Reply via email to