Methods Summary |
---|
public CodeAddress | getEnd(com.android.dx.rop.code.BasicBlock block)Gets the instance for the end (address after the final instruction)
of the given block.
return ends[block.getLabel()];
|
public CodeAddress | getEnd(int label)Gets the instance for the end (address after the final instruction)
of the block with the given label.
return ends[label];
|
public CodeAddress | getLast(com.android.dx.rop.code.BasicBlock block)Gets the instance for the final instruction of the given block.
return lasts[block.getLabel()];
|
public CodeAddress | getLast(int label)Gets the instance for the final instruction of the block with
the given label.
return lasts[label];
|
public CodeAddress | getStart(com.android.dx.rop.code.BasicBlock block)Gets the instance for the start of the given block.
return starts[block.getLabel()];
|
public CodeAddress | getStart(int label)Gets the instance for the start of the block with the given label.
return starts[label];
|
private void | setupArrays(com.android.dx.rop.code.RopMethod method)Sets up the address arrays.
BasicBlockList blocks = method.getBlocks();
int sz = blocks.size();
for (int i = 0; i < sz; i++) {
BasicBlock one = blocks.get(i);
int label = one.getLabel();
Insn insn = one.getInsns().get(0);
starts[label] = new CodeAddress(insn.getPosition());
SourcePosition pos = one.getLastInsn().getPosition();
lasts[label] = new CodeAddress(pos);
ends[label] = new CodeAddress(pos);
}
|