All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
klee::BinaryExpr Class Reference

#include <Expr.h>

Inheritance diagram for klee::BinaryExpr:
Collaboration diagram for klee::BinaryExpr:

Public Member Functions

unsigned getNumKids () const
ref< ExprgetKid (unsigned i) const
- Public Member Functions inherited from klee::Expr
 Expr ()
virtual ~Expr ()
virtual Kind getKind () const =0
virtual Width getWidth () const =0
virtual void print (llvm::raw_ostream &os) const
void dump () const
 dump - Print the expression to stderr. More...
virtual unsigned hash () const
 Returns the pre-computed hash of the current expression. More...
virtual unsigned computeHash ()
int compare (const Expr &b, ExprEquivSet &equivs) const
int compare (const Expr &b) const
virtual int compareContents (const Expr &b) const
virtual ref< Exprrebuild (ref< Expr > kids[]) const =0
bool isZero () const
 isZero - Is this a constant zero. More...
bool isTrue () const
 isTrue - Is this the true expression. More...
bool isFalse () const
 isFalse - Is this the false expression. More...

Static Public Member Functions

static bool classof (const Expr *E)
static bool classof (const BinaryExpr *)
- Static Public Member Functions inherited from klee::NonConstantExpr
static bool classof (const Expr *E)
static bool classof (const NonConstantExpr *)
- Static Public Member Functions inherited from klee::Expr
static void printKind (llvm::raw_ostream &os, Kind k)
static void printWidth (llvm::raw_ostream &os, Expr::Width w)
static unsigned getMinBytesForWidth (Width w)
 returns the smallest number of bytes in which the given width fits More...
static ref< ExprcreateSExtToPointerWidth (ref< Expr > e)
static ref< ExprcreateZExtToPointerWidth (ref< Expr > e)
static ref< ExprcreateImplies (ref< Expr > hyp, ref< Expr > conc)
static ref< ExprcreateIsZero (ref< Expr > e)
static ref< ExprcreateTempRead (const Array *array, Expr::Width w)
static ref< ConstantExprcreatePointer (uint64_t v)
static ref< ExprcreateFromKind (Kind k, std::vector< CreateArg > args)
static bool isValidKidWidth (unsigned kid, Width w)
static bool needsResultType ()
static bool classof (const Expr *)

Public Attributes

ref< Exprleft
ref< Exprright
- Public Attributes inherited from klee::Expr
unsigned refCount

Protected Member Functions

 BinaryExpr (const ref< Expr > &l, const ref< Expr > &r)

Additional Inherited Members

- Public Types inherited from klee::Expr
enum  Kind {
  InvalidKind = -1, Constant = 0, NotOptimized, Read =NotOptimized+2,
  Select, Concat, Extract, ZExt,
  SExt, Add, Sub, Mul,
  UDiv, SDiv, URem, SRem,
  Not, And, Or, Xor,
  Shl, LShr, AShr, Eq,
  Ne, Ult, Ule, Ugt,
  Uge, Slt, Sle, Sgt,
  Sge, LastKind =Sge, CastKindFirst =ZExt, CastKindLast =SExt,
  BinaryKindFirst =Add, BinaryKindLast =Sge, CmpKindFirst =Eq, CmpKindLast =Sge
typedef unsigned Width
 The type of an expression is simply its width, in bits. More...
typedef llvm::DenseSet
< std::pair< const Expr
*, const Expr * > > 
 Returns 0 iff b is structuraly equivalent to *this. More...
- Static Public Attributes inherited from klee::Expr
static unsigned count = 0
static const unsigned MAGIC_HASH_CONSTANT = 39
static const Width InvalidWidth = 0
static const Width Bool = 1
static const Width Int8 = 8
static const Width Int16 = 16
static const Width Int32 = 32
static const Width Int64 = 64
static const Width Fl80 = 80
- Protected Attributes inherited from klee::Expr
unsigned hashValue

Detailed Description

Definition at line 492 of file Expr.h.

Constructor & Destructor Documentation

klee::BinaryExpr::BinaryExpr ( const ref< Expr > &  l,
const ref< Expr > &  r 

Definition at line 507 of file Expr.h.

Member Function Documentation

static bool klee::BinaryExpr::classof ( const Expr E)

Definition at line 510 of file Expr.h.

References klee::Expr::BinaryKindFirst, klee::Expr::BinaryKindLast, and klee::Expr::getKind().

Here is the call graph for this function:

static bool klee::BinaryExpr::classof ( const BinaryExpr )

Definition at line 514 of file Expr.h.

ref<Expr> klee::BinaryExpr::getKid ( unsigned  i) const

Implements klee::Expr.

Definition at line 498 of file Expr.h.

References left, and right.

unsigned klee::BinaryExpr::getNumKids ( ) const

Implements klee::Expr.

Definition at line 497 of file Expr.h.

Member Data Documentation

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