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:

protected Complexity = 0

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:

Inherited from FoldingSetBase::Node:

Methods

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)

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)

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)

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

Parameters

const clang::ento::SymExpr* SE

void dumpToStream(llvm::raw_ostream& os) const

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

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:63

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

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

clang::QualType getType() const

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