34 struct value *ncopies,
59 using unop_ind_operation::unop_ind_operation;
93 {
return BINOP_SUBSCRIPT; }
110 if (sub_op !=
nullptr)
116 {
return UNOP_ADDR; }
132 value *low =
nullptr;
135 value *high =
nullptr;
158 {
return STRUCTOP_ANONYMOUS; }
167 using structop_base_operation::structop_base_operation;
176 const std::vector<operation_up> &args)
override;
179 {
return STRUCTOP_STRUCT; }
185 std::vector<std::pair<std::string,
197 {
return OP_AGGREGATE; }
virtual value * evaluate_for_address(struct expression *exp, enum noside noside)
value * evaluate(struct type *expect_type, struct expression *exp, enum noside noside) override
enum exp_opcode opcode() const override
rust_parenthesized_operation(operation_up op)
value * evaluate(struct type *expect_type, struct expression *exp, enum noside noside) override
enum exp_opcode opcode() const override
enum exp_opcode opcode() const override
value * evaluate(struct type *expect_type, struct expression *exp, enum noside noside) override
value * evaluate(struct type *expect_type, struct expression *exp, enum noside noside) override
enum exp_opcode opcode() const override
value * evaluate_funcall(struct type *expect_type, struct expression *exp, enum noside noside, const std::vector< operation_up > &args) override
enum exp_opcode opcode() const override
value * evaluate(struct type *expect_type, struct expression *exp, enum noside noside) override
value * evaluate(struct type *expect_type, struct expression *exp, enum noside noside) override
enum exp_opcode opcode() const override
value * slice(struct type *expect_type, struct expression *exp, enum noside noside)
value * evaluate(struct type *expect_type, struct expression *exp, enum noside noside) override
enum exp_opcode opcode() const override
value * evaluate(struct type *expect_type, struct expression *exp, enum noside noside) override
std::tuple< Arg... > m_storage
tuple_holding_operation(Arg... args)
std::unique_ptr< operation > operation_up
struct value * rust_range(struct type *expect_type, struct expression *exp, enum noside noside, enum range_flag kind, struct value *low, struct value *high)
struct value * eval_op_rust_array(struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode opcode, struct value *ncopies, struct value *elt)
struct value * rust_subscript(struct type *expect_type, struct expression *exp, enum noside noside, bool for_addr, struct value *lhs, struct value *rhs)
struct value * eval_op_rust_complement(struct type *expect_type, struct expression *exp, enum noside noside, enum exp_opcode opcode, struct value *value)