Details
Description
This script:
interface Interface<SomeType> { public void handle(long a, SomeType x); } class InterfaceImpl implements Interface<String> { public void handle(long a, String something) { println(something); } } InterfaceImpl test = new InterfaceImpl() test.handle(5, "hi");
causes:
Caught: java.lang.VerifyError: (class: InterfaceImpl, method: handle signature: (JLjava/lang/Object;)V) Register 2 contains wrong type
at Test.class$(Test.groovy)
at Test.$get$$class$InterfaceImpl(Test.groovy)
at Test.run(Test.groovy:12)
Activity
Guillaume Laforge
made changes -
| Field | Original Value | New Value |
|---|---|---|
| Assignee | Jochen Theodorou [ blackdrag ] |
Guillaume Laforge
made changes -
| Fix Version/s | 1.8.1 [ 17223 ] | |
| Fix Version/s | 1.9-beta-1 [ 17153 ] |
Guillaume Laforge
made changes -
| Description |
This script:
interface Interface<SomeType> { public void handle(long a, SomeType x); } class InterfaceImpl implements Interface<String> { public void handle(long a, String something) { println(something); } } InterfaceImpl test = new InterfaceImpl() test.handle(5, "hi"); causes: Caught: java.lang.VerifyError: (class: InterfaceImpl, method: handle signature: (JLjava/lang/Object;)V) Register 2 contains wrong type at Test.class$(Test.groovy) at Test.$get$$class$InterfaceImpl(Test.groovy) at Test.run(Test.groovy:12) |
This script:
{code} interface Interface<SomeType> { public void handle(long a, SomeType x); } class InterfaceImpl implements Interface<String> { public void handle(long a, String something) { println(something); } } InterfaceImpl test = new InterfaceImpl() test.handle(5, "hi"); {code} causes: {code} Caught: java.lang.VerifyError: (class: InterfaceImpl, method: handle signature: (JLjava/lang/Object;)V) Register 2 contains wrong type at Test.class$(Test.groovy) at Test.$get$$class$InterfaceImpl(Test.groovy) at Test.run(Test.groovy:12) {code} |
blackdrag blackdrag
made changes -
| Fix Version/s | 1.9-beta-1 [ 17153 ] | |
| Affects Version/s | 1.7.10 [ 17229 ] |
blackdrag blackdrag
made changes -
| Status | Open [ 1 ] | Closed [ 6 ] |
| Fix Version/s | 1.7.11 [ 17244 ] | |
| Resolution | Fixed [ 1 ] |
looks like the bridge method creation code does simply ignore double and long taking two slots