Code code = method.getCode();
if (code == null) {
return null;
}
StackMapTable stackMapTable = getStackMapTable(code);
if (stackMapTable == null) {
return null;
}
Map<Integer, List<Item>> jumpEntries = new HashMap<Integer, List<Item>>();
Map<Integer, List<Item>> jumpStackEntries = new HashMap<Integer, List<Item>>();
List<Item> locals = getInitialLocals(descriptor);
List<Item> stack = new ArrayList<Item>();
BitSet jumpEntryLocations = new BitSet();
if (DEBUG) {
System.out.println(descriptor);
System.out.println(locals);
}
int pc = 0;
for(StackMapTableEntry e : stackMapTable.getStackMapTable()) {
pc += e.getByteCodeOffsetDelta();
StackFrameType stackFrameType = StackFrameType.get(getFrameType(e));
switch (stackFrameType) {
case SAME_FRAME:
stack.clear();