mgroovy created GROOVY-8777:
-------------------------------

             Summary: @MapConstructor: Creating inner class instance => 
VerifyError: Bad type on operand stack CTE
                 Key: GROOVY-8777
                 URL: https://issues.apache.org/jira/browse/GROOVY-8777
             Project: Groovy
          Issue Type: Bug
          Components: Compiler
    Affects Versions: 2.5.2
            Reporter: mgroovy


{code:java}
import groovy.transform.CompileStatic
import groovy.transform.MapConstructor

@CompileStatic // static bug only
class GroovyMapConstructorCheck {

    @MapConstructor(noArg = true)
    class Goo {
        final int x0

        @Override
        public String toString() {
            return "Goo(|$x0|)"
        }
    }

    void go() {
        println new Goo(x0:123)
    }
}

final check = new GroovyMapConstructorCheck()
check.go() 
{code}

throws

{quote}
java.lang.IncompatibleClassChangeError: Class GroovyMapConstructorCheck does 
not implement the requested interface java.util.Map

        at GroovyMapConstructorCheck$Goo.<init>(VerifyError - Bad type on 
operand stack 2 v1.groovy)

        at GroovyMapConstructorCheck.go(VerifyError - Bad type on operand stack 
2 v1.groovy:18)

        at GroovyMapConstructorCheck$go.call(Unknown Source)

        at VerifyError_-_Bad_type_on_operand_stack_2_v1.run(VerifyError - Bad 
type on operand stack 2 v1.groovy:23)
{quote}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to