| 248 | } |
| 249 | |
| 250 | absl::Status SelectStep::PerformTestOnlySelect(ExecutionFrame* frame, |
| 251 | const Value& arg) const { |
| 252 | switch (arg.kind()) { |
| 253 | case ValueKind::kMap: { |
| 254 | Value result; |
| 255 | TestOnlySelect(arg.GetMap(), field_value_, frame->descriptor_pool(), |
| 256 | frame->message_factory(), frame->arena(), &result); |
| 257 | frame->value_stack().PopAndPush(std::move(result)); |
| 258 | return absl::OkStatus(); |
| 259 | } |
| 260 | case ValueKind::kMessage: { |
| 261 | Value result; |
| 262 | TestOnlySelect(arg.GetStruct(), field_, frame->descriptor_pool(), |
| 263 | frame->message_factory(), frame->arena(), &result); |
| 264 | frame->value_stack().PopAndPush(std::move(result)); |
| 265 | return absl::OkStatus(); |
| 266 | } |
| 267 | default: |
| 268 | // Control flow should have returned earlier. |
| 269 | return InvalidSelectTargetError(); |
| 270 | } |
| 271 | } |
| 272 | |
| 273 | absl::StatusOr<bool> SelectStep::PerformSelect(ExecutionFrame* frame, |
| 274 | const Value& arg, |
nothing calls this directly
no test coverage detected