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

java.lang.Object
  extended by soot.dava.toolkits.base.AST.analysis.AnalysisAdapter
      extended by soot.dava.toolkits.base.AST.analysis.DepthFirstAdapter
          extended by soot.dava.toolkits.base.AST.traversals.ASTUsesAndDefs
All Implemented Interfaces:
Analysis

public class ASTUsesAndDefs
extends DepthFirstAdapter


Field Summary
static boolean 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<Object,List> getDUHashMap()
           
 List getUDChain(Object node)
           
 List<Value> 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, caseExprOrRefValueBox, 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, 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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEBUG

public static boolean DEBUG
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<Value> 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<Object,List> getDUHashMap()

outASTMethodNode

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

print

public void print()