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

Devin Rosenbauer commented on GROOVY-9005:
------------------------------------------

More information:

It appears that the anonymous inner class's method compiles fine if the type is 
given as simply "def" rather than a Java type. So this (with my actual 
application class) compiles:

{code:java}
        commands.put("name", new Command() {
            @Override
            def execute() {
                def someValue = getObject().toString()
                return someValue
            }
        })
{code}

And this does not:

{code:java}
        commands.put("name", new Command() {
            @Override
            Object execute() {
                def someValue = getObject().toString()
                return someValue
            }
        })
{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)

Reply via email to