class SymbolicRegion

Declaration

class SymbolicRegion : public SubRegion { /* full declaration omitted */ };

Description

SymbolicRegion - A special, "non-concrete" region. Unlike other region classes, SymbolicRegion represents a region that serves as an alias for either a real region, a NULL pointer, etc. It essentially is used to map the concept of symbolic values into the domain of regions. Symbolic regions do not need to be typed.

Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h:770

Inherits from: SubRegion

Member Variables

private const clang::ento::SymbolRef sym

Inherited from SubRegion:

protected superRegion

Method Overview

  • public void Profile(llvm::FoldingSetNodeID & ID) const
  • public static void ProfileRegion(llvm::FoldingSetNodeID & ID, clang::ento::SymbolRef sym, const clang::ento::MemRegion * superRegion)
  • private SymbolicRegion(const clang::ento::SymbolRef s, const clang::ento::MemSpaceRegion * sreg)
  • public static bool classof(const clang::ento::MemRegion * R)
  • public void dumpToStream(llvm::raw_ostream & os) const
  • public clang::ento::SymbolRef getSymbol() const
  • public bool isBoundable() const

Inherited from SubRegion:

Inherited from MemRegion:

Inherited from FoldingSetBase::Node:

Methods

void Profile(llvm::FoldingSetNodeID& ID) const

Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h:793

Parameters

llvm::FoldingSetNodeID& ID

static void ProfileRegion(
    llvm::FoldingSetNodeID& ID,
    clang::ento::SymbolRef sym,
    const clang::ento::MemRegion* superRegion)

Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h:795

Parameters

llvm::FoldingSetNodeID& ID
clang::ento::SymbolRef sym
const clang::ento::MemRegion* superRegion

SymbolicRegion(
    const clang::ento::SymbolRef s,
    const clang::ento::MemSpaceRegion* sreg)

Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h:775

Parameters

const clang::ento::SymbolRef s
const clang::ento::MemSpaceRegion* sreg

static bool classof(
    const clang::ento::MemRegion* R)

Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h:801

Parameters

const clang::ento::MemRegion* R

void dumpToStream(llvm::raw_ostream& os) const

Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h:799

Parameters

llvm::raw_ostream& os

clang::ento::SymbolRef getSymbol() const

Description

It might return null.

Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h:789

bool isBoundable() const

Declared at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h:791