|
clang 23.0.0git
|
An entry in the environment consists of a Stmt and an LocationContext. More...
#include "clang/StaticAnalyzer/Core/PathSensitive/Environment.h"
Public Member Functions | |
| EnvironmentEntry (const Stmt *s, const LocationContext *L) | |
| const Stmt * | getStmt () const |
| const LocationContext * | getLocationContext () const |
| void | Profile (llvm::FoldingSetNodeID &ID) const |
Static Public Member Functions | |
| static void | Profile (llvm::FoldingSetNodeID &ID, const EnvironmentEntry &E) |
| Profile an EnvironmentEntry for inclusion in a FoldingSet. | |
An entry in the environment consists of a Stmt and an LocationContext.
This allows the environment to manage context-sensitive bindings, which is essentially for modeling recursive function analysis, among other things. FIXME: Use 'Expr' instead of 'Stmt' because associating a result with a non-expression statement does not make sense. Currently the environment only containts 'Expr's; and there is only one easy-to-eliminate hack in 'processCallExit' and 'Environment::getSVal' that constructs and handles 'EnvironmentEntry' instances with a 'ReturnStmt' as the 'first' part.
Definition at line 40 of file Environment.h.
| EnvironmentEntry::EnvironmentEntry | ( | const Stmt * | s, |
| const LocationContext * | L ) |
Definition at line 72 of file Environment.cpp.
References ignoreTransparentExprs(), and clang::nullptr.
Referenced by Profile().
|
inline |
Definition at line 46 of file Environment.h.
Referenced by clang::ento::Environment::getSVal(), Profile(), and clang::ento::EnvironmentManager::removeDeadBindings().
|
inline |
Definition at line 45 of file Environment.h.
Referenced by clang::ento::Environment::getSVal(), Profile(), and clang::ento::EnvironmentManager::removeDeadBindings().
|
inline |
Definition at line 55 of file Environment.h.
References Profile().
|
inlinestatic |
Profile an EnvironmentEntry for inclusion in a FoldingSet.
Definition at line 49 of file Environment.h.
References EnvironmentEntry(), getLocationContext(), and getStmt().
Referenced by Profile().