clang 20.0.0git
|
Template implementation for all binary symbolic expressions. More...
#include "clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h"
Public Member Functions | |
void | dumpToStream (raw_ostream &os) const override |
LHSTYPE | getLHS () const |
RHSTYPE | getRHS () const |
unsigned | computeComplexity () const override |
void | Profile (llvm::FoldingSetNodeID &ID) override |
![]() | |
QualType | getType () const override |
BinaryOperator::Opcode | getOpcode () const |
![]() | |
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_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 void | Profile (llvm::FoldingSetNodeID &ID, LHSTYPE lhs, BinaryOperator::Opcode op, RHSTYPE rhs, QualType t) |
static bool | classof (const SymExpr *SE) |
![]() | |
static bool | classof (const SymExpr *SE) |
Friends | |
class | SymExprAllocator |
Additional Inherited Members | |
![]() | |
enum | Kind |
![]() | |
BinarySymExpr (SymbolID Sym, Kind k, BinaryOperator::Opcode op, QualType t) | |
![]() | |
SymExpr (Kind k, SymbolID Sym) | |
![]() | |
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 bool | isValidTypeForSymbol (QualType T) |
![]() | |
unsigned | Complexity = 0 |
Template implementation for all binary symbolic expressions.
Definition at line 433 of file SymbolManager.h.
|
inlinestatic |
Definition at line 476 of file SymbolManager.h.
References clang::ento::SymExpr::getKind().
|
inlineoverridevirtual |
Implements clang::ento::SymExpr.
Definition at line 455 of file SymbolManager.h.
References clang::ento::SymExpr::Complexity, and clang::ento::BinarySymExpr::computeOperandComplexity().
|
inlineoverridevirtual |
Reimplemented from clang::ento::SymExpr.
Definition at line 446 of file SymbolManager.h.
References clang::ento::BinarySymExpr::dumpToStreamImpl(), and clang::ento::BinarySymExpr::getOpcode().
|
inline |
Definition at line 452 of file SymbolManager.h.
|
inline |
Definition at line 453 of file SymbolManager.h.
|
inlineoverridevirtual |
Implements clang::ento::SymExpr.
Definition at line 471 of file SymbolManager.h.
References clang::ento::BinarySymExpr::getOpcode(), clang::ento::BinarySymExpr::getType(), ID, and clang::ento::BinarySymExprImpl< LHSTYPE, RHSTYPE, ClassKind >::Profile().
|
inlinestatic |
Definition at line 462 of file SymbolManager.h.
References clang::ento::BinarySymExpr::getPointer(), and ID.
Referenced by clang::ento::SymbolManager::getIntSymExpr(), clang::ento::SymbolManager::getSymIntExpr(), clang::ento::SymbolManager::getSymSymExpr(), and clang::ento::BinarySymExprImpl< LHSTYPE, RHSTYPE, ClassKind >::Profile().
|
friend |
Definition at line 437 of file SymbolManager.h.