class BlockCodeRegion
Declaration
class BlockCodeRegion : public CodeTextRegion { /* full declaration omitted */ };
Description
BlockCodeRegion - A region that represents code texts of blocks (closures). 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.
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h:627
Inherits from: CodeTextRegion
Member Variables
- private const clang::BlockDecl* BD
- private clang::AnalysisDeclContext* AC
- private clang::CanQualType locTy
Inherited from SubRegion:
Method Overview
- private BlockCodeRegion(const clang::BlockDecl * bd, clang::CanQualType lTy, clang::AnalysisDeclContext * ac, const clang::ento::CodeSpaceRegion * sreg)
- public void Profile(llvm::FoldingSetNodeID & ID) const
- private static void ProfileRegion(llvm::FoldingSetNodeID & ID, const clang::BlockDecl * BD, clang::CanQualType, const clang::AnalysisDeclContext *, const clang::ento::MemRegion *)
- public static bool classof(const clang::ento::MemRegion * R)
- public void dumpToStream(llvm::raw_ostream & os) const
- public clang::AnalysisDeclContext * getAnalysisDeclContext() const
- public const clang::BlockDecl * getDecl() const
- public clang::QualType getLocationType() const
Inherited from CodeTextRegion:
Inherited from TypedRegion:
Inherited from SubRegion:
Inherited from MemRegion:
- public Profile
- public StripCasts
- public canPrintPretty
- public canPrintPrettyAsExpr
- public castAs
- public dump
- public dumpToStream
- public getAs
- public getAsOffset
- public getBaseRegion
- public getContext
- public getDescriptiveName
- public getKind
- public getMemRegionManager
- public getMemorySpace
- public getMostDerivedObjectRegion
- public getString
- public getSymbolicBase
- public hasGlobalsOrParametersStorage
- public hasStackNonParametersStorage
- public hasStackParametersStorage
- public hasStackStorage
- public isBoundable
- public isSubRegionOf
- public printPretty
- public printPrettyAsExpr
- public sourceRange
Inherited from FoldingSetBase::Node:
Methods
¶BlockCodeRegion(
const clang::BlockDecl* bd,
clang::CanQualType lTy,
clang::AnalysisDeclContext* ac,
const clang::ento::CodeSpaceRegion* sreg)
BlockCodeRegion(
const clang::BlockDecl* bd,
clang::CanQualType lTy,
clang::AnalysisDeclContext* ac,
const clang::ento::CodeSpaceRegion* sreg)
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h:634
Parameters
- const clang::BlockDecl* bd
- clang::CanQualType lTy
- clang::AnalysisDeclContext* ac
- const clang::ento::CodeSpaceRegion* sreg
¶void Profile(llvm::FoldingSetNodeID& ID) const
void Profile(llvm::FoldingSetNodeID& ID) const
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h:661
Parameters
¶static void ProfileRegion(
llvm::FoldingSetNodeID& ID,
const clang::BlockDecl* BD,
clang::CanQualType,
const clang::AnalysisDeclContext*,
const clang::ento::MemRegion*)
static void ProfileRegion(
llvm::FoldingSetNodeID& ID,
const clang::BlockDecl* BD,
clang::CanQualType,
const clang::AnalysisDeclContext*,
const clang::ento::MemRegion*)
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h:642
Parameters
- llvm::FoldingSetNodeID& ID
- const clang::BlockDecl* BD
- clang::CanQualType
- const clang::AnalysisDeclContext*
- const clang::ento::MemRegion*
¶static bool classof(
const clang::ento::MemRegion* R)
static bool classof(
const clang::ento::MemRegion* R)
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h:663
Parameters
- const clang::ento::MemRegion* R
¶void dumpToStream(llvm::raw_ostream& os) const
void dumpToStream(llvm::raw_ostream& os) const
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h:659
Parameters
¶clang::AnalysisDeclContext*
getAnalysisDeclContext() const
clang::AnalysisDeclContext*
getAnalysisDeclContext() const
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h:657
¶const clang::BlockDecl* getDecl() const
const clang::BlockDecl* getDecl() const
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h:652
¶clang::QualType getLocationType() const
clang::QualType getLocationType() const
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h:647