Interface InstanceKey
- All Superinterfaces:
ContextItem
- All Known Subinterfaces:
InstanceKeyWithNode, ObjectVertex
- All Known Implementing Classes:
AbstractTypeInNode, AllocationSite, AllocationSiteInNode, ConcreteTypeKey, ConstantKey, CreationSiteVertex, FuncVertex, GlobalObjectKey, GlobalVertex, MultiNewArrayInNode, NormalAllocationInNode, ScopeMappingInstanceKeys.ScopeMappingInstanceKey, SmushedAllocationSiteInNode, StringConstantCharArray, ZeroLengthArrayInNode
An InstanceKey serves as the representative for an equivalence class of objects in the heap, that
can be pointed to.
For example, for 0-CFA, an InstanceKey would embody an <IClass>... we model all instances of a particular class
For 0-1-CFA, an InstanceKey could be <IMethod,statement #>, representing a particular allocation statement in a particular method.
-
Nested Class Summary
Nested classes/interfaces inherited from interface ContextItem
ContextItem.Value<T> -
Method Summary
Modifier and TypeMethodDescriptionFor now, we assert that each InstanceKey represents a set of classes which are all of the same concrete type (modulo the fact that all arrays of references are considered concrete type []Object;)Get the creation sites ofthis, i.e., the statements that may allocate objects represented bythis.
-
Method Details
-
getConcreteType
IClass getConcreteType()For now, we assert that each InstanceKey represents a set of classes which are all of the same concrete type (modulo the fact that all arrays of references are considered concrete type []Object;) -
getCreationSites
Get the creation sites ofthis, i.e., the statements that may allocate objects represented bythis. A creation site is a pair (n,s), where n is the containingCGNodein the givenCallGraphCGand s is the allocatingNewSiteReference.
-