Package com.ibm.wala.cast.ipa.callgraph
Class DelegatingAstPointerKeys
- java.lang.Object
-
- com.ibm.wala.cast.ipa.callgraph.DelegatingAstPointerKeys
-
- All Implemented Interfaces:
AstPointerKeyFactory
,PointerKeyFactory
- Direct Known Subclasses:
AstCFAPointerKeys
public class DelegatingAstPointerKeys extends Object implements AstPointerKeyFactory
-
-
Constructor Summary
Constructors Constructor Description DelegatingAstPointerKeys(PointerKeyFactory base)
-
Method Summary
-
-
-
Constructor Detail
-
DelegatingAstPointerKeys
public DelegatingAstPointerKeys(PointerKeyFactory base)
-
-
Method Detail
-
getPointerKeyForLocal
public PointerKey getPointerKeyForLocal(CGNode node, int valueNumber)
- Specified by:
getPointerKeyForLocal
in interfacePointerKeyFactory
- Returns:
- the PointerKey that acts as a representative for the class of pointers that includes the local variable identified by the value number parameter.
-
getFilteredPointerKeyForLocal
public FilteredPointerKey getFilteredPointerKeyForLocal(CGNode node, int valueNumber, FilteredPointerKey.TypeFilter filter)
- Specified by:
getFilteredPointerKeyForLocal
in interfacePointerKeyFactory
- Returns:
- the PointerKey that acts as a representative for the class of pointers that includes the local variable identified by the value number parameter.
-
getPointerKeyForReturnValue
public PointerKey getPointerKeyForReturnValue(CGNode node)
- Specified by:
getPointerKeyForReturnValue
in interfacePointerKeyFactory
- Returns:
- the PointerKey that acts as a representative for the class of pointers that includes the return value for a node
-
getPointerKeyForExceptionalReturnValue
public PointerKey getPointerKeyForExceptionalReturnValue(CGNode node)
- Specified by:
getPointerKeyForExceptionalReturnValue
in interfacePointerKeyFactory
- Returns:
- the PointerKey that acts as a representative for the class of pointers that includes the exceptional return value
-
getPointerKeyForStaticField
public PointerKey getPointerKeyForStaticField(IField f)
- Specified by:
getPointerKeyForStaticField
in interfacePointerKeyFactory
- Returns:
- the PointerKey that acts as a representative for the class of pointers that includes the contents of the static field
-
getPointerKeyForObjectCatalog
public PointerKey getPointerKeyForObjectCatalog(InstanceKey I)
Description copied from interface:AstPointerKeyFactory
get a pointer key for the object catalog of I. The object catalog stores the names of all known properties of I.- Specified by:
getPointerKeyForObjectCatalog
in interfaceAstPointerKeyFactory
-
getPointerKeyForInstanceField
public PointerKey getPointerKeyForInstanceField(InstanceKey I, IField f)
- Specified by:
getPointerKeyForInstanceField
in interfacePointerKeyFactory
- Returns:
- the PointerKey that acts as a representation for the class of pointers that includes the given instance field.
-
getPointerKeyForArrayContents
public PointerKey getPointerKeyForArrayContents(InstanceKey I)
Description copied from interface:PointerKeyFactory
TODO: expand this API to differentiate between different array indices- Specified by:
getPointerKeyForArrayContents
in interfacePointerKeyFactory
- Parameters:
I
- an InstanceKey representing an abstract array- Returns:
- the PointerKey that acts as a representation for the class of pointers that includes the given array contents.
-
getPointerKeysForReflectedFieldWrite
public Iterator<PointerKey> getPointerKeysForReflectedFieldWrite(InstanceKey I, InstanceKey F)
- Specified by:
getPointerKeysForReflectedFieldWrite
in interfaceAstPointerKeyFactory
-
getFieldNameType
protected IClass getFieldNameType(InstanceKey F)
get type for F appropriate for use in a field name.- Parameters:
F
-- Returns:
-
getInstanceFieldPointerKeyForConstant
protected PointerKey getInstanceFieldPointerKeyForConstant(InstanceKey I, ConstantKey F)
if F is a supported constant representing a field, return the correspondingInstanceFieldKey
for I. Otherwise, returnnull
.- Parameters:
F
-- Returns:
-
getPointerKeysForReflectedFieldRead
public Iterator<PointerKey> getPointerKeysForReflectedFieldRead(InstanceKey I, InstanceKey F)
- Specified by:
getPointerKeysForReflectedFieldRead
in interfaceAstPointerKeyFactory
-
-