Shil Sinha created GROOVY-7610: ---------------------------------- Summary: Null safe is call throws VerifyError when used as condition with CompileStatic Key: GROOVY-7610 URL: https://issues.apache.org/jira/browse/GROOVY-7610 Project: Groovy Issue Type: Bug Components: Static compilation Affects Versions: 2.4.5, 2.4.4 Environment: OS X 10.10, JDK 1.8.0_60
Reporter: Shil Sinha Assignee: Cédric Champeau Here's an example: {code} import groovy.transform.CompileStatic @CompileStatic class A { void ifCondition(Object x, Object y) { if (x?.is(y)) return } void ternaryCondition(Object x, Object y) { x?.is(y) ? 'foo' : 'bar' } } new A() {code} The above code throws the following error: {code} java.lang.VerifyError: (class: A, method: ternaryCondition signature (Ljava/lang/Object;Ljava/lang/Object;)V) Expecting to find object/array on stack {code} This appears to be caused by the ?.is call expression being transformed to a CompareIdentityExpression, which is semantically different. -- This message was sent by Atlassian JIRA (v6.3.4#6332)