public class JvmTreeHeapPrincipalAbstractState extends JvmTreeHeapAbstractState<SetAbstractState<Reference>>
o is created on-the-fly, its field o.f will be
aliased with o.f.f.referenceToNode| Constructor and Description |
|---|
JvmTreeHeapPrincipalAbstractState()
Create an empty principal heap model.
|
| Modifier and Type | Method and Description |
|---|---|
JvmTreeHeapPrincipalAbstractState |
copy()
Creates a copy of itself.
|
SetAbstractState<Reference> |
getArrayElementOrDefault(SetAbstractState<Reference> array,
SetAbstractState<Reference> index,
SetAbstractState<Reference> defaultValue)
Returns a join over all arrays aliased by the input
SetAbstractState. |
SetAbstractState<Reference> |
getField(SetAbstractState<Reference> object,
java.lang.String descriptor,
SetAbstractState<Reference> defaultValue)
Returns a join over all fields aliased by the input
SetAbstractState. |
JvmTreeHeapPrincipalAbstractState |
join(JvmHeapAbstractState<SetAbstractState<Reference>> abstractState)
Computes a join over itself and the
abstractState. |
SetAbstractState<Reference> |
newArray(java.lang.String type,
java.util.List<SetAbstractState<Reference>> 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.
|
SetAbstractState<Reference> |
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(SetAbstractState<Reference> array,
SetAbstractState<Reference> index,
SetAbstractState<Reference> value)
Joins the array elements with the given one for all aliases.
|
void |
setField(SetAbstractState<Reference> object,
java.lang.String descriptor,
SetAbstractState<Reference> value)
Sets the field value to the given one if the reference is unambiguous, joins otherwise.
|
equals, hashCode, isLessOrEqualclone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitisLessgetPrecision, getStateByNamepublic JvmTreeHeapPrincipalAbstractState()
public SetAbstractState<Reference> getField(SetAbstractState<Reference> object, java.lang.String descriptor, SetAbstractState<Reference> defaultValue)
JvmTreeHeapAbstractStateSetAbstractState. The defaultValue is used when there is no information available.getField in interface JvmHeapAbstractState<SetAbstractState<Reference>>getField in class JvmTreeHeapAbstractState<SetAbstractState<Reference>>public void setField(SetAbstractState<Reference> object, java.lang.String descriptor, SetAbstractState<Reference> value)
JvmTreeHeapAbstractStatesetField in interface JvmHeapAbstractState<SetAbstractState<Reference>>setField in class JvmTreeHeapAbstractState<SetAbstractState<Reference>>public SetAbstractState<Reference> getArrayElementOrDefault(SetAbstractState<Reference> array, SetAbstractState<Reference> index, SetAbstractState<Reference> defaultValue)
JvmTreeHeapAbstractStateSetAbstractState. The defaultValue is used when there is no information available.getArrayElementOrDefault in interface JvmHeapAbstractState<SetAbstractState<Reference>>getArrayElementOrDefault in class JvmTreeHeapAbstractState<SetAbstractState<Reference>>public void setArrayElement(SetAbstractState<Reference> array, SetAbstractState<Reference> index, SetAbstractState<Reference> value)
JvmTreeHeapAbstractStatesetArrayElement in interface JvmHeapAbstractState<SetAbstractState<Reference>>setArrayElement in class JvmTreeHeapAbstractState<SetAbstractState<Reference>>public SetAbstractState<Reference> newObject(java.lang.String className, JvmCfaNode creationCite)
JvmHeapAbstractStatepublic SetAbstractState<Reference> newArray(java.lang.String type, java.util.List<SetAbstractState<Reference>> dimensions, JvmCfaNode creationCite)
JvmHeapAbstractStatepublic JvmTreeHeapPrincipalAbstractState join(JvmHeapAbstractState<SetAbstractState<Reference>> abstractState)
LatticeAbstractStateabstractState.public JvmTreeHeapPrincipalAbstractState copy()
AbstractState