diff --git a/output.txt b/output.txt index 39e2f69be..c226cb71f 100644 --- a/output.txt +++ b/output.txt @@ -1 +1 @@ -After. +After. diff --git a/src/main/gov/nasa/jpf/jvm/ClassFile.java b/src/main/gov/nasa/jpf/jvm/ClassFile.java index d6f7195aa..5679a1286 100644 --- a/src/main/gov/nasa/jpf/jvm/ClassFile.java +++ b/src/main/gov/nasa/jpf/jvm/ClassFile.java @@ -43,6 +43,9 @@ public class ClassFile extends BinaryClassSource { public static final int METHOD_REF = 10; public static final int INTERFACE_METHOD_REF = 11; public static final int NAME_AND_TYPE = 12; + // Java 9 tags introduced for module and package info + public static final int CONSTANT_MODULE = 19; // module_info entry + public static final int CONSTANT_PACKAGE = 20; // package_info entry public static final int METHOD_HANDLE = 15; public static final int METHOD_TYPE = 16; public static final int INVOKE_DYNAMIC = 18; @@ -83,7 +86,9 @@ public static enum CpInfo { MethodHandle, // 15 MethodType, // 16 Unused_17, - InvokeDynamic // 18 + InvokeDynamic, // 18 + ConstantModule, // 19 + ConstantPackage // 20 } // <2do> this is going away @@ -1153,6 +1158,18 @@ protected void parseCp(int cpCount) throws ClassParseException { values[i] = CpInfo.InvokeDynamic; j += 5; break; + + case CONSTANT_MODULE: // Module_info { u1 tag; u2 name_index; } + dataIdx[i] = j; + values[i] = CpInfo.ConstantModule; + j += 3; + break; + + case CONSTANT_PACKAGE: // Package_info { u1 tag; u2 name_index; } + dataIdx[i] = j; + values[i] = CpInfo.ConstantPackage; + j += 3; + break; default: error("illegal constpool tag: " + data[j]); @@ -1165,8 +1182,9 @@ protected void parseCp(int cpCount) throws ClassParseException { for (int i=1; i