[ https://issues.apache.org/jira/browse/GROOVY-7879?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Paul King closed GROOVY-7879. ----------------------------- > Groovy calls wrong method if there is a static method on an interface > --------------------------------------------------------------------- > > Key: GROOVY-7879 > URL: https://issues.apache.org/jira/browse/GROOVY-7879 > Project: Groovy > Issue Type: Bug > Components: Compiler > Affects Versions: 2.4.7 > Reporter: Stefan Wolf > Assignee: Paul King > Fix For: 2.4.11 > > > If there is an interface having the static method {{foo}} and a class > {{Impl}} implementing this interface also having a static method {{foo}}, > then calling {{Impl.foo()}} calls the method on the interface. For an easy > self contained example have a look at > https://github.com/wolfs/groovy-static-interface-method-test/blob/master/src/test/groovy/StaticInterfaceTest.groovy. > This can yield class cast exceptions on Java 8 and from Java 9 build 125 > onwards this yields > {code} > java.lang.IncompatibleClassChangeError: Method ... must be InterfaceMethodref > constant > {code} > This verification has been introduced here: > https://bugs.openjdk.java.net/browse/JDK-8145148. -- This message was sent by Atlassian JIRA (v6.3.15#6346)