|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objecttip.cfg.CFGAnalysisAdapter
tip.cfg.FlowAnalysis<EqualityMap<ALocalDecl,IntervalAnalysis.Interval>>
tip.cfg.dfa.IntervalAnalysis
public class IntervalAnalysis
Nested Class Summary | |
---|---|
static class |
IntervalAnalysis.Evaluator
|
static class |
IntervalAnalysis.Interval
|
Constructor Summary | |
---|---|
IntervalAnalysis()
|
Method Summary | |
---|---|
boolean |
caseCAssignVarStmPoint(AAssignVarStm node,
CAssignVarStmPoint point)
Default implementation. |
boolean |
caseCDeclStmPoint(ADeclStm node,
CDeclStmPoint point)
Default implementation. |
boolean |
caseEntryPoint(Node node,
EntryPoint 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. |
IntervalAnalysis.Interval |
eval(EqualityMap<ALocalDecl,IntervalAnalysis.Interval> sigma,
PExp exp)
|
String |
getVariableString(EqualityMap<ALocalDecl,IntervalAnalysis.Interval> variable)
Returns a textual representation of the variable variable . |
String |
getVariableStringForPoint(IProgramPoint point,
int distance)
Returns a textual representation of the variable for point only
included information relevant for points in the distance vicinity
of point . |
boolean |
isNarrowing()
Returns true if the current analysis is in the narrowing phase. |
boolean |
isWidening()
Returns true if the current analysis is in the widening phase. |
void |
setNarrowing()
Sets the current analysis to be in the narrowing phase. |
void |
setWidening()
Sets the current analysis to be in the widening phase. |
IntervalAnalysis.Interval |
widen(IntervalAnalysis.Interval interval)
|
Methods inherited from class tip.cfg.FlowAnalysis |
---|
end, getDependencySet, getLattice, getName, getVariable, getVariableStringForPoint, setVariable, start |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface tip.cfg.FixedPointAnalysis |
---|
end, getDependencySet, getName, getVariable, getVariableStringForPoint, start |
Constructor Detail |
---|
public IntervalAnalysis()
Method Detail |
---|
public boolean isWidening()
WideningNarrowingAnalysis
true
if the current analysis is in the widening phase.
isWidening
in interface WideningNarrowingAnalysis<EqualityMap<ALocalDecl,IntervalAnalysis.Interval>>
true
if the current analysis is in the widening phasepublic void setWidening()
WideningNarrowingAnalysis
setWidening
in interface WideningNarrowingAnalysis<EqualityMap<ALocalDecl,IntervalAnalysis.Interval>>
public boolean isNarrowing()
WideningNarrowingAnalysis
true
if the current analysis is in the narrowing phase.
isNarrowing
in interface WideningNarrowingAnalysis<EqualityMap<ALocalDecl,IntervalAnalysis.Interval>>
true
if the current analysis is in the narrowing phasepublic void setNarrowing()
WideningNarrowingAnalysis
setNarrowing
in interface WideningNarrowingAnalysis<EqualityMap<ALocalDecl,IntervalAnalysis.Interval>>
public boolean defaultNode(Node node, IProgramPoint point)
FlowAnalysis
point
is updated to be the join of the points in its dependency set.
defaultNode
in class FlowAnalysis<EqualityMap<ALocalDecl,IntervalAnalysis.Interval>>
node
- the node associated with point
point
- the handled point
true
is the variable chanedFlowAnalysis.join(IProgramPoint)
public boolean caseCDeclStmPoint(ADeclStm node, CDeclStmPoint point)
CFGAnalysisAdapter
CFGAnalysisAdapter.defaultNode(Node,IProgramPoint)
.
caseCDeclStmPoint
in interface ICFGAnalysis
caseCDeclStmPoint
in class CFGAnalysisAdapter
node
- the ADeclStm
associated with point
point
- the CDeclStmPoint
calling the method
true
if the result of the analysis is changed.public boolean caseCAssignVarStmPoint(AAssignVarStm node, CAssignVarStmPoint point)
CFGAnalysisAdapter
CFGAnalysisAdapter.defaultNode(Node,IProgramPoint)
.
caseCAssignVarStmPoint
in interface ICFGAnalysis
caseCAssignVarStmPoint
in class CFGAnalysisAdapter
node
- the AAssignVarStm
associated with point
point
- the CAssignVarStmPoint
calling the method
true
if the result of the analysis is changed.public boolean caseEntryPoint(Node node, EntryPoint point)
CFGAnalysisAdapter
CFGAnalysisAdapter.defaultNode(Node,IProgramPoint)
.
caseEntryPoint
in interface ICFGAnalysis
caseEntryPoint
in class CFGAnalysisAdapter
node
- the Node
associated with point
point
- the EntryPoint
calling the method
true
if the result of the analysis is changed.public IntervalAnalysis.Interval widen(IntervalAnalysis.Interval interval)
public String getVariableString(EqualityMap<ALocalDecl,IntervalAnalysis.Interval> variable)
FixedPointAnalysis
variable
.
getVariableString
in interface FixedPointAnalysis<EqualityMap<ALocalDecl,IntervalAnalysis.Interval>>
variable
- the variable for which a text representation is returned
variable
public String getVariableStringForPoint(IProgramPoint point, int distance)
FlowAnalysis
point
only
included information relevant for points in the distance
vicinity
of point
.
getVariableStringForPoint
in interface FixedPointAnalysis<EqualityMap<ALocalDecl,IntervalAnalysis.Interval>>
getVariableStringForPoint
in class FlowAnalysis<EqualityMap<ALocalDecl,IntervalAnalysis.Interval>>
point
- the point for which the variable string is returneddistance
- the vicinity distance taken into account
point
IProgramPoint.getVicinity(int)
public IntervalAnalysis.Interval eval(EqualityMap<ALocalDecl,IntervalAnalysis.Interval> sigma, PExp exp)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |