clang 8.0.0

Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
clang::ento::MemSpaceRegion Class Reference

MemSpaceRegion - A memory region that represents a "memory space"; for example, the set of global variables, the stack frame, etc. More...

`#include "clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h"`

Inheritance diagram for clang::ento::MemSpaceRegion:
[legend]
Collaboration diagram for clang::ento::MemSpaceRegion:
[legend]

## Public Member Functions
bool | isBoundable () const override
void | Profile (llvm::FoldingSetNodeID &ID) const override
Public Member Functions inherited from clang::ento::MemRegion
ASTContext & | getContext () const
const MemSpaceRegion * | getMemorySpace () const
const MemRegion * | getBaseRegion () const
const MemRegion * | getMostDerivedObjectRegion () const
| Recursively retrieve the region of the most derived class instance of regions of C++ base class instances. More...
virtual bool | isSubRegionOf (const MemRegion *R) const
| Check if the region is a subregion of the given region. More...
const MemRegion * | StripCasts (bool StripBaseAndDerivedCasts=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...
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
std::string | getDescriptiveName (bool UseQuotes=true) const
| Get descriptive name for memory region. More...
SourceRange | sourceRange () const
| Retrieve source range from memory region. More...

## Static Public Member Functions
static bool | classof (const MemRegion *R)

## Protected Member Functions
| MemSpaceRegion (MemRegionManager *mgr, Kind k)
MemRegionManager * | getMemRegionManager () const override
Protected Member Functions inherited from clang::ento::MemRegion
| MemRegion (Kind k)
virtual | ~MemRegion ()

## Protected Attributes
MemRegionManager * | Mgr

## Additional Inherited Members
Public Types inherited from clang::ento::MemRegion
enum | Kind

## Detailed Description

MemSpaceRegion - A memory region that represents a "memory space"; for example, the set of global variables, the stack frame, etc.

Definition at line 199 of file MemRegion.h.

## Constructor & Destructor Documentation

## ◆ MemSpaceRegion()

clang::ento::MemSpaceRegion::MemSpaceRegion | ( | MemRegionManager * | mgr,
|  | Kind | k
| ) |  |
| inline protected

Definition at line 203 of file MemRegion.h.

References clang::classof().

## Member Function Documentation

## ◆ classof()

static bool clang::ento::MemSpaceRegion::classof | ( | const MemRegion * | R | ) |
| inline static

Definition at line 215 of file MemRegion.h.

References clang::ento::MemRegion::getKind().

## ◆ getMemRegionManager()

MemRegionManager* clang::ento::MemSpaceRegion::getMemRegionManager | ( |  | ) | const
| inline override protected virtual

Implements clang::ento::MemRegion.

Definition at line 208 of file MemRegion.h.

## ◆ isBoundable()

bool clang::ento::MemSpaceRegion::isBoundable | ( |  | ) | const
| inline override virtual

Reimplemented from clang::ento::MemRegion.

Definition at line 211 of file MemRegion.h.

## ◆ Profile()

void MemSpaceRegion::Profile | ( | llvm::FoldingSetNodeID & | ID | ) | const
| override virtual

Implements clang::ento::MemRegion.

Reimplemented in clang::ento::StackSpaceRegion, and clang::ento::StaticGlobalSpaceRegion.

Definition at line 236 of file MemRegion.cpp.

References getKind().

## Member Data Documentation

## ◆ Mgr

MemRegionManager* clang::ento::MemSpaceRegion::Mgr
| protected

Definition at line 201 of file MemRegion.h.

The documentation for this class was generated from the following files:

- include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
- lib/StaticAnalyzer/Core/MemRegion.cpp