public class JvmForgetfulHeapAbstractState<StateT extends LatticeAbstractState<StateT>> extends java.lang.Object implements JvmHeapAbstractState<StateT>
| Constructor and Description |
|---|
JvmForgetfulHeapAbstractState(StateT defaultValue)
Create a forgetful heap abstract state returning the specified value for all queries.
|
| Modifier and Type | Method and Description |
|---|---|
JvmForgetfulHeapAbstractState<StateT> |
copy()
Creates a copy of itself.
|
boolean |
equals(java.lang.Object o) |
<T> StateT |
getArrayElementOrDefault(T array,
StateT index,
StateT defaultValue)
Returns an
array element at the specified index or the defaultValue, if the element is unset. |
<T> StateT |
getFieldOrDefault(T object,
java.lang.String fqn,
StateT defaultValue)
Returns a field
fqn from a reference object. |
int |
hashCode() |
boolean |
isLessOrEqual(JvmHeapAbstractState<StateT> abstractState)
Compares itself to the
abstractState. |
JvmForgetfulHeapAbstractState<StateT> |
join(JvmHeapAbstractState<StateT> abstractState)
Computes a join over itself and the
abstractState. |
StateT |
newArray(java.lang.String type,
java.util.List<StateT> dimensions,
JvmCfaNode creationCite)
Creates a new array of a given class with the given dimension sizes at a specific program point and returns a reference to it.
|
StateT |
newObject(java.lang.String className,
JvmCfaNode creationCite)
Creates a new object of a given class at a specific program point and returns a reference to it.
|
<T> void |
setArrayElement(T array,
StateT index,
StateT value)
Sets the
array element value at the specified index. |
<T> void |
setField(T object,
java.lang.String fqn,
StateT value)
Sets a
value to a field fqn of a referenced object. |
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitexpand, newObject, reduceisLessgetPrecision, getStateByNamepublic JvmForgetfulHeapAbstractState(StateT defaultValue)
defaultValue - the value to be returned by memory accessespublic <T> StateT getFieldOrDefault(T object, java.lang.String fqn, StateT defaultValue)
JvmHeapAbstractStatefqn from a reference object.
If there is no abstract state representing the field, returns the defaultValuegetFieldOrDefault in interface JvmHeapAbstractState<StateT extends LatticeAbstractState<StateT>>public <T> void setField(T object,
java.lang.String fqn,
StateT value)
JvmHeapAbstractStatevalue to a field fqn of a referenced object.setField in interface JvmHeapAbstractState<StateT extends LatticeAbstractState<StateT>>public <T> StateT getArrayElementOrDefault(T array, StateT index, StateT defaultValue)
JvmHeapAbstractStatearray element at the specified index or the defaultValue, if the element is unset.getArrayElementOrDefault in interface JvmHeapAbstractState<StateT extends LatticeAbstractState<StateT>>public <T> void setArrayElement(T array,
StateT index,
StateT value)
JvmHeapAbstractStatearray element value at the specified index.setArrayElement in interface JvmHeapAbstractState<StateT extends LatticeAbstractState<StateT>>public StateT newObject(java.lang.String className, JvmCfaNode creationCite)
JvmHeapAbstractStatenewObject in interface JvmHeapAbstractState<StateT extends LatticeAbstractState<StateT>>public StateT newArray(java.lang.String type, java.util.List<StateT> dimensions, JvmCfaNode creationCite)
JvmHeapAbstractStatenewArray in interface JvmHeapAbstractState<StateT extends LatticeAbstractState<StateT>>public JvmForgetfulHeapAbstractState<StateT> join(JvmHeapAbstractState<StateT> abstractState)
LatticeAbstractStateabstractState.join in interface LatticeAbstractState<JvmHeapAbstractState<StateT extends LatticeAbstractState<StateT>>>public boolean isLessOrEqual(JvmHeapAbstractState<StateT> abstractState)
LatticeAbstractStateabstractState.isLessOrEqual in interface LatticeAbstractState<JvmHeapAbstractState<StateT extends LatticeAbstractState<StateT>>>public boolean equals(java.lang.Object o)
equals in interface AbstractStateequals in class java.lang.Objectpublic int hashCode()
hashCode in interface AbstractStatehashCode in class java.lang.Objectpublic JvmForgetfulHeapAbstractState<StateT> copy()
AbstractStatecopy in interface AbstractStatecopy in interface JvmHeapAbstractState<StateT extends LatticeAbstractState<StateT>>