public class CopyPropagation extends DepthFirstAdapter
Modifier and Type | Field and Description |
---|---|
static boolean |
DEBUG |
Constructor and Description |
---|
CopyPropagation(ASTNode AST) |
CopyPropagation(boolean verbose,
ASTNode AST) |
Modifier and Type | Method and Description |
---|---|
void |
handleCopyStmt(DefinitionStmt copyStmt) |
void |
inASTStatementSequenceNode(ASTStatementSequenceNode node) |
boolean |
isCopyStmt(Stmt s) |
void |
modifyUseBoxes(Local from,
Local to,
java.util.List useBoxes) |
void |
modifyUses(Local from,
Local to,
ASTCondition cond) |
void |
outASTMethodNode(ASTMethodNode node) |
void |
removeStmt(Stmt stmt) |
void |
replace(Local from,
Local to,
java.lang.Object use) |
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
defaultCase
public CopyPropagation(ASTNode AST)
public CopyPropagation(boolean verbose, ASTNode AST)
public void outASTMethodNode(ASTMethodNode node)
outASTMethodNode
in class DepthFirstAdapter
public void inASTStatementSequenceNode(ASTStatementSequenceNode node)
inASTStatementSequenceNode
in class DepthFirstAdapter
public boolean isCopyStmt(Stmt s)
public void handleCopyStmt(DefinitionStmt copyStmt)
public void removeStmt(Stmt stmt)
public void modifyUses(Local from, Local to, ASTCondition cond)