soot.dava
Class MethodCallFinder

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

public class MethodCallFinder
extends DepthFirstAdapter


Field Summary
 
Fields inherited from class soot.dava.toolkits.base.AST.analysis.DepthFirstAdapter
DEBUG
 
Constructor Summary
MethodCallFinder(boolean verbose, DavaStaticBlockCleaner cleaner)
           
MethodCallFinder(DavaStaticBlockCleaner cleaner)
           
 
Method Summary
 List<ASTStatementSequenceNode> createChangedBodyPart(InvokeStmt s, List body, ASTParentNodeFinder finder)
           
 List<Object> createNewSubBody(List<Object> orignalBody, List<ASTStatementSequenceNode> partNewBody, Object stmtSeqNode)
           
 List<Object> getSubBodyFromSingleSubBodyNode(ASTNode node)
           
 void inASTMethodNode(ASTMethodNode node)
           
 void inInvokeStmt(InvokeStmt s)
           
 boolean replaceSubBody(InvokeStmt s, List<ASTStatementSequenceNode> newChangedBodyPart, ASTParentNodeFinder finder)
           
 
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, inASTDoWhileNode, inASTForLoopNode, inASTIfElseNode, inASTIfNode, inASTLabeledBlockNode, inASTOrCondition, inASTStatementSequenceNode, inASTSwitchNode, inASTSynchronizedBlockNode, inASTTryNode, inASTUnaryCondition, inASTUnconditionalLoopNode, inASTWhileNode, inBinopExpr, inCastExpr, inDefinitionStmt, inDVariableDeclarationStmt, inExpr, inExprOrRefValueBox, inInstanceFieldRef, inInstanceInvokeExpr, inInstanceOfExpr, inInvokeExpr, inNewArrayExpr, inNewMultiArrayExpr, inRef, inReturnStmt, inStaticFieldRef, inStmt, inThrowStmt, inType, inUnopExpr, inValue, normalRetrieving, outArrayRef, outASTAndCondition, outASTBinaryCondition, outASTDoWhileNode, outASTForLoopNode, outASTIfElseNode, outASTIfNode, outASTLabeledBlockNode, outASTMethodNode, 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
 

Constructor Detail

MethodCallFinder

public MethodCallFinder(DavaStaticBlockCleaner cleaner)

MethodCallFinder

public MethodCallFinder(boolean verbose,
                        DavaStaticBlockCleaner cleaner)
Method Detail

inASTMethodNode

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

inInvokeStmt

public void inInvokeStmt(InvokeStmt s)
Overrides:
inInvokeStmt in class DepthFirstAdapter

getSubBodyFromSingleSubBodyNode

public List<Object> getSubBodyFromSingleSubBodyNode(ASTNode node)

createNewSubBody

public List<Object> createNewSubBody(List<Object> orignalBody,
                                     List<ASTStatementSequenceNode> partNewBody,
                                     Object stmtSeqNode)

replaceSubBody

public boolean replaceSubBody(InvokeStmt s,
                              List<ASTStatementSequenceNode> newChangedBodyPart,
                              ASTParentNodeFinder finder)

createChangedBodyPart

public List<ASTStatementSequenceNode> createChangedBodyPart(InvokeStmt s,
                                                            List body,
                                                            ASTParentNodeFinder finder)