|
klee
|
#include <ExprEvaluator.h>


Public Member Functions | |
| ExprEvaluator () | |
| virtual ref< Expr > | getInitialValue (const Array &os, unsigned index)=0 |
Public Member Functions inherited from klee::ExprVisitor | |
| ref< Expr > | visit (const ref< Expr > &e) |
Protected Member Functions | |
| Action | evalRead (const UpdateList &ul, unsigned index) |
| Action | visitRead (const ReadExpr &re) |
| Action | visitExpr (const Expr &e) |
| Action | protectedDivOperation (const BinaryExpr &e) |
| Action | visitUDiv (const UDivExpr &e) |
| Action | visitSDiv (const SDivExpr &e) |
| Action | visitURem (const URemExpr &e) |
| Action | visitSRem (const SRemExpr &e) |
| Action | visitExprPost (const Expr &e) |
Protected Member Functions inherited from klee::ExprVisitor | |
| ExprVisitor (bool _recursive=false) | |
| virtual | ~ExprVisitor () |
| virtual Action | visitExpr (const Expr &) |
| virtual Action | visitExprPost (const Expr &) |
| virtual Action | visitNotOptimized (const NotOptimizedExpr &) |
| virtual Action | visitRead (const ReadExpr &) |
| virtual Action | visitSelect (const SelectExpr &) |
| virtual Action | visitConcat (const ConcatExpr &) |
| virtual Action | visitExtract (const ExtractExpr &) |
| virtual Action | visitZExt (const ZExtExpr &) |
| virtual Action | visitSExt (const SExtExpr &) |
| virtual Action | visitAdd (const AddExpr &) |
| virtual Action | visitSub (const SubExpr &) |
| virtual Action | visitMul (const MulExpr &) |
| virtual Action | visitUDiv (const UDivExpr &) |
| virtual Action | visitSDiv (const SDivExpr &) |
| virtual Action | visitURem (const URemExpr &) |
| virtual Action | visitSRem (const SRemExpr &) |
| virtual Action | visitNot (const NotExpr &) |
| virtual Action | visitAnd (const AndExpr &) |
| virtual Action | visitOr (const OrExpr &) |
| virtual Action | visitXor (const XorExpr &) |
| virtual Action | visitShl (const ShlExpr &) |
| virtual Action | visitLShr (const LShrExpr &) |
| virtual Action | visitAShr (const AShrExpr &) |
| virtual Action | visitEq (const EqExpr &) |
| virtual Action | visitNe (const NeExpr &) |
| virtual Action | visitUlt (const UltExpr &) |
| virtual Action | visitUle (const UleExpr &) |
| virtual Action | visitUgt (const UgtExpr &) |
| virtual Action | visitUge (const UgeExpr &) |
| virtual Action | visitSlt (const SltExpr &) |
| virtual Action | visitSle (const SleExpr &) |
| virtual Action | visitSgt (const SgtExpr &) |
| virtual Action | visitSge (const SgeExpr &) |
Definition at line 17 of file ExprEvaluator.h.
|
inline |
Definition at line 31 of file ExprEvaluator.h.
|
protected |
Definition at line 14 of file ExprEvaluator.cpp.
References klee::ConstantExpr::alloc(), klee::ExprVisitor::Action::changeTo(), klee::Array::constantValues, klee::ReadExpr::create(), klee::Array::getDomain(), getInitialValue(), klee::UpdateList::head, klee::Array::isConstantArray(), klee::UpdateList::root, and klee::ExprVisitor::visit().
Referenced by visitRead().


|
pure virtual |
getInitialValue - Return the initial value for a symbolic byte.
This will only be called for constant arrays if the index is out-of-bounds. If the value is unknown then the user should return a ReadExpr at the initial version of this array.
Implemented in CexPossibleEvaluator, CexExactEvaluator, and klee::AssignmentEvaluator.
Referenced by evalRead().

|
protected |
Definition at line 73 of file ExprEvaluator.cpp.
References klee::ExprVisitor::Action::changeTo(), klee::BinaryExpr::left, klee::Expr::rebuild(), klee::BinaryExpr::right, klee::ExprVisitor::Action::skipChildren(), and klee::ExprVisitor::visit().
Referenced by visitSDiv(), visitSRem(), visitUDiv(), and visitURem().


|
protectedvirtual |
Reimplemented from klee::ExprVisitor.
Definition at line 39 of file ExprEvaluator.cpp.
References klee::ExprVisitor::Action::changeTo(), klee::ExprVisitor::Action::doChildren(), klee::Expr::getKid(), klee::Expr::getNumKids(), and klee::Expr::rebuild().

|
protectedvirtual |
Reimplemented from klee::ExprVisitor.
Definition at line 101 of file ExprEvaluator.cpp.
References klee::ExprVisitor::Action::changeTo(), klee::Expr::getKind(), klee::Expr::NotOptimized, and klee::ExprVisitor::Action::skipChildren().

|
protectedvirtual |
Reimplemented from klee::ExprVisitor.
Definition at line 60 of file ExprEvaluator.cpp.
References klee::ExprVisitor::Action::doChildren(), evalRead(), klee::ReadExpr::index, klee::ReadExpr::updates, and klee::ExprVisitor::visit().

|
protectedvirtual |
Reimplemented from klee::ExprVisitor.
Definition at line 91 of file ExprEvaluator.cpp.
References protectedDivOperation().

|
protectedvirtual |
Reimplemented from klee::ExprVisitor.
Definition at line 97 of file ExprEvaluator.cpp.
References protectedDivOperation().

|
protectedvirtual |
Reimplemented from klee::ExprVisitor.
Definition at line 88 of file ExprEvaluator.cpp.
References protectedDivOperation().

|
protectedvirtual |
Reimplemented from klee::ExprVisitor.
Definition at line 94 of file ExprEvaluator.cpp.
References protectedDivOperation().
