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

Pavel Lobodinský commented on GROOVY-11144:
-------------------------------------------

Thanks for explaining!

I would still appreciate some sort of warning log though, informing about a 
potential ambiguity.

The way it is currently, users don't know about this potential issue in the 
code. The compiler is silent, the IDE too, and one meets the problem during 
runtime.

> MissingPropertyEx when accessing private static field in closure of same class
> ------------------------------------------------------------------------------
>
>                 Key: GROOVY-11144
>                 URL: https://issues.apache.org/jira/browse/GROOVY-11144
>             Project: Groovy
>          Issue Type: Bug
>          Components: groovy-runtime
>    Affects Versions: 4.0.13
>         Environment: Windows 10, Groovy 4.0.13, Java 17.0.8
>            Reporter: Andreas Turban
>            Assignee: Eric Milles
>            Priority: Major
>             Fix For: 5.0.0-alpha-1
>
>         Attachments: Test.groovy
>
>
> When accessing a private static final field from a Closure within the same 
> class Groovy 4 throws a MissingPropertyException. The code works in Groovy 
> 2.5.22 & 3.0.18.
> The real instance of the object needs to be a subtype of the class containing 
> the constant.
> See attached code to reproduce.
> *Expected behavior:*
> The code runs without error
> *Actual behavior:*
> Groovy 4 throws:
> {{groovy.lang.MissingPropertyException: No such property: field for class: 
> FirstEvent}}
> {{    at BaseEvent$_init_closure1.doCall(Test.groovy:7)}}
> {{    at BaseEvent.init(Test.groovy:7)}}
> {{    at Test.run(Test.groovy:15)}}
> *Notes:*
> Interestingly if you remove the static keyword from {color:#0033b3}private 
> static final {color}{color:#000000}String {color}{color:#871094}field 
> {color}= {color:#067d17}"name"{color}
> it fails in all three versions 2.5.22, 3.0.18 & 4.0.13 with a 
> {{{}MissingPropertyException{}}}.
> I would expect that the code should also work for these cases.
>  
> The problem came up in a discussion about a Spock issue 
> [#1544|https://github.com/spockframework/spock/issues/1544].



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to