clang 20.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 |
![]() | |
~SymbolData () override=default | |
virtual StringRef | getKindStr () const =0 |
Get a string representation of the kind of the region. | |
unsigned | computeComplexity () const override |
![]() | |
virtual | ~SymExpr ()=default |
Kind | getKind () const |
SymbolID | getSymbolID () const |
Get a unique identifier for this symbol. | |
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 bool | classof (const SymExpr *SE) |
Friends | |
class | SymExprAllocator |
Additional Inherited Members | |
![]() | |
enum | Kind |
![]() | |
SymbolData (Kind k, SymbolID sym) | |
![]() | |
SymExpr (Kind k, SymbolID Sym) | |
![]() | |
static bool | isValidTypeForSymbol (QualType T) |
![]() | |
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 222 of file SymbolManager.h.
Definition at line 280 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::SymExpr::getSymbolID().
|
inline |
Definition at line 252 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 250 of file SymbolManager.h.
|
inline |
Definition at line 244 of file SymbolManager.h.
Referenced by dumpToStream().
|
inline |
Definition at line 247 of file SymbolManager.h.
|
inline |
Definition at line 255 of file SymbolManager.h.
|
overridevirtual |
Implements clang::ento::SymExpr.
Definition at line 334 of file SymbolManager.cpp.
References clang::T.
|
inlineoverridevirtual |
Implements clang::ento::SymExpr.
Definition at line 275 of file SymbolManager.h.
|
inlinestatic |
Definition at line 263 of file SymbolManager.h.
References clang::T.
Referenced by clang::ento::SymbolManager::getMetadataSymbol(), and Profile().
|
friend |
Definition at line 230 of file SymbolManager.h.