|
clang
3.8.0
|
BlockDataRegion - A region that represents a block instance. More...
#include <MemRegion.h>
Classes | |
| class | referenced_vars_iterator |
Public Member Functions | |
| const BlockCodeRegion * | getCodeRegion () const |
| const BlockDecl * | getDecl () const |
| QualType | getLocationType () const override |
| const VarRegion * | getOriginalRegion (const VarRegion *VR) const |
| Return the original region for a captured region, if one exists. More... | |
| 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 |
Public Member Functions inherited from clang::ento::TypedRegion | |
| void | anchor () override |
| QualType | getDesugaredLocationType (ASTContext &Context) const |
| bool | isBoundable () const override |
Public Member Functions inherited from clang::ento::SubRegion | |
| const MemRegion * | getSuperRegion () const |
| virtual DefinedOrUnknownSVal | getExtent (SValBuilder &svalBuilder) const |
| getExtent - Returns the size of the region in bytes. More... | |
| MemRegionManager * | getMemRegionManager () const override |
| bool | isSubRegionOf (const MemRegion *R) const override |
| Check if the region is a subregion of the given region. More... | |
Public Member Functions inherited from clang::ento::MemRegion | |
| ASTContext & | getContext () const |
| const MemSpaceRegion * | getMemorySpace () const |
| const MemRegion * | getBaseRegion () const |
| const MemRegion * | StripCasts (bool StripBaseCasts=true) const |
| const SymbolicRegion * | getSymbolicBase () const |
| If this is a symbolic region, returns the region. More... | |
| bool | hasGlobalsOrParametersStorage () const |
| bool | hasStackStorage () const |
| bool | hasStackNonParametersStorage () const |
| bool | hasStackParametersStorage () const |
| RegionOffset | getAsOffset () const |
| Compute the offset within the top level memory object. More... | |
| std::string | getString () const |
| Get a string representation of a region for debug use. More... | |
| void | dump () const |
| virtual bool | canPrintPretty () const |
| Returns true if this region can be printed in a user-friendly way. More... | |
| virtual void | printPretty (raw_ostream &os) const |
| Print the region for use in diagnostics. More... | |
| virtual bool | canPrintPrettyAsExpr () const |
| Returns true if this region's textual representation can be used as part of a larger expression. More... | |
| virtual void | printPrettyAsExpr (raw_ostream &os) const |
| Print the region as expression. More... | |
| Kind | getKind () const |
| template<typename RegionTy > | |
| const RegionTy * | getAs () const |
Static Public Member Functions | |
| static void | ProfileRegion (llvm::FoldingSetNodeID &, const BlockCodeRegion *, const LocationContext *, unsigned, const MemRegion *) |
| static bool | classof (const MemRegion *R) |
Static Public Member Functions inherited from clang::ento::TypedRegion | |
| static bool | classof (const MemRegion *R) |
Static Public Member Functions inherited from clang::ento::SubRegion | |
| 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. BlockCodeRegions 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 643 of file MemRegion.h.
Definition at line 709 of file MemRegion.h.
References clang::ento::MemRegion::BlockDataRegionKind, and clang::ento::MemRegion::getKind().
|
overridevirtual |
Reimplemented from clang::ento::MemRegion.
Definition at line 468 of file MemRegion.cpp.
References E, I, referenced_vars_begin(), and referenced_vars_end().
|
inline |
Definition at line 658 of file MemRegion.h.
|
inline |
Definition at line 660 of file MemRegion.h.
References clang::ento::BlockCodeRegion::getDecl().
|
inlineoverridevirtual |
Implements clang::ento::TypedRegion.
Definition at line 662 of file MemRegion.h.
References clang::ento::BlockCodeRegion::getLocationType().
Return the original region for a captured region, if one exists.
Definition at line 1462 of file MemRegion.cpp.
References E, I, referenced_vars_begin(), and referenced_vars_end().
|
overridevirtual |
Implements clang::ento::MemRegion.
Definition at line 395 of file MemRegion.cpp.
References clang::ento::SubRegion::getSuperRegion(), and ProfileRegion().
|
static |
Definition at line 383 of file MemRegion.cpp.
References clang::ento::MemRegion::BlockDataRegionKind.
Referenced by Profile().
| BlockDataRegion::referenced_vars_iterator BlockDataRegion::referenced_vars_begin | ( | ) | const |
Definition at line 1429 of file MemRegion.cpp.
References clang::BumpVector< T >::begin().
Referenced by dumpToStream(), getOriginalRegion(), and getStackOrCaptureRegionForDeclContext().
| BlockDataRegion::referenced_vars_iterator BlockDataRegion::referenced_vars_end | ( | ) | const |
Definition at line 1446 of file MemRegion.cpp.
References clang::BumpVector< T >::end().
Referenced by dumpToStream(), getOriginalRegion(), and getStackOrCaptureRegionForDeclContext().
|
friend |
Definition at line 644 of file MemRegion.h.
1.8.6