class SymbolDerived
Declaration
class SymbolDerived : public SymbolData { /* full declaration omitted */ };
Description
A symbol representing the value of a MemRegion whose parent region has symbolic value.
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h:134
Inherits from: SymbolData
Member Variables
- private clang::ento::SymbolRef parentSymbol
- private const clang::ento::TypedValueRegion* R
Inherited from SymExpr:
Method Overview
- public static void Profile(llvm::FoldingSetNodeID & profile, clang::ento::SymbolRef parent, const clang::ento::TypedValueRegion * r)
- public void Profile(llvm::FoldingSetNodeID & profile)
- public SymbolDerived(clang::ento::SymbolID sym, clang::ento::SymbolRef parent, 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 clang::ento::SymbolRef getParentSymbol() 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,
clang::ento::SymbolRef parent,
const clang::ento::TypedValueRegion* r)
static void Profile(
llvm::FoldingSetNodeID& profile,
clang::ento::SymbolRef parent,
const clang::ento::TypedValueRegion* r)
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h:158
Parameters
- llvm::FoldingSetNodeID& profile
- clang::ento::SymbolRef parent
- 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:165
Parameters
- llvm::FoldingSetNodeID& profile
¶SymbolDerived(
clang::ento::SymbolID sym,
clang::ento::SymbolRef parent,
const clang::ento::TypedValueRegion* r)
SymbolDerived(
clang::ento::SymbolID sym,
clang::ento::SymbolRef parent,
const clang::ento::TypedValueRegion* r)
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h:139
Parameters
- clang::ento::SymbolID sym
- clang::ento::SymbolRef parent
- 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:170
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:155
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:153
¶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:156
¶clang::ento::SymbolRef getParentSymbol() const
clang::ento::SymbolRef getParentSymbol() const
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h:147
¶const clang::ento::TypedValueRegion* getRegion()
const
const clang::ento::TypedValueRegion* getRegion()
const
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h:149
¶clang::QualType getType() const
clang::QualType getType() const
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h:151