public class IntentContextSelector
extends java.lang.Object
implements com.ibm.wala.ipa.callgraph.ContextSelector
This is done by remembering all new-sites where Intent-Objects are built and the parameters to its Constructor. When a function managed by this Selector (see IntentStarters) is encountered the stored information is added to its Context.
IntentContextInterpreter,
IntentStarters| Constructor and Description |
|---|
IntentContextSelector(com.ibm.wala.ipa.callgraph.ContextSelector parent,
com.ibm.wala.ipa.cha.IClassHierarchy cha) |
IntentContextSelector(com.ibm.wala.ipa.cha.IClassHierarchy cha) |
| Modifier and Type | Method and Description |
|---|---|
com.ibm.wala.ipa.callgraph.Context |
getCalleeTarget(com.ibm.wala.ipa.callgraph.CGNode caller,
com.ibm.wala.classLoader.CallSiteReference site,
com.ibm.wala.classLoader.IMethod callee,
com.ibm.wala.ipa.callgraph.propagation.InstanceKey[] actualParameters)
Given a calling node and a call site, returns the Context in which the callee should be
evaluated.
|
com.ibm.wala.util.intset.IntSet |
getRelevantParameters(com.ibm.wala.ipa.callgraph.CGNode caller,
com.ibm.wala.classLoader.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.
|
public IntentContextSelector(com.ibm.wala.ipa.cha.IClassHierarchy cha)
public IntentContextSelector(com.ibm.wala.ipa.callgraph.ContextSelector parent,
com.ibm.wala.ipa.cha.IClassHierarchy cha)
parent - is always asked to build a Context first. Context generated by this class is
added then.public com.ibm.wala.ipa.callgraph.Context getCalleeTarget(com.ibm.wala.ipa.callgraph.CGNode caller,
com.ibm.wala.classLoader.CallSiteReference site,
com.ibm.wala.classLoader.IMethod callee,
com.ibm.wala.ipa.callgraph.propagation.InstanceKey[] actualParameters)
getCalleeTarget in interface com.ibm.wala.ipa.callgraph.ContextSelectorjava.lang.IllegalArgumentException - if the type of a parameter given as actualParameters does not
match an expected onepublic com.ibm.wala.util.intset.IntSet getRelevantParameters(com.ibm.wala.ipa.callgraph.CGNode caller,
com.ibm.wala.classLoader.CallSiteReference site)
getRelevantParameters in interface com.ibm.wala.ipa.callgraph.ContextSelector