All Methods Instance Methods Concrete Methods
Modifier and Type |
Method and Description |
UnreachableCodeFinder.UnreachableCodeFlowSet |
cloneFlowSet(DavaFlowSet flowSet)
Make a clone of the flowset The implementor should know when they want a
shallow or deep clone
|
DavaFlowSet |
emptyFlowSet() |
DavaFlowSet |
handleBreak(java.lang.String label,
DavaFlowSet output,
ASTNode node)
Need to handleBreak stmts There can be explicit breaks (in which case
label is non null) There can always be implicit breaks ASTNode is non
null
|
DavaFlowSet |
ifNotReachableReturnInputElseProcessBodyAndReturnTrue(ASTNode node,
DavaFlowSet input) |
boolean |
isConstructReachable(java.lang.Object construct) |
boolean |
isReachable(java.lang.Object input) |
DavaFlowSet |
newInitialFlow() |
DavaFlowSet |
processAbruptStatements(Stmt s,
DavaFlowSet input)
Whenever a statement has to be processed the first step is to invoke this
method.
|
DavaFlowSet |
processASTDoWhileNode(ASTDoWhileNode node,
DavaFlowSet input) |
DavaFlowSet |
processASTForLoopNode(ASTForLoopNode node,
DavaFlowSet input) |
DavaFlowSet |
processASTIfElseNode(ASTIfElseNode node,
DavaFlowSet input) |
DavaFlowSet |
processASTIfNode(ASTIfNode node,
DavaFlowSet input) |
DavaFlowSet |
processASTLabeledBlockNode(ASTLabeledBlockNode node,
DavaFlowSet input) |
DavaFlowSet |
processASTStatementSequenceNode(ASTStatementSequenceNode node,
DavaFlowSet input) |
DavaFlowSet |
processASTSwitchNode(ASTSwitchNode node,
DavaFlowSet input) |
DavaFlowSet |
processASTSynchronizedBlockNode(ASTSynchronizedBlockNode node,
DavaFlowSet input) |
DavaFlowSet |
processASTTryNode(ASTTryNode node,
DavaFlowSet input) |
DavaFlowSet |
processASTUnconditionalLoopNode(ASTUnconditionalLoopNode node,
DavaFlowSet input) |
DavaFlowSet |
processASTWhileNode(ASTWhileNode node,
DavaFlowSet input) |
DavaFlowSet |
processStatement(Stmt s,
DavaFlowSet input)
Specific stmts within AST Constructs are processed through this method.
|
DavaFlowSet |
processSwitchKey(Value key,
DavaFlowSet input)
Deal with the key in the switch construct
|
DavaFlowSet |
processSynchronizedLocal(Local local,
DavaFlowSet input)
To deal with the local used for synch blocks
|
DavaFlowSet |
processUnaryBinaryCondition(ASTUnaryBinaryCondition cond,
DavaFlowSet input)
To have maximum flexibility in analyzing conditions the analysis API
breaks down the aggregated conditions to simple unary or binary
conditions user defined code can then deal with each condition
separately.
|
void |
setMergeType() |