package com.coderising.jvm.attr; import com.coderising.jvm.loader.ByteCodeIterator; public class StackMapTable extends AttributeInfo{ private String originalCode; public StackMapTable(int attrNameIndex, int attrLen) { super(attrNameIndex, attrLen); } public static StackMapTable parse(ByteCodeIterator iter){ int nameIndex = iter.nextU2ToInt(); int attrLen = iter.nextU4ToInt(); StackMapTable t = null; t = new StackMapTable(nameIndex,attrLen); //后面的StackMapTable太过复杂, 不再处理, 只把原始的代码读进来保存 String code = iter.nextUxToHexString(attrLen); t.setOriginalCode(code); return t; } private void setOriginalCode(String code) { this.originalCode = code; } public String getOriginalCode() { return originalCode; } }