clang
3.7.0
|
The region for all the non-static global variables. More...
#include <MemRegion.h>
Static Public Member Functions | |
static bool | classof (const MemRegion *R) |
![]() | |
static bool | classof (const MemRegion *R) |
![]() | |
static bool | classof (const MemRegion *R) |
Protected Member Functions | |
NonStaticGlobalSpaceRegion (MemRegionManager *mgr, Kind k) | |
![]() | |
GlobalsSpaceRegion (MemRegionManager *mgr, Kind k) | |
![]() | |
MemSpaceRegion (MemRegionManager *mgr, Kind k=GenericMemSpaceRegionKind) | |
MemRegionManager * | getMemRegionManager () const override |
![]() | |
MemRegion (Kind k) | |
virtual | ~MemRegion () |
Friends | |
class | MemRegionManager |
Additional Inherited Members | |
![]() | |
enum | Kind { GenericMemSpaceRegionKind, StackLocalsSpaceRegionKind, StackArgumentsSpaceRegionKind, HeapSpaceRegionKind, UnknownSpaceRegionKind, StaticGlobalSpaceRegionKind, GlobalInternalSpaceRegionKind, GlobalSystemSpaceRegionKind, GlobalImmutableSpaceRegionKind, BEG_NON_STATIC_GLOBAL_MEMSPACES = GlobalInternalSpaceRegionKind, END_NON_STATIC_GLOBAL_MEMSPACES = GlobalImmutableSpaceRegionKind, BEG_GLOBAL_MEMSPACES = StaticGlobalSpaceRegionKind, END_GLOBAL_MEMSPACES = GlobalImmutableSpaceRegionKind, BEG_MEMSPACES = GenericMemSpaceRegionKind, END_MEMSPACES = GlobalImmutableSpaceRegionKind, SymbolicRegionKind, AllocaRegionKind, BEG_TYPED_REGIONS, FunctionTextRegionKind = BEG_TYPED_REGIONS, BlockTextRegionKind, BlockDataRegionKind, BEG_TYPED_VALUE_REGIONS, CompoundLiteralRegionKind = BEG_TYPED_VALUE_REGIONS, CXXThisRegionKind, StringRegionKind, ObjCStringRegionKind, ElementRegionKind, BEG_DECL_REGIONS, VarRegionKind = BEG_DECL_REGIONS, FieldRegionKind, ObjCIvarRegionKind, END_DECL_REGIONS = ObjCIvarRegionKind, CXXTempObjectRegionKind, CXXBaseObjectRegionKind, END_TYPED_VALUE_REGIONS = CXXBaseObjectRegionKind, END_TYPED_REGIONS = CXXBaseObjectRegionKind } |
![]() | |
bool | isBoundable () const override |
void | Profile (llvm::FoldingSetNodeID &ID) const override |
![]() | |
ASTContext & | getContext () const |
const MemSpaceRegion * | getMemorySpace () const |
const MemRegion * | getBaseRegion () const |
virtual bool | isSubRegionOf (const MemRegion *R) const |
Check if the region is a subregion of the given region. More... | |
const MemRegion * | StripCasts (bool StripBaseCasts=true) const |
const SymbolicRegion * | getSymbolicBase () const |
If this is a symbolic region, returns the region. Otherwise, goes up the base chain looking for the first symbolic base 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... | |
virtual void | dumpToStream (raw_ostream &os) const |
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 |
![]() | |
MemRegionManager * | Mgr |
The region for all the non-static global variables.
This class is further split into subclasses for efficient implementation of invalidating a set of related global values as is done in RegionStoreManager::invalidateRegions (instead of finding all the dependent globals, we invalidate the whole parent region).
Definition at line 260 of file MemRegion.h.
|
inlineprotected |
Definition at line 264 of file MemRegion.h.
Definition at line 269 of file MemRegion.h.
References clang::ento::MemRegion::BEG_NON_STATIC_GLOBAL_MEMSPACES, clang::ento::MemRegion::END_NON_STATIC_GLOBAL_MEMSPACES, and clang::ento::MemRegion::getKind().
|
friend |
Definition at line 261 of file MemRegion.h.