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

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.ASTUsesAndDefs
All Implemented Interfaces:
Analysis

public class ASTUsesAndDefs
extends DepthFirstAdapter


Field Summary
 
Fields inherited from class soot.dava.toolkits.base.AST.analysis.DepthFirstAdapter
DEBUG
 
Constructor Summary
ASTUsesAndDefs(ASTNode AST)
           
ASTUsesAndDefs(boolean verbose, ASTNode AST)
           
 
Method Summary
 void checkConditionalUses(ASTCondition cond, ASTNode node)
           
 void checkStatementUses(Stmt s, Object useNodeOrStatement)
           
 void createUDDUChain(Local local, Object useNodeOrStatement)
           
 List getDUChain(Object node)
           
 HashMap getDUHashMap()
           
 List getUDChain(Object node)
           
 List getUseList(ASTCondition cond)
           
 void inASTDoWhileNode(ASTDoWhileNode node)
           
 void inASTForLoopNode(ASTForLoopNode node)
           
 void inASTIfElseNode(ASTIfElseNode node)
           
 void inASTIfNode(ASTIfNode node)
           
 void inASTStatementSequenceNode(ASTStatementSequenceNode node)
           
 void inASTSwitchNode(ASTSwitchNode node)
           
 void inASTSynchronizedBlockNode(ASTSynchronizedBlockNode node)
           
 void inASTWhileNode(ASTWhileNode node)
           
 void outASTMethodNode(ASTMethodNode node)
           
 void print()
           
 
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, inASTLabeledBlockNode, inASTMethodNode, inASTOrCondition, inASTTryNode, inASTUnaryCondition, inASTUnconditionalLoopNode, 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

ASTUsesAndDefs

public ASTUsesAndDefs(ASTNode AST)

ASTUsesAndDefs

public ASTUsesAndDefs(boolean verbose,
                      ASTNode AST)
Method Detail

checkStatementUses

public void checkStatementUses(Stmt s,
                               Object useNodeOrStatement)

createUDDUChain

public void createUDDUChain(Local local,
                            Object useNodeOrStatement)

getUseList

public List getUseList(ASTCondition cond)

checkConditionalUses

public void checkConditionalUses(ASTCondition cond,
                                 ASTNode node)

inASTSwitchNode

public void inASTSwitchNode(ASTSwitchNode node)
Overrides:
inASTSwitchNode in class DepthFirstAdapter

inASTSynchronizedBlockNode

public void inASTSynchronizedBlockNode(ASTSynchronizedBlockNode node)
Overrides:
inASTSynchronizedBlockNode in class DepthFirstAdapter

inASTIfNode

public void inASTIfNode(ASTIfNode node)
Overrides:
inASTIfNode in class DepthFirstAdapter

inASTIfElseNode

public void inASTIfElseNode(ASTIfElseNode node)
Overrides:
inASTIfElseNode in class DepthFirstAdapter

inASTWhileNode

public void inASTWhileNode(ASTWhileNode node)
Overrides:
inASTWhileNode in class DepthFirstAdapter

inASTDoWhileNode

public void inASTDoWhileNode(ASTDoWhileNode node)
Overrides:
inASTDoWhileNode in class DepthFirstAdapter

inASTForLoopNode

public void inASTForLoopNode(ASTForLoopNode node)
Overrides:
inASTForLoopNode in class DepthFirstAdapter

inASTStatementSequenceNode

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

getUDChain

public List getUDChain(Object node)

getDUChain

public List getDUChain(Object node)

getDUHashMap

public HashMap getDUHashMap()

outASTMethodNode

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

print

public void print()