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:

protected Complexity = 0

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:

Inherited from FoldingSetBase::Node:

Methods

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)

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)

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)

Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h:170

Parameters

const clang::ento::SymExpr* SE

void dumpToStream(llvm::raw_ostream& os) const

Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h:155

Parameters

llvm::raw_ostream& os

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

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

Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h:147

const clang::ento::TypedValueRegion* getRegion()
    const

Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h:149

clang::QualType getType() const

Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h:151