Class CopyPropagation
- java.lang.Object
-
- soot.dava.toolkits.base.AST.analysis.AnalysisAdapter
-
- soot.dava.toolkits.base.AST.analysis.DepthFirstAdapter
-
- soot.dava.toolkits.base.AST.traversals.CopyPropagation
-
- All Implemented Interfaces:
Analysis
public class CopyPropagation extends DepthFirstAdapter
-
-
Field Summary
Fields Modifier and Type Field Description static booleanDEBUG
-
Constructor Summary
Constructors Constructor Description CopyPropagation(boolean verbose, ASTNode AST)CopyPropagation(ASTNode AST)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidhandleCopyStmt(DefinitionStmt copyStmt)voidinASTStatementSequenceNode(ASTStatementSequenceNode node)booleanisCopyStmt(Stmt s)voidmodifyUseBoxes(Local from, Local to, List useBoxes)voidmodifyUses(Local from, Local to, ASTCondition cond)voidoutASTMethodNode(ASTMethodNode node)voidremoveStmt(Stmt stmt)voidreplace(Local from, Local to, Object use)-
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, 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, outASTIfElseNode, 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
-
outASTMethodNode
public void outASTMethodNode(ASTMethodNode node)
- Overrides:
outASTMethodNodein classDepthFirstAdapter
-
inASTStatementSequenceNode
public void inASTStatementSequenceNode(ASTStatementSequenceNode node)
- Overrides:
inASTStatementSequenceNodein classDepthFirstAdapter
-
isCopyStmt
public boolean isCopyStmt(Stmt s)
-
handleCopyStmt
public void handleCopyStmt(DefinitionStmt copyStmt)
-
removeStmt
public void removeStmt(Stmt stmt)
-
modifyUses
public void modifyUses(Local from, Local to, ASTCondition cond)
-
-