com.ibm.wala.ipa.callgraph.propagation
Class ReceiverTypeContextSelector

java.lang.Object
  extended by com.ibm.wala.ipa.callgraph.propagation.ReceiverTypeContextSelector
All Implemented Interfaces:
ContextSelector

public class ReceiverTypeContextSelector
extends java.lang.Object
implements ContextSelector

This context selector selects a context based on the concrete type of the receiver.


Constructor Summary
ReceiverTypeContextSelector()
           
 
Method Summary
 Context getCalleeTarget(CGNode caller, CallSiteReference site, IMethod callee, InstanceKey[] receiver)
          Given a calling node and a call site, returns the Context in which the callee should be evaluated.
 IntSet getRelevantParameters(CGNode caller, CallSiteReference site)
          Given a calling node and a call site, return the set of parameters based on which this selector may choose to specialize contexts.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ReceiverTypeContextSelector

public ReceiverTypeContextSelector()
Method Detail

getCalleeTarget

public Context getCalleeTarget(CGNode caller,
                               CallSiteReference site,
                               IMethod callee,
                               InstanceKey[] receiver)
Description copied from interface: ContextSelector
Given a calling node and a call site, returns the Context in which the callee should be evaluated.

Specified by:
getCalleeTarget in interface ContextSelector
Parameters:
caller - the node containing the call site
site - description of the call site
receiver - the abstract objects (InstanceKeys) of parameters of interest to the selector
Returns:
the Context in which the callee should be evaluated, or null if no information is available.

getRelevantParameters

public IntSet getRelevantParameters(CGNode caller,
                                    CallSiteReference site)
Description copied from interface: ContextSelector
Given a calling node and a call site, return the set of parameters based on which this selector may choose to specialize contexts.

Specified by:
getRelevantParameters in interface ContextSelector
Parameters:
caller - the calling node
site - the specific call site
Returns:
the set of parameters of interest