klee
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
klee::ExprBuilder Class Referenceabstract

ExprBuilder - Base expression builder class. More...

#include <ExprBuilder.h>

Public Member Functions

virtual ~ExprBuilder ()
 
virtual ref< ExprConstant (const llvm::APInt &Value)=0
 
virtual ref< ExprNotOptimized (const ref< Expr > &Index)=0
 
virtual ref< ExprRead (const UpdateList &Updates, const ref< Expr > &Index)=0
 
virtual ref< ExprSelect (const ref< Expr > &Cond, const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprConcat (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprExtract (const ref< Expr > &LHS, unsigned Offset, Expr::Width W)=0
 
virtual ref< ExprZExt (const ref< Expr > &LHS, Expr::Width W)=0
 
virtual ref< ExprSExt (const ref< Expr > &LHS, Expr::Width W)=0
 
virtual ref< ExprAdd (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprSub (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprMul (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprUDiv (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprSDiv (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprURem (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprSRem (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprNot (const ref< Expr > &LHS)=0
 
virtual ref< ExprAnd (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprOr (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprXor (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprShl (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprLShr (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprAShr (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprEq (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprNe (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprUlt (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprUle (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprUgt (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprUge (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprSlt (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprSle (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprSgt (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
virtual ref< ExprSge (const ref< Expr > &LHS, const ref< Expr > &RHS)=0
 
ref< ExprFalse ()
 
ref< ExprTrue ()
 
ref< ExprConstant (uint64_t Value, Expr::Width W)
 

Protected Member Functions

 ExprBuilder ()
 

Detailed Description

ExprBuilder - Base expression builder class.

Definition at line 17 of file ExprBuilder.h.

Constructor & Destructor Documentation

ExprBuilder::ExprBuilder ( )
protected

Definition at line 14 of file ExprBuilder.cpp.

ExprBuilder::~ExprBuilder ( )
virtual

Definition at line 17 of file ExprBuilder.cpp.

Member Function Documentation

virtual ref<Expr> klee::ExprBuilder::Add ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual
virtual ref<Expr> klee::ExprBuilder::And ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual

Referenced by klee::expr::SMTParser::CreateAnd().

Here is the caller graph for this function:

virtual ref<Expr> klee::ExprBuilder::AShr ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual
virtual ref<Expr> klee::ExprBuilder::Concat ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual
virtual ref<Expr> klee::ExprBuilder::Constant ( const llvm::APInt &  Value)
pure virtual

Referenced by Constant(), and klee::expr::SMTParser::DeclareExpr().

Here is the caller graph for this function:

ref<Expr> klee::ExprBuilder::Constant ( uint64_t  Value,
Expr::Width  W 
)
inline

Definition at line 68 of file ExprBuilder.h.

References Constant().

Here is the call graph for this function:

virtual ref<Expr> klee::ExprBuilder::Eq ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual
virtual ref<Expr> klee::ExprBuilder::Extract ( const ref< Expr > &  LHS,
unsigned  Offset,
Expr::Width  W 
)
pure virtual
ref<Expr> klee::ExprBuilder::False ( )
inline

Definition at line 64 of file ExprBuilder.h.

References klee::ConstantExpr::alloc(), and klee::Expr::Bool.

Here is the call graph for this function:

virtual ref<Expr> klee::ExprBuilder::LShr ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual
virtual ref<Expr> klee::ExprBuilder::Mul ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual
virtual ref<Expr> klee::ExprBuilder::Ne ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual
virtual ref<Expr> klee::ExprBuilder::Not ( const ref< Expr > &  LHS)
pure virtual

Referenced by klee::expr::SMTParser::ParseTopLevelDecl().

Here is the caller graph for this function:

virtual ref<Expr> klee::ExprBuilder::NotOptimized ( const ref< Expr > &  Index)
pure virtual
virtual ref<Expr> klee::ExprBuilder::Or ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual

Referenced by klee::expr::SMTParser::CreateOr().

Here is the caller graph for this function:

virtual ref<Expr> klee::ExprBuilder::Read ( const UpdateList Updates,
const ref< Expr > &  Index 
)
pure virtual

Referenced by klee::expr::SMTParser::DeclareExpr().

Here is the caller graph for this function:

virtual ref<Expr> klee::ExprBuilder::SDiv ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual
virtual ref<Expr> klee::ExprBuilder::Select ( const ref< Expr > &  Cond,
const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual
virtual ref<Expr> klee::ExprBuilder::SExt ( const ref< Expr > &  LHS,
Expr::Width  W 
)
pure virtual
virtual ref<Expr> klee::ExprBuilder::Sge ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual
virtual ref<Expr> klee::ExprBuilder::Sgt ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual
virtual ref<Expr> klee::ExprBuilder::Shl ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual
virtual ref<Expr> klee::ExprBuilder::Sle ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual
virtual ref<Expr> klee::ExprBuilder::Slt ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual
virtual ref<Expr> klee::ExprBuilder::SRem ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual
virtual ref<Expr> klee::ExprBuilder::Sub ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual
ref<Expr> klee::ExprBuilder::True ( )
inline

Definition at line 66 of file ExprBuilder.h.

References klee::ConstantExpr::alloc(), and klee::Expr::Bool.

Here is the call graph for this function:

virtual ref<Expr> klee::ExprBuilder::UDiv ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual
virtual ref<Expr> klee::ExprBuilder::Uge ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual
virtual ref<Expr> klee::ExprBuilder::Ugt ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual
virtual ref<Expr> klee::ExprBuilder::Ule ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual
virtual ref<Expr> klee::ExprBuilder::Ult ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual
virtual ref<Expr> klee::ExprBuilder::URem ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual
virtual ref<Expr> klee::ExprBuilder::Xor ( const ref< Expr > &  LHS,
const ref< Expr > &  RHS 
)
pure virtual

Referenced by klee::expr::SMTParser::CreateXor().

Here is the caller graph for this function:

virtual ref<Expr> klee::ExprBuilder::ZExt ( const ref< Expr > &  LHS,
Expr::Width  W 
)
pure virtual

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