rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeParser.java
branchjdk8
changeset 1639 4b09a4b689a4
parent 1513 ba912ef24b27
child 1640 f61e9984adff
     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]);