| 82 | } |
| 83 | |
| 84 | absl::StatusOr<Value> SetsEquivalent( |
| 85 | const ListValue& list, const ListValue& sublist, |
| 86 | const google::protobuf::DescriptorPool* absl_nonnull descriptor_pool, |
| 87 | google::protobuf::MessageFactory* absl_nonnull message_factory, |
| 88 | google::protobuf::Arena* absl_nonnull arena) { |
| 89 | CEL_ASSIGN_OR_RETURN( |
| 90 | auto contains_sublist, |
| 91 | SetsContains(list, sublist, descriptor_pool, message_factory, arena)); |
| 92 | if (contains_sublist.Is<BoolValue>() && |
| 93 | !contains_sublist.GetBool().NativeValue()) { |
| 94 | return contains_sublist; |
| 95 | } |
| 96 | return SetsContains(sublist, list, descriptor_pool, message_factory, arena); |
| 97 | } |
| 98 | |
| 99 | absl::Status RegisterSetsContainsFunction(FunctionRegistry& registry) { |
| 100 | return registry.Register( |
nothing calls this directly
no test coverage detected