class SymbolMetadata

Declaration

class SymbolMetadata : public SymbolData { /* full declaration omitted */ };

Description

SymbolMetadata - Represents path-dependent metadata about a specific region. Metadata symbols remain live as long as they are marked as in use before dead-symbol sweeping AND their associated regions are still alive. Intended for use by checkers.

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

Inherits from: SymbolData

Member Variables

private const clang::ento::MemRegion* R
private const clang::Stmt* S
private clang::QualType T
private const clang::LocationContext* LCtx
private unsigned int Count
private const void* Tag

Inherited from SymExpr:

protected Complexity = 0

Method Overview

  • public static void Profile(llvm::FoldingSetNodeID & profile, const clang::ento::MemRegion * R, const clang::Stmt * S, clang::QualType T, const clang::LocationContext * LCtx, unsigned int Count, const void * Tag)
  • public void Profile(llvm::FoldingSetNodeID & profile)
  • public SymbolMetadata(clang::ento::SymbolID sym, const clang::ento::MemRegion * r, const clang::Stmt * s, clang::QualType t, const clang::LocationContext * LCtx, unsigned int count, const void * tag)
  • public static bool classof(const clang::ento::SymExpr * SE)
  • public void dumpToStream(llvm::raw_ostream & os) const
  • public unsigned int getCount() const
  • public llvm::StringRef getKindStr() const
  • public const clang::LocationContext * getLocationContext() const
  • public const clang::ento::MemRegion * getRegion() const
  • public const clang::Stmt * getStmt() const
  • public const void * getTag() 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::MemRegion* R,
    const clang::Stmt* S,
    clang::QualType T,
    const clang::LocationContext* LCtx,
    unsigned int Count,
    const void* Tag)

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

Parameters

llvm::FoldingSetNodeID& profile
const clang::ento::MemRegion* R
const clang::Stmt* S
clang::QualType T
const clang::LocationContext* LCtx
unsigned int Count
const void* Tag

void Profile(llvm::FoldingSetNodeID& profile)

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

Parameters

llvm::FoldingSetNodeID& profile

SymbolMetadata(clang::ento::SymbolID sym,
               const clang::ento::MemRegion* r,
               const clang::Stmt* s,
               clang::QualType t,
               const clang::LocationContext* LCtx,
               unsigned int count,
               const void* tag)

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

Parameters

clang::ento::SymbolID sym
const clang::ento::MemRegion* r
const clang::Stmt* s
clang::QualType t
const clang::LocationContext* LCtx
unsigned int count
const void* tag

static bool classof(
    const clang::ento::SymExpr* SE)

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

Parameters

const clang::ento::SymExpr* SE

void dumpToStream(llvm::raw_ostream& os) const

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

Parameters

llvm::raw_ostream& os

unsigned int getCount() const

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

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

const clang::LocationContext* getLocationContext()
    const

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

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

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

const clang::Stmt* getStmt() const

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

const void* getTag() const

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

clang::QualType getType() const

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