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, outValue
defaultCase
public static ClosestAbruptTargetFinder v()
public ASTNode getTarget(DAbruptStmt ab)
public void inASTWhileNode(ASTWhileNode node)
inASTWhileNode
in class DepthFirstAdapter
public void inASTDoWhileNode(ASTDoWhileNode node)
inASTDoWhileNode
in class DepthFirstAdapter
public void inASTUnconditionalLoopNode(ASTUnconditionalLoopNode node)
inASTUnconditionalLoopNode
in class DepthFirstAdapter
public void inASTForLoopNode(ASTForLoopNode node)
inASTForLoopNode
in class DepthFirstAdapter
public void inASTSwitchNode(ASTSwitchNode node)
inASTSwitchNode
in class DepthFirstAdapter
public void outASTWhileNode(ASTWhileNode node)
outASTWhileNode
in class DepthFirstAdapter
public void outASTDoWhileNode(ASTDoWhileNode node)
outASTDoWhileNode
in class DepthFirstAdapter
public void outASTUnconditionalLoopNode(ASTUnconditionalLoopNode node)
outASTUnconditionalLoopNode
in class DepthFirstAdapter
public void outASTForLoopNode(ASTForLoopNode node)
outASTForLoopNode
in class DepthFirstAdapter
public void outASTSwitchNode(ASTSwitchNode node)
outASTSwitchNode
in class DepthFirstAdapter
public void inStmt(Stmt s)
inStmt
in class DepthFirstAdapter