soot.dava.toolkits.base.AST.structuredAnalysis
Class CopyPropagation
java.lang.Object
soot.dava.toolkits.base.AST.analysis.AnalysisAdapter
soot.dava.toolkits.base.AST.analysis.DepthFirstAdapter
soot.dava.toolkits.base.AST.structuredAnalysis.CopyPropagation
- All Implemented Interfaces:
- Analysis
- public class CopyPropagation
- extends DepthFirstAdapter
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, caseExpr, caseInstanceFieldRef, caseInstanceInvokeExpr, caseInstanceOfExpr, caseInvokeExpr, caseInvokeStmt, caseNewArrayExpr, caseNewMultiArrayExpr, caseRef, caseReturnStmt, caseStaticFieldRef, caseStmt, caseThrowStmt, caseType, caseUnopExpr, caseValue, decideCaseExpr, decideCaseExprOrRef, decideCaseRef, inArrayRef, inASTAndCondition, inASTBinaryCondition, inASTDoWhileNode, inASTForLoopNode, inASTIfElseNode, inASTIfNode, inASTLabeledBlockNode, inASTMethodNode, inASTOrCondition, inASTSwitchNode, inASTSynchronizedBlockNode, inASTTryNode, inASTUnaryCondition, inASTUnconditionalLoopNode, inASTWhileNode, inBinopExpr, inCastExpr, inDefinitionStmt, inExpr, 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, outExpr, outInstanceFieldRef, outInstanceInvokeExpr, outInstanceOfExpr, outInvokeExpr, outInvokeStmt, outNewArrayExpr, outNewMultiArrayExpr, outRef, outReturnStmt, outStaticFieldRef, outStmt, outThrowStmt, outType, outUnopExpr, outValue |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
CopyPropagation
public CopyPropagation(ASTNode AST)
CopyPropagation
public CopyPropagation(boolean verbose,
ASTNode AST)
inASTStatementSequenceNode
public void inASTStatementSequenceNode(ASTStatementSequenceNode node)
- Overrides:
inASTStatementSequenceNode
in class DepthFirstAdapter
isCopyStmt
public boolean isCopyStmt(Stmt s)
handleCopyStmt
public void handleCopyStmt(Stmt copyStmt,
Object nodeOrStmt)
removeStmt
public void removeStmt(Stmt stmt)
replaceBoxes
public void replaceBoxes(Local from,
Local to,
List useBoxes)
getUseList
public List getUseList(ASTCondition cond)
replace
public void replace(Local from,
Local to,
Object use)
outASTMethodNode
public void outASTMethodNode(ASTMethodNode node)
- Overrides:
outASTMethodNode
in class DepthFirstAdapter
getDefs
public List getDefs(Local var)
isDefined
public boolean isDefined(Local var)