public class ContextSensitiveAnalysisObject extends AnalysisObject
AnalysisObject.AnalysisObjectKindarrayElementsTypeStore, EMPTY_ARRAY, id, instanceFieldsTypeStore, kind, merged, objectsTypeComparator, type| Constructor and Description |
|---|
ContextSensitiveAnalysisObject(AnalysisUniverse universe,
AnalysisType type,
AnalysisObject.AnalysisObjectKind kind) |
| Modifier and Type | Method and Description |
|---|---|
ArrayElementsTypeFlow |
getArrayElementsFlow(BigBang bb,
boolean isStore)
Returns the array elements type flow corresponding to an analysis object of array type.
|
FieldFilterTypeFlow |
getInstanceFieldFilterFlow(BigBang bb,
AnalysisMethod context,
AnalysisField field)
Returns the filter field flow corresponding to an unsafe accessed field.
|
FieldTypeFlow |
getInstanceFieldFlow(BigBang bb,
AnalysisField field,
boolean isStore)
Returns the instance field flow corresponding to a filed of the object's type.
|
List<AnalysisObject> |
getReferencedObjects()
Returns the list of referenced objects, i.e., field objects or array elements discovered by
the static analysis.
|
void |
mergeInstanceFieldsFlows(BigBang bb,
AnalysisObject object) |
void |
noteMerge(BigBang bb)
The object has been in contact with an context insensitive object in an union operation.
|
compareTo, equals, getId, getInstanceFieldFlow, getTypeId, getUnsafeWriteSinkFrozenFilterFlow, hashCode, isAllocationContextSensitiveObject, isConstantContextSensitiveObject, isContextInsensitiveObject, isContextSensitiveObject, isEmptyObjectArrayConstant, isEmptyObjectArrayConstant, isObjectArray, isPrimitiveArray, prefix, toString, typepublic ContextSensitiveAnalysisObject(AnalysisUniverse universe, AnalysisType type, AnalysisObject.AnalysisObjectKind kind)
public void noteMerge(BigBang bb)
noteMerge in class AnalysisObjectpublic void mergeInstanceFieldsFlows(BigBang bb, AnalysisObject object)
public ArrayElementsTypeFlow getArrayElementsFlow(BigBang bb, boolean isStore)
AnalysisObjectgetArrayElementsFlow in class AnalysisObjectpublic FieldFilterTypeFlow getInstanceFieldFilterFlow(BigBang bb, AnalysisMethod context, AnalysisField field)
getInstanceFieldFilterFlow in class AnalysisObjectpublic FieldTypeFlow getInstanceFieldFlow(BigBang bb, AnalysisField field, boolean isStore)
AnalysisObjectgetInstanceFieldFlow in class AnalysisObjectpublic List<AnalysisObject> getReferencedObjects()