class ParamVarRegion

Declaration

class ParamVarRegion : public VarRegion { /* full declaration omitted */ };

Description

ParamVarRegion - Represents a region for paremters. Only parameters of the function in the current stack frame are represented as `ParamVarRegion`s. Parameters of top-level analyzed functions as well as captured paremeters by lambdas and blocks are repesented as `VarRegion`s.

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

Inherits from: VarRegion

Member Variables

private const clang::Expr* OriginExpr
private unsigned int Index

Inherited from SubRegion:

protected superRegion

Method Overview

  • private ParamVarRegion(const clang::Expr * OE, unsigned int Idx, const clang::ento::MemRegion * SReg)
  • public void Profile(llvm::FoldingSetNodeID & ID) const
  • private static void ProfileRegion(llvm::FoldingSetNodeID & ID, const clang::Expr * OE, unsigned int Idx, const clang::ento::MemRegion * SReg)
  • public bool canPrintPrettyAsExpr() const
  • public static bool classof(const clang::ento::MemRegion * R)
  • public void dumpToStream(llvm::raw_ostream & os) const
  • public const clang::ParmVarDecl * getDecl() const
  • public unsigned int getIndex() const
  • public const clang::Expr * getOriginExpr() const
  • public clang::QualType getValueType() const
  • public void printPrettyAsExpr(llvm::raw_ostream & os) const

Inherited from VarRegion:

Inherited from DeclRegion:

Inherited from TypedValueRegion:

Inherited from TypedRegion:

Inherited from SubRegion:

Inherited from MemRegion:

Inherited from FoldingSetBase::Node:

Methods

ParamVarRegion(const clang::Expr* OE,
               unsigned int Idx,
               const clang::ento::MemRegion* SReg)

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

Parameters

const clang::Expr* OE
unsigned int Idx
const clang::ento::MemRegion* SReg

void Profile(llvm::FoldingSetNodeID& ID) const

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

Parameters

llvm::FoldingSetNodeID& ID

static void ProfileRegion(
    llvm::FoldingSetNodeID& ID,
    const clang::Expr* OE,
    unsigned int Idx,
    const clang::ento::MemRegion* SReg)

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

Parameters

llvm::FoldingSetNodeID& ID
const clang::Expr* OE
unsigned int Idx
const clang::ento::MemRegion* SReg

bool canPrintPrettyAsExpr() const

Description

Returns true if this region's textual representation can be used as part of a larger expression.

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

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

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

Parameters

const clang::ento::MemRegion* R

void dumpToStream(llvm::raw_ostream& os) const

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

Parameters

llvm::raw_ostream& os

const clang::ParmVarDecl* getDecl() const

Description

TODO: What does this return?

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

unsigned int getIndex() const

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

const clang::Expr* getOriginExpr() const

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

clang::QualType getValueType() const

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

void printPrettyAsExpr(
    llvm::raw_ostream& os) const

Description

Print the region as expression. When this region represents a subexpression, the method is for printing an expression containing it.

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

Parameters

llvm::raw_ostream& os