public class ReachabilityFunctions<T> extends Object implements IFlowFunctionMap<T>
Modifier and Type | Field and Description |
---|---|
static VectorGenFlowFunction |
FLOW_REACHES |
static IUnaryFlowFunction |
KILL_FLOW |
Modifier and Type | Method and Description |
---|---|
static <T> ReachabilityFunctions<T> |
createReachabilityFunctions() |
IUnaryFlowFunction |
getCallFlowFunction(T src,
T dest,
T ret) |
IUnaryFlowFunction |
getCallNoneToReturnFlowFunction(T src,
T dest) |
IUnaryFlowFunction |
getCallToReturnFlowFunction(T src,
T dest) |
IUnaryFlowFunction |
getNormalFlowFunction(T src,
T dest) |
IFlowFunction |
getReturnFlowFunction(T src,
T dest) |
IFlowFunction |
getReturnFlowFunction(T call,
T src,
T dest) |
public static final VectorGenFlowFunction FLOW_REACHES
public static final IUnaryFlowFunction KILL_FLOW
public static <T> ReachabilityFunctions<T> createReachabilityFunctions()
public IUnaryFlowFunction getCallNoneToReturnFlowFunction(T src, T dest)
getCallNoneToReturnFlowFunction
in interface IFlowFunctionMap<T>
public IUnaryFlowFunction getCallToReturnFlowFunction(T src, T dest)
getCallToReturnFlowFunction
in interface IFlowFunctionMap<T>
public IUnaryFlowFunction getNormalFlowFunction(T src, T dest)
getNormalFlowFunction
in interface IFlowFunctionMap<T>
public IFlowFunction getReturnFlowFunction(T call, T src, T dest)
getReturnFlowFunction
in interface IFlowFunctionMap<T>
call
- supergraph node of the call instruction for this return edge.public IFlowFunction getReturnFlowFunction(T src, T dest)
public IUnaryFlowFunction getCallFlowFunction(T src, T dest, T ret)
getCallFlowFunction
in interface IFlowFunctionMap<T>
src
- the call blockdest
- the entry of the calleeret
- 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