Class IdentityFlowFunctions<T>

  • All Implemented Interfaces:
    IFlowFunctionMap<T>

    public class IdentityFlowFunctions<T>
    extends Object
    implements IFlowFunctionMap<T>
    A silly debugging aid that always returns the identity flow function
    • Method Detail

      • getReturnFlowFunction

        public IFlowFunction getReturnFlowFunction​(T call,
                                                   T src,
                                                   T dest)
        Specified by:
        getReturnFlowFunction in interface IFlowFunctionMap<T>
        Parameters:
        call - supergraph node of the call instruction for this return edge.
        Returns:
        the flow function for a "return" edge in the supergraph from src->dest
      • getReturnFlowFunction

        public IFlowFunction getReturnFlowFunction​(T src,
                                                   T dest)
      • getCallNoneToReturnFlowFunction

        public IUnaryFlowFunction getCallNoneToReturnFlowFunction​(T src,
                                                                  T dest)
        Specified by:
        getCallNoneToReturnFlowFunction in interface IFlowFunctionMap<T>
        Returns:
        the flow function for a "call-to-return" edge in the supergraph from src->dest, when the supergraph does not contain any callees of src. This happens via, e.g., slicing.
      • getCallFlowFunction

        public IUnaryFlowFunction getCallFlowFunction​(T src,
                                                      T dest,
                                                      T ret)
        Specified by:
        getCallFlowFunction in interface IFlowFunctionMap<T>
        Parameters:
        src - the call block
        dest - the entry of the callee
        ret - the block that will be returned to, in the caller. This can be null .. signifying that facts can flow into the callee but not return
        Returns:
        the flow function for a "call" edge in the supergraph from src->dest