101102103104105106107108
return doOpcode96_147(pos, code, op); else return doOpcode148_201(pos, code, op); } catch (ArrayIndexOutOfBoundsException e) { throw new BadBytecode("inconsistent stack height " + e.getMessage()); } }
254255256257258259260261262263264
break; case Opcode.AALOAD : { int s = --stackTop - 1; TypeData data = stackTypes[s]; if (data == null || !data.isObjectType()) throw new BadBytecode("bad AALOAD"); else stackTypes[s] = new TypeData.ArrayElement(data); break; } case Opcode.BALOAD :
404142434445464748
* * @param className dot-separated name unless the type is an array type. */ static void setType(TypeData td, String className, ClassPool cp) throws BadBytecode { if (td == TypeTag.TOP) throw new BadBytecode("unset variable"); else td.setType(className, cp); }
112113114115116117118
public String getName() { return name; } protected void setType(String s, ClassPool cp) throws BadBytecode { throw new BadBytecode("conflict: " + name + " and " + s); }
278279280281282283284285
} else return false; } catch (NotFoundException e) { throw new BadBytecode("cannot find " + e.getMessage()); } }
423424425426427428429430
} if (array.isNullType()) return "java.lang.Object"; else throw new BadBytecode("bad array type for AALOAD: " + name); }
488489490491492493494
String type = ArrayElement.typeName(array.getName()); value.setType(type, cp); } } else throw new BadBytecode("bad AASTORE: " + array); }
129130131132133134135
public String getName() { return name; } public void setType(String s, ClassPool cp) throws BadBytecode { throw new BadBytecode("conflict: " + name + " and " + s); }
510511512513514515516
return new ArrayType((AbsTypeVar)element); else if (element instanceof ClassName) if (!element.isNullType()) return new ClassName(typeName(element.getName())); throw new BadBytecode("bad AASTORE: " + element); }
573574575576577578579
return new ArrayElement((AbsTypeVar)array); else if (array instanceof ClassName) if (!array.isNullType()) return new ClassName(typeName(array.getName())); throw new BadBytecode("bad AASTORE: " + array); }