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()
AbstractValueisBottom in interface AbstractValue<CDAbsVal>public boolean leq(CDAbsVal o)
Orderedpublic CDAbsVal upperBound(CDAbsVal o)
Orderedthis and oupperBound in interface Ordered<CDAbsVal>o - object to upper bound with thisthis with opublic CDAbsVal widen(CDAbsVal o)
Orderedthis 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.Itempublic int hashCode()
hashCode in class polyglot.visit.DataFlow.Itempublic java.util.Set<EdgeIdentifier> controlDeps()
public CDAbsVal popControlDeps()