Class DefaultPointerKeyFactory
- java.lang.Object
-
- com.ibm.wala.ipa.callgraph.propagation.cfa.DefaultPointerKeyFactory
-
- All Implemented Interfaces:
PointerKeyFactory
public class DefaultPointerKeyFactory extends Object implements PointerKeyFactory
Default implementation ofPointerKeyFactory
-
-
Constructor Summary
Constructors Constructor Description DefaultPointerKeyFactory()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description FilteredPointerKey
getFilteredPointerKeyForLocal(CGNode node, int valueNumber, FilteredPointerKey.TypeFilter filter)
PointerKey
getPointerKeyForArrayContents(InstanceKey I)
TODO: expand this API to differentiate between different array indicesPointerKey
getPointerKeyForExceptionalReturnValue(CGNode node)
PointerKey
getPointerKeyForInstanceField(InstanceKey I, IField field)
PointerKey
getPointerKeyForLocal(CGNode node, int valueNumber)
PointerKey
getPointerKeyForReturnValue(CGNode node)
PointerKey
getPointerKeyForStaticField(IField f)
-
-
-
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
-
getPointerKeyForInstanceField
public PointerKey getPointerKeyForInstanceField(InstanceKey I, IField field)
- 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.
-
-