clang 22.0.0git
|
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"
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.
|
pure virtual |
Return value indicates whether the model processed the Element.
Implemented in clang::dataflow::ChromiumCheckModel.