clang 20.0.0git
Public Member Functions | Static Public Member Functions | Friends | 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

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.
 
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
 
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)
 

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()

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

Definition at line 132 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 106 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 105 of file SymbolManager.h.

◆ getTag()

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

It might return null.

Definition at line 108 of file SymbolManager.h.

◆ getType()

QualType SymbolConjured::getType ( ) const
overridevirtual

Implements clang::ento::SymExpr.

Definition at line 321 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 127 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 116 of file SymbolManager.h.

References clang::T.

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

Friends And Related Function Documentation

◆ SymExprAllocator

friend class SymExprAllocator
friend

Definition at line 89 of file SymbolManager.h.


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