| 111 | class SelectStep : public ExpressionStepBase { |
| 112 | public: |
| 113 | SelectStep(StringValue value, bool test_field_presence, int64_t expr_id, |
| 114 | bool enable_wrapper_type_null_unboxing, bool enable_optional_types) |
| 115 | : ExpressionStepBase(expr_id), |
| 116 | field_value_(std::move(value)), |
| 117 | field_(field_value_.ToString()), |
| 118 | test_field_presence_(test_field_presence), |
| 119 | unboxing_option_(enable_wrapper_type_null_unboxing |
| 120 | ? ProtoWrapperTypeOptions::kUnsetNull |
| 121 | : ProtoWrapperTypeOptions::kUnsetProtoDefault), |
| 122 | enable_optional_types_(enable_optional_types) {} |
| 123 | |
| 124 | absl::Status Evaluate(ExecutionFrame* frame) const override; |
| 125 | |