protected abstract static class CFGBuilder.ExtendedNode extends Object
type
):
Node
(that
cannot throw exceptions).
Node
which can throw exceptions. It
contains a label for every possible exception type the node might throw.
Modifier and Type | Class and Description |
---|---|
static class |
CFGBuilder.ExtendedNode.ExtendedNodeType
Extended node types (description see above).
|
Modifier and Type | Field and Description |
---|---|
protected BlockImpl |
block
The basic block this extended node belongs to (as determined in phase two).
|
protected boolean |
terminatesExecution
Does this node terminate the execution? (e.g., "System.exit()")
|
protected CFGBuilder.ExtendedNode.ExtendedNodeType |
type
Type of this node.
|
Modifier | Constructor and Description |
---|---|
protected |
ExtendedNode(CFGBuilder.ExtendedNode.ExtendedNodeType type)
Create a new ExtendedNode.
|
Modifier and Type | Method and Description |
---|---|
BlockImpl |
getBlock() |
CFGBuilder.Label |
getLabel()
Returns the label associated with this extended node (only applicable if type is
CFGBuilder.ExtendedNode.ExtendedNodeType.CONDITIONAL_JUMP or CFGBuilder.ExtendedNode.ExtendedNodeType.UNCONDITIONAL_JUMP ). |
Node |
getNode()
Returns the node contained in this extended node (only applicable if the type is
NODE or EXCEPTION_NODE ). |
boolean |
getTerminatesExecution() |
CFGBuilder.ExtendedNode.ExtendedNodeType |
getType() |
void |
setBlock(BlockImpl b) |
void |
setTerminatesExecution(boolean terminatesExecution) |
String |
toString() |
protected BlockImpl block
protected final CFGBuilder.ExtendedNode.ExtendedNodeType type
protected boolean terminatesExecution
protected ExtendedNode(CFGBuilder.ExtendedNode.ExtendedNodeType type)
type
- the type of this nodepublic CFGBuilder.ExtendedNode.ExtendedNodeType getType()
public boolean getTerminatesExecution()
public void setTerminatesExecution(boolean terminatesExecution)
public Node getNode()
NODE
or EXCEPTION_NODE
).NODE
or EXCEPTION_NODE
)public CFGBuilder.Label getLabel()
CFGBuilder.ExtendedNode.ExtendedNodeType.CONDITIONAL_JUMP
or CFGBuilder.ExtendedNode.ExtendedNodeType.UNCONDITIONAL_JUMP
).CFGBuilder.ExtendedNode.ExtendedNodeType.CONDITIONAL_JUMP
or CFGBuilder.ExtendedNode.ExtendedNodeType.UNCONDITIONAL_JUMP
)public BlockImpl getBlock()
public void setBlock(BlockImpl b)