int i = ByteArray.readU16bit(code, pos + 1); stackTypes[stackTop++] = new TypeData.UninitData(pos, cpool.getClassInfo(i)); return 3; } case Opcode.NEWARRAY :
int i = ByteArray.readU16bit(code, pos + 1); stackTypes[stackTop++] = new TypeData.UninitData(pos, cpool.getClassInfo(i)); return 3; } case Opcode.NEWARRAY :
int i = ByteArray.readU16bit(code, pos + 1); stackTypes[stackTop++] = new TypeData.UninitData(pos, cpool.getClassInfo(i)); return 3; } case Opcode.NEWARRAY :
int i = ByteArray.readU16bit(code, pos + 1); stackTypes[stackTop++] = new TypeData.UninitData(pos, cpool.getClassInfo(i)); return 3; } case Opcode.NEWARRAY :
int i = ByteArray.readU16bit(code, pos + 1); stackTypes[stackTop++] = new TypeData.UninitData(pos, cpool.getClassInfo(i)); return 3; } case Opcode.NEWARRAY :
int i = ByteArray.readU16bit(code, pos + 1); stackTypes[stackTop++] = new TypeData.UninitData(pos, cpool.getClassInfo(i)); return 3; } case Opcode.NEWARRAY :
public String toString() { return "uninit:" + getName() + "@" + offset; }
public UninitData copy() { return new UninitData(offset, getName()); }
public String toString() { return "uninit:" + getName() + "@" + offset; }
public String toString() { return "uninit:" + getName() + "@" + offset; }
public UninitData copy() { return new UninitData(offset, getName()); }
private int doInvokeMethod(int pos, byte[] code, boolean notStatic) throws BadBytecode { int i = ByteArray.readU16bit(code, pos + 1); String desc = cpool.getMethodrefType(i); checkParamTypes(desc, 1); if (notStatic) { String className = cpool.getMethodrefClassName(i); TypeData target = stackTypes[--stackTop]; if (target instanceof TypeData.UninitTypeVar && target.isUninit()) constructorCalled(target, ((TypeData.UninitTypeVar)target).offset()); else if (target instanceof TypeData.UninitData) constructorCalled(target, ((TypeData.UninitData)target).offset()); target.setType(className, classPool); } pushMemberType(desc); return 3; }
private int doInvokeMethod(int pos, byte[] code, boolean notStatic) throws BadBytecode { int i = ByteArray.readU16bit(code, pos + 1); String desc = cpool.getMethodrefType(i); checkParamTypes(desc, 1); if (notStatic) { String className = cpool.getMethodrefClassName(i); TypeData target = stackTypes[--stackTop]; if (target instanceof TypeData.UninitTypeVar && target.isUninit()) constructorCalled(target, ((TypeData.UninitTypeVar)target).offset()); else if (target instanceof TypeData.UninitData) constructorCalled(target, ((TypeData.UninitData)target).offset()); target.setType(className, classPool); } pushMemberType(desc); return 3; }
private int doInvokeMethod(int pos, byte[] code, boolean notStatic) throws BadBytecode { int i = ByteArray.readU16bit(code, pos + 1); String desc = cpool.getMethodrefType(i); checkParamTypes(desc, 1); if (notStatic) { String className = cpool.getMethodrefClassName(i); TypeData target = stackTypes[--stackTop]; if (target instanceof TypeData.UninitTypeVar && target.isUninit()) constructorCalled(target, ((TypeData.UninitTypeVar)target).offset()); else if (target instanceof TypeData.UninitData) constructorCalled(target, ((TypeData.UninitData)target).offset()); target.setType(className, classPool); } pushMemberType(desc); return 3; }
public UninitData copy() { return new UninitData(offset, getName()); }
public TypeData getSelf() { if (initialized) return copy(); else return this; }
public TypeData getSelf() { if (initialized) return copy(); else return this; }