clang 22.0.0git
clang::ento::SymbolConjured Class Reference

A symbol representing the result of an expression in the case when we do not know anything about what the expression is. More...

#include "clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h"

Inheritance diagram for clang::ento::SymbolConjured:
[legend]

Public Member Functions

ConstCFGElementRef getCFGElementRef () const
const StmtgetStmt () const
unsigned getCount () const
const void * getTag () const
 It might return null.
QualType getType () const override
StringRef getKindStr () const override
 Get a string representation of the kind of the region.
void dumpToStream (raw_ostream &os) const override
void Profile (llvm::FoldingSetNodeID &profile) override
Public Member Functions inherited from clang::ento::SymbolData
 ~SymbolData () override=default
unsigned computeComplexity () const override
Public Member Functions inherited from clang::ento::SymExpr
virtual ~SymExpr ()=default
Kind getKind () const
SymbolID getSymbolID () const
 Get a unique identifier for this symbol.
virtual void dump () const
llvm::iterator_range< symbol_iteratorsymbols () const
virtual const MemRegiongetOriginRegion () const
 Find the region from which this symbol originates.

Static Public Member Functions

static void Profile (llvm::FoldingSetNodeID &profile, ConstCFGElementRef Elem, const LocationContext *LCtx, QualType T, unsigned Count, const void *SymbolTag)
static bool classof (const SymExpr *SE)
static constexpr bool classof (Kind K)
Static Public Member Functions inherited from clang::ento::SymbolData
static bool classof (const SymExpr *SE)
static constexpr bool classof (Kind K)

Static Public Attributes

static constexpr Kind ClassKind = SymbolConjuredKind

Friends

class SymExprAllocator

Additional Inherited Members

Public Types inherited from clang::ento::SymExpr
enum  Kind
Protected Member Functions inherited from clang::ento::SymbolData
 SymbolData (Kind k, SymbolID sym)
Protected Member Functions inherited from clang::ento::SymExpr
 SymExpr (Kind k, SymbolID Sym)
Static Protected Member Functions inherited from clang::ento::SymExpr
static bool isValidTypeForSymbol (QualType T)
Protected Attributes inherited from clang::ento::SymExpr
unsigned Complexity = 0

Detailed Description

A symbol representing the result of an expression in the case when we do not know anything about what the expression is.

Definition at line 82 of file SymbolManager.h.

Member Function Documentation

◆ classof() [1/2]

bool clang::ento::SymbolConjured::classof ( const SymExpr * SE)
inlinestatic

Definition at line 132 of file SymbolManager.h.

References classof(), and clang::ento::SymExpr::getKind().

Referenced by classof().

◆ classof() [2/2]

constexpr bool clang::ento::SymbolConjured::classof ( Kind K)
inlinestaticconstexpr

Definition at line 133 of file SymbolManager.h.

References ClassKind.

◆ dumpToStream()

void SymbolConjured::dumpToStream ( raw_ostream & os) const
overridevirtual

Reimplemented from clang::ento::SymExpr.

Definition at line 122 of file SymbolManager.cpp.

References getKindStr(), getStmt(), and clang::ento::SymExpr::getSymbolID().

◆ getCFGElementRef()

ConstCFGElementRef clang::ento::SymbolConjured::getCFGElementRef ( ) const
inline

Definition at line 100 of file SymbolManager.h.

Referenced by clang::ento::SValExplainer::VisitSymbolConjured().

◆ getCount()

unsigned clang::ento::SymbolConjured::getCount ( ) const
inline

Definition at line 105 of file SymbolManager.h.

◆ getKindStr()

StringRef SymbolConjured::getKindStr ( ) const
overridevirtual

Get a string representation of the kind of the region.

Implements clang::ento::SymbolData.

Definition at line 34 of file SymbolManager.cpp.

Referenced by dumpToStream().

◆ getStmt()

◆ getTag()

const void * clang::ento::SymbolConjured::getTag ( ) const
inline

It might return null.

Definition at line 107 of file SymbolManager.h.

◆ getType()

QualType SymbolConjured::getType ( ) const
overridevirtual

Implements clang::ento::SymExpr.

Definition at line 205 of file SymbolManager.cpp.

Referenced by clang::ento::SValExplainer::VisitSymbolConjured().

◆ Profile() [1/2]

void clang::ento::SymbolConjured::Profile ( llvm::FoldingSetNodeID & profile)
inlineoverridevirtual

Implements clang::ento::SymExpr.

Definition at line 126 of file SymbolManager.h.

References Profile().

◆ Profile() [2/2]

void clang::ento::SymbolConjured::Profile ( llvm::FoldingSetNodeID & profile,
ConstCFGElementRef Elem,
const LocationContext * LCtx,
QualType T,
unsigned Count,
const void * SymbolTag )
inlinestatic

Definition at line 115 of file SymbolManager.h.

References ClassKind.

Referenced by Profile().

◆ SymExprAllocator

friend class SymExprAllocator
friend

Definition at line 89 of file SymbolManager.h.

References ClassKind, clang::ento::SymbolData::SymbolData(), and SymExprAllocator.

Referenced by SymExprAllocator.

Member Data Documentation

◆ ClassKind

Kind clang::ento::SymbolConjured::ClassKind = SymbolConjuredKind
staticconstexpr

Definition at line 131 of file SymbolManager.h.

Referenced by classof(), Profile(), and SymExprAllocator.


The documentation for this class was generated from the following files: