clang API Documentation
#include <MemRegion.h>
Public Member Functions | |
SymbolicRegion (const SymbolRef s, const MemRegion *sreg) | |
SymbolRef | getSymbol () const |
bool | isBoundable () const override |
DefinedOrUnknownSVal | getExtent (SValBuilder &svalBuilder) const override |
getExtent - Returns the size of the region in bytes. | |
void | Profile (llvm::FoldingSetNodeID &ID) const override |
void | dumpToStream (raw_ostream &os) const override |
Static Public Member Functions | |
static void | ProfileRegion (llvm::FoldingSetNodeID &ID, SymbolRef sym, const MemRegion *superRegion) |
static bool | classof (const MemRegion *R) |
Protected Attributes | |
const SymbolRef | sym |
SymbolicRegion - A special, "non-concrete" region. Unlike other region clases, SymbolicRegion represents a region that serves as an alias for either a real region, a NULL pointer, etc. It essentially is used to map the concept of symbolic values into the domain of regions. Symbolic regions do not need to be typed.
Definition at line 711 of file MemRegion.h.
clang::ento::SymbolicRegion::SymbolicRegion | ( | const SymbolRef | s, |
const MemRegion * | sreg | ||
) | [inline] |
Definition at line 716 of file MemRegion.h.
static bool clang::ento::SymbolicRegion::classof | ( | const MemRegion * | R | ) | [inline, static] |
Reimplemented from clang::ento::SubRegion.
Definition at line 735 of file MemRegion.h.
References clang::ento::MemRegion::getKind(), and clang::ento::MemRegion::SymbolicRegionKind.
void SymbolicRegion::dumpToStream | ( | raw_ostream & | os | ) | const [override, virtual] |
Reimplemented from clang::ento::MemRegion.
Definition at line 520 of file MemRegion.cpp.
References sym.
DefinedOrUnknownSVal SymbolicRegion::getExtent | ( | SValBuilder & | svalBuilder | ) | const [override, virtual] |
getExtent - Returns the size of the region in bytes.
Reimplemented from clang::ento::SubRegion.
Definition at line 220 of file MemRegion.cpp.
References clang::ento::SymbolManager::getExtentSymbol(), and clang::ento::SValBuilder::getSymbolManager().
SymbolRef clang::ento::SymbolicRegion::getSymbol | ( | ) | const [inline] |
Definition at line 719 of file MemRegion.h.
References sym.
bool clang::ento::SymbolicRegion::isBoundable | ( | ) | const [inline, override, virtual] |
Reimplemented from clang::ento::MemRegion.
Definition at line 723 of file MemRegion.h.
void SymbolicRegion::Profile | ( | llvm::FoldingSetNodeID & | ID | ) | const [override, virtual] |
Implements clang::ento::MemRegion.
Definition at line 343 of file MemRegion.cpp.
References clang::ento::SubRegion::getSuperRegion(), ProfileRegion(), and sym.
void SymbolicRegion::ProfileRegion | ( | llvm::FoldingSetNodeID & | ID, |
SymbolRef | sym, | ||
const MemRegion * | superRegion | ||
) | [static] |
Definition at line 336 of file MemRegion.cpp.
References clang::ento::MemRegion::SymbolicRegionKind.
Referenced by Profile().
const SymbolRef clang::ento::SymbolicRegion::sym [protected] |
Definition at line 713 of file MemRegion.h.
Referenced by dumpToStream(), getSymbol(), and Profile().