|
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().