| 124 | } |
| 125 | |
| 126 | absl::StatusOr<ListValue> ListValueFromExpr( |
| 127 | const ExprListValue& list_value, |
| 128 | const google::protobuf::DescriptorPool* absl_nonnull descriptor_pool, |
| 129 | google::protobuf::MessageFactory* absl_nonnull message_factory, |
| 130 | google::protobuf::Arena* absl_nonnull arena) { |
| 131 | auto builder = cel::NewListValueBuilder(arena); |
| 132 | for (const auto& elem : list_value.values()) { |
| 133 | CEL_ASSIGN_OR_RETURN( |
| 134 | auto value, |
| 135 | FromExprValue(elem, descriptor_pool, message_factory, arena)); |
| 136 | CEL_RETURN_IF_ERROR(builder->Add(std::move(value))); |
| 137 | } |
| 138 | |
| 139 | return std::move(*builder).Build(); |
| 140 | } |
| 141 | |
| 142 | absl::StatusOr<ExprMapValue> MapValueToExpr( |
| 143 | const MapValue& map_value, |
no test coverage detected