clang 20.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 |
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_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) |
Protected Member Functions | |
BinarySymExpr (Kind k, BinaryOperator::Opcode op, QualType t) | |
Protected Member Functions inherited from clang::ento::SymExpr | |
SymExpr (Kind k) | |
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 379 of file SymbolManager.h.
|
inlineprotected |
Definition at line 384 of file SymbolManager.h.
References classof(), clang::ento::Loc::isLocType(), clang::ento::SymExpr::isValidTypeForSymbol(), and clang::T.
Definition at line 401 of file SymbolManager.h.
References clang::ento::SymExpr::getKind().
Referenced by BinarySymExpr().
|
inlinestaticprotected |
Definition at line 410 of file SymbolManager.h.
|
inlinestaticprotected |
Definition at line 407 of file SymbolManager.h.
Referenced by clang::ento::BinarySymExprImpl< LHSTYPE, RHSTYPE, ClassKind >::computeComplexity().
|
staticprotected |
Definition at line 62 of file SymbolManager.cpp.
References clang::BinaryOperator::getOpcodeStr(), and clang::ento::OS.
|
staticprotected |
Definition at line 52 of file SymbolManager.cpp.
References clang::ento::OS.
|
staticprotected |
Definition at line 46 of file SymbolManager.cpp.
References clang::ento::SymExpr::dumpToStream(), and clang::ento::OS.
Referenced by clang::ento::BinarySymExprImpl< LHSTYPE, RHSTYPE, ClassKind >::dumpToStream().
|
inline |
Definition at line 398 of file SymbolManager.h.
Referenced by clang::ento::RangedConstraintManager::assumeSym(), clang::ento::BinarySymExprImpl< LHSTYPE, RHSTYPE, ClassKind >::dumpToStream(), clang::ento::SMTConv::getSymBinExpr(), and clang::ento::BinarySymExprImpl< LHSTYPE, RHSTYPE, ClassKind >::Profile().
|
inlinestaticprotected |
Definition at line 414 of file SymbolManager.h.
Referenced by clang::ento::BinarySymExprImpl< LHSTYPE, RHSTYPE, ClassKind >::BinarySymExprImpl(), and clang::ento::BinarySymExprImpl< LHSTYPE, RHSTYPE, ClassKind >::Profile().
|
inlinestaticprotected |
Definition at line 415 of file SymbolManager.h.
|
inlineoverridevirtual |
Implements clang::ento::SymExpr.
Definition at line 396 of file SymbolManager.h.
References clang::T.
Referenced by clang::ento::BinarySymExprImpl< LHSTYPE, RHSTYPE, ClassKind >::Profile().