Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions common/values/custom_list_value.cc
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,8 @@ class EmptyListValue final : public common_internal::CompatListValue {

EmptyListValue() = default;

google::protobuf::Arena* GetOwningArena() const override { return nullptr; }

std::string DebugString() const override { return "[]"; }

bool IsEmpty() const override { return true; }
Expand Down
2 changes: 2 additions & 0 deletions common/values/custom_map_value.cc
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,8 @@ class EmptyMapValue final : public common_internal::CompatMapValue {

EmptyMapValue() = default;

google::protobuf::Arena* GetOwningArena() const override { return nullptr; }

std::string DebugString() const override { return "{}"; }

bool IsEmpty() const override { return true; }
Expand Down
6 changes: 6 additions & 0 deletions common/values/list_value_builder.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,9 @@ namespace common_internal {
// `list_value_builder.cc`.
class CompatListValue : public CustomListValueInterface,
public google::api::expr::runtime::CelList {
public:
virtual google::protobuf::Arena* GetOwningArena() const = 0;

private:
NativeTypeId GetNativeTypeId() const final {
return NativeTypeId::For<CompatListValue>();
Expand Down Expand Up @@ -78,6 +81,9 @@ class MutableListValue : public CustomListValueInterface {
// inheritance and `dynamic_cast`.
class MutableCompatListValue : public MutableListValue,
public google::api::expr::runtime::CelList {
public:
virtual google::protobuf::Arena* GetOwningArena() const = 0;

private:
NativeTypeId GetNativeTypeId() const final {
return NativeTypeId::For<MutableCompatListValue>();
Expand Down
6 changes: 6 additions & 0 deletions common/values/map_value_builder.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,9 @@ namespace common_internal {
// `map_value_builder.cc`.
class CompatMapValue : public CustomMapValueInterface,
public google::api::expr::runtime::CelMap {
public:
virtual google::protobuf::Arena* GetOwningArena() const = 0;

private:
NativeTypeId GetNativeTypeId() const final {
return NativeTypeId::For<CompatMapValue>();
Expand Down Expand Up @@ -78,6 +81,9 @@ class MutableMapValue : public CustomMapValueInterface {
// inheritance and `dynamic_cast`.
class MutableCompatMapValue : public MutableMapValue,
public google::api::expr::runtime::CelMap {
public:
virtual google::protobuf::Arena* GetOwningArena() const = 0;

private:
NativeTypeId GetNativeTypeId() const final {
return NativeTypeId::For<MutableCompatMapValue>();
Expand Down
16 changes: 16 additions & 0 deletions common/values/value_builder.cc
Original file line number Diff line number Diff line change
Expand Up @@ -251,6 +251,10 @@ class CompatListValueImpl final : public CompatListValue {
explicit CompatListValueImpl(ValueVector&& elements)
: elements_(std::move(elements)) {}

google::protobuf::Arena* GetOwningArena() const override {
return elements_.get_allocator().arena();
}

std::string DebugString() const override {
return absl::StrCat("[", absl::StrJoin(elements_, ", ", ValueFormatter{}),
"]");
Expand Down Expand Up @@ -388,6 +392,10 @@ class MutableCompatListValueImpl final : public MutableCompatListValue {
explicit MutableCompatListValueImpl(google::protobuf::Arena* absl_nonnull arena)
: elements_(arena) {}

google::protobuf::Arena* GetOwningArena() const override {
return elements_.get_allocator().arena();
}

std::string DebugString() const override {
return absl::StrCat("[", absl::StrJoin(elements_, ", ", ValueFormatter{}),
"]");
Expand Down Expand Up @@ -995,6 +1003,10 @@ class CompatMapValueImpl final : public CompatMapValue {
public:
explicit CompatMapValueImpl(ValueFlatHashMap&& map) : map_(std::move(map)) {}

google::protobuf::Arena* GetOwningArena() const override {
return map_.get_allocator().arena();
}

std::string DebugString() const override {
return absl::StrCat("{", absl::StrJoin(map_, ", ", ValueFormatter{}), "}");
}
Expand Down Expand Up @@ -1159,6 +1171,10 @@ class TrivialMutableMapValueImpl final : public MutableCompatMapValue {
explicit TrivialMutableMapValueImpl(google::protobuf::Arena* absl_nonnull arena)
: map_(arena) {}

google::protobuf::Arena* GetOwningArena() const override {
return map_.get_allocator().arena();
}

std::string DebugString() const override {
return absl::StrCat("{", absl::StrJoin(map_, ", ", ValueFormatter{}), "}");
}
Expand Down
Loading