You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Paul King (JIRA)" <ji...@apache.org> on 2018/09/08 00:19:00 UTC
[jira] [Updated] (GROOVY-8777) @MapConstructor with @CompileStatic:
Creating inner class instance => IncompatibleClassChangeError ... does not
implement the requested interface java.util.Map
[ https://issues.apache.org/jira/browse/GROOVY-8777?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Paul King updated GROOVY-8777:
------------------------------
Summary: @MapConstructor with @CompileStatic: Creating inner class instance => IncompatibleClassChangeError ... does not implement the requested interface java.util.Map (was: @MapConstructor: Creating inner class instance => IncompatibleClassChangeError ... does not implement the requested interface java.util.Map)
> @MapConstructor with @CompileStatic: Creating inner class instance => IncompatibleClassChangeError ... does not implement the requested interface java.util.Map
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> 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
> Priority: Minor
>
> {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)