Class SimplifyConditions
- java.lang.Object
-
- soot.dava.toolkits.base.AST.analysis.AnalysisAdapter
-
- soot.dava.toolkits.base.AST.analysis.DepthFirstAdapter
-
- soot.dava.toolkits.base.AST.transformations.SimplifyConditions
-
- All Implemented Interfaces:
Analysis
public class SimplifyConditions extends DepthFirstAdapter
-
-
Constructor Summary
Constructors Constructor Description SimplifyConditions()SimplifyConditions(boolean verbose)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ASTConditionapplyDeMorgans(ASTAggregatedCondition aggCond)BooleandoubleSwitch(int op, double l, double r)ASTUnaryConditionevaluateBinaryCondition(ConditionExpr expr)voidfixedPoint(ASTControlFlowNode node)BooleanfloatSwitch(int op, float l, float r)BooleanintSwitch(int op, int l, int r)BooleanisBooleanConstant(Value internal)BooleanlongSwitch(int op, long l, long r)voidoutASTDoWhileNode(ASTDoWhileNode node)voidoutASTForLoopNode(ASTForLoopNode node)voidoutASTIfElseNode(ASTIfElseNode node)voidoutASTIfNode(ASTIfNode node)voidoutASTWhileNode(ASTWhileNode node)ASTConditionsimplifyIfAtleastOneConstant(ASTAggregatedCondition aggCond)ASTConditionsimplifyTheCondition(ASTCondition cond)-
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, inASTMethodNode, 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, outASTLabeledBlockNode, outASTMethodNode, outASTOrCondition, outASTStatementSequenceNode, outASTSwitchNode, outASTSynchronizedBlockNode, outASTTryNode, outASTUnaryCondition, outASTUnconditionalLoopNode, 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
-
fixedPoint
public void fixedPoint(ASTControlFlowNode node)
-
outASTIfNode
public void outASTIfNode(ASTIfNode node)
- Overrides:
outASTIfNodein classDepthFirstAdapter
-
outASTIfElseNode
public void outASTIfElseNode(ASTIfElseNode node)
- Overrides:
outASTIfElseNodein classDepthFirstAdapter
-
outASTWhileNode
public void outASTWhileNode(ASTWhileNode node)
- Overrides:
outASTWhileNodein classDepthFirstAdapter
-
outASTDoWhileNode
public void outASTDoWhileNode(ASTDoWhileNode node)
- Overrides:
outASTDoWhileNodein classDepthFirstAdapter
-
outASTForLoopNode
public void outASTForLoopNode(ASTForLoopNode node)
- Overrides:
outASTForLoopNodein classDepthFirstAdapter
-
applyDeMorgans
public ASTCondition applyDeMorgans(ASTAggregatedCondition aggCond)
-
simplifyIfAtleastOneConstant
public ASTCondition simplifyIfAtleastOneConstant(ASTAggregatedCondition aggCond)
-
simplifyTheCondition
public ASTCondition simplifyTheCondition(ASTCondition cond)
-
evaluateBinaryCondition
public ASTUnaryCondition evaluateBinaryCondition(ConditionExpr expr)
-
longSwitch
public Boolean longSwitch(int op, long l, long r)
-
doubleSwitch
public Boolean doubleSwitch(int op, double l, double r)
-
floatSwitch
public Boolean floatSwitch(int op, float l, float r)
-
intSwitch
public Boolean intSwitch(int op, int l, int r)
-
-