Skip to content

Commit 34eb51e

Browse files
jckingcopybara-github
authored andcommitted
Add dispatch table support for CustomStructValue
PiperOrigin-RevId: 734290279
1 parent 3944eb8 commit 34eb51e

12 files changed

+1259
-147
lines changed

common/BUILD

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -656,16 +656,22 @@ cc_test(
656656
":value",
657657
":value_kind",
658658
":value_testing",
659+
"//base:attributes",
659660
"//internal:parse_text_proto",
661+
"//internal:status_macros",
660662
"//internal:testing",
661663
"//internal:testing_descriptor_pool",
662664
"//internal:testing_message_factory",
665+
"//runtime:runtime_options",
663666
"@com_google_absl//absl/base:core_headers",
667+
"@com_google_absl//absl/base:nullability",
668+
"@com_google_absl//absl/functional:function_ref",
664669
"@com_google_absl//absl/hash",
665670
"@com_google_absl//absl/log:die_if_null",
666671
"@com_google_absl//absl/status",
667672
"@com_google_absl//absl/status:status_matchers",
668673
"@com_google_absl//absl/status:statusor",
674+
"@com_google_absl//absl/strings",
669675
"@com_google_absl//absl/strings:cord",
670676
"@com_google_absl//absl/strings:cord_test_helpers",
671677
"@com_google_absl//absl/strings:string_view",

common/value.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2826,6 +2826,7 @@ absl::StatusOr<std::pair<Value, int>> StructValueMixin<Base>::Qualify(
28262826
absl::Nonnull<const google::protobuf::DescriptorPool*> descriptor_pool,
28272827
absl::Nonnull<google::protobuf::MessageFactory*> message_factory,
28282828
absl::Nonnull<google::protobuf::Arena*> arena) const {
2829+
ABSL_DCHECK_GT(qualifiers.size(), 0);
28292830
ABSL_DCHECK(descriptor_pool != nullptr);
28302831
ABSL_DCHECK(message_factory != nullptr);
28312832
ABSL_DCHECK(arena != nullptr);

common/value_testing.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -263,13 +263,13 @@ class ValueTest : public ::testing::TestWithParam<std::tuple<Ts...>> {
263263
}
264264

265265
template <typename T>
266-
auto GeneratedParseTextProto(absl::string_view text) {
266+
auto GeneratedParseTextProto(absl::string_view text = "") {
267267
return ::cel::internal::GeneratedParseTextProto<T>(
268268
arena(), text, descriptor_pool(), message_factory());
269269
}
270270

271271
template <typename T>
272-
auto DynamicParseTextProto(absl::string_view text) {
272+
auto DynamicParseTextProto(absl::string_view text = "") {
273273
return ::cel::internal::DynamicParseTextProto<T>(
274274
arena(), text, descriptor_pool(), message_factory());
275275
}

common/values/custom_list_value.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
#include "common/memory.h"
4242
#include "common/native_type.h"
4343
#include "common/value_kind.h"
44-
#include "common/values/custom_value_interface.h"
44+
#include "common/values/custom_value.h"
4545
#include "common/values/values.h"
4646
#include "google/protobuf/arena.h"
4747
#include "google/protobuf/descriptor.h"

common/values/custom_map_value.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
#include "common/memory.h"
4242
#include "common/native_type.h"
4343
#include "common/value_kind.h"
44-
#include "common/values/custom_value_interface.h"
44+
#include "common/values/custom_value.h"
4545
#include "common/values/values.h"
4646
#include "google/protobuf/arena.h"
4747
#include "google/protobuf/descriptor.h"

0 commit comments

Comments
 (0)