Class ScopeMappingInstanceKeys.ScopeMappingInstanceKey
java.lang.Object
com.ibm.wala.cast.ipa.callgraph.ScopeMappingInstanceKeys.ScopeMappingInstanceKey
- All Implemented Interfaces:
ContextItem
,InstanceKey
- Enclosing class:
ScopeMappingInstanceKeys
An
InstanceKey
carrying information about which CGNode
s represent lexical
parents of the allocating CGNode
.
The fact that we discover at most one CGNode
per lexical parent relies on the
following property: in a call graph, the contexts used for a nested function can be finer than
those used for the containing function, but _not_ coarser. This ensures that there is at most
one CGNode corresponding to a lexical parent (e.g., we don't get two clones of function f1()
invoking a single CGNode representing nested function f2())
Note that it is possible to not find a CGNode
corresponding to some lexical parent;
this occurs when a deeply nested function is returned before being invoked, so some lexical
parent is no longer on the call stack when the function is allocated. See test case nested.js.
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.ibm.wala.ipa.callgraph.ContextItem
ContextItem.Value<T>
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
getBase()
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;)Get the creation sites ofthis
, i.e., the statements that may allocate objects represented bythis
.getFunargNodes
(Pair<String, String> name) get the CGNode representing the lexical parent ofcreator
with name definerint
hashCode()
toString()
-
Constructor Details
-
ScopeMappingInstanceKey
-
-
Method Details
-
getConcreteType
Description copied from interface:InstanceKey
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;)- Specified by:
getConcreteType
in interfaceInstanceKey
-
getFunargNodes
-
hashCode
-
equals
-
toString
-
getBase
-
getCreator
-
getCreationSites
Description copied from interface:InstanceKey
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 containingCGNode
in the givenCallGraph
CG
and s is the allocatingNewSiteReference
.- Specified by:
getCreationSites
in interfaceInstanceKey
-