1.1 --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeParser.java Wed Apr 30 15:04:10 2014 +0200
1.2 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeParser.java Thu Jun 26 23:54:17 2014 +0200
1.3 @@ -58,6 +58,9 @@
1.4 public static final int CONSTANT_METHOD = 10;
1.5 public static final int CONSTANT_INTERFACEMETHOD = 11;
1.6 public static final int CONSTANT_NAMEANDTYPE = 12;
1.7 + public static final int CONSTANT_METHODHANDLE = 15;
1.8 + public static final int CONSTANT_METHODTYPE = 16;
1.9 + public static final int CONSTANT_INVOKEDYNAMIC = 18;
1.10
1.11 /* Access Flags */
1.12 public static final int ACC_PUBLIC = 0x00000001;
1.13 @@ -668,7 +671,17 @@
1.14 case CONSTANT_NAMEANDTYPE:
1.15 cpool[i] = new CPX2(in.readUnsignedShort(), in.readUnsignedShort());
1.16 break;
1.17 -
1.18 + case CONSTANT_METHODHANDLE:
1.19 + in.readByte();
1.20 + in.readUnsignedShort();
1.21 + break;
1.22 + case CONSTANT_METHODTYPE:
1.23 + in.readUnsignedShort();
1.24 + break;
1.25 + case CONSTANT_INVOKEDYNAMIC:
1.26 + in.readUnsignedShort();
1.27 + in.readUnsignedShort();
1.28 + break;
1.29 case 0:
1.30 default:
1.31 throw new ClassFormatError("invalid constant type: " + (int) tags[i]);