[ https://issues.apache.org/jira/browse/GROOVY-9005?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16773241#comment-16773241 ]
Eric Milles edited comment on GROOVY-9005 at 2/20/19 5:59 PM: -------------------------------------------------------------- Sure, I would like to see the bug fixed as well. Just trying to hone in on where exactly the bug lies. You could isolate the anonymous inner creation to a method. That could be tagged @CompileDynamic if needed. {code:groovy} @CompileStatic class A extends A1 { Map<String, Object> getInnerObject() { Map<String, Object> commands = getBaseMap() commands.put("name", newCallable()) return commands } // could be @CompileDynamic if needed Callable<String> newCallable() { new Callable<String>() { @Override String call() { getObject().toString() // can be qualified with "A.this." if needed, which may eliminate the error } } } } {code} was (Author: emilles): Sure, I would like to see the bug fixed as well. Just trying to hone in on where exactly the bug lies. You could isolate the anonymous inner creation to a method. That could be tagged @CompileDynamic if needed. {code:groovy} @CompileStatic class A extends A1 { Map<String, Object> getInnerObject() { Map<String, Object> commands = getBaseMap() commands.put("name", newCallable()) return commands } // could be @CompileDynamic if needed Callable<String> newCallable() { new Callable<String>() { @Override String call() { getObject().toString() // can be qualified with "A.this." if needed; this may eliminate the error } } } } {code} > SomeClass.groovy: -1: Access to java.lang.Object#this is forbidden @ line -1, > column -1 > --------------------------------------------------------------------------------------- > > Key: GROOVY-9005 > URL: https://issues.apache.org/jira/browse/GROOVY-9005 > Project: Groovy > Issue Type: Bug > Components: Static compilation > Affects Versions: 2.5.6 > Reporter: Devin Rosenbauer > Priority: Major > Attachments: GROOVY-9005.zip > > > I'm receiving the above error when attempting to compile certain classes that > have @CompileStatic on either the class or a method within a dynamically > compiled class. The project is a cross-compiled Java / Groovy project with > all classes of both types defined in the "groovy" structure. The error can be > reproduced when a Groovy class extends a Java class which extends a Groovy > class, then a method in the Java class is called from an inner class of the > Groovy class. > The simplest case I can derive to reproduce the failure is attached. > A is the class which fails to compile. A1 and A2 are the Java and Groovy > superclasses, respectively. -- This message was sent by Atlassian JIRA (v7.6.3#76005)