maat::ExprCst class

Constant expression.

❱   Base classes

class ExprObject

❱   Constructors, destructors, conversion operators

ExprCst(size_t size, cst_t cst)
Constructor for constants on 64 bits or less.

ExprCst(size_t size, const std::string& value, int base = 16)
Constructor for constants on more than 64 bits.

ExprCst(const Number& value)
Constructor for constants directly from number.

❱   Public functions

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'.