tip.cfg.dfa
Class DivisionAnalysis

java.lang.Object
  extended by tip.cfg.CFGAnalysisAdapter
      extended by tip.cfg.FlowAnalysis<DivisionAnalysis.Div>
          extended by tip.cfg.dfa.DivisionAnalysis
All Implemented Interfaces:
FixedPointAnalysis<DivisionAnalysis.Div>, ICFGAnalysis

public class DivisionAnalysis
extends FlowAnalysis<DivisionAnalysis.Div>


Nested Class Summary
static class DivisionAnalysis.Div
           
 
Constructor Summary
DivisionAnalysis()
           
 
Method Summary
 boolean caseExitPoint(Node node, ExitPoint point)
          Default implementation.
 boolean defaultNode(Node node, IProgramPoint point)
          Default implementation for program points: The variable for point is updated to be the join of the points in its dependency set.
 String getVariableString(DivisionAnalysis.Div variable)
          Returns a textual representation of the variable variable.
 
Methods inherited from class tip.cfg.FlowAnalysis
end, getDependencySet, getLattice, getName, getVariable, getVariableStringForPoint, getVariableStringForPoint, setVariable, start
 
Methods inherited from class tip.cfg.CFGAnalysisAdapter
caseCAssignPtrStmPoint, caseCAssignVarStmPoint, caseCBinopExpPoint, caseCBlockPoint, caseCDeclStmPoint, caseCDerefExpPoint, caseCFunctionCallExpPoint, caseCFunctionPtrCallExpPoint, caseCIfThenElseStmPoint, caseCIfThenStmPoint, caseCInputExpPoint, caseCIntConstExpPoint, caseCMallocExpPoint, caseCNullExpPoint, caseCOutputStmPoint, caseCPointerExpPoint, caseCReturnStmPoint, caseCVarExpPoint, caseCWhileStmPoint, caseEntryPoint
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface tip.cfg.ICFGAnalysis
caseCAssignPtrStmPoint, caseCAssignVarStmPoint, caseCBinopExpPoint, caseCBlockPoint, caseCDeclStmPoint, caseCDerefExpPoint, caseCFunctionCallExpPoint, caseCFunctionPtrCallExpPoint, caseCIfThenElseStmPoint, caseCIfThenStmPoint, caseCInputExpPoint, caseCIntConstExpPoint, caseCMallocExpPoint, caseCNullExpPoint, caseCOutputStmPoint, caseCPointerExpPoint, caseCReturnStmPoint, caseCVarExpPoint, caseCWhileStmPoint, caseEntryPoint
 

Constructor Detail

DivisionAnalysis

public DivisionAnalysis()
Method Detail

defaultNode

public boolean defaultNode(Node node,
                           IProgramPoint point)
Description copied from class: FlowAnalysis
Default implementation for program points: The variable for point is updated to be the join of the points in its dependency set.

Overrides:
defaultNode in class FlowAnalysis<DivisionAnalysis.Div>
Parameters:
node - the node associated with point
point - the handled point
Returns:
true is the variable chaned
See Also:
FlowAnalysis.join(IProgramPoint)

caseExitPoint

public boolean caseExitPoint(Node node,
                             ExitPoint point)
Description copied from class: CFGAnalysisAdapter
Default implementation. Calls CFGAnalysisAdapter.defaultNode(Node,IProgramPoint).

Specified by:
caseExitPoint in interface ICFGAnalysis
Overrides:
caseExitPoint in class CFGAnalysisAdapter
Parameters:
node - the Node associated with point
point - the ExitPoint calling the method
Returns:
true if the result of the analysis is changed.

getVariableString

public String getVariableString(DivisionAnalysis.Div variable)
Description copied from interface: FixedPointAnalysis
Returns a textual representation of the variable variable.

Parameters:
variable - the variable for which a text representation is returned
Returns:
a textual representation of the variable variable