clang 20.0.0git
|
SymbolMetadata - Represents path-dependent metadata about a specific region. More...
#include "clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h"
Public Member Functions | |
SymbolMetadata (SymbolID sym, const MemRegion *r, const Stmt *s, QualType t, const LocationContext *LCtx, unsigned count, const void *tag) | |
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 | |
virtual StringRef | getKindStr () const =0 |
Get a string representation of the kind of the region. | |
SymbolID | getSymbolID () const |
unsigned | computeComplexity () const override |
Public Member Functions inherited from clang::ento::SymExpr | |
virtual | ~SymExpr ()=default |
Kind | getKind () const |
virtual void | dump () const |
virtual void | dumpToStream (raw_ostream &os) const |
virtual QualType | getType () const =0 |
virtual void | Profile (llvm::FoldingSetNodeID &profile)=0 |
llvm::iterator_range< symbol_iterator > | symbols () const |
virtual unsigned | computeComplexity () const =0 |
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 Public Member Functions inherited from clang::ento::SymbolData | |
static bool | classof (const SymExpr *SE) |
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) | |
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 216 of file SymbolManager.h.
|
inline |
Definition at line 225 of file SymbolManager.h.
References clang::ento::SymExpr::isValidTypeForSymbol(), s, and clang::T.
Definition at line 273 of file SymbolManager.h.
References clang::ento::SymExpr::getKind().
|
overridevirtual |
Reimplemented from clang::ento::SymExpr.
Definition at line 101 of file SymbolManager.cpp.
References getKindStr(), getRegion(), and clang::ento::SymbolData::getSymbolID().
|
inline |
Definition at line 245 of file SymbolManager.h.
|
overridevirtual |
Get a string representation of the kind of the region.
Implements clang::ento::SymbolData.
Definition at line 41 of file SymbolManager.cpp.
Referenced by dumpToStream().
|
inline |
Definition at line 243 of file SymbolManager.h.
|
inline |
Definition at line 237 of file SymbolManager.h.
Referenced by dumpToStream().
|
inline |
Definition at line 240 of file SymbolManager.h.
|
inline |
Definition at line 248 of file SymbolManager.h.
|
overridevirtual |
Implements clang::ento::SymExpr.
Definition at line 341 of file SymbolManager.cpp.
References clang::T.
|
inlineoverridevirtual |
Implements clang::ento::SymExpr.
Definition at line 268 of file SymbolManager.h.
|
inlinestatic |
Definition at line 256 of file SymbolManager.h.
References clang::T.
Referenced by clang::ento::SymbolManager::getMetadataSymbol(), and Profile().