clang 22.0.0git
clang::ento::SymbolCast Class Reference

Represents a cast expression. More...

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

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

Public Member Functions

unsigned computeComplexity () const override
QualType getType () const override
LLVM_ATTRIBUTE_RETURNS_NONNULL const SymExprgetOperand () const
void dumpToStream (raw_ostream &os) const override
void Profile (llvm::FoldingSetNodeID &ID) 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 &ID, const SymExpr *In, QualType From, QualType To)
static bool classof (const SymExpr *SE)
static constexpr bool classof (Kind K)

Static Public Attributes

static constexpr Kind ClassKind = SymbolCastKind

Friends

class SymExprAllocator

Additional Inherited Members

Public Types inherited from clang::ento::SymExpr
enum  Kind
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

Represents a cast expression.

Definition at line 287 of file SymbolManager.h.

Member Function Documentation

◆ classof() [1/2]

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

Definition at line 333 of file SymbolManager.h.

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

Referenced by classof().

◆ classof() [2/2]

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

Definition at line 334 of file SymbolManager.h.

References ClassKind.

◆ computeComplexity()

unsigned clang::ento::SymbolCast::computeComplexity ( ) const
inlineoverridevirtual

Implements clang::ento::SymExpr.

Definition at line 306 of file SymbolManager.h.

References clang::ento::SymExpr::Complexity.

◆ dumpToStream()

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

Reimplemented from clang::ento::SymExpr.

Definition at line 63 of file SymbolManager.cpp.

◆ getOperand()

LLVM_ATTRIBUTE_RETURNS_NONNULL const SymExpr * clang::ento::SymbolCast::getOperand ( ) const
inline

Definition at line 315 of file SymbolManager.h.

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

◆ getType()

QualType clang::ento::SymbolCast::getType ( ) const
inlineoverridevirtual

Implements clang::ento::SymExpr.

Definition at line 312 of file SymbolManager.h.

◆ Profile() [1/2]

void clang::ento::SymbolCast::Profile ( llvm::FoldingSetNodeID & ID)
inlineoverridevirtual

Implements clang::ento::SymExpr.

Definition at line 327 of file SymbolManager.h.

References Profile().

◆ Profile() [2/2]

void clang::ento::SymbolCast::Profile ( llvm::FoldingSetNodeID & ID,
const SymExpr * In,
QualType From,
QualType To )
inlinestatic

Definition at line 319 of file SymbolManager.h.

References ClassKind, and clang::ento::SymExpr::SymExpr().

Referenced by Profile().

◆ SymExprAllocator

friend class SymExprAllocator
friend

Definition at line 296 of file SymbolManager.h.

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

Referenced by SymExprAllocator.

Member Data Documentation

◆ ClassKind

Kind clang::ento::SymbolCast::ClassKind = SymbolCastKind
staticconstexpr

Definition at line 332 of file SymbolManager.h.

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


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