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(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(Object construct) |
boolean |
isReachable(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() |