if((inst instanceof ALOAD) && ((ALOAD)inst).getIndex() == varIndex) { ih = ih.getNext(); if(ih == null || !(ih.getInstruction() instanceof ATHROW)) {
loadedStackValue = loadInst.getIndex();
/** Checks if the constraints of operands of the said instruction(s) are satisfied. */ public void visitALOAD(ALOAD o){ int idx = o.getIndex(); if (idx < 0){ constraintViolated(o, "Index '"+idx+"' must be non-negative."); } else{ int maxminus1 = max_locals()-1; if (idx > maxminus1){ constraintViolated(o, "Index '"+idx+"' must not be greater than max_locals-1 '"+maxminus1+"'."); } } }
/** Checks if the constraints of operands of the said instruction(s) are satisfied. */ @Override public void visitALOAD(final ALOAD o) { final int idx = o.getIndex(); if (idx < 0) { constraintViolated(o, "Index '"+idx+"' must be non-negative."); } else{ final int maxminus1 = max_locals()-1; if (idx > maxminus1) { constraintViolated(o, "Index '"+idx+"' must not be greater than max_locals-1 '"+maxminus1+"'."); } } }
/** Symbolically executes the corresponding Java Virtual Machine instruction. */ @Override public void visitALOAD(final ALOAD o) { stack().push(locals().get(o.getIndex())); } /** Symbolically executes the corresponding Java Virtual Machine instruction. */
/** Symbolically executes the corresponding Java Virtual Machine instruction. */ public void visitALOAD(ALOAD o){ stack().push(locals().get(o.getIndex())); } /** Symbolically executes the corresponding Java Virtual Machine instruction. */
protected static String getField(Type target, String name, Type ret, Type[] args) throws ClassNotFoundException { final JavaClass clazz = Repository.lookupClass(target.toString()); for (Method method : clazz.getMethods()) { if (method.getName().equals(name) && method.getSignature().equals(Type.getMethodSignature(ret, args))) { final Code code = method.getCode(); final Instruction[] instructions = new InstructionList(code.getCode()).getInstructions(); if (instructions.length != 3) throw new Error("Method " + method + " does not have exactly three instruction!"); if (!(instructions[0] instanceof ALOAD) || (((ALOAD) instructions[0]).getIndex() != 0)) throw new Error(); if (!(instructions[instructions.length - 1] instanceof ReturnInstruction)) throw new Error(); final ConstantPoolGen constantPoolGen = new ConstantPoolGen(method.getConstantPool()); final GETFIELD get = ((GETFIELD) instructions[1]); return get.getFieldName(constantPoolGen); } } throw new Error(); }
if (!(instructions[0] instanceof ALOAD) || (((ALOAD) instructions[0]).getIndex() != 0)) throw new Error(); if (!(instructions[instructions.length - 1] instanceof ReturnInstruction)) throw new Error();
if((inst instanceof ALOAD) && ((ALOAD)inst).getIndex() == varIndex) { ih = ih.getNext(); if(ih == null || !(ih.getInstruction() instanceof ATHROW)) {
loadedStackValue = loadInst.getIndex();