Package com.ibm.wala.ipa.slicer
Class ReachabilityFunctions<T>
- java.lang.Object
-
- com.ibm.wala.ipa.slicer.ReachabilityFunctions<T>
-
- All Implemented Interfaces:
IFlowFunctionMap<T>
public class ReachabilityFunctions<T> extends Object implements IFlowFunctionMap<T>
Trivial flow functions to represent simple reachability. All functions simply return "0"
-
-
Field Summary
Fields Modifier and Type Field Description static VectorGenFlowFunctionFLOW_REACHESstatic IUnaryFlowFunctionKILL_FLOW
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static <T> ReachabilityFunctions<T>createReachabilityFunctions()IUnaryFlowFunctiongetCallFlowFunction(T src, T dest, T ret)IUnaryFlowFunctiongetCallNoneToReturnFlowFunction(T src, T dest)IUnaryFlowFunctiongetCallToReturnFlowFunction(T src, T dest)IUnaryFlowFunctiongetNormalFlowFunction(T src, T dest)IFlowFunctiongetReturnFlowFunction(T src, T dest)IFlowFunctiongetReturnFlowFunction(T call, T src, T dest)
-
-
-
Field Detail
-
FLOW_REACHES
public static final VectorGenFlowFunction FLOW_REACHES
-
KILL_FLOW
public static final IUnaryFlowFunction KILL_FLOW
-
-
Method Detail
-
createReachabilityFunctions
public static <T> ReachabilityFunctions<T> createReachabilityFunctions()
-
getCallNoneToReturnFlowFunction
public IUnaryFlowFunction getCallNoneToReturnFlowFunction(T src, T dest)
- Specified by:
getCallNoneToReturnFlowFunctionin interfaceIFlowFunctionMap<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.
-
getCallToReturnFlowFunction
public IUnaryFlowFunction getCallToReturnFlowFunction(T src, T dest)
- Specified by:
getCallToReturnFlowFunctionin interfaceIFlowFunctionMap<T>- Returns:
- the flow function for a "call-to-return" edge in the supergraph from src->dest
-
getNormalFlowFunction
public IUnaryFlowFunction getNormalFlowFunction(T src, T dest)
- Specified by:
getNormalFlowFunctionin interfaceIFlowFunctionMap<T>- Returns:
- the flow function for a "normal" edge in the supergraph from src->dest
-
getReturnFlowFunction
public IFlowFunction getReturnFlowFunction(T call, T src, T dest)
- Specified by:
getReturnFlowFunctionin interfaceIFlowFunctionMap<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)
-
getCallFlowFunction
public IUnaryFlowFunction getCallFlowFunction(T src, T dest, T ret)
- Specified by:
getCallFlowFunctionin interfaceIFlowFunctionMap<T>- Parameters:
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- Returns:
- the flow function for a "call" edge in the supergraph from src->dest
-
-