1.1 --- a/src/main/java/org/apidesign/java4browser/ByteCodeToJavaScript.java Wed Sep 19 20:22:12 2012 +0200
1.2 +++ b/src/main/java/org/apidesign/java4browser/ByteCodeToJavaScript.java Thu Sep 20 09:29:42 2012 +0200
1.3 @@ -376,6 +376,7 @@
1.4 i += 2;
1.5 break;
1.6 }
1.7 + case bc_invokeinterface:
1.8 case bc_invokevirtual:
1.9 i = invokeVirtualMethod(byteCodes, i);
1.10 break;
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2.2 +++ b/src/test/java/org/apidesign/java4browser/GetByte.java Thu Sep 20 09:29:42 2012 +0200
2.3 @@ -0,0 +1,9 @@
2.4 +/*
2.5 + * To change this template, choose Tools | Templates
2.6 + * and open the template in the editor.
2.7 + */
2.8 +package org.apidesign.java4browser;
2.9 +
2.10 +public interface GetByte {
2.11 + public byte getByte();
2.12 +}
3.1 --- a/src/test/java/org/apidesign/java4browser/Instance.java Wed Sep 19 20:22:12 2012 +0200
3.2 +++ b/src/test/java/org/apidesign/java4browser/Instance.java Thu Sep 20 09:29:42 2012 +0200
3.3 @@ -49,4 +49,8 @@
3.4 i2.setByte((byte)44);
3.5 return i.getByte() + i2.getByte();
3.6 }
3.7 + public static float interfaceBytes() {
3.8 + GetByte i = new InstanceSub(7, 2.2d);
3.9 + return i.getByte();
3.10 + }
3.11 }
4.1 --- a/src/test/java/org/apidesign/java4browser/InstanceSub.java Wed Sep 19 20:22:12 2012 +0200
4.2 +++ b/src/test/java/org/apidesign/java4browser/InstanceSub.java Thu Sep 20 09:29:42 2012 +0200
4.3 @@ -8,7 +8,7 @@
4.4 *
4.5 * @author Jaroslav Tulach <jtulach@netbeans.org>
4.6 */
4.7 -public class InstanceSub extends Instance {
4.8 +public class InstanceSub extends Instance implements GetByte {
4.9 public InstanceSub(int i, double d) {
4.10 super(i, d);
4.11 }
5.1 --- a/src/test/java/org/apidesign/java4browser/InstanceTest.java Wed Sep 19 20:22:12 2012 +0200
5.2 +++ b/src/test/java/org/apidesign/java4browser/InstanceTest.java Thu Sep 20 09:29:42 2012 +0200
5.3 @@ -42,6 +42,13 @@
5.4 Double.valueOf(55)
5.5 );
5.6 }
5.7 + @Test public void verifyInterfaceMethods() throws Exception {
5.8 + assertExec(
5.9 + "Retruns default value",
5.10 + "org_apidesign_java4browser_Instance_interfaceBytesF",
5.11 + Double.valueOf(31)
5.12 + );
5.13 + }
5.14
5.15 private static void assertExec(String msg, String methodName, Object expRes, Object... args) throws Exception {
5.16 StringBuilder sb = new StringBuilder();