Skip to content

Commit 148ad67

Browse files
jckingcopybara-github
authored andcommitted
Update string and bytes literal formatting to support appending without flattening
PiperOrigin-RevId: 991643540
1 parent c6f0940 commit 148ad67

61 files changed

Lines changed: 769 additions & 693 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎common/BUILD‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -589,6 +589,7 @@ cc_test(
589589
"//internal:testing",
590590
"@com_google_absl//absl/status",
591591
"@com_google_absl//absl/time",
592+
"@com_google_protobuf//:protobuf",
592593
],
593594
)
594595

‎common/legacy_value.cc‎

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -721,7 +721,7 @@ absl::Status LegacyMapValue::Get(
721721
CEL_ASSIGN_OR_RETURN(auto cel_key, LegacyValue(arena, key));
722722
auto cel_value = impl_->Get(arena, cel_key);
723723
if (!cel_value.has_value()) {
724-
*result = NoSuchKeyError(key.DebugString());
724+
*result = NoSuchKeyError(key.DebugString(), arena);
725725
return absl::OkStatus();
726726
}
727727
CEL_RETURN_IF_ERROR(ModernValue(arena, *cel_value, *result));
@@ -928,7 +928,7 @@ absl::Status LegacyStructValue::GetFieldByName(
928928
google::protobuf::MessageFactory* absl_nonnull message_factory,
929929
google::protobuf::Arena* absl_nonnull arena, Value* absl_nonnull result) const {
930930
if (ABSL_PREDICT_FALSE(legacy_type_info_ == TrivialTypeInfo::GetInstance())) {
931-
*result = NoSuchFieldError(name);
931+
*result = NoSuchFieldError(name, arena);
932932
return absl::OkStatus();
933933
}
934934

@@ -939,7 +939,7 @@ absl::Status LegacyStructValue::GetFieldByName(
939939
field = descriptor->file()->pool()->FindExtensionByPrintableName(descriptor,
940940
name);
941941
if (field == nullptr) {
942-
*result = NoSuchFieldError(name);
942+
*result = NoSuchFieldError(name, arena);
943943
return absl::OkStatus();
944944
}
945945
}
@@ -962,15 +962,15 @@ absl::StatusOr<bool> LegacyStructValue::HasFieldByName(
962962
absl::string_view name) const {
963963
ABSL_DCHECK(message_ptr_ != nullptr);
964964
if (ABSL_PREDICT_FALSE(legacy_type_info_ == TrivialTypeInfo::GetInstance())) {
965-
return NoSuchFieldError(name).ToStatus();
965+
return common_internal::MakeNoSuchFieldError(name);
966966
}
967967
return UnsafeParsedMessageValue(message_ptr_).HasFieldByName(name);
968968
}
969969

970970
absl::StatusOr<bool> LegacyStructValue::HasFieldByNumber(int64_t number) const {
971971
ABSL_DCHECK(message_ptr_ != nullptr);
972972
if (ABSL_PREDICT_FALSE(legacy_type_info_ == TrivialTypeInfo::GetInstance())) {
973-
return NoSuchFieldError(absl::StrCat(number)).ToStatus();
973+
return common_internal::MakeNoSuchFieldError(absl::StrCat(number));
974974
}
975975
return UnsafeParsedMessageValue(message_ptr_).HasFieldByNumber(number);
976976
}
@@ -1008,7 +1008,7 @@ absl::Status LegacyStructValue::Qualify(
10081008
return field.GetStringKey().value_or("<invalid field>");
10091009
}),
10101010
qualifiers.front());
1011-
*result = NoSuchFieldError(field_name);
1011+
*result = NoSuchFieldError(field_name, arena);
10121012
*count = -1;
10131013
return absl::OkStatus();
10141014
}
@@ -1084,7 +1084,7 @@ absl::Status ModernValue(google::protobuf::Arena* arena,
10841084
return absl::OkStatus();
10851085
}
10861086
case CelValue::Type::kError:
1087-
result = ErrorValue{*legacy_value.ErrorOrDie()};
1087+
result = ErrorValue::From(*legacy_value.ErrorOrDie(), arena);
10881088
return absl::OkStatus();
10891089
case CelValue::Type::kAny:
10901090
return absl::InternalError(absl::StrCat(

‎common/value.cc‎

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -200,9 +200,8 @@ absl::Status Value::ConvertToJsonArray(
200200
json);
201201
},
202202
[](const auto& alternative) -> absl::Status {
203-
return TypeConversionError(alternative.GetTypeName(),
204-
"google.protobuf.ListValue")
205-
.NativeValue();
203+
return common_internal::MakeTypeConversionError(
204+
alternative.GetTypeName(), "google.protobuf.ListValue");
206205
}));
207206
}
208207

@@ -257,9 +256,8 @@ absl::Status Value::ConvertToJsonObject(
257256
json);
258257
},
259258
[](const auto& alternative) -> absl::Status {
260-
return TypeConversionError(alternative.GetTypeName(),
261-
"google.protobuf.Struct")
262-
.NativeValue();
259+
return common_internal::MakeTypeConversionError(
260+
alternative.GetTypeName(), "google.protobuf.Struct");
263261
}));
264262
}
265263

‎common/value.h‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2612,8 +2612,7 @@ static_assert(std::is_nothrow_swappable_v<Value>);
26122612

26132613
inline common_internal::ImplicitlyConvertibleStatus
26142614
ErrorValueAssign::operator()(absl::Status status) const {
2615-
*value_ = arena_ != nullptr ? ErrorValue::From(std::move(status), arena_)
2616-
: ErrorValue(std::move(status));
2615+
*value_ = ErrorValue::From(std::move(status), arena_);
26172616
return common_internal::ImplicitlyConvertibleStatus();
26182617
}
26192618

‎common/value_testing_test.cc‎

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
#include "absl/time/time.h"
2222
#include "common/value.h"
2323
#include "internal/testing.h"
24+
#include "google/protobuf/arena.h"
2425

2526
namespace cel::test {
2627
namespace {
@@ -156,12 +157,14 @@ TEST(BytesValueIs, NonMatchMessage) {
156157
}
157158

158159
TEST(ErrorValueIs, Match) {
159-
EXPECT_THAT(ErrorValue(absl::InternalError("test")),
160+
google::protobuf::Arena arena;
161+
EXPECT_THAT(ErrorValue::From(absl::InternalError("test"), &arena),
160162
ErrorValueIs(StatusIs(absl::StatusCode::kInternal, "test")));
161163
}
162164

163165
TEST(ErrorValueIs, NoMatch) {
164-
EXPECT_THAT(ErrorValue(absl::UnknownError("test")),
166+
google::protobuf::Arena arena;
167+
EXPECT_THAT(ErrorValue::From(absl::UnknownError("test"), &arena),
165168
Not(ErrorValueIs(StatusIs(absl::StatusCode::kInternal, "test"))));
166169
EXPECT_THAT(IntValue(2), Not(ErrorValueIs(_)));
167170
}

‎common/values/custom_list_value.cc‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,9 +97,9 @@ class EmptyListValue final : public common_internal::CompatListValue {
9797
private:
9898
absl::Status Get(size_t index, const google::protobuf::DescriptorPool* absl_nonnull,
9999
google::protobuf::MessageFactory* absl_nonnull,
100-
google::protobuf::Arena* absl_nonnull,
100+
google::protobuf::Arena* absl_nonnull arena,
101101
Value* absl_nonnull result) const override {
102-
*result = IndexOutOfBoundsError(index);
102+
*result = IndexOutOfBoundsError(index, arena);
103103
return absl::OkStatus();
104104
}
105105
};

‎common/values/custom_list_value_test.cc‎

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
#include "absl/status/statusor.h"
2525
#include "absl/strings/cord.h"
2626
#include "absl/strings/string_view.h"
27-
#include "absl/types/optional.h"
2827
#include "common/memory.h"
2928
#include "common/native_type.h"
3029
#include "common/value.h"
@@ -121,7 +120,7 @@ class CustomListValueInterfaceTest final : public CustomListValueInterface {
121120
*result = IntValue(1);
122121
return absl::OkStatus();
123122
}
124-
*result = IndexOutOfBoundsError(index);
123+
*result = IndexOutOfBoundsError(index, arena);
125124
return absl::OkStatus();
126125
}
127126

@@ -221,7 +220,7 @@ class CustomListValueTest : public common_internal::ValueTest<> {
221220
*result = IntValue(1);
222221
return absl::OkStatus();
223222
}
224-
*result = IndexOutOfBoundsError(index);
223+
*result = IndexOutOfBoundsError(index, arena);
225224
return absl::OkStatus();
226225
},
227226
.clone = [](const CustomListValueDispatcher* absl_nonnull dispatcher,

‎common/values/custom_map_value_test.cc‎

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
// limitations under the License.
1414

1515
#include <cstddef>
16+
#include <optional>
1617
#include <string>
1718
#include <utility>
1819
#include <vector>
@@ -24,7 +25,6 @@
2425
#include "absl/status/statusor.h"
2526
#include "absl/strings/cord.h"
2627
#include "absl/strings/string_view.h"
27-
#include "absl/types/optional.h"
2828
#include "common/memory.h"
2929
#include "common/native_type.h"
3030
#include "common/value.h"
@@ -591,7 +591,8 @@ TEST_F(CustomMapValueTest, Interface_Find_InvalidKeyType) {
591591
TEST_F(CustomMapValueTest, Dispatcher_Find_SpecialKeys) {
592592
CustomMapValue map = MakeDispatcher();
593593
Value result;
594-
ErrorValue error_key(absl::CancelledError("cancelled"));
594+
ErrorValue error_key =
595+
ErrorValue::From(absl::CancelledError("cancelled"), arena());
595596
ASSERT_THAT(map.Find(error_key, descriptor_pool(), message_factory(), arena(),
596597
&result),
597598
IsOkAndHolds(false));
@@ -623,7 +624,8 @@ TEST_F(CustomMapValueTest, Dispatcher_Find_SpecialKeys) {
623624
TEST_F(CustomMapValueTest, Interface_Find_SpecialKeys) {
624625
CustomMapValue map = MakeInterface();
625626
Value result;
626-
ErrorValue error_key(absl::CancelledError("cancelled"));
627+
ErrorValue error_key =
628+
ErrorValue::From(absl::CancelledError("cancelled"), arena());
627629
ASSERT_THAT(map.Find(error_key, descriptor_pool(), message_factory(), arena(),
628630
&result),
629631
IsOkAndHolds(false));
@@ -735,7 +737,8 @@ TEST_F(CustomMapValueTest, Interface_Has_InvalidKeyType) {
735737
TEST_F(CustomMapValueTest, Dispatcher_Has_SpecialKeys) {
736738
CustomMapValue map = MakeDispatcher();
737739
Value result;
738-
ErrorValue error_key(absl::CancelledError("cancelled"));
740+
ErrorValue error_key =
741+
ErrorValue::From(absl::CancelledError("cancelled"), arena());
739742
ASSERT_THAT(map.Has(error_key, descriptor_pool(), message_factory(), arena(),
740743
&result),
741744
IsOk());
@@ -758,7 +761,8 @@ TEST_F(CustomMapValueTest, Dispatcher_Has_SpecialKeys) {
758761
TEST_F(CustomMapValueTest, Interface_Has_SpecialKeys) {
759762
CustomMapValue map = MakeInterface();
760763
Value result;
761-
ErrorValue error_key(absl::CancelledError("cancelled"));
764+
ErrorValue error_key =
765+
ErrorValue::From(absl::CancelledError("cancelled"), arena());
762766
ASSERT_THAT(map.Has(error_key, descriptor_pool(), message_factory(), arena(),
763767
&result),
764768
IsOk());

‎common/values/custom_struct_value_test.cc‎

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ class CustomStructValueInterfaceTest final : public CustomStructValueInterface {
117117
*result = IntValue(1);
118118
return absl::OkStatus();
119119
}
120-
return NoSuchFieldError(name).ToStatus();
120+
return common_internal::MakeNoSuchFieldError(name);
121121
}
122122

123123
absl::Status GetFieldByNumber(
@@ -134,7 +134,7 @@ class CustomStructValueInterfaceTest final : public CustomStructValueInterface {
134134
*result = IntValue(1);
135135
return absl::OkStatus();
136136
}
137-
return NoSuchFieldError(absl::StrCat(number)).ToStatus();
137+
return common_internal::MakeNoSuchFieldError(absl::StrCat(number));
138138
}
139139

140140
absl::StatusOr<bool> HasFieldByName(absl::string_view name) const override {
@@ -144,7 +144,7 @@ class CustomStructValueInterfaceTest final : public CustomStructValueInterface {
144144
if (name == "bar") {
145145
return true;
146146
}
147-
return NoSuchFieldError(name).ToStatus();
147+
return common_internal::MakeNoSuchFieldError(name);
148148
}
149149

150150
absl::StatusOr<bool> HasFieldByNumber(int64_t number) const override {
@@ -154,7 +154,7 @@ class CustomStructValueInterfaceTest final : public CustomStructValueInterface {
154154
if (number == 2) {
155155
return true;
156156
}
157-
return NoSuchFieldError(absl::StrCat(number)).ToStatus();
157+
return common_internal::MakeNoSuchFieldError(absl::StrCat(number));
158158
}
159159

160160
absl::Status ForEachField(
@@ -283,7 +283,7 @@ class CustomStructValueTest : public common_internal::ValueTest<> {
283283
*result = IntValue(1);
284284
return absl::OkStatus();
285285
}
286-
return NoSuchFieldError(name).ToStatus();
286+
return common_internal::MakeNoSuchFieldError(name);
287287
},
288288
.get_field_by_number =
289289
[](const CustomStructValueDispatcher* absl_nonnull dispatcher,
@@ -301,7 +301,7 @@ class CustomStructValueTest : public common_internal::ValueTest<> {
301301
*result = IntValue(1);
302302
return absl::OkStatus();
303303
}
304-
return NoSuchFieldError(absl::StrCat(number)).ToStatus();
304+
return common_internal::MakeNoSuchFieldError(absl::StrCat(number));
305305
},
306306
.has_field_by_name =
307307
[](const CustomStructValueDispatcher* absl_nonnull dispatcher,
@@ -313,7 +313,7 @@ class CustomStructValueTest : public common_internal::ValueTest<> {
313313
if (name == "bar") {
314314
return true;
315315
}
316-
return NoSuchFieldError(name).ToStatus();
316+
return common_internal::MakeNoSuchFieldError(name);
317317
},
318318
.has_field_by_number =
319319
[](const CustomStructValueDispatcher* absl_nonnull dispatcher,
@@ -325,7 +325,7 @@ class CustomStructValueTest : public common_internal::ValueTest<> {
325325
if (number == 2) {
326326
return true;
327327
}
328-
return NoSuchFieldError(absl::StrCat(number)).ToStatus();
328+
return common_internal::MakeNoSuchFieldError(absl::StrCat(number));
329329
},
330330
.for_each_field =
331331
[](const CustomStructValueDispatcher* absl_nonnull dispatcher,

0 commit comments

Comments
 (0)