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 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)static <T> IdentityFlowFunctions<T>singleton()
-
-
-
Method Detail
-
singleton
public static <T> IdentityFlowFunctions<T> singleton()
-
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)
-
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
-
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.
-
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
-
-