soot.dava.toolkits.base.AST.transformations
Class EliminateConditions

java.lang.Object
  extended by soot.dava.toolkits.base.AST.analysis.AnalysisAdapter
      extended by soot.dava.toolkits.base.AST.analysis.DepthFirstAdapter
          extended by soot.dava.toolkits.base.AST.transformations.EliminateConditions
All Implemented Interfaces:
Analysis

public class EliminateConditions
extends DepthFirstAdapter


Field Summary
static boolean DEBUG
           
 boolean modified
           
 
Constructor Summary
EliminateConditions(ASTMethodNode AST)
           
EliminateConditions(boolean verbose, ASTMethodNode AST)
           
 
Method Summary
 boolean canChange(Boolean returned, ASTNode temp)
           
 void caseASTTryNode(ASTTryNode node)
           
 boolean change(Boolean returned, ASTNode temp)
           
 void dealWithSwitchNode(ASTSwitchNode node)
           
 Boolean eliminate(ASTNode node)
           
 Boolean eliminateForTry(ASTNode node)
           
 Boolean isBooleanConstant(Value internal)
           
 void normalRetrieving(ASTNode node)
           
 
Methods inherited from class soot.dava.toolkits.base.AST.analysis.DepthFirstAdapter
caseArrayRef, caseASTAndCondition, caseASTBinaryCondition, caseASTDoWhileNode, caseASTForLoopNode, caseASTIfElseNode, caseASTIfNode, caseASTLabeledBlockNode, caseASTMethodNode, caseASTOrCondition, caseASTStatementSequenceNode, caseASTSwitchNode, caseASTSynchronizedBlockNode, 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, outArrayRef, outASTAndCondition, outASTBinaryCondition, outASTDoWhileNode, outASTForLoopNode, outASTIfElseNode, outASTIfNode, outASTLabeledBlockNode, outASTMethodNode, 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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEBUG

public static boolean DEBUG

modified

public boolean modified
Constructor Detail

EliminateConditions

public EliminateConditions(ASTMethodNode AST)

EliminateConditions

public EliminateConditions(boolean verbose,
                           ASTMethodNode AST)
Method Detail

normalRetrieving

public void normalRetrieving(ASTNode node)
Overrides:
normalRetrieving in class DepthFirstAdapter

eliminate

public Boolean eliminate(ASTNode node)

isBooleanConstant

public Boolean isBooleanConstant(Value internal)

eliminateForTry

public Boolean eliminateForTry(ASTNode node)

caseASTTryNode

public void caseASTTryNode(ASTTryNode node)
Specified by:
caseASTTryNode in interface Analysis
Overrides:
caseASTTryNode in class DepthFirstAdapter

canChange

public boolean canChange(Boolean returned,
                         ASTNode temp)

change

public boolean change(Boolean returned,
                      ASTNode temp)

dealWithSwitchNode

public void dealWithSwitchNode(ASTSwitchNode node)