Class IntentContextSelector

java.lang.Object
com.ibm.wala.dalvik.ipa.callgraph.propagation.cfa.IntentContextSelector
All Implemented Interfaces:
com.ibm.wala.ipa.callgraph.ContextSelector

public class IntentContextSelector extends Object implements com.ibm.wala.ipa.callgraph.ContextSelector
Adds Intents to the Context of functions that start Android-Components.

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.

Since:
2013-10-14
See Also:
  • Constructor Summary

    Constructors
    Constructor
    Description
    IntentContextSelector(com.ibm.wala.ipa.callgraph.ContextSelector parent, com.ibm.wala.ipa.cha.IClassHierarchy cha)
     
    IntentContextSelector(com.ibm.wala.ipa.cha.IClassHierarchy cha)
     
  • Method Summary

    Modifier and Type
    Method
    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.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • IntentContextSelector

      public IntentContextSelector(com.ibm.wala.ipa.cha.IClassHierarchy cha)
    • IntentContextSelector

      public IntentContextSelector(com.ibm.wala.ipa.callgraph.ContextSelector parent, com.ibm.wala.ipa.cha.IClassHierarchy cha)
      Parameters:
      parent - is always asked to build a Context first. Context generated by this class is added then.
  • Method Details

    • getCalleeTarget

      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)
      Given a calling node and a call site, returns the Context in which the callee should be evaluated.

      Specified by:
      getCalleeTarget in interface com.ibm.wala.ipa.callgraph.ContextSelector
      Throws:
      IllegalArgumentException - if the type of a parameter given as actualParameters does not match an expected one
    • getRelevantParameters

      public 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.

      Specified by:
      getRelevantParameters in interface com.ibm.wala.ipa.callgraph.ContextSelector