clang 22.0.0git
|
SymbolMetadata - Represents path-dependent metadata about a specific region. More...
#include "clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h"
Public Member Functions | |
LLVM_ATTRIBUTE_RETURNS_NONNULL const MemRegion * | getRegion () const |
LLVM_ATTRIBUTE_RETURNS_NONNULL const Stmt * | getStmt () const |
LLVM_ATTRIBUTE_RETURNS_NONNULL const LocationContext * | getLocationContext () const |
unsigned | getCount () const |
LLVM_ATTRIBUTE_RETURNS_NONNULL const void * | getTag () const |
QualType | getType () const override |
StringRef | getKindStr () const override |
Get a string representation of the kind of the region. | |
void | dumpToStream (raw_ostream &os) const override |
void | Profile (llvm::FoldingSetNodeID &profile) override |
Public Member Functions inherited from clang::ento::SymbolData | |
~SymbolData () override=default | |
unsigned | computeComplexity () const override |
Public Member Functions inherited from clang::ento::SymExpr | |
virtual | ~SymExpr ()=default |
Kind | getKind () const |
SymbolID | getSymbolID () const |
Get a unique identifier for this symbol. | |
virtual void | dump () const |
llvm::iterator_range< symbol_iterator > | symbols () const |
virtual const MemRegion * | getOriginRegion () const |
Find the region from which this symbol originates. |
Static Public Member Functions | |
static void | Profile (llvm::FoldingSetNodeID &profile, const MemRegion *R, const Stmt *S, QualType T, const LocationContext *LCtx, unsigned Count, const void *Tag) |
static bool | classof (const SymExpr *SE) |
static constexpr bool | classof (Kind K) |
Static Public Member Functions inherited from clang::ento::SymbolData | |
static bool | classof (const SymExpr *SE) |
static constexpr bool | classof (Kind K) |
Static Public Attributes | |
static constexpr Kind | ClassKind = SymbolMetadataKind |
Friends | |
class | SymExprAllocator |
Additional Inherited Members | |
Public Types inherited from clang::ento::SymExpr | |
enum | Kind |
Protected Member Functions inherited from clang::ento::SymbolData | |
SymbolData (Kind k, SymbolID sym) | |
Protected Member Functions inherited from clang::ento::SymExpr | |
SymExpr (Kind k, SymbolID Sym) | |
Static Protected Member Functions inherited from clang::ento::SymExpr | |
static bool | isValidTypeForSymbol (QualType T) |
Protected Attributes inherited from clang::ento::SymExpr | |
unsigned | Complexity = 0 |
SymbolMetadata - Represents path-dependent metadata about a specific region.
Metadata symbols remain live as long as they are marked as in use before dead-symbol sweeping AND their associated regions are still alive. Intended for use by checkers.
Definition at line 221 of file SymbolManager.h.
Definition at line 282 of file SymbolManager.h.
References classof(), and clang::ento::SymExpr::getKind().
Referenced by classof().
Definition at line 283 of file SymbolManager.h.
References ClassKind.
|
overridevirtual |
Reimplemented from clang::ento::SymExpr.
Definition at line 140 of file SymbolManager.cpp.
References getKindStr(), getRegion(), and clang::ento::SymExpr::getSymbolID().
|
inline |
Definition at line 253 of file SymbolManager.h.
|
overridevirtual |
Get a string representation of the kind of the region.
Implements clang::ento::SymbolData.
Definition at line 37 of file SymbolManager.cpp.
Referenced by dumpToStream().
|
inline |
Definition at line 251 of file SymbolManager.h.
|
inline |
Definition at line 245 of file SymbolManager.h.
Referenced by dumpToStream(), and clang::ento::SValExplainer::VisitSymbolMetadata().
|
inline |
Definition at line 248 of file SymbolManager.h.
|
inline |
Definition at line 256 of file SymbolManager.h.
|
overridevirtual |
Implements clang::ento::SymExpr.
Definition at line 218 of file SymbolManager.cpp.
Referenced by clang::ento::SValExplainer::VisitSymbolMetadata().
|
inlineoverridevirtual |
Implements clang::ento::SymExpr.
Definition at line 276 of file SymbolManager.h.
References Profile().
|
inlinestatic |
|
friend |
Definition at line 231 of file SymbolManager.h.
References ClassKind, s, clang::ento::SymbolData::SymbolData(), and SymExprAllocator.
Referenced by SymExprAllocator.
|
staticconstexpr |
Definition at line 281 of file SymbolManager.h.
Referenced by classof(), Profile(), and SymExprAllocator.