clang API Documentation

Classes | Public Member Functions | Static Public Member Functions | Friends
clang::ento::BlockDataRegion Class Reference

#include <MemRegion.h>

Inheritance diagram for clang::ento::BlockDataRegion:
Inheritance graph
[legend]
Collaboration diagram for clang::ento::BlockDataRegion:
Collaboration graph
[legend]

List of all members.

Classes

class  referenced_vars_iterator

Public Member Functions

const BlockTextRegiongetCodeRegion () const
const BlockDeclgetDecl () const
QualType getLocationType () const override
const VarRegiongetOriginalRegion (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

Detailed Description

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.


Member Function Documentation

static bool clang::ento::BlockDataRegion::classof ( const MemRegion R) [inline, static]
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().

Definition at line 646 of file MemRegion.h.

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().

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().


Friends And Related Function Documentation

friend class MemRegionManager [friend]

Reimplemented from clang::ento::MemRegion.

Definition at line 632 of file MemRegion.h.


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