clang 8.0.0

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:
[legend]
Collaboration diagram for clang::ento::SymbolConjured:
[legend]

## Public Member Functions
| SymbolConjured (SymbolID sym, const Stmt *s, const LocationContext *lctx, QualType t, unsigned count, const void *symbolTag)
const Stmt * | getStmt () const
unsigned | getCount () const
const void * | getTag () const
QualType | getType () const override
void | dumpToStream (raw_ostream &os) const override
void | Profile (llvm::FoldingSetNodeID &profile) override
Public Member Functions inherited from clang::ento::SymbolData
| ~SymbolData () override=default
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
symbol_iterator | symbol_begin () const
virtual const MemRegion * | getOriginRegion () const
| Find the region from which this symbol originates. More...

## 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)
Static Public Member Functions inherited from clang::ento::SymExpr
static symbol_iterator | symbol_end ()

## 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 76 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 84 of file SymbolManager.h.

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

## Member Function Documentation

## ◆ classof()

static bool clang::ento::SymbolConjured::classof | ( | const SymExpr * | SE | ) |
| inline static

Definition at line 121 of file SymbolManager.h.

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

## ◆ dumpToStream()

void SymbolConjured::dumpToStream | ( | raw_ostream & | os | ) | const
| override virtual

Reimplemented from clang::ento::SymExpr.

Definition at line 85 of file SymbolManager.cpp.

## ◆ getCount()

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

Definition at line 98 of file SymbolManager.h.

## ◆ getStmt()

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

Definition at line 97 of file SymbolManager.h.

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

## ◆ getTag()

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

Definition at line 99 of file SymbolManager.h.

References clang::ento::SymbolRegionValue::dumpToStream(), and clang::ento::SymbolRegionValue::getType().

## ◆ getType()

QualType SymbolConjured::getType | ( |  | ) | const
| override virtual

Implements clang::ento::SymExpr.

Definition at line 324 of file SymbolManager.cpp.

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

## ◆ Profile() [1/2]

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

Definition at line 105 of file SymbolManager.h.

## ◆ Profile() [2/2]

void clang::ento::SymbolConjured::Profile | ( | llvm::FoldingSetNodeID & | profile | ) |
| inline override virtual

Implements clang::ento::SymExpr.

Definition at line 116 of file SymbolManager.h.

References clang::ento::SymbolRegionValue::Profile().

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

- include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
- lib/StaticAnalyzer/Core/SymbolManager.cpp