public class ClosestAbruptTargetFinder extends DepthFirstAdapter
DEBUG| Constructor and Description |
|---|
ClosestAbruptTargetFinder(Singletons.Global g) |
| Modifier and Type | Method and Description |
|---|---|
ASTNode |
getTarget(DAbruptStmt ab)
To be invoked by other analyses.
|
void |
inASTDoWhileNode(ASTDoWhileNode node) |
void |
inASTForLoopNode(ASTForLoopNode node) |
void |
inASTSwitchNode(ASTSwitchNode node) |
void |
inASTUnconditionalLoopNode(ASTUnconditionalLoopNode node) |
void |
inASTWhileNode(ASTWhileNode node)
Following methods add a new node to the end of the nodeStack arrayList
Since that node becomes the closest target of an implicit break or continue
|
void |
inStmt(Stmt s) |
void |
outASTDoWhileNode(ASTDoWhileNode node) |
void |
outASTForLoopNode(ASTForLoopNode node) |
void |
outASTSwitchNode(ASTSwitchNode node) |
void |
outASTUnconditionalLoopNode(ASTUnconditionalLoopNode node) |
void |
outASTWhileNode(ASTWhileNode node)
Following methods remove the last node from the end of the nodeStack arrayList
Since the previous node now becomes the closest target to an implicit break or continue
|
static ClosestAbruptTargetFinder |
v() |
caseArrayRef, caseASTAndCondition, caseASTBinaryCondition, caseASTDoWhileNode, caseASTForLoopNode, caseASTIfElseNode, caseASTIfNode, caseASTLabeledBlockNode, caseASTMethodNode, caseASTOrCondition, caseASTStatementSequenceNode, caseASTSwitchNode, caseASTSynchronizedBlockNode, caseASTTryNode, caseASTUnaryCondition, caseASTUnconditionalLoopNode, caseASTWhileNode, caseBinopExpr, caseCastExpr, caseDefinitionStmt, caseDVariableDeclarationStmt, caseExpr, caseExprOrRefValueBox, caseInstanceFieldRef, caseInstanceInvokeExpr, caseInstanceOfExpr, caseInvokeExpr, caseInvokeStmt, caseNewArrayExpr, caseNewMultiArrayExpr, caseRef, caseReturnStmt, caseStaticFieldRef, caseStmt, caseThrowStmt, caseType, caseUnopExpr, caseValue, debug, decideCaseExpr, decideCaseExprOrRef, decideCaseRef, inArrayRef, inASTAndCondition, inASTBinaryCondition, inASTIfElseNode, inASTIfNode, inASTLabeledBlockNode, inASTMethodNode, inASTOrCondition, inASTStatementSequenceNode, inASTSynchronizedBlockNode, inASTTryNode, inASTUnaryCondition, inBinopExpr, inCastExpr, inDefinitionStmt, inDVariableDeclarationStmt, inExpr, inExprOrRefValueBox, inInstanceFieldRef, inInstanceInvokeExpr, inInstanceOfExpr, inInvokeExpr, inInvokeStmt, inNewArrayExpr, inNewMultiArrayExpr, inRef, inReturnStmt, inStaticFieldRef, inThrowStmt, inType, inUnopExpr, inValue, normalRetrieving, outArrayRef, outASTAndCondition, outASTBinaryCondition, outASTIfElseNode, outASTIfNode, outASTLabeledBlockNode, outASTMethodNode, outASTOrCondition, outASTStatementSequenceNode, outASTSynchronizedBlockNode, outASTTryNode, outASTUnaryCondition, outBinopExpr, outCastExpr, outDefinitionStmt, outDVariableDeclarationStmt, outExpr, outExprOrRefValueBox, outInstanceFieldRef, outInstanceInvokeExpr, outInstanceOfExpr, outInvokeExpr, outInvokeStmt, outNewArrayExpr, outNewMultiArrayExpr, outRef, outReturnStmt, outStaticFieldRef, outStmt, outThrowStmt, outType, outUnopExpr, outValuedefaultCasepublic static ClosestAbruptTargetFinder v()
public ASTNode getTarget(DAbruptStmt ab)
public void inASTWhileNode(ASTWhileNode node)
inASTWhileNode in class DepthFirstAdapterpublic void inASTDoWhileNode(ASTDoWhileNode node)
inASTDoWhileNode in class DepthFirstAdapterpublic void inASTUnconditionalLoopNode(ASTUnconditionalLoopNode node)
inASTUnconditionalLoopNode in class DepthFirstAdapterpublic void inASTForLoopNode(ASTForLoopNode node)
inASTForLoopNode in class DepthFirstAdapterpublic void inASTSwitchNode(ASTSwitchNode node)
inASTSwitchNode in class DepthFirstAdapterpublic void outASTWhileNode(ASTWhileNode node)
outASTWhileNode in class DepthFirstAdapterpublic void outASTDoWhileNode(ASTDoWhileNode node)
outASTDoWhileNode in class DepthFirstAdapterpublic void outASTUnconditionalLoopNode(ASTUnconditionalLoopNode node)
outASTUnconditionalLoopNode in class DepthFirstAdapterpublic void outASTForLoopNode(ASTForLoopNode node)
outASTForLoopNode in class DepthFirstAdapterpublic void outASTSwitchNode(ASTSwitchNode node)
outASTSwitchNode in class DepthFirstAdapterpublic void inStmt(Stmt s)
inStmt in class DepthFirstAdapter