clang 22.0.0git
|
Represents a symbolic expression involving a binary operator. More...
#include "clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h"
Public Member Functions | |
QualType | getType () const override |
BinaryOperator::Opcode | getOpcode () const |
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 void | Profile (llvm::FoldingSetNodeID &profile)=0 |
llvm::iterator_range< symbol_iterator > | symbols () const |
virtual unsigned | computeComplexity () const =0 |
virtual const MemRegion * | getOriginRegion () const |
Find the region from which this symbol originates. |
Static Public Member Functions | |
static bool | classof (const SymExpr *SE) |
static constexpr bool | classof (Kind K) |
Protected Member Functions | |
BinarySymExpr (SymbolID Sym, Kind k, BinaryOperator::Opcode op, QualType t) | |
Protected Member Functions inherited from clang::ento::SymExpr | |
SymExpr (Kind k, SymbolID Sym) |
Static Protected Member Functions | |
static unsigned | computeOperandComplexity (const SymExpr *Value) |
static unsigned | computeOperandComplexity (const llvm::APSInt &Value) |
static const llvm::APSInt * | getPointer (APSIntPtr Value) |
static const SymExpr * | getPointer (const SymExpr *Value) |
static void | dumpToStreamImpl (raw_ostream &os, const SymExpr *Value) |
static void | dumpToStreamImpl (raw_ostream &os, const llvm::APSInt &Value) |
static void | dumpToStreamImpl (raw_ostream &os, BinaryOperator::Opcode op) |
Static Protected Member Functions inherited from clang::ento::SymExpr | |
static bool | isValidTypeForSymbol (QualType T) |
Additional Inherited Members | |
Public Types inherited from clang::ento::SymExpr | |
enum | Kind |
Protected Attributes inherited from clang::ento::SymExpr | |
unsigned | Complexity = 0 |
Represents a symbolic expression involving a binary operator.
Definition at line 389 of file SymbolManager.h.
|
inlineprotected |
Definition at line 394 of file SymbolManager.h.
References classof(), clang::ento::Loc::isLocType(), clang::ento::SymExpr::isValidTypeForSymbol(), and clang::ento::SymExpr::SymExpr().
Referenced by clang::ento::BinarySymExprImpl< const SymExpr *, APSIntPtr, SymExpr::Kind::SymIntExprKind >::SymExprAllocator.
Definition at line 411 of file SymbolManager.h.
References classof(), clang::ento::SymExpr::getKind(), and clang::ento::SymExpr::SymExpr().
Referenced by BinarySymExpr(), and classof().
Definition at line 412 of file SymbolManager.h.
|
inlinestaticprotected |
Definition at line 420 of file SymbolManager.h.
|
inlinestaticprotected |
Definition at line 417 of file SymbolManager.h.
References clang::ento::SymExpr::SymExpr().
Referenced by clang::ento::BinarySymExprImpl< const SymExpr *, APSIntPtr, SymExpr::Kind::SymIntExprKind >::computeComplexity().
|
staticprotected |
Definition at line 58 of file SymbolManager.cpp.
References clang::BinaryOperator::getOpcodeStr(), and clang::ento::OS.
|
staticprotected |
Definition at line 48 of file SymbolManager.cpp.
References clang::ento::OS.
|
staticprotected |
Definition at line 42 of file SymbolManager.cpp.
References clang::ento::OS, and clang::ento::SymExpr::SymExpr().
Referenced by clang::ento::BinarySymExprImpl< const SymExpr *, APSIntPtr, SymExpr::Kind::SymIntExprKind >::dumpToStream().
|
inline |
Definition at line 408 of file SymbolManager.h.
Referenced by clang::ento::BinarySymExprImpl< const SymExpr *, APSIntPtr, SymExpr::Kind::SymIntExprKind >::dumpToStream(), clang::ento::SMTConv::getSymBinExpr(), clang::ento::BinarySymExprImpl< const SymExpr *, APSIntPtr, SymExpr::Kind::SymIntExprKind >::Profile(), clang::ento::SValExplainer::VisitSymIntExpr(), and clang::ento::SValExplainer::VisitSymSymExpr().
|
inlinestaticprotected |
Definition at line 424 of file SymbolManager.h.
Referenced by clang::ento::BinarySymExprImpl< const SymExpr *, APSIntPtr, SymExpr::Kind::SymIntExprKind >::Profile().
|
inlinestaticprotected |
Definition at line 425 of file SymbolManager.h.
References clang::ento::SymExpr::SymExpr().
|
inlineoverridevirtual |
Implements clang::ento::SymExpr.
Definition at line 406 of file SymbolManager.h.
Referenced by clang::ento::BinarySymExprImpl< const SymExpr *, APSIntPtr, SymExpr::Kind::SymIntExprKind >::Profile().