clang  14.0.0git
Public Member Functions | Static Public Member Functions | List of all members
clang::ento::BinarySymExprImpl< LHSTYPE, RHSTYPE, ClassKind > Class Template Reference

Template implementation for all binary symbolic expressions. More...

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

Inheritance diagram for clang::ento::BinarySymExprImpl< LHSTYPE, RHSTYPE, ClassKind >:
Inheritance graph
[legend]
Collaboration diagram for clang::ento::BinarySymExprImpl< LHSTYPE, RHSTYPE, ClassKind >:
Collaboration graph
[legend]

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
 
symbol_iterator symbol_begin () const
 
virtual const MemRegiongetOriginRegion () const
 Find the region from which this symbol originates. More...
 

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)
 
- Static Public Member Functions inherited from clang::ento::SymExpr
static symbol_iterator symbol_end ()
 

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::APSIntgetPointer (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)
 
- Protected Attributes inherited from clang::ento::SymExpr
unsigned Complexity = 0
 

Detailed Description

template<class LHSTYPE, class RHSTYPE, SymExpr::Kind ClassKind>
class clang::ento::BinarySymExprImpl< LHSTYPE, RHSTYPE, ClassKind >

Template implementation for all binary symbolic expressions.

Definition at line 360 of file SymbolManager.h.

Constructor & Destructor Documentation

◆ BinarySymExprImpl()

template<class LHSTYPE , class RHSTYPE , SymExpr::Kind ClassKind>
clang::ento::BinarySymExprImpl< LHSTYPE, RHSTYPE, ClassKind >::BinarySymExprImpl ( LHSTYPE  lhs,
BinaryOperator::Opcode  op,
RHSTYPE  rhs,
QualType  t 
)
inline

Definition at line 365 of file SymbolManager.h.

References clang::ento::BinarySymExpr::getPointer().

Member Function Documentation

◆ classof()

template<class LHSTYPE , class RHSTYPE , SymExpr::Kind ClassKind>
static bool clang::ento::BinarySymExprImpl< LHSTYPE, RHSTYPE, ClassKind >::classof ( const SymExpr SE)
inlinestatic

Definition at line 402 of file SymbolManager.h.

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

◆ computeComplexity()

template<class LHSTYPE , class RHSTYPE , SymExpr::Kind ClassKind>
unsigned clang::ento::BinarySymExprImpl< LHSTYPE, RHSTYPE, ClassKind >::computeComplexity ( ) const
inlineoverridevirtual

◆ dumpToStream()

template<class LHSTYPE , class RHSTYPE , SymExpr::Kind ClassKind>
void clang::ento::BinarySymExprImpl< LHSTYPE, RHSTYPE, ClassKind >::dumpToStream ( raw_ostream &  os) const
inlineoverridevirtual

◆ getLHS()

template<class LHSTYPE , class RHSTYPE , SymExpr::Kind ClassKind>
LHSTYPE clang::ento::BinarySymExprImpl< LHSTYPE, RHSTYPE, ClassKind >::getLHS ( ) const
inline

Definition at line 378 of file SymbolManager.h.

◆ getRHS()

template<class LHSTYPE , class RHSTYPE , SymExpr::Kind ClassKind>
RHSTYPE clang::ento::BinarySymExprImpl< LHSTYPE, RHSTYPE, ClassKind >::getRHS ( ) const
inline

Definition at line 379 of file SymbolManager.h.

◆ Profile() [1/2]

template<class LHSTYPE , class RHSTYPE , SymExpr::Kind ClassKind>
void clang::ento::BinarySymExprImpl< LHSTYPE, RHSTYPE, ClassKind >::Profile ( llvm::FoldingSetNodeID &  ID)
inlineoverridevirtual

◆ Profile() [2/2]

template<class LHSTYPE , class RHSTYPE , SymExpr::Kind ClassKind>
static void clang::ento::BinarySymExprImpl< LHSTYPE, RHSTYPE, ClassKind >::Profile ( llvm::FoldingSetNodeID &  ID,
LHSTYPE  lhs,
BinaryOperator::Opcode  op,
RHSTYPE  rhs,
QualType  t 
)
inlinestatic

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