public class JvmTreeHeapFollowerAbstractState<StateT extends LatticeAbstractState<StateT>> extends JvmTreeHeapAbstractState<StateT>
JvmTreeHeapPrincipalAbstractState instead for finding out which field/variable references an object.referenceToNode| Constructor and Description |
|---|
JvmTreeHeapFollowerAbstractState(JvmReferenceAbstractState principal,
StateT defaultValue)
Create a follower heap abstract state.
|
| Modifier and Type | Method and Description |
|---|---|
JvmTreeHeapFollowerAbstractState<StateT> |
copy()
Creates a copy of itself.
|
StateT |
getArrayElementOrDefault(StateT array,
StateT index,
StateT defaultValue)
Returns an
array element at the specified index or the defaultValue, if the element is unset. |
StateT |
getField(StateT object,
java.lang.String descriptor,
StateT defaultValue)
Returns a field
descriptor from a reference object. |
boolean |
isLessOrEqual(JvmHeapAbstractState<StateT> abstractState)
Compares itself to the
abstractState. |
JvmTreeHeapFollowerAbstractState<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.
|
void |
setArrayElement(StateT array,
StateT index,
StateT value)
Sets the
array element value at the specified index. |
void |
setField(StateT object,
java.lang.String descriptor,
StateT value)
Sets a
value to a field descriptor of a referenced object and returns the value. |
void |
setPrincipalState(JvmReferenceAbstractState principal) |
equals, getArrayElementOrDefault, getField, hashCode, setArrayElement, setFieldclone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitisLessgetPrecision, getStateByNamepublic JvmTreeHeapFollowerAbstractState(JvmReferenceAbstractState principal, StateT defaultValue)
principal - the principal heap abstract state containing reference abstract statesdefaultValue - the default value representing unknown valuespublic StateT getField(StateT object, java.lang.String descriptor, StateT defaultValue)
JvmHeapAbstractStatedescriptor from a reference object.
If there is no abstract state representing the field, returns the defaultValuepublic void setField(StateT object, java.lang.String descriptor, StateT value)
JvmHeapAbstractStatevalue to a field descriptor of a referenced object and returns the value.public StateT getArrayElementOrDefault(StateT array, StateT index, StateT defaultValue)
JvmHeapAbstractStatearray element at the specified index or the defaultValue, if the element is unset.public void setArrayElement(StateT array, StateT index, StateT value)
JvmHeapAbstractStatearray element value at the specified index.public StateT newObject(java.lang.String className, JvmCfaNode creationCite)
JvmHeapAbstractStatepublic StateT newArray(java.lang.String type, java.util.List<StateT> dimensions, JvmCfaNode creationCite)
JvmHeapAbstractStatepublic JvmTreeHeapFollowerAbstractState<StateT> join(JvmHeapAbstractState<StateT> abstractState)
LatticeAbstractStateabstractState.public boolean isLessOrEqual(JvmHeapAbstractState<StateT> abstractState)
LatticeAbstractStateabstractState.isLessOrEqual in interface LatticeAbstractState<JvmHeapAbstractState<StateT extends LatticeAbstractState<StateT>>>isLessOrEqual in class JvmTreeHeapAbstractState<StateT extends LatticeAbstractState<StateT>>public JvmTreeHeapFollowerAbstractState<StateT> copy()
AbstractStatepublic void setPrincipalState(JvmReferenceAbstractState principal)