maat::ExprITE class

If-Then-Else expression.

❱   Base classes

class ExprObject

❱   Constructors, destructors, conversion operators

ExprITE(Expr cond1, ITECond cond_op, Expr cond2, Expr if_true, Expr if_false)
Constructor.

❱   Public functions

auto cond_op() -> ITECond virtual
Condition comparison operator (==, !=, <, <=, ...)

auto cond_left() -> Expr virtual
Left member of condition.

auto cond_right() -> Expr virtual
Right member of condition.

auto if_true() -> Expr virtual
Value of the expression if the condition is true.

auto if_false() -> Expr virtual
Value of the expression if the condition is false.

auto hash() -> hash_t virtual
Return the expression hash. Every expression has a unique hash.

auto is_tainted(ucst_t taint_mask = maat::default_expr_taint_mask) -> bool virtual
Return true if at least one bit set in 'taint_mask' is tainted in the epression.

auto status(const VarContext& ctx) -> ExprStatus virtual
Return the expression symbolic status.

auto value_set() -> ValueSet& virtual
Return the value set of the expression, which is the set of possible numerical values it can take expressed as a strided interval.

auto class_uid() const -> uid_t virtual
Return the class uid (see ClassId enum)

void dump(Serializer&) const virtual
Dump the object contents in a serializer stream.

void load(Deserializer&) virtual
Restore an object from a deserializer stream.

❱   Protected functions

auto concretize(const VarContext* ctx = nullptr) -> const Number& virtual
Return the concrete value of the expression evaluated in the context 'ctx'.