class SymbolRegionValue
Declaration
class SymbolRegionValue : public SymbolData { /* full declaration omitted */ };
Description
A symbol representing the value stored at a MemRegion.
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h:41
Inherits from: SymbolData
Member Variables
- private const clang::ento::TypedValueRegion* R
Inherited from SymExpr:
Method Overview
- public static void Profile(llvm::FoldingSetNodeID & profile, const clang::ento::TypedValueRegion * R)
- public void Profile(llvm::FoldingSetNodeID & profile)
- public SymbolRegionValue(clang::ento::SymbolID sym, const clang::ento::TypedValueRegion * r)
- public static bool classof(const clang::ento::SymExpr * SE)
- public void dumpToStream(llvm::raw_ostream & os) const
- public llvm::StringRef getKindStr() const
- public const clang::ento::MemRegion * getOriginRegion() const
- public const clang::ento::TypedValueRegion * getRegion() const
- public clang::QualType getType() const
Inherited from SymbolData:
Inherited from SymExpr:
- public Profile
- public computeComplexity
- public dump
- public dumpToStream
- public getKind
- public getOriginRegion
- public getType
- protected isValidTypeForSymbol
- public symbol_begin
- public symbol_end
Inherited from FoldingSetBase::Node:
Methods
¶static void Profile(
llvm::FoldingSetNodeID& profile,
const clang::ento::TypedValueRegion* R)
static void Profile(
llvm::FoldingSetNodeID& profile,
const clang::ento::TypedValueRegion* R)
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h:54
Parameters
- llvm::FoldingSetNodeID& profile
- const clang::ento::TypedValueRegion* R
¶void Profile(llvm::FoldingSetNodeID& profile)
void Profile(llvm::FoldingSetNodeID& profile)
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h:59
Parameters
- llvm::FoldingSetNodeID& profile
¶SymbolRegionValue(
clang::ento::SymbolID sym,
const clang::ento::TypedValueRegion* r)
SymbolRegionValue(
clang::ento::SymbolID sym,
const clang::ento::TypedValueRegion* r)
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h:45
Parameters
- clang::ento::SymbolID sym
- const clang::ento::TypedValueRegion* r
¶static bool classof(
const clang::ento::SymExpr* SE)
static bool classof(
const clang::ento::SymExpr* SE)
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h:71
Parameters
- const clang::ento::SymExpr* SE
¶void dumpToStream(llvm::raw_ostream& os) const
void dumpToStream(llvm::raw_ostream& os) const
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h:65
Parameters
¶llvm::StringRef getKindStr() const
llvm::StringRef getKindStr() const
Description
Get a string representation of the kind of the region.
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h:63
¶const clang::ento::MemRegion* getOriginRegion()
const
const clang::ento::MemRegion* getOriginRegion()
const
Description
Find the region from which this symbol originates. Whenever the symbol was constructed to denote an unknown value of a certain memory region, return this region. This method allows checkers to make decisions depending on the origin of the symbol. Symbol classes for which the origin region is known include SymbolRegionValue which denotes the value of the region before the beginning of the analysis, and SymbolDerived which denotes the value of a certain memory region after its super region (a memory space or a larger record region) is default-bound with a certain symbol. It might return null.
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h:66
¶const clang::ento::TypedValueRegion* getRegion()
const
const clang::ento::TypedValueRegion* getRegion()
const
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h:52
¶clang::QualType getType() const
clang::QualType getType() const
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h:68