Class IfElseSplitter
- java.lang.Object
-
- soot.dava.toolkits.base.AST.analysis.AnalysisAdapter
-
- soot.dava.toolkits.base.AST.analysis.DepthFirstAdapter
-
- soot.dava.toolkits.base.AST.transformations.IfElseSplitter
-
- All Implemented Interfaces:
Analysis
public class IfElseSplitter extends DepthFirstAdapter
-
-
Field Summary
Fields Modifier and Type Field Description static booleanDEBUG
-
Constructor Summary
Constructors Constructor Description IfElseSplitter()IfElseSplitter(boolean verbose)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanbodyTargetsLabel(SETNodeLabel label, List<Object> body)StmtgetLastStmt(List<Object> body)voidinASTMethodNode(ASTMethodNode node)voidoutASTIfElseNode(ASTIfElseNode node)voidoutASTMethodNode(ASTMethodNode a)booleantryBodyPattern(List<Object> body, SETNodeLabel label, List<Object> otherBody)-
Methods inherited from class soot.dava.toolkits.base.AST.analysis.DepthFirstAdapter
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, inASTDoWhileNode, inASTForLoopNode, inASTIfElseNode, inASTIfNode, inASTLabeledBlockNode, inASTOrCondition, inASTStatementSequenceNode, inASTSwitchNode, inASTSynchronizedBlockNode, inASTTryNode, inASTUnaryCondition, inASTUnconditionalLoopNode, inASTWhileNode, inBinopExpr, inCastExpr, inDefinitionStmt, inDVariableDeclarationStmt, inExpr, inExprOrRefValueBox, inInstanceFieldRef, inInstanceInvokeExpr, inInstanceOfExpr, inInvokeExpr, inInvokeStmt, inNewArrayExpr, inNewMultiArrayExpr, inRef, inReturnStmt, inStaticFieldRef, inStmt, inThrowStmt, inType, inUnopExpr, inValue, normalRetrieving, outArrayRef, outASTAndCondition, outASTBinaryCondition, outASTDoWhileNode, outASTForLoopNode, outASTIfNode, outASTLabeledBlockNode, outASTOrCondition, outASTStatementSequenceNode, outASTSwitchNode, outASTSynchronizedBlockNode, outASTTryNode, outASTUnaryCondition, outASTUnconditionalLoopNode, outASTWhileNode, outBinopExpr, outCastExpr, outDefinitionStmt, outDVariableDeclarationStmt, outExpr, outExprOrRefValueBox, outInstanceFieldRef, outInstanceInvokeExpr, outInstanceOfExpr, outInvokeExpr, outInvokeStmt, outNewArrayExpr, outNewMultiArrayExpr, outRef, outReturnStmt, outStaticFieldRef, outStmt, outThrowStmt, outType, outUnopExpr, outValue
-
Methods inherited from class soot.dava.toolkits.base.AST.analysis.AnalysisAdapter
defaultCase
-
-
-
-
Method Detail
-
inASTMethodNode
public void inASTMethodNode(ASTMethodNode node)
- Overrides:
inASTMethodNodein classDepthFirstAdapter
-
outASTMethodNode
public void outASTMethodNode(ASTMethodNode a)
- Overrides:
outASTMethodNodein classDepthFirstAdapter
-
outASTIfElseNode
public void outASTIfElseNode(ASTIfElseNode node)
- Overrides:
outASTIfElseNodein classDepthFirstAdapter
-
tryBodyPattern
public boolean tryBodyPattern(List<Object> body, SETNodeLabel label, List<Object> otherBody)
-
bodyTargetsLabel
public boolean bodyTargetsLabel(SETNodeLabel label, List<Object> body)
-
-