clang 20.0.0git
|
Template implementation for all binary symbolic expressions. More...
#include "clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h"
Public Member Functions | |
BinarySymExprImpl (LHSTYPE lhs, BinaryOperator::Opcode op, RHSTYPE rhs, QualType t) | |
void | dumpToStream (raw_ostream &os) const override |
LHSTYPE | getLHS () const |
RHSTYPE | getRHS () const |
unsigned | computeComplexity () const override |
void | Profile (llvm::FoldingSetNodeID &ID) override |
Public Member Functions inherited from clang::ento::BinarySymExpr | |
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 void | Profile (llvm::FoldingSetNodeID &ID, LHSTYPE lhs, BinaryOperator::Opcode op, RHSTYPE rhs, QualType t) |
static bool | classof (const SymExpr *SE) |
Static Public Member Functions inherited from clang::ento::BinarySymExpr | |
static bool | classof (const SymExpr *SE) |
Additional Inherited Members | |
Public Types inherited from clang::ento::SymExpr | |
enum | Kind |
Protected Member Functions inherited from clang::ento::BinarySymExpr | |
BinarySymExpr (Kind k, BinaryOperator::Opcode op, QualType t) | |
Protected Member Functions inherited from clang::ento::SymExpr | |
SymExpr (Kind k) | |
Static Protected Member Functions inherited from clang::ento::BinarySymExpr | |
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) |
Protected Attributes inherited from clang::ento::SymExpr | |
unsigned | Complexity = 0 |
Template implementation for all binary symbolic expressions.
Definition at line 424 of file SymbolManager.h.
|
inline |
Definition at line 429 of file SymbolManager.h.
References clang::ento::BinarySymExpr::getPointer().
|
inlinestatic |
Definition at line 466 of file SymbolManager.h.
References clang::ento::SymExpr::getKind().
|
inlineoverridevirtual |
Implements clang::ento::SymExpr.
Definition at line 445 of file SymbolManager.h.
References clang::ento::SymExpr::Complexity, and clang::ento::BinarySymExpr::computeOperandComplexity().
|
inlineoverridevirtual |
Reimplemented from clang::ento::SymExpr.
Definition at line 436 of file SymbolManager.h.
References clang::ento::BinarySymExpr::dumpToStreamImpl(), and clang::ento::BinarySymExpr::getOpcode().
|
inline |
Definition at line 442 of file SymbolManager.h.
|
inline |
Definition at line 443 of file SymbolManager.h.
|
inlineoverridevirtual |
Implements clang::ento::SymExpr.
Definition at line 461 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 452 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().