clang
3.9.0
|
A symbol representing the value of a MemRegion whose parent region has symbolic value. More...
#include <SymbolManager.h>
Public Member Functions | |
SymbolDerived (SymbolID sym, SymbolRef parent, const TypedValueRegion *r) | |
SymbolRef | getParentSymbol () const |
const TypedValueRegion * | getRegion () const |
QualType | getType () const override |
void | dumpToStream (raw_ostream &os) const override |
const MemRegion * | getOriginRegion () const override |
Find the region from which this symbol originates. More... | |
void | Profile (llvm::FoldingSetNodeID &profile) override |
![]() | |
~SymbolData () override | |
SymbolID | getSymbolID () const |
![]() | |
virtual | ~SymExpr () |
Kind | getKind () const |
virtual void | dump () const |
symbol_iterator | symbol_begin () const |
unsigned | computeComplexity () const |
Static Public Member Functions | |
static void | Profile (llvm::FoldingSetNodeID &profile, SymbolRef parent, const TypedValueRegion *r) |
static bool | classof (const SymExpr *SE) |
![]() | |
static bool | classof (const SymExpr *SE) |
![]() | |
static symbol_iterator | symbol_end () |
Additional Inherited Members | |
![]() | |
enum | Kind |
![]() | |
SymbolData (Kind k, SymbolID sym) | |
![]() | |
SymExpr (Kind k) | |
A symbol representing the value of a MemRegion whose parent region has symbolic value.
Definition at line 117 of file SymbolManager.h.
|
inline |
Definition at line 122 of file SymbolManager.h.
Definition at line 145 of file SymbolManager.h.
References clang::ento::SymExpr::getKind().
|
overridevirtual |
Reimplemented from clang::ento::SymExpr.
Definition at line 71 of file SymbolManager.cpp.
References getParentSymbol(), getRegion(), and clang::ento::SymbolData::getSymbolID().
|
inlineoverridevirtual |
Find the region from which this symbol originates.
Whenever the symbol was constructed to denote an unknown value of a certain memory region, return this region. This method allows checkers to make decisions depending on the origin of the symbol. Symbol classes for which the origin region is known include SymbolRegionValue which denotes the value of the region before the beginning of the analysis, and SymbolDerived which denotes the value of a certain memory region after its super region (a memory space or a larger record region) is default-bound with a certain symbol.
Reimplemented from clang::ento::SymExpr.
Definition at line 131 of file SymbolManager.h.
References getRegion().
|
inline |
Definition at line 125 of file SymbolManager.h.
Referenced by dumpToStream(), and clang::ento::SValExplainer::VisitSymbolDerived().
|
inline |
Definition at line 126 of file SymbolManager.h.
Referenced by dumpToStream(), getOriginRegion(), and clang::ento::SValExplainer::VisitSymbolDerived().
|
overridevirtual |
Implements clang::ento::SymExpr.
Definition at line 311 of file SymbolManager.cpp.
|
inlinestatic |
Definition at line 133 of file SymbolManager.h.
Referenced by clang::ento::SymbolManager::getDerivedSymbol(), and Profile().
|
inlineoverridevirtual |
Implements clang::ento::SymExpr.
Definition at line 140 of file SymbolManager.h.
References Profile().