You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Nick Stokoe (JIRA)" <ji...@apache.org> on 2016/11/03 17:26:58 UTC
[jira] [Created] (GROOVY-7989) VerifyError when calling protected
method #clone()
Nick Stokoe created GROOVY-7989:
-----------------------------------
Summary: VerifyError when calling protected method #clone()
Key: GROOVY-7989
URL: https://issues.apache.org/jira/browse/GROOVY-7989
Project: Groovy
Issue Type: Bug
Components: Static compilation
Affects Versions: 2.4.7, 2.4.5
Environment: Ubuntu Precise
x86_64 arch
Java 1.8.0_91
Reporter: Nick Stokoe
Running this demo code reproduces the error:
{code}
import groovy.transform.CompileStatic
@CompileStatic
class Foo {
static {
List list = []
list.clone()
}
}
{code}
This works when @CompileStatic is off, but when it is on, the compiler throws. It seems suspiciously low level - yes, Map#clone is protected and therefore inaccessible in this context, but obviously one would want something more user-friendly than this, not least because it doesn't indicate *where* the error is, so finding it can be tricky:
{code}
Caught: java.lang.VerifyError: (class: Foo, method: <clinit> signature: ()V) Bad access to protected data
java.lang.VerifyError: (class: Foo, method: <clinit> signature: ()V) Bad access to protected data
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)