soot.dava.toolkits.base.AST.traversals
Class CopyPropagation

java.lang.Object
  extended bysoot.dava.toolkits.base.AST.analysis.AnalysisAdapter
      extended bysoot.dava.toolkits.base.AST.analysis.DepthFirstAdapter
          extended bysoot.dava.toolkits.base.AST.traversals.CopyPropagation
All Implemented Interfaces:
Analysis

public class CopyPropagation
extends DepthFirstAdapter


Field Summary
 
Fields inherited from class soot.dava.toolkits.base.AST.analysis.DepthFirstAdapter
DEBUG
 
Constructor Summary
CopyPropagation(ASTNode AST)
           
CopyPropagation(boolean verbose, ASTNode AST)
           
 
Method Summary
 List getUseList(ASTCondition cond)
           
 void handleCopyStmt(DefinitionStmt copyStmt)
           
 void inASTStatementSequenceNode(ASTStatementSequenceNode node)
           
 boolean isCopyStmt(Stmt s)
           
 void outASTMethodNode(ASTMethodNode node)
           
 void removeStmt(Stmt stmt)
           
 void replace(Local from, Local to, Object use)
           
 void replaceBoxes(Local from, Local to, List useBoxes)
           
 
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, 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, 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, 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
 

Constructor Detail

CopyPropagation

public CopyPropagation(ASTNode AST)

CopyPropagation

public CopyPropagation(boolean verbose,
                       ASTNode AST)
Method Detail

outASTMethodNode

public void outASTMethodNode(ASTMethodNode node)
Overrides:
outASTMethodNode in class DepthFirstAdapter

inASTStatementSequenceNode

public void inASTStatementSequenceNode(ASTStatementSequenceNode node)
Overrides:
inASTStatementSequenceNode in class DepthFirstAdapter

isCopyStmt

public boolean isCopyStmt(Stmt s)

handleCopyStmt

public void handleCopyStmt(DefinitionStmt copyStmt)

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)