Class RecursionBoundContextSelector

  • All Implemented Interfaces:
    com.ibm.wala.ipa.callgraph.ContextSelector

    public class RecursionBoundContextSelector
    extends java.lang.Object
    implements com.ibm.wala.ipa.callgraph.ContextSelector
    A context selector that attempts to detect recursion beyond some depth in a base selector. If such recursion is detected, the base selector's context is replaced with Everywhere.EVERYWHERE.
    • Constructor Summary

      Constructors 
      Constructor Description
      RecursionBoundContextSelector​(com.ibm.wala.ipa.callgraph.ContextSelector base, int recursionBound)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      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)  
      com.ibm.wala.util.intset.IntSet getRelevantParameters​(com.ibm.wala.ipa.callgraph.CGNode caller, com.ibm.wala.classLoader.CallSiteReference site)  
      • Methods inherited from class java.lang.Object

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

      • RecursionBoundContextSelector

        public RecursionBoundContextSelector​(com.ibm.wala.ipa.callgraph.ContextSelector base,
                                             int recursionBound)
        Parameters:
        recursionBound - bound on recursion depth, with the top level of the context returned by the base selector being depth 0. The Everywhere.EVERYWHERE context is returned if the base context exceeds this bound.
    • Method Detail

      • 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)
        Specified by:
        getCalleeTarget in interface com.ibm.wala.ipa.callgraph.ContextSelector
      • getRelevantParameters

        public com.ibm.wala.util.intset.IntSet getRelevantParameters​(com.ibm.wala.ipa.callgraph.CGNode caller,
                                                                     com.ibm.wala.classLoader.CallSiteReference site)
        Specified by:
        getRelevantParameters in interface com.ibm.wala.ipa.callgraph.ContextSelector