clang: clang::dataflow::DataflowModel Class Reference (original) (raw)

Abstract base class for dataflow "models": reusable analysis components that model a particular aspect of program semantics in the Environment. More...

#include "[clang/Analysis/FlowSensitive/DataflowAnalysis.h](DataflowAnalysis%5F8h%5Fsource.html)"

Public Member Functions
virtual bool transfer (const CFGElement &Element, Environment &Env)=0
Return value indicates whether the model processed the Element.
Public Member Functions inherited from clang::dataflow::Environment::ValueModel
virtual ~ValueModel ()=default
virtual ComparisonResult compare (QualType Type, const Value &Val1, const Environment &Env1, const Value &Val2, const Environment &Env2)
Returns: Same: Val1 is equivalent to Val2, according to the model.
virtual void join (QualType Type, const Value &Val1, const Environment &Env1, const Value &Val2, const Environment &Env2, Value &JoinedVal, Environment &JoinedEnv)
Modifies JoinedVal to approximate both Val1 and Val2.
virtual std::optional< WidenResult > widen (QualType Type, Value &Prev, const Environment &PrevEnv, Value &Current, Environment &CurrentEnv)
This function may widen the current value – replace it with an approximation that can reach a fixed point more quickly than iterated application of the transfer function alone.

Abstract base class for dataflow "models": reusable analysis components that model a particular aspect of program semantics in the Environment.

For example, a model may capture a type and its related functions.

Definition at line 395 of file DataflowAnalysis.h.

transfer()


The documentation for this class was generated from the following file: