clang API Documentation
#include <MemRegion.h>
Classes | |
class | referenced_vars_iterator |
Public Member Functions | |
const BlockTextRegion * | getCodeRegion () const |
const BlockDecl * | getDecl () const |
QualType | getLocationType () const override |
const VarRegion * | getOriginalRegion (const VarRegion *VR) const |
referenced_vars_iterator | referenced_vars_begin () const |
referenced_vars_iterator | referenced_vars_end () const |
void | dumpToStream (raw_ostream &os) const override |
void | Profile (llvm::FoldingSetNodeID &ID) const override |
Static Public Member Functions | |
static void | ProfileRegion (llvm::FoldingSetNodeID &, const BlockTextRegion *, const LocationContext *, unsigned, const MemRegion *) |
static bool | classof (const MemRegion *R) |
Friends | |
class | MemRegionManager |
BlockDataRegion - A region that represents a block instance. Blocks are represented with two kinds of regions. BlockTextRegions represent the "code", while BlockDataRegions represent instances of blocks, which correspond to "code+data". The distinction is important, because like a closure a block captures the values of externally referenced variables.
Definition at line 631 of file MemRegion.h.
static bool clang::ento::BlockDataRegion::classof | ( | const MemRegion * | R | ) | [inline, static] |
Reimplemented from clang::ento::TypedRegion.
Definition at line 697 of file MemRegion.h.
References clang::ento::MemRegion::BlockDataRegionKind, and clang::ento::MemRegion::getKind().
void BlockDataRegion::dumpToStream | ( | raw_ostream & | os | ) | const [override, virtual] |
Reimplemented from clang::ento::MemRegion.
Definition at line 468 of file MemRegion.cpp.
References referenced_vars_begin(), and referenced_vars_end().
const BlockTextRegion* clang::ento::BlockDataRegion::getCodeRegion | ( | ) | const [inline] |
Definition at line 646 of file MemRegion.h.
const BlockDecl* clang::ento::BlockDataRegion::getDecl | ( | ) | const [inline] |
Definition at line 648 of file MemRegion.h.
References clang::ento::BlockTextRegion::getDecl().
QualType clang::ento::BlockDataRegion::getLocationType | ( | ) | const [inline, override, virtual] |
Implements clang::ento::TypedRegion.
Definition at line 650 of file MemRegion.h.
References clang::ento::BlockTextRegion::getLocationType().
const VarRegion * BlockDataRegion::getOriginalRegion | ( | const VarRegion * | VR | ) | const |
Return the original region for a captured region, if one exists.
Definition at line 1441 of file MemRegion.cpp.
References referenced_vars_begin(), and referenced_vars_end().
void BlockDataRegion::Profile | ( | llvm::FoldingSetNodeID & | ID | ) | const [override, virtual] |
Implements clang::ento::MemRegion.
Definition at line 395 of file MemRegion.cpp.
References clang::ento::SubRegion::getSuperRegion(), and ProfileRegion().
void BlockDataRegion::ProfileRegion | ( | llvm::FoldingSetNodeID & | ID, |
const BlockTextRegion * | BC, | ||
const LocationContext * | LC, | ||
unsigned | BlkCount, | ||
const MemRegion * | sReg | ||
) | [static] |
Definition at line 383 of file MemRegion.cpp.
References clang::ento::MemRegion::BlockDataRegionKind.
Referenced by Profile().
Definition at line 1408 of file MemRegion.cpp.
References clang::BumpVector< T >::begin().
Referenced by dumpToStream(), getOriginalRegion(), and getStackOrCaptureRegionForDeclContext().
Definition at line 1425 of file MemRegion.cpp.
References clang::BumpVector< T >::end().
Referenced by dumpToStream(), getOriginalRegion(), and getStackOrCaptureRegionForDeclContext().
friend class MemRegionManager [friend] |
Reimplemented from clang::ento::MemRegion.
Definition at line 632 of file MemRegion.h.