public void inArrayRef(ArrayRef ar) { Value index = ar.getIndex(); if (index instanceof Local) { info.setHeuristic((Local) index, infoGatheringAnalysis.ARRAYINDEX); } }
if (key instanceof ArrayRef) { Value base = ((ArrayRef) key).getBase(); Value index = ((ArrayRef) key).getIndex();
private void handleArrayRef(ArrayRef ar, Stmt stmt) { ar.setIndex(this.uv.visit(ar.getIndex(), IntType.v(), stmt)); }
public boolean equivTo(Object o) { if (o instanceof ArrayRef) { return (getBase().equivTo(((ArrayRef) o).getBase()) && getIndex().equivTo(((ArrayRef) o).getIndex())); } return false; }
public void caseArrayRef(ArrayRef v) { ((ConvertToBaf) (v.getBase())).convertToBaf(context, out); ((ConvertToBaf) (v.getIndex())).convertToBaf(context, out); ((ConvertToBaf) rvalue).convertToBaf(context, out); Unit u = Baf.v().newArrayWriteInst(v.getType()); u.addAllTagsOf(JAssignStmt.this); out.add(u); }
public void caseArrayRef(ArrayRef v) { String oldName = varName; Value base = v.getBase(); suggestVariableName("base"); String baseName = varName; base.apply(this); Value index = v.getIndex(); suggestVariableName("index"); String indexName = varName; index.apply(this); p.println("Value " + oldName + " = Jimple.v().newArrayRef(" + baseName + ", " + indexName + ");"); varName = oldName; }
public void caseArrayRef(ArrayRef ref) { result = result.add(mgr.NULL_POINTER_EXCEPTION); result = result.add(mgr.ARRAY_INDEX_OUT_OF_BOUNDS_EXCEPTION); result = result.add(mightThrow(ref.getBase())); result = result.add(mightThrow(ref.getIndex())); }
Value index = (op).getIndex();
private Insn buildArrayGetInsn(Register destinationReg, ArrayRef sourceRef) { Value index = sourceRef.getIndex(); Register indexReg = regAlloc.asImmediate(index, constantV); Local array = (Local) sourceRef.getBase(); Register arrayReg = regAlloc.asLocal(array); String arrayTypeDescriptor = SootToDexUtils.getArrayTypeDescriptor((ArrayType) array.getType()); Opcode opc = getPutGetOpcodeWithTypeSuffix(AGET_OPCODE, arrayTypeDescriptor); return new Insn23x(opc, destinationReg, arrayReg, indexReg); }
private Insn buildArrayPutInsn(ArrayRef destRef, Value source) { Local array = (Local) destRef.getBase(); Register arrayReg = regAlloc.asLocal(array); Value index = destRef.getIndex(); Register indexReg = regAlloc.asImmediate(index, constantV); Register sourceReg = regAlloc.asImmediate(source, constantV); String arrayTypeDescriptor = SootToDexUtils.getArrayTypeDescriptor((ArrayType) array.getType()); Opcode opc = getPutGetOpcodeWithTypeSuffix(APUT_OPCODE, arrayTypeDescriptor); return new Insn23x(opc, sourceReg, arrayReg, indexReg); }
public void caseArrayRef(ArrayRef v) { emitValue(v.getBase()); emitValue(v.getIndex());
Value index = aref.getIndex();
public void caseArrayRef(ArrayRef v) { emitValue(v.getBase()); emitValue(v.getIndex()); emitValue(rvalue);
walk_value(a, ar.getIndex()); a.analyseArrayRef(ar); } else if (r instanceof InstanceFieldRef) {