clang 19.0.0git
Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | List of all members
clang::ento::BinarySymExpr Class Reference

Represents a symbolic expression involving a binary operator. More...

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

Inheritance diagram for clang::ento::BinarySymExpr:
Inheritance graph
[legend]

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_iteratorsymbols () const
 
virtual unsigned computeComplexity () const =0
 
virtual const MemRegiongetOriginRegion () 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 (const llvm::APSInt &Value)
 
static const SymExprgetPointer (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
 

Detailed Description

Represents a symbolic expression involving a binary operator.

Definition at line 378 of file SymbolManager.h.

Constructor & Destructor Documentation

◆ BinarySymExpr()

clang::ento::BinarySymExpr::BinarySymExpr ( Kind  k,
BinaryOperator::Opcode  op,
QualType  t 
)
inlineprotected

Member Function Documentation

◆ classof()

static bool clang::ento::BinarySymExpr::classof ( const SymExpr SE)
inlinestatic

Definition at line 400 of file SymbolManager.h.

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

Referenced by BinarySymExpr().

◆ computeOperandComplexity() [1/2]

static unsigned clang::ento::BinarySymExpr::computeOperandComplexity ( const llvm::APSInt &  Value)
inlinestaticprotected

Definition at line 409 of file SymbolManager.h.

◆ computeOperandComplexity() [2/2]

static unsigned clang::ento::BinarySymExpr::computeOperandComplexity ( const SymExpr Value)
inlinestaticprotected

◆ dumpToStreamImpl() [1/3]

void BinarySymExpr::dumpToStreamImpl ( raw_ostream &  os,
BinaryOperator::Opcode  op 
)
staticprotected

Definition at line 62 of file SymbolManager.cpp.

References clang::BinaryOperator::getOpcodeStr(), and clang::ento::OS.

◆ dumpToStreamImpl() [2/3]

void BinarySymExpr::dumpToStreamImpl ( raw_ostream &  os,
const llvm::APSInt &  Value 
)
staticprotected

Definition at line 52 of file SymbolManager.cpp.

References clang::ento::OS.

◆ dumpToStreamImpl() [3/3]

void BinarySymExpr::dumpToStreamImpl ( raw_ostream &  os,
const SymExpr Value 
)
staticprotected

◆ getOpcode()

BinaryOperator::Opcode clang::ento::BinarySymExpr::getOpcode ( ) const
inline

◆ getPointer() [1/2]

static const llvm::APSInt * clang::ento::BinarySymExpr::getPointer ( const llvm::APSInt &  Value)
inlinestaticprotected

◆ getPointer() [2/2]

static const SymExpr * clang::ento::BinarySymExpr::getPointer ( const SymExpr Value)
inlinestaticprotected

Definition at line 416 of file SymbolManager.h.

◆ getType()

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

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