Class CrossLanguageInstanceKeys
java.lang.Object
com.ibm.wala.cast.ipa.callgraph.CrossLanguageInstanceKeys
- All Implemented Interfaces:
InstanceKeyFactory
An InstanceKeyFactory implementation that is designed to support multiple languages. This
implementation delegates to one of several child instance key factories based on the language
associated with the IClass or TypeReference for which an instance key is being chosen.
- Author:
- Julian Dolby (dolby@us.ibm.com)
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptiongetInstanceKeyForAllocation
(CGNode node, NewSiteReference allocation) getInstanceKeyForConstant
(TypeReference type, Object S) getInstanceKeyForMetadataObject
(Object obj, TypeReference objType) getInstanceKeyForMultiNewArray
(CGNode node, NewSiteReference allocation, int dim) getInstanceKeyForPEI
(CGNode node, ProgramCounter instr, TypeReference type)
-
Constructor Details
-
CrossLanguageInstanceKeys
-
-
Method Details
-
getInstanceKeyForAllocation
- Specified by:
getInstanceKeyForAllocation
in interfaceInstanceKeyFactory
- Returns:
- the instance key that represents a particular allocation
-
getInstanceKeyForMultiNewArray
public InstanceKey getInstanceKeyForMultiNewArray(CGNode node, NewSiteReference allocation, int dim) - Specified by:
getInstanceKeyForMultiNewArray
in interfaceInstanceKeyFactory
- Returns:
- the instance key that represents the array allocated as the dim_th dimension at a particular allocation
-
getInstanceKeyForConstant
- Specified by:
getInstanceKeyForConstant
in interfaceInstanceKeyFactory
- Returns:
- the instance key that represents a constant with value S, when considered as a particular type
-
getInstanceKeyForPEI
- Specified by:
getInstanceKeyForPEI
in interfaceInstanceKeyFactory
- Returns:
- the instance key that represents the exception of type _type_ thrown by a particular PEI.
-
getInstanceKeyForMetadataObject
- Specified by:
getInstanceKeyForMetadataObject
in interfaceInstanceKeyFactory
- Parameters:
objType
- TODO- Returns:
- the instance key that represents the metadata object obj
-