public abstract class JvmTreeHeapAbstractState<StateT extends LatticeAbstractState<StateT>> extends java.lang.Object implements JvmHeapAbstractState<StateT>
HeapNodes) which may refer other heap nodes in their fields.| Modifier and Type | Field and Description |
|---|---|
protected MapAbstractState<Reference,HeapNode<StateT>> |
referenceToNode |
| Modifier | Constructor and Description |
|---|---|
|
JvmTreeHeapAbstractState()
Create an empty tree heap abstract state.
|
protected |
JvmTreeHeapAbstractState(MapAbstractState<Reference,HeapNode<StateT>> referenceToNode)
Create an tree heap abstract state from a given memory layout.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(java.lang.Object obj) |
protected StateT |
getArrayElementOrDefault(SetAbstractState<Reference> array,
StateT index,
StateT defaultValue)
Returns a join over all arrays aliased by the input
SetAbstractState. |
protected StateT |
getField(SetAbstractState<Reference> object,
java.lang.String descriptor,
StateT defaultValue)
Returns a join over all fields aliased by the input
SetAbstractState. |
int |
hashCode() |
boolean |
isLessOrEqual(JvmHeapAbstractState<StateT> abstractState)
Compares itself to the
abstractState. |
protected void |
setArrayElement(SetAbstractState<Reference> array,
StateT index,
StateT value)
Joins the array elements with the given one for all aliases.
|
protected void |
setField(SetAbstractState<Reference> object,
java.lang.String descriptor,
StateT value)
Sets the field value to the given one if the reference is unambiguous, joins otherwise.
|
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitcopy, getArrayElementOrDefault, getField, newArray, newObject, setArrayElement, setFieldisLess, joingetPrecision, getStateByNameprotected final MapAbstractState<Reference,HeapNode<StateT extends LatticeAbstractState<StateT>>> referenceToNode
public JvmTreeHeapAbstractState()
protected JvmTreeHeapAbstractState(MapAbstractState<Reference,HeapNode<StateT>> referenceToNode)
referenceToNode - a mapping from references to their objects/arraysprotected StateT getField(SetAbstractState<Reference> object, java.lang.String descriptor, StateT defaultValue)
SetAbstractState. The defaultValue is used when there is no information available.protected void setField(SetAbstractState<Reference> object, java.lang.String descriptor, StateT value)
protected StateT getArrayElementOrDefault(SetAbstractState<Reference> array, StateT index, StateT defaultValue)
SetAbstractState. The defaultValue is used when there is no information available.protected void setArrayElement(SetAbstractState<Reference> array, StateT index, StateT value)
public boolean isLessOrEqual(JvmHeapAbstractState<StateT> abstractState)
LatticeAbstractStateabstractState.isLessOrEqual in interface LatticeAbstractState<JvmHeapAbstractState<StateT extends LatticeAbstractState<StateT>>>public 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.Object