Class Overrides.StartComponentMethodTargetSelector
- java.lang.Object
-
- com.ibm.wala.dalvik.ipa.callgraph.androidModel.stubs.Overrides.StartComponentMethodTargetSelector
-
- All Implemented Interfaces:
MethodTargetSelector
- Enclosing class:
- Overrides
protected static class Overrides.StartComponentMethodTargetSelector extends Object implements MethodTargetSelector
-
-
Field Summary
Fields Modifier and Type Field Description protected MethodTargetSelector
child
protected MethodTargetSelector
parent
protected HashMap<MethodReference,SummarizedMethod>
syntheticMethods
-
Constructor Summary
Constructors Constructor Description StartComponentMethodTargetSelector(HashMap<MethodReference,SummarizedMethod> syntheticMethods, MethodTargetSelector child)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description IMethod
getCalleeTarget(CGNode caller, CallSiteReference site, IClass receiver)
Given a calling node, a call site and (optionally) a dispatch type, return the target method to be called.void
setChild(MethodTargetSelector child)
The MethodTarget selector to ask when the Method could not be resolved by this one.void
setParent(MethodTargetSelector parent)
The MethodTarget selector to ask before trying to resolve the Method with this one.
-
-
-
Field Detail
-
parent
protected MethodTargetSelector parent
-
child
protected MethodTargetSelector child
-
syntheticMethods
protected final HashMap<MethodReference,SummarizedMethod> syntheticMethods
-
-
Constructor Detail
-
StartComponentMethodTargetSelector
public StartComponentMethodTargetSelector(HashMap<MethodReference,SummarizedMethod> syntheticMethods, MethodTargetSelector child)
- Parameters:
syntheticMethods
- The Methods to overridechild
- Ask child if unable to resolve. May be null
-
-
Method Detail
-
setParent
public void setParent(MethodTargetSelector parent)
The MethodTarget selector to ask before trying to resolve the Method with this one.- Throws:
IllegalStateException
- if tried to set parent twice
-
setChild
public void setChild(MethodTargetSelector child)
The MethodTarget selector to ask when the Method could not be resolved by this one. In order to be able to use this function you have to set null as child in the Constructor.- Throws:
IllegalStateException
- if tried to set parent twice
-
getCalleeTarget
public IMethod getCalleeTarget(CGNode caller, CallSiteReference site, IClass receiver)
Given a calling node, a call site and (optionally) a dispatch type, return the target method to be called.- Specified by:
getCalleeTarget
in interfaceMethodTargetSelector
- Parameters:
caller
- the GCNode in the call graph containing the callsite
- the call site reference of the call sitereceiver
- the type of the target object or null- Returns:
- the method to be called.
-
-