[
https://issues.apache.org/jira/browse/GROOVY-9252?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16930249#comment-16930249
]
Radoslav Ivanov commented on GROOVY-9252:
-----------------------------------------
A casting to the class somehow workarounds the issue:
{code:java}
list.each {
myClass.myField = ((MyClass) myClass).myField
}
{code}
> -1: Access to java.lang.Object#myFieldis forbidden @ line -1, column -1.
> ------------------------------------------------------------------------
>
> Key: GROOVY-9252
> URL: https://issues.apache.org/jira/browse/GROOVY-9252
> Project: Groovy
> Issue Type: Bug
> Affects Versions: 2.5.8
> Reporter: Radoslav Ivanov
> Priority: Critical
>
> Please advise with that problematic code (note it is working on 2.4.15
> perfectly but not on 2.5.8):
> {code:java}
> public class MyClass {
> public boolean myField
> }
> MyClass myClass = new MyClass()
> List list = new ArrayList()
> list.each {
> myClass.myField = myClass.myField
> }
> {code}
>
> Why I get an error that access to myField is forbidden:
> {code:java}
> org.codehaus.groovy.control.MultipleCompilationErrorsException: startup
> failed:
> -1: Access to java.lang.Object#myField is forbidden @ line -1, column -1.
> 1 error
> "[email protected]//org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:311)
> "[email protected]//org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:1091)
> "[email protected]//org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:634)
> "[email protected]//org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:612)
> "[email protected]//org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:589)
> "[email protected]//groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:401)
> "[email protected]//groovy.lang.GroovyClassLoader.access$300(GroovyClassLoader.java:89)
> "[email protected]//groovy.lang.GroovyClassLoader$5.provide(GroovyClassLoader.java:341)
> "[email protected]//groovy.lang.GroovyClassLoader$5.provide(GroovyClassLoader.java:338)
> "[email protected]//org.codehaus.groovy.runtime.memoize.ConcurrentCommonCache.getAndPut(ConcurrentCommonCache.java:147)
> "[email protected]//groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:336)
> "[email protected]//groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:320)
> "[email protected]//groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:262)
> "[email protected]//groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:272)
> {code}
>
>
--
This message was sent by Atlassian Jira
(v8.3.2#803003)