| 304 | class DirectSelectStep : public DirectExpressionStep { |
| 305 | public: |
| 306 | DirectSelectStep(int64_t expr_id, |
| 307 | std::unique_ptr<DirectExpressionStep> operand, |
| 308 | StringValue field, bool test_only, |
| 309 | bool enable_wrapper_type_null_unboxing, |
| 310 | bool enable_optional_types) |
| 311 | : DirectExpressionStep(expr_id), |
| 312 | operand_(std::move(operand)), |
| 313 | field_value_(std::move(field)), |
| 314 | field_(field_value_.ToString()), |
| 315 | test_only_(test_only), |
| 316 | unboxing_option_(enable_wrapper_type_null_unboxing |
| 317 | ? ProtoWrapperTypeOptions::kUnsetNull |
| 318 | : ProtoWrapperTypeOptions::kUnsetProtoDefault), |
| 319 | enable_optional_types_(enable_optional_types) {} |
| 320 | |
| 321 | absl::Status Evaluate(ExecutionFrameBase& frame, Value& result, |
| 322 | AttributeTrail& attribute) const override { |