[ https://issues.apache.org/jira/browse/BCEL-187?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jérôme Leroux updated BCEL-187: ------------------------------- Attachment: BCEL-187-tests-src.zip Attach zip with: * Java sources for test for BCEL-187 Here the sources used to generate the classfile test cases. > Verification error when an invoke references a method defined in superclass > --------------------------------------------------------------------------- > > Key: BCEL-187 > URL: https://issues.apache.org/jira/browse/BCEL-187 > Project: Commons BCEL > Issue Type: Bug > Components: Verifier > Affects Versions: 5.2 > Reporter: Jérôme Leroux > Fix For: 6.0 > > Attachments: BCEL-187-tests-src.zip, BCEL-187.patch, BCEL-187.zip > > > Assuming a class A with a method foo() and a class B subclass of A. If an > invoke opcode references the method B.foo() then the bytecode verifier raises > an error with the following error message: > {quote} > Referenced method 'foo' with expected signature '()void' not found in class > 'B'. The native verifier does allow the method to be declared in some > superinterface, which the Java Virtual Machine Specification, Second Edition > does not. > {quote} > I can't find where in the _Java Virtual Machine Specification, Second > Edition_ this restriction is defined. > The verification of the bytecode generated by the following code fails: > {code:java} > public class TestLegalInvokeInterface01{ > public static void test1(Interface01 t){ > t.run(); > } > } > interface Interface01 extends Runnable { > > } > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)