soot.dava.toolkits.base.AST.transformations
Class SuperFirstStmtHandler

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

public class SuperFirstStmtHandler
extends DepthFirstAdapter


Field Summary
 boolean DEBUG
           
 
Constructor Summary
SuperFirstStmtHandler(ASTMethodNode AST)
           
SuperFirstStmtHandler(boolean verbose, ASTMethodNode AST)
           
 
Method Summary
 boolean changeOriginalAST()
           
 void createNewASTConstructor(ASTStatementSequenceNode initNode)
           
 AugmentedStmt createStmtAccordingToType(Type tempType, Value tempVal, Local newLocal, SootMethodRef getMethodRef)
           
 void debug(String methodName, String debug)
           
 Value getProperCasting(Type tempType, DVirtualInvokeExpr tempInvokeExpr)
           
 void inASTStatementSequenceNode(ASTStatementSequenceNode node)
           
 void initialize()
           
 void removeInit()
           
 
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, 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, 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
 

Field Detail

DEBUG

public final boolean DEBUG
See Also:
Constant Field Values
Constructor Detail

SuperFirstStmtHandler

public SuperFirstStmtHandler(ASTMethodNode AST)

SuperFirstStmtHandler

public SuperFirstStmtHandler(boolean verbose,
                             ASTMethodNode AST)
Method Detail

initialize

public void initialize()

inASTStatementSequenceNode

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

removeInit

public void removeInit()

changeOriginalAST

public boolean changeOriginalAST()

getProperCasting

public Value getProperCasting(Type tempType,
                              DVirtualInvokeExpr tempInvokeExpr)

createNewASTConstructor

public void createNewASTConstructor(ASTStatementSequenceNode initNode)

createStmtAccordingToType

public AugmentedStmt createStmtAccordingToType(Type tempType,
                                               Value tempVal,
                                               Local newLocal,
                                               SootMethodRef getMethodRef)

debug

public void debug(String methodName,
                  String debug)