public class HeapNode<StateT extends LatticeAbstractState<StateT>> extends java.lang.Object implements LatticeAbstractState<HeapNode<StateT>>
| Modifier | Constructor and Description |
|---|---|
protected |
HeapNode()
Create a heap node.
|
protected |
HeapNode(MapAbstractState<java.lang.String,StateT> fieldToAbstractState) |
| Modifier and Type | Method and Description |
|---|---|
StateT |
computeIfAbsent(java.lang.String descriptor,
java.util.function.Function<? super java.lang.String,? extends StateT> mappingFunction)
Returns an abstract state for the corresponding field or computes it if there is no entry.
|
HeapNode<StateT> |
copy()
Creates a copy of itself.
|
boolean |
equals(java.lang.Object obj) |
StateT |
getValueOrDefault(java.lang.String descriptor,
StateT defaultValue)
Returns an abstract state for the corresponding field or the
defaultValue if there is no entry. |
int |
hashCode() |
boolean |
isLessOrEqual(HeapNode<StateT> abstractState)
Compares itself to the
abstractState. |
HeapNode<StateT> |
join(HeapNode<StateT> abstractState)
Computes a join over itself and the
abstractState. |
void |
mergeValue(java.lang.String descriptor,
StateT value)
Joins the field value with the input
value. |
void |
setValue(java.lang.String descriptor,
StateT value)
Sets the field to the input
value. |
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitisLessgetPrecision, getStateByNameprotected HeapNode()
protected HeapNode(MapAbstractState<java.lang.String,StateT> fieldToAbstractState)
public HeapNode<StateT> join(HeapNode<StateT> abstractState)
LatticeAbstractStateabstractState.join in interface LatticeAbstractState<HeapNode<StateT extends LatticeAbstractState<StateT>>>public boolean isLessOrEqual(HeapNode<StateT> abstractState)
LatticeAbstractStateabstractState.isLessOrEqual in interface LatticeAbstractState<HeapNode<StateT extends LatticeAbstractState<StateT>>>public HeapNode<StateT> copy()
AbstractStatecopy in interface AbstractStatepublic boolean equals(java.lang.Object obj)
equals in interface AbstractStateequals in class java.lang.Objectpublic int hashCode()
hashCode in interface AbstractStatehashCode in class java.lang.Objectpublic StateT getValueOrDefault(java.lang.String descriptor, StateT defaultValue)
defaultValue if there is no entry.public StateT computeIfAbsent(java.lang.String descriptor, java.util.function.Function<? super java.lang.String,? extends StateT> mappingFunction)
public void mergeValue(java.lang.String descriptor,
StateT value)
value.public void setValue(java.lang.String descriptor,
StateT value)
value.