#include <Expr.h>


Public Member Functions | |
| Width | getWidth () const |
| Kind | getKind () const |
| ref< Expr > | getLeft () const |
| ref< Expr > | getRight () const |
| unsigned | getNumKids () const |
| ref< Expr > | getKid (unsigned i) const |
| virtual ref< Expr > | rebuild (ref< Expr > kids[]) const |
| bool | is2ByteConcat () const |
| bool | is4ByteConcat () const |
| bool | is8ByteConcat () const |
Static Public Member Functions | |
| static ref< Expr > | alloc (const ref< Expr > &l, const ref< Expr > &r) |
| static ref< Expr > | create (const ref< Expr > &l, const ref< Expr > &r) |
| static ref< Expr > | createN (unsigned nKids, const ref< Expr > kids[]) |
| Shortcuts to create larger concats. The chain returned is unbalanced to the right. | |
| static ref< Expr > | create4 (const ref< Expr > &kid1, const ref< Expr > &kid2, const ref< Expr > &kid3, const ref< Expr > &kid4) |
| Shortcut to concat 4 kids. The chain returned is unbalanced to the right. | |
| static ref< Expr > | create8 (const ref< Expr > &kid1, const ref< Expr > &kid2, const ref< Expr > &kid3, const ref< Expr > &kid4, const ref< Expr > &kid5, const ref< Expr > &kid6, const ref< Expr > &kid7, const ref< Expr > &kid8) |
| Shortcut to concat 8 kids. The chain returned is unbalanced to the right. | |
| static bool | classof (const Expr *E) |
| static bool | classof (const ConcatExpr *) |
Static Public Attributes | |
| static const Kind | kind = Concat |
| static const unsigned | numKids = 2 |
Private Member Functions | |
| ConcatExpr (const ref< Expr > &l, const ref< Expr > &r) | |
Private Attributes | |
| Width | width |
| ref< Expr > | left |
| ref< Expr > | right |
Definition at line 632 of file Expr.h.
| static ref<Expr> klee::ConcatExpr::alloc | ( | const ref< Expr > & | l, | |
| const ref< Expr > & | r | |||
| ) | [inline, static] |
Definition at line 642 of file Expr.h.
References ConcatExpr().
Referenced by create().


| static bool klee::ConcatExpr::classof | ( | const ConcatExpr * | ) | [inline, static] |
| static bool klee::ConcatExpr::classof | ( | const Expr * | E | ) | [inline, static] |
Reimplemented from klee::Expr.
Definition at line 685 of file Expr.h.
References klee::Expr::Concat, and klee::Expr::getKind().

Definition at line 416 of file Expr.cpp.
References alloc().
Referenced by create4(), create8(), klee::Expr::createFromKind(), createN(), klee::Expr::createTempRead(), klee::ObjectState::read16(), and rebuild().


| ref< Expr > ConcatExpr::create4 | ( | const ref< Expr > & | kid1, | |
| const ref< Expr > & | kid2, | |||
| const ref< Expr > & | kid3, | |||
| const ref< Expr > & | kid4 | |||
| ) | [static] |
Shortcut to concat 4 kids. The chain returned is unbalanced to the right.
Definition at line 458 of file Expr.cpp.
References create().
Referenced by create8(), klee::Expr::createTempRead(), and klee::ObjectState::read32().


| ref< Expr > ConcatExpr::create8 | ( | const ref< Expr > & | kid1, | |
| const ref< Expr > & | kid2, | |||
| const ref< Expr > & | kid3, | |||
| const ref< Expr > & | kid4, | |||
| const ref< Expr > & | kid5, | |||
| const ref< Expr > & | kid6, | |||
| const ref< Expr > & | kid7, | |||
| const ref< Expr > & | kid8 | |||
| ) | [static] |
Shortcut to concat 8 kids. The chain returned is unbalanced to the right.
Definition at line 464 of file Expr.cpp.
References create(), and create4().
Referenced by klee::Expr::createTempRead(), and klee::ObjectState::read64().


Implements klee::Expr.
Definition at line 656 of file Expr.h.
Referenced by _getImpliedValue(), klee::STPBuilder::constructActual(), and CexData::forceExprToRange().

| Kind klee::ConcatExpr::getKind | ( | ) | const [inline, virtual] |
| unsigned klee::ConcatExpr::getNumKids | ( | ) | const [inline, virtual] |
Implements klee::Expr.
Definition at line 655 of file Expr.h.
References numKids.
Referenced by klee::STPBuilder::constructActual().

| Width klee::ConcatExpr::getWidth | ( | ) | const [inline, virtual] |
Implements klee::Expr.
Definition at line 650 of file Expr.h.
References width.
Referenced by klee::STPBuilder::constructActual().

| bool klee::ConcatExpr::is2ByteConcat | ( | ) | const [inline] |
Definition at line 675 of file Expr.h.
Referenced by CexData::forceExprToRange().

| bool klee::ConcatExpr::is4ByteConcat | ( | ) | const [inline] |
Definition at line 676 of file Expr.h.
Referenced by CexData::forceExprToRange().

| bool klee::ConcatExpr::is8ByteConcat | ( | ) | const [inline] |
Definition at line 677 of file Expr.h.
Referenced by CexData::forceExprToRange().

Implements klee::Expr.
Definition at line 671 of file Expr.h.
References create().

const Kind klee::ConcatExpr::kind = Concat [static] |
ref<Expr> klee::ConcatExpr::left [private] |
const unsigned klee::ConcatExpr::numKids = 2 [static] |
ref<Expr> klee::ConcatExpr::right [private] |
Width klee::ConcatExpr::width [private] |
1.5.8