Artsiom Matronkin created GROOVY-8930:
-----------------------------------------

             Summary: JVM verification fails when using static interface method 
from inside CompileStatic groovy
                 Key: GROOVY-8930
                 URL: https://issues.apache.org/jira/browse/GROOVY-8930
             Project: Groovy
          Issue Type: Bug
    Affects Versions: 2.5.4
            Reporter: Artsiom Matronkin
         Attachments: Caller.groovy, JavaInterface.class, JavaInterface.java

Create and compile java interface containing static method using JDK8
{code:java}
public interface JavaInterface
{
  static int doSmth()
  {
    return 42;
  }
}
{code}
 javac JavaInterface.java

 

Open groovyConsole (2.5.4), add folder where JavaInterface.class is located to 
classpath and paste following script

 
{code:java}
import groovy.transform.CompileStatic
import static JavaInterface.doSmth

@CompileStatic
void doCall()
{
  println doSmth()
}
{code}
 

 

Compile and Run the script in groovyConsole. The result is JVM verification 
failure:
{noformat}
java.lang.VerifyError: Illegal type at constant pool entry 51 in class Caller
Exception Details:
Location:
Caller.doCall()V @4: invokestatic
Reason:
Constant pool index 51 is invalid{noformat}
Best Regards

Artsiom

 



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

Reply via email to