Package com.ibm.wala.dataflow.IFDS
Class IdentityFlowFunctions<T>
- java.lang.Object
-
- com.ibm.wala.dataflow.IFDS.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 Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description 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)
static <T> IdentityFlowFunctions<T>
singleton()
-
-
-
Method Detail
-
singleton
public static <T> IdentityFlowFunctions<T> singleton()
-
getNormalFlowFunction
public IUnaryFlowFunction getNormalFlowFunction(T src, T dest)
- Specified by:
getNormalFlowFunction
in 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:
getReturnFlowFunction
in 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)
-
getCallToReturnFlowFunction
public IUnaryFlowFunction getCallToReturnFlowFunction(T src, T dest)
- Specified by:
getCallToReturnFlowFunction
in interfaceIFlowFunctionMap<T>
- Returns:
- the flow function for a "call-to-return" edge in the supergraph from src->dest
-
getCallNoneToReturnFlowFunction
public IUnaryFlowFunction getCallNoneToReturnFlowFunction(T src, T dest)
- Specified by:
getCallNoneToReturnFlowFunction
in 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.
-
getCallFlowFunction
public IUnaryFlowFunction getCallFlowFunction(T src, T dest, T ret)
- Specified by:
getCallFlowFunction
in 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
-
-