clang 20.0.0git
Public Member Functions | Static Public Member Functions | List of all members
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:
Inheritance graph
[legend]

Public Member Functions

 SymbolConjured (SymbolID sym, const Stmt *s, const LocationContext *lctx, QualType t, unsigned count, const void *symbolTag)
 
const StmtgetStmt () const
 It might return null.
 
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
 
virtual StringRef getKindStr () const =0
 Get a string representation of the kind of the region.
 
SymbolID getSymbolID () const
 
unsigned computeComplexity () const override
 
- Public Member Functions inherited from clang::ento::SymExpr
virtual ~SymExpr ()=default
 
Kind getKind () const
 
virtual void dump () const
 
virtual void dumpToStream (raw_ostream &os) const
 
virtual QualType getType () const =0
 
virtual void Profile (llvm::FoldingSetNodeID &profile)=0
 
llvm::iterator_range< symbol_iteratorsymbols () const
 
virtual unsigned computeComplexity () const =0
 
virtual const MemRegiongetOriginRegion () const
 Find the region from which this symbol originates.
 

Static Public Member Functions

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

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)
 
- 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 79 of file SymbolManager.h.

Constructor & Destructor Documentation

◆ SymbolConjured()

clang::ento::SymbolConjured::SymbolConjured ( SymbolID  sym,
const Stmt s,
const LocationContext lctx,
QualType  t,
unsigned  count,
const void *  symbolTag 
)
inline

Definition at line 87 of file SymbolManager.h.

References clang::ento::SymExpr::isValidTypeForSymbol(), and clang::T.

Member Function Documentation

◆ classof()

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

Definition at line 128 of file SymbolManager.h.

References clang::ento::SymExpr::getKind().

◆ dumpToStream()

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

◆ getCount()

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

Definition at line 102 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 38 of file SymbolManager.cpp.

Referenced by dumpToStream().

◆ getStmt()

const Stmt * clang::ento::SymbolConjured::getStmt ( ) const
inline

It might return null.

Definition at line 101 of file SymbolManager.h.

◆ getTag()

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

It might return null.

Definition at line 104 of file SymbolManager.h.

◆ getType()

QualType SymbolConjured::getType ( ) const
overridevirtual

Implements clang::ento::SymExpr.

Definition at line 328 of file SymbolManager.cpp.

References clang::T.

◆ Profile() [1/2]

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

Implements clang::ento::SymExpr.

Definition at line 123 of file SymbolManager.h.

References Profile(), and clang::T.

◆ Profile() [2/2]

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

Definition at line 112 of file SymbolManager.h.

References clang::T.

Referenced by clang::ento::SymbolManager::conjureSymbol(), and Profile().


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