[ https://issues.apache.org/jira/browse/GROOVY-5961?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16815515#comment-16815515 ]
Eric Milles commented on GROOVY-5961: ------------------------------------- Same issue exists for anon. inner that access field of super: {code:groovy} abstract class A { abstract def method(key) protected Map map = [:] } @CompileStatic class C { static void test() { def anon = new A() { public def method(key) { map.get(key) // Apparent variable 'map' was found in a static scope but doesn't refer to a local variable, static field or class. } } } } {code} > Variable scope not checked properly for AIC in static method > ------------------------------------------------------------ > > Key: GROOVY-5961 > URL: https://issues.apache.org/jira/browse/GROOVY-5961 > Project: Groovy > Issue Type: Sub-task > Components: Compiler > Affects Versions: 2.1.0 > Reporter: Cédric Champeau > Priority: Major > > The following code will fail: > {code} > static void foo() { > new LinkedList() { > int index > Object get(int i) { super.get(index++) } > } > } > {code} > The error is: > {noformat} > Apparent variable 'index' was found in a static scope but doesn't refer to a > local variable, static field or class. Possible causes: > You attempted to reference a variable in the binding or an instance variable > from a static context. > You misspelled a classname or statically imported field. Please check the > spelling. > You attempted to use a method 'index' but left out brackets in a place not > allowed by the grammar. > at line: 5, column: 39 > {noformat} > But obviously, {{index}} is not accessed from a static context here. -- This message was sent by Atlassian JIRA (v7.6.3#76005)