public class ConstantContextSensitiveObject extends ContextSensitiveAnalysisObject
AnalysisObject.AnalysisObjectKindarrayElementsTypeStore, EMPTY_ARRAY, id, instanceFieldsTypeStore, kind, merged, objectsTypeComparator, type| Constructor and Description |
|---|
ConstantContextSensitiveObject(PointsToAnalysis bb,
AnalysisType type)
Constructor used for the merged constant object, i.e., after the number of individual
constant objects for a type has reached the maximum number of recorded constants threshold.
|
ConstantContextSensitiveObject(PointsToAnalysis bb,
AnalysisType type,
jdk.vm.ci.meta.JavaConstant constant) |
| Modifier and Type | Method and Description |
|---|---|
protected List<AnalysisObject> |
getAllObjectsMergedWith()
This returns all the objects this object was ever merged with.
|
jdk.vm.ci.meta.JavaConstant |
getConstant() |
boolean |
isEmptyObjectArrayConstant(PointsToAnalysis bb)
Check if a constant object wraps the empty array constant, e.g.
|
boolean |
isMergedConstantObject()
Test if this is the merged constant object for its type.
|
void |
noteMerge(PointsToAnalysis bb)
The object has been in contact with an context insensitive object in an union operation.
|
void |
setMergedWithUniqueConstantObject() |
String |
toString() |
getArrayElementsFlow, getInstanceFieldFilterFlow, getInstanceFieldFlow, getReferencedObjects, mergeInstanceFieldFlow, mergeInstanceFieldFlow, mergeInstanceFieldsFlowscompareTo, equals, getArrayElementsTypeStore, getId, getInstanceFieldFlow, getTypeId, getUnsafeWriteSinkFrozenFilterFlow, hashCode, isAllocationContextSensitiveObject, isConstantContextSensitiveObject, isContextInsensitiveObject, isContextSensitiveObject, isEmptyObjectArrayConstant, isObjectArray, isPrimitiveArray, prefix, typepublic ConstantContextSensitiveObject(PointsToAnalysis bb, AnalysisType type)
public ConstantContextSensitiveObject(PointsToAnalysis bb, AnalysisType type, jdk.vm.ci.meta.JavaConstant constant)
public jdk.vm.ci.meta.JavaConstant getConstant()
public boolean isMergedConstantObject()
public void setMergedWithUniqueConstantObject()
public void noteMerge(PointsToAnalysis bb)
noteMerge in class ContextSensitiveAnalysisObjectprotected List<AnalysisObject> getAllObjectsMergedWith()
ContextSensitiveAnalysisObjectgetAllObjectsMergedWith in class ContextSensitiveAnalysisObjectpublic boolean isEmptyObjectArrayConstant(PointsToAnalysis bb)
AnalysisObject static final Object[]
EMPTY_ELEMENTDATA = {} for ArrayList;isEmptyObjectArrayConstant in class AnalysisObjectpublic String toString()
toString in class AnalysisObject