clang 18.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 . | |
![]() | |
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 bool | merge (QualType Type, const Value &Val1, const Environment &Env1, const Value &Val2, const Environment &Env2, Value &MergedVal, Environment &MergedEnv) |
Modifies MergedVal to approximate both Val1 and Val2 . | |
virtual Value * | 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 295 of file DataflowAnalysis.h.
|
pure virtual |
Return value indicates whether the model processed the Element
.
Implemented in clang::dataflow::ChromiumCheckModel.