|
| NoopAnalysis (ASTContext &Context) |
|
| NoopAnalysis (ASTContext &Context, DataflowAnalysisOptions Options) |
|
void | transfer (const CFGElement &E, NoopLattice &L, Environment &Env) |
|
| DataflowAnalysis (ASTContext &Context) |
|
| DataflowAnalysis (ASTContext &Context, DataflowAnalysisOptions Options) |
|
ASTContext & | getASTContext () final |
| Returns the ASTContext that is used by the analysis.
|
|
TypeErasedLattice | typeErasedInitialElement () final |
| Returns a type-erased lattice element that models the initial state of a basic block.
|
|
TypeErasedLattice | joinTypeErased (const TypeErasedLattice &E1, const TypeErasedLattice &E2) final |
| Joins two type-erased lattice elements by computing their least upper bound.
|
|
LatticeJoinEffect | widenTypeErased (TypeErasedLattice &Current, const TypeErasedLattice &Previous) final |
| Chooses a lattice element that approximates the current element at a program point, given the previous element at that point.
|
|
bool | isEqualTypeErased (const TypeErasedLattice &E1, const TypeErasedLattice &E2) final |
| Returns true if and only if the two given type-erased lattice elements are equal.
|
|
void | transferTypeErased (const CFGElement &Element, TypeErasedLattice &E, Environment &Env) final |
| Applies the analysis transfer function for a given control flow graph element and type-erased lattice element.
|
|
void | transferBranchTypeErased (bool Branch, const Stmt *Stmt, TypeErasedLattice &E, Environment &Env) final |
| Applies the analysis transfer function for a given edge from a CFG block of a conditional statement.
|
|
| TypeErasedDataflowAnalysis () |
|
| TypeErasedDataflowAnalysis (DataflowAnalysisOptions Options) |
|
virtual | ~TypeErasedDataflowAnalysis () |
|
virtual ASTContext & | getASTContext ()=0 |
| Returns the ASTContext that is used by the analysis.
|
|
virtual TypeErasedLattice | typeErasedInitialElement ()=0 |
| Returns a type-erased lattice element that models the initial state of a basic block.
|
|
virtual TypeErasedLattice | joinTypeErased (const TypeErasedLattice &, const TypeErasedLattice &)=0 |
| Joins two type-erased lattice elements by computing their least upper bound.
|
|
virtual LatticeJoinEffect | widenTypeErased (TypeErasedLattice &Current, const TypeErasedLattice &Previous)=0 |
| Chooses a lattice element that approximates the current element at a program point, given the previous element at that point.
|
|
virtual bool | isEqualTypeErased (const TypeErasedLattice &, const TypeErasedLattice &)=0 |
| Returns true if and only if the two given type-erased lattice elements are equal.
|
|
virtual void | transferTypeErased (const CFGElement &, TypeErasedLattice &, Environment &)=0 |
| Applies the analysis transfer function for a given control flow graph element and type-erased lattice element.
|
|
virtual void | transferBranchTypeErased (bool Branch, const Stmt *, TypeErasedLattice &, Environment &)=0 |
| Applies the analysis transfer function for a given edge from a CFG block of a conditional statement.
|
|
const std::optional< DataflowAnalysisContext::Options > & | builtinOptions () const |
| If the built-in model is enabled, returns the options to be passed to them.
|
|
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.
|
|
Definition at line 25 of file NoopAnalysis.h.