public final class DexCFG.BasicBlock extends NodeWithNumber implements IBasicBlock<Instruction>
Constructor and Description |
---|
BasicBlock(int startIndex) |
Modifier and Type | Method and Description |
---|---|
protected void |
addExceptionalEdges(Instruction last)
Add any exceptional edges generated by the last instruction in a basic block.
|
boolean |
equals(Object o) |
int |
getFirstInstructionIndex()
Get the index of the first instruction in the basic block.
|
Collection<TypeReference> |
getImplicitExceptionTypes(Instruction pei) |
int |
getLastInstructionIndex()
Get the index of the last instruction in the basic block.
|
IMethod |
getMethod() |
int |
getNumber()
Each basic block should have a unique number in its cfg
|
int |
hashCode() |
boolean |
isCatchBlock()
Return true if the basic block represents a catch block.
|
boolean |
isEntryBlock()
Return true if the basic block represents the unique entry block.
|
boolean |
isExitBlock()
Return true if the basic block represents the unique exit block.
|
Iterator<Instruction> |
iterator() |
String |
toString() |
getGraphNodeId, setGraphNodeId
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
getGraphNodeId, setGraphNodeId
forEach, spliterator
public boolean isCatchBlock()
IBasicBlock
isCatchBlock
in interface IBasicBlock<Instruction>
protected void addExceptionalEdges(Instruction last)
last
- the last instruction in a basic block.public Collection<TypeReference> getImplicitExceptionTypes(Instruction pei)
pei
- a potentially-excepting instructionIllegalArgumentException
- if pei is nullpublic int getLastInstructionIndex()
IBasicBlock
getLastInstructionIndex
in interface IBasicBlock<Instruction>
public int getFirstInstructionIndex()
IBasicBlock
getFirstInstructionIndex
in interface IBasicBlock<Instruction>
public boolean isExitBlock()
IBasicBlock
isExitBlock
in interface IBasicBlock<Instruction>
public boolean isEntryBlock()
IBasicBlock
isEntryBlock
in interface IBasicBlock<Instruction>
public IMethod getMethod()
getMethod
in interface IBasicBlock<Instruction>
public int getNumber()
IBasicBlock
getNumber
in interface IBasicBlock<Instruction>
public Iterator<Instruction> iterator()
iterator
in interface Iterable<Instruction>