public class CDAbsVal extends polyglot.visit.DataFlow.Item implements AbstractValue<CDAbsVal>
Modifier and Type | Field and Description |
---|---|
static CDAbsVal |
BOTTOM |
protected java.util.Set<EdgeIdentifier> |
controlDeps |
protected CDAbsVal |
parent |
static CDAbsVal |
STARTPROC |
Constructor and Description |
---|
CDAbsVal(CDAbsVal parent,
EdgeIdentifier ctlDep) |
CDAbsVal(CDAbsVal parent,
java.util.Set<EdgeIdentifier> controlDeps) |
Modifier and Type | Method and Description |
---|---|
java.util.Set<EdgeIdentifier> |
controlDeps() |
boolean |
equals(java.lang.Object o) |
int |
hashCode() |
boolean |
isBottom()
An AbstractValue may indicate that it is the bottom element.
|
boolean |
leq(CDAbsVal o)
Is the given object less than or equal to this one
|
CDAbsVal |
popControlDeps() |
void |
setParent(CDAbsVal parent) |
CDAbsVal |
upperBound(CDAbsVal o)
Compute the upper bound of
this and o |
static CDAbsVal |
upperBound(java.util.List<CDAbsVal> vals) |
CDAbsVal |
widen(CDAbsVal o)
Compute the widening operator on
this and o . |
public static final CDAbsVal STARTPROC
public static final CDAbsVal BOTTOM
protected final java.util.Set<EdgeIdentifier> controlDeps
protected CDAbsVal parent
public CDAbsVal(CDAbsVal parent, java.util.Set<EdgeIdentifier> controlDeps)
public CDAbsVal(CDAbsVal parent, EdgeIdentifier ctlDep)
public void setParent(CDAbsVal parent)
public boolean isBottom()
AbstractValue
isBottom
in interface AbstractValue<CDAbsVal>
public boolean leq(CDAbsVal o)
Ordered
public CDAbsVal upperBound(CDAbsVal o)
Ordered
this
and o
upperBound
in interface Ordered<CDAbsVal>
o
- object to upper bound with thisthis
with o
public CDAbsVal widen(CDAbsVal o)
Ordered
this
and o
. A
widening operator is an upper bound where all ascending chains eventually
stabilize.public boolean equals(java.lang.Object o)
equals
in class polyglot.visit.DataFlow.Item
public int hashCode()
hashCode
in class polyglot.visit.DataFlow.Item
public java.util.Set<EdgeIdentifier> controlDeps()
public CDAbsVal popControlDeps()