klee
|
#include <ArrayExprVisitor.h>
Public Member Functions | |
ConstantArrayExprVisitor (bindings_ty &_arrays) | |
bool | isIncompatible () |
Public Member Functions inherited from klee::ExprVisitor | |
ref< Expr > | visit (const ref< Expr > &e) |
Protected Member Functions | |
Action | visitConcat (const ConcatExpr &) override |
Action | visitRead (const ReadExpr &) override |
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 &) |
Private Types | |
using | bindings_ty = std::map< const Array *, std::vector< ref< Expr > > > |
Private Attributes | |
bindings_ty & | arrays |
std::unordered_set< unsigned > | addedIndexes |
bool | incompatible |
Definition at line 34 of file ArrayExprVisitor.h.
|
private |
Definition at line 36 of file ArrayExprVisitor.h.
|
inlineexplicit |
Definition at line 47 of file ArrayExprVisitor.h.
|
inline |
Definition at line 49 of file ArrayExprVisitor.h.
References incompatible.
Referenced by klee::ExprOptimizer::optimizeExpr().
|
overrideprotectedvirtual |
Reimplemented from klee::ExprVisitor.
Definition at line 59 of file ArrayExprVisitor.cpp.
References addedIndexes, arrays, klee::ExprVisitor::Action::doChildren(), klee::ref< T >::get(), klee::Expr::hash(), klee::IndexCompatibilityExprVisitor::hasInnerReads(), klee::ArrayExprHelper::hasOrderedReads(), klee::UpdateList::head, incompatible, klee::ReadExpr::index, klee::IndexCompatibilityExprVisitor::isCompatible(), klee::Array::isConstantArray(), klee::UpdateList::root, klee::ExprVisitor::Action::skipChildren(), klee::ReadExpr::updates, and klee::ExprVisitor::visit().
|
overrideprotectedvirtual |
Reimplemented from klee::ExprVisitor.
Definition at line 96 of file ArrayExprVisitor.cpp.
References addedIndexes, arrays, klee::ExprVisitor::Action::doChildren(), klee::ref< T >::get(), klee::Expr::hash(), klee::IndexCompatibilityExprVisitor::hasInnerReads(), klee::UpdateList::head, incompatible, klee::ReadExpr::index, klee::IndexCompatibilityExprVisitor::isCompatible(), klee::Array::isConstantArray(), klee::Array::isSymbolicArray(), klee::UpdateList::root, klee::ExprVisitor::Action::skipChildren(), klee::ReadExpr::updates, and klee::ExprVisitor::visit().
|
private |
Definition at line 39 of file ArrayExprVisitor.h.
Referenced by visitConcat(), and visitRead().
|
private |
Definition at line 37 of file ArrayExprVisitor.h.
Referenced by visitConcat(), and visitRead().
|
private |
Definition at line 40 of file ArrayExprVisitor.h.
Referenced by isIncompatible(), visitConcat(), and visitRead().