Class PropertyNameContextSelector

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

    public class PropertyNameContextSelector
    extends java.lang.Object
    implements com.ibm.wala.ipa.callgraph.ContextSelector
    A context selector that applies object sensitivity for the i'th parameter if it is used as a property name in a dynamic property access.

    Works together with CorrelationFinder and ClosureExtractor to implement correlation tracking.

    • Field Summary

      Fields 
      Modifier and Type Field Description
      static com.ibm.wala.ipa.callgraph.ContextKey INSTANCE_KEY_KEY  
      static com.ibm.wala.ipa.callgraph.ContextKey PROPNAME_KEY  
      static com.ibm.wala.ipa.callgraph.ContextItem PROPNAME_MARKER  
      static com.ibm.wala.ipa.callgraph.ContextKey PROPNAME_PARM_INDEX  
    • Constructor Summary

      Constructors 
      Constructor Description
      PropertyNameContextSelector​(com.ibm.wala.ipa.callgraph.IAnalysisCacheView cache, int index, com.ibm.wala.ipa.callgraph.ContextSelector base)  
      PropertyNameContextSelector​(com.ibm.wala.ipa.callgraph.IAnalysisCacheView cache, com.ibm.wala.ipa.callgraph.ContextSelector base)  
    • 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[] receiver)  
      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
    • Field Detail

      • PROPNAME_KEY

        public static final com.ibm.wala.ipa.callgraph.ContextKey PROPNAME_KEY
      • PROPNAME_MARKER

        public static final com.ibm.wala.ipa.callgraph.ContextItem PROPNAME_MARKER
      • PROPNAME_PARM_INDEX

        public static final com.ibm.wala.ipa.callgraph.ContextKey PROPNAME_PARM_INDEX
      • INSTANCE_KEY_KEY

        public static final com.ibm.wala.ipa.callgraph.ContextKey INSTANCE_KEY_KEY
    • Constructor Detail

      • PropertyNameContextSelector

        public PropertyNameContextSelector​(com.ibm.wala.ipa.callgraph.IAnalysisCacheView cache,
                                           com.ibm.wala.ipa.callgraph.ContextSelector base)
      • PropertyNameContextSelector

        public PropertyNameContextSelector​(com.ibm.wala.ipa.callgraph.IAnalysisCacheView cache,
                                           int index,
                                           com.ibm.wala.ipa.callgraph.ContextSelector base)
    • 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[] receiver)
        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