You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "mgroovy (JIRA)" <ji...@apache.org> on 2018/09/06 18:08:00 UTC

[jira] [Created] (GROOVY-8777) @MapConstructor: Creating inner class instance => VerifyError: Bad type on operand stack CTE

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)