| 329 | } |
| 330 | |
| 331 | absl::StatusOr<google::protobuf::MapValueConstRef> ProtoQualifyState::CheckMapIndex( |
| 332 | const cel::AttributeQualifier& qualifier) const { |
| 333 | const auto* key_desc = |
| 334 | repeated_field_desc_->message_type()->FindFieldByNumber(kKeyTag); |
| 335 | |
| 336 | CEL_ASSIGN_OR_RETURN( |
| 337 | absl::optional<google::protobuf::MapValueConstRef> value_ref, |
| 338 | LookupMapValue(message_, reflection_, repeated_field_desc_, key_desc, |
| 339 | qualifier)); |
| 340 | |
| 341 | if (!value_ref.has_value()) { |
| 342 | std::string key_string; |
| 343 | absl::StatusOr<std::string> key_string_or = qualifier.AsString(); |
| 344 | if (key_string_or.ok()) { |
| 345 | key_string = *key_string_or; |
| 346 | } |
| 347 | return runtime_internal::CreateNoSuchKeyError(key_string); |
| 348 | } |
| 349 | return std::move(value_ref).value(); |
| 350 | } |
| 351 | |
| 352 | absl::Status ProtoQualifyState::ApplyAttributeQualifierMap( |
| 353 | const cel::AttributeQualifier& qualifier, MemoryManagerRef memory_manager) { |
nothing calls this directly
no test coverage detected