soot.dava.toolkits.base.AST.structuredAnalysis
Class StructuredAnalysis

java.lang.Object
  extended bysoot.dava.toolkits.base.AST.structuredAnalysis.StructuredAnalysis
Direct Known Subclasses:
ReachingCopies, ReachingDefs

public abstract class StructuredAnalysis
extends Object


Constructor Summary
StructuredAnalysis()
           
 
Method Summary
abstract  Object cloneFlowSet(Object flowSet)
           
 Object getAfterSet(Object afterThis)
           
 Object getBeforeSet(Object beforeThis)
           
 Object getMergedBreakList(String label, Object output)
           
 Object handleBreak(String label, Object output)
           
 Object handleContinue(String label, Object output)
           
 boolean isDifferent(Object oldObj, Object newObj)
           
 Object merge(Object obj1, Object obj2)
           
abstract  Object newInitialFlow()
           
 void print(Object toPrint)
           
 Object process(Object body, Object input)
           
 Object processASTDoWhileNode(ASTDoWhileNode node, Object input)
           
 Object processASTForLoopNode(ASTForLoopNode node, Object input)
           
 Object processASTIfElseNode(ASTIfElseNode node, Object input)
           
 Object processASTIfNode(ASTIfNode node, Object input)
           
 Object processASTLabeledBlockNode(ASTLabeledBlockNode node, Object input)
           
 Object processASTMethodNode(ASTMethodNode node, Object input)
           
 Object processASTNode(ASTNode node, Object input)
           
 Object processASTStatementSequenceNode(ASTStatementSequenceNode node, Object input)
           
 Object processASTSwitchNode(ASTSwitchNode node, Object input)
           
 Object processASTSynchronizedBlockNode(ASTSynchronizedBlockNode node, Object input)
           
 Object processASTTryNode(ASTTryNode node, Object input)
           
 Object processASTUnconditionalLoopNode(ASTUnconditionalLoopNode node, Object input)
           
 Object processASTWhileNode(ASTWhileNode node, Object input)
           
 Object processCondition(ASTCondition cond, Object input)
           
 Object processSingleSubBodyNode(ASTNode node, Object input)
           
abstract  Object processStatement(Stmt s, Object input)
           
abstract  Object processSwitchKey(Value key, Object input)
           
abstract  Object processSynchronizedLocal(Local local, Object input)
           
abstract  Object processUnaryBinaryCondition(ASTUnaryBinaryCondition cond, Object input)
           
abstract  void setMergeType()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StructuredAnalysis

public StructuredAnalysis()
Method Detail

setMergeType

public abstract void setMergeType()

newInitialFlow

public abstract Object newInitialFlow()

cloneFlowSet

public abstract Object cloneFlowSet(Object flowSet)

processStatement

public abstract Object processStatement(Stmt s,
                                        Object input)

processUnaryBinaryCondition

public abstract Object processUnaryBinaryCondition(ASTUnaryBinaryCondition cond,
                                                   Object input)

processSynchronizedLocal

public abstract Object processSynchronizedLocal(Local local,
                                                Object input)

processSwitchKey

public abstract Object processSwitchKey(Value key,
                                        Object input)

print

public void print(Object toPrint)

processCondition

public Object processCondition(ASTCondition cond,
                               Object input)

process

public Object process(Object body,
                      Object input)

processASTNode

public Object processASTNode(ASTNode node,
                             Object input)

processSingleSubBodyNode

public final Object processSingleSubBodyNode(ASTNode node,
                                             Object input)

processASTWhileNode

public Object processASTWhileNode(ASTWhileNode node,
                                  Object input)

processASTDoWhileNode

public Object processASTDoWhileNode(ASTDoWhileNode node,
                                    Object input)

processASTForLoopNode

public Object processASTForLoopNode(ASTForLoopNode node,
                                    Object input)

processASTIfElseNode

public Object processASTIfElseNode(ASTIfElseNode node,
                                   Object input)

processASTIfNode

public Object processASTIfNode(ASTIfNode node,
                               Object input)

processASTLabeledBlockNode

public Object processASTLabeledBlockNode(ASTLabeledBlockNode node,
                                         Object input)

processASTMethodNode

public Object processASTMethodNode(ASTMethodNode node,
                                   Object input)

processASTStatementSequenceNode

public Object processASTStatementSequenceNode(ASTStatementSequenceNode node,
                                              Object input)

processASTUnconditionalLoopNode

public Object processASTUnconditionalLoopNode(ASTUnconditionalLoopNode node,
                                              Object input)

processASTSynchronizedBlockNode

public Object processASTSynchronizedBlockNode(ASTSynchronizedBlockNode node,
                                              Object input)

processASTSwitchNode

public Object processASTSwitchNode(ASTSwitchNode node,
                                   Object input)

processASTTryNode

public Object processASTTryNode(ASTTryNode node,
                                Object input)

merge

public Object merge(Object obj1,
                    Object obj2)

handleContinue

public Object handleContinue(String label,
                             Object output)

handleBreak

public Object handleBreak(String label,
                          Object output)

getMergedBreakList

public Object getMergedBreakList(String label,
                                 Object output)

isDifferent

public boolean isDifferent(Object oldObj,
                           Object newObj)

getBeforeSet

public Object getBeforeSet(Object beforeThis)

getAfterSet

public Object getAfterSet(Object afterThis)