class SymExpr
Declaration
class SymExpr : public Node { /* full declaration omitted */ };
Description
Symbolic value. These values used to capture symbolic execution of the program.
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h:29
Inherits from: FoldingSetBase::Node
Member Variables
- private clang::ento::SymExpr::Kind K
- protected unsigned int Complexity = 0
Method Overview
- public virtual void Profile(llvm::FoldingSetNodeID & profile)
- protected SymExpr(clang::ento::SymExpr::Kind k)
- private virtual void anchor()
- public virtual unsigned int computeComplexity() const
- public virtual void dump() const
- public virtual void dumpToStream(llvm::raw_ostream & os) const
- public clang::ento::SymExpr::Kind getKind() const
- public virtual const clang::ento::MemRegion * getOriginRegion() const
- public virtual clang::QualType getType() const
- protected static bool isValidTypeForSymbol(clang::QualType T)
- public clang::ento::SymExpr::symbol_iterator symbol_begin() const
- public static clang::ento::SymExpr::symbol_iterator symbol_end()
- public virtual ~SymExpr()
Inherited from FoldingSetBase::Node:
Methods
¶virtual void Profile(
llvm::FoldingSetNodeID& profile)
virtual void Profile(
llvm::FoldingSetNodeID& profile)
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h:63
Parameters
- llvm::FoldingSetNodeID& profile
¶SymExpr(clang::ento::SymExpr::Kind k)
SymExpr(clang::ento::SymExpr::Kind k)
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h:43
Parameters
- clang::ento::SymExpr::Kind k
¶virtual void anchor()
virtual void anchor()
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h:30
¶virtual unsigned int computeComplexity() const
virtual unsigned int computeComplexity() const
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h:89
¶virtual void dump() const
virtual void dump() const
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h:58
¶virtual void dumpToStream(
llvm::raw_ostream& os) const
virtual void dumpToStream(
llvm::raw_ostream& os) const
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h:60
Parameters
¶clang::ento::SymExpr::Kind getKind() const
clang::ento::SymExpr::Kind getKind() const
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h:56
¶virtual const clang::ento::MemRegion*
getOriginRegion() const
virtual 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/SymExpr.h:102
¶virtual clang::QualType getType() const
virtual clang::QualType getType() const
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h:62
¶static bool isValidTypeForSymbol(
clang::QualType T)
static bool isValidTypeForSymbol(
clang::QualType T)
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h:45
Parameters
¶clang::ento::SymExpr::symbol_iterator
symbol_begin() const
clang::ento::SymExpr::symbol_iterator
symbol_begin() const
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h:86
¶static clang::ento::SymExpr::symbol_iterator
symbol_end()
static clang::ento::SymExpr::symbol_iterator
symbol_end()
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h:87
¶virtual ~SymExpr()
virtual ~SymExpr()
Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h:54