Class JimpleBasedInterproceduralCFG

    • Field Detail

      • logger

        protected static final org.slf4j.Logger logger
      • includeReflectiveCalls

        protected boolean includeReflectiveCalls
      • includePhantomCallees

        protected boolean includePhantomCallees
      • fallbackToImmediateCallees

        protected boolean fallbackToImmediateCallees
      • loaderUnitToCallees

        protected com.google.common.cache.CacheLoader<Unit,​Collection<SootMethod>> loaderUnitToCallees
      • loaderMethodToCallers

        protected com.google.common.cache.CacheLoader<SootMethod,​Collection<Unit>> loaderMethodToCallers
    • Constructor Detail

      • JimpleBasedInterproceduralCFG

        public JimpleBasedInterproceduralCFG()
      • JimpleBasedInterproceduralCFG

        public JimpleBasedInterproceduralCFG​(boolean enableExceptions)
      • JimpleBasedInterproceduralCFG

        public JimpleBasedInterproceduralCFG​(boolean enableExceptions,
                                             boolean includeReflectiveCalls)
    • Method Detail

      • initializeUnitToOwner

        protected void initializeUnitToOwner()
      • setIncludePhantomCallees

        public void setIncludePhantomCallees​(boolean includePhantomCallees)
        Sets whether methods that operate on the callgraph shall also return phantom methods as potential callees
        Parameters:
        includePhantomCallees - True if phantom methods shall be returned as potential callees, otherwise false
      • setFallbackToImmediateCallees

        public void setFallbackToImmediateCallees​(boolean fallbackToImmediateCallees)
        Sets whether methods that operate on the callgraph shall return the immediate callee of a call site if the callgraph has no outgoing edges
        Parameters:
        fallbackToImmediateCallees - True to return the immediate callee if the callgraph does not contain any edges for the respective call site, false to return an empty set in such cases