Skip to content
Open
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
4 changes: 2 additions & 2 deletions common/legacy_value.cc
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
#include <memory>
#include <string>
#include <utility>
#include <variant>
#include <vector>

#include "google/protobuf/struct.pb.h"
Expand All @@ -34,7 +35,6 @@
#include "absl/strings/string_view.h"
#include "absl/types/optional.h"
#include "absl/types/span.h"
#include "absl/types/variant.h"
#include "base/attribute.h"
#include "common/casting.h"
#include "common/kind.h"
Expand Down Expand Up @@ -1003,7 +1003,7 @@ absl::Status LegacyStructValue::Qualify(
const auto* access_apis =
message_wrapper.legacy_type_info()->GetAccessApis(message_wrapper);
if (ABSL_PREDICT_FALSE(access_apis == nullptr)) {
absl::string_view field_name = absl::visit(
absl::string_view field_name = std::visit(
absl::Overload(
[](const FieldSpecifier& field) -> absl::string_view {
return field.name;
Expand Down
106 changes: 53 additions & 53 deletions common/value.cc
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
#include <string>
#include <type_traits>
#include <utility>
#include <variant>

#include "google/protobuf/struct.pb.h"
#include "absl/base/attributes.h"
Expand All @@ -37,7 +38,6 @@
#include "absl/strings/string_view.h"
#include "absl/time/time.h"
#include "absl/types/optional.h"
#include "absl/types/variant.h"
#include "common/allocator.h"
#include "common/memory.h"
#include "common/optional_ref.h"
Expand Down Expand Up @@ -933,7 +933,7 @@ void StringRepeatedFieldAccessor(
ABSL_DCHECK_LT(index, reflection->FieldSize(*message, field));

std::string scratch;
absl::visit(
std::visit(
absl::Overload(
[&](absl::string_view string) {
if (string.data() == scratch.data() &&
Expand Down Expand Up @@ -1000,7 +1000,7 @@ void BytesRepeatedFieldAccessor(
ABSL_DCHECK_LT(index, reflection->FieldSize(*message, field));

std::string scratch;
absl::visit(
std::visit(
absl::Overload(
[&](absl::string_view string) {
if (string.data() == scratch.data() &&
Expand Down Expand Up @@ -1154,49 +1154,49 @@ struct OwningWellKnownTypesValueVisitor {
std::string* absl_nonnull scratch;

Value operator()(well_known_types::BytesValue&& value) const {
return absl::visit(absl::Overload(
[&](absl::string_view string) -> BytesValue {
if (string.empty()) {
return BytesValue();
}
if (scratch->data() == string.data() &&
scratch->size() == string.size()) {
return BytesValue(arena, std::move(*scratch));
}
return BytesValue(arena, string);
},
[&](absl::Cord&& cord) -> BytesValue {
if (cord.empty()) {
return BytesValue();
}
return BytesValue(arena, cord);
}),
well_known_types::AsVariant(std::move(value)));
return std::visit(absl::Overload(
[&](absl::string_view string) -> BytesValue {
if (string.empty()) {
return BytesValue();
}
if (scratch->data() == string.data() &&
scratch->size() == string.size()) {
return BytesValue(arena, std::move(*scratch));
}
return BytesValue(arena, string);
},
[&](absl::Cord&& cord) -> BytesValue {
if (cord.empty()) {
return BytesValue();
}
return BytesValue(arena, cord);
}),
well_known_types::AsVariant(std::move(value)));
}

Value operator()(well_known_types::StringValue&& value) const {
return absl::visit(absl::Overload(
[&](absl::string_view string) -> StringValue {
if (string.empty()) {
return StringValue();
}
if (scratch->data() == string.data() &&
scratch->size() == string.size()) {
return StringValue(arena, std::move(*scratch));
}
return StringValue(arena, string);
},
[&](absl::Cord&& cord) -> StringValue {
if (cord.empty()) {
return StringValue();
}
return StringValue(arena, cord);
}),
well_known_types::AsVariant(std::move(value)));
return std::visit(absl::Overload(
[&](absl::string_view string) -> StringValue {
if (string.empty()) {
return StringValue();
}
if (scratch->data() == string.data() &&
scratch->size() == string.size()) {
return StringValue(arena, std::move(*scratch));
}
return StringValue(arena, string);
},
[&](absl::Cord&& cord) -> StringValue {
if (cord.empty()) {
return StringValue();
}
return StringValue(arena, cord);
}),
well_known_types::AsVariant(std::move(value)));
}

Value operator()(well_known_types::ListValue&& value) const {
return absl::visit(
return std::visit(
absl::Overload(
[&](well_known_types::ListValueConstRef value) -> ListValue {
auto* cloned = value.get().New(arena);
Expand All @@ -1215,7 +1215,7 @@ struct OwningWellKnownTypesValueVisitor {
}

Value operator()(well_known_types::Struct&& value) const {
return absl::visit(
return std::visit(
absl::Overload(
[&](well_known_types::StructConstRef value) -> MapValue {
auto* cloned = value.get().New(arena);
Expand Down Expand Up @@ -1254,7 +1254,7 @@ struct BorrowingWellKnownTypesValueVisitor {
std::string* absl_nonnull scratch;

Value operator()(well_known_types::BytesValue&& value) const {
return absl::visit(
return std::visit(
absl::Overload(
[&](absl::string_view string) -> BytesValue {
if (string.data() == scratch->data() &&
Expand All @@ -1272,7 +1272,7 @@ struct BorrowingWellKnownTypesValueVisitor {
}

Value operator()(well_known_types::StringValue&& value) const {
return absl::visit(
return std::visit(
absl::Overload(
[&](absl::string_view string) -> StringValue {
if (string.data() == scratch->data() &&
Expand All @@ -1290,7 +1290,7 @@ struct BorrowingWellKnownTypesValueVisitor {
}

Value operator()(well_known_types::ListValue&& value) const {
return absl::visit(
return std::visit(
absl::Overload(
[&](well_known_types::ListValueConstRef value)
-> ParsedJsonListValue {
Expand All @@ -1309,7 +1309,7 @@ struct BorrowingWellKnownTypesValueVisitor {
}

Value operator()(well_known_types::Struct&& value) const {
return absl::visit(
return std::visit(
absl::Overload(
[&](well_known_types::StructConstRef value) -> ParsedJsonMapValue {
return ParsedJsonMapValue(&value.get(),
Expand Down Expand Up @@ -1360,7 +1360,7 @@ Value Value::FromMessage(
if (ABSL_PREDICT_FALSE(!status_or_adapted.ok())) {
return ErrorValue(std::move(status_or_adapted).status());
}
return absl::visit(
return std::visit(
absl::Overload(OwningWellKnownTypesValueVisitor{
/* .arena = */ arena, /* .scratch = */ &scratch},
[&](std::monostate) -> Value {
Expand Down Expand Up @@ -1388,7 +1388,7 @@ Value Value::FromMessage(
if (ABSL_PREDICT_FALSE(!status_or_adapted.ok())) {
return ErrorValue(std::move(status_or_adapted).status());
}
return absl::visit(
return std::visit(
absl::Overload(OwningWellKnownTypesValueVisitor{
/* .arena = */ arena, /* .scratch = */ &scratch},
[&](std::monostate) -> Value {
Expand Down Expand Up @@ -1418,7 +1418,7 @@ Value Value::WrapMessage(
if (ABSL_PREDICT_FALSE(!adapted_value.ok())) {
return ErrorValue(std::move(adapted_value).status());
}
return absl::visit(
return std::visit(
absl::Overload(BorrowingWellKnownTypesValueVisitor{
/* .message = */ message, /* .arena = */ arena,
/* .scratch = */ &scratch},
Expand Down Expand Up @@ -1452,7 +1452,7 @@ Value Value::WrapMessageUnsafe(
if (ABSL_PREDICT_FALSE(!adapted_value.ok())) {
return ErrorValue(std::move(adapted_value).status());
}
return absl::visit(
return std::visit(
absl::Overload(BorrowingWellKnownTypesValueVisitor{
/* .message = */ message, /* .arena = */ arena,
/* .scratch = */ &scratch},
Expand Down Expand Up @@ -1552,7 +1552,7 @@ Value WrapFieldImpl(
return BoolValue(reflection->GetBool(*message, field));
case google::protobuf::FieldDescriptor::TYPE_STRING: {
std::string scratch;
return absl::visit(
return std::visit(
absl::Overload(
[&](absl::string_view string) -> StringValue {
if (string.data() == scratch.data() &&
Expand Down Expand Up @@ -1590,7 +1590,7 @@ Value WrapFieldImpl(
}
case google::protobuf::FieldDescriptor::TYPE_BYTES: {
std::string scratch;
return absl::visit(
return std::visit(
absl::Overload(
[&](absl::string_view string) -> BytesValue {
if (string.data() == scratch.data() &&
Expand Down Expand Up @@ -1681,7 +1681,7 @@ Value WrapRepeatedFieldImpl(
return BoolValue(reflection->GetRepeatedBool(*message, field, index));
case google::protobuf::FieldDescriptor::TYPE_STRING: {
std::string scratch;
return absl::visit(
return std::visit(
absl::Overload(
[&](absl::string_view string) -> StringValue {
if (string.data() == scratch.data() &&
Expand Down Expand Up @@ -1715,7 +1715,7 @@ Value WrapRepeatedFieldImpl(
}
case google::protobuf::FieldDescriptor::TYPE_BYTES: {
std::string scratch;
return absl::visit(
return std::visit(
absl::Overload(
[&](absl::string_view string) -> BytesValue {
if (string.data() == scratch.data() &&
Expand Down
48 changes: 24 additions & 24 deletions internal/well_known_types.cc
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
#include <functional>
#include <string>
#include <utility>
#include <variant>
#include <vector>

#include "google/protobuf/any.pb.h"
Expand All @@ -44,7 +45,6 @@
#include "absl/strings/string_view.h"
#include "absl/strings/strip.h"
#include "absl/time/time.h"
#include "absl/types/variant.h"
#include "common/json.h"
#include "common/memory.h"
#include "extensions/protobuf/internal/map_reflection.h"
Expand Down Expand Up @@ -85,7 +85,7 @@ FieldDescriptor::Label GetFieldLabel(
absl::string_view FlatStringValue(
const StringValue& value ABSL_ATTRIBUTE_LIFETIME_BOUND,
std::string& scratch ABSL_ATTRIBUTE_LIFETIME_BOUND) {
return absl::visit(
return std::visit(
absl::Overload(
[](absl::string_view string) -> absl::string_view { return string; },
[&](const absl::Cord& cord) -> absl::string_view {
Expand All @@ -101,7 +101,7 @@ absl::string_view FlatStringValue(
StringValue CopyStringValue(const StringValue& value,
std::string& scratch
ABSL_ATTRIBUTE_LIFETIME_BOUND) {
return absl::visit(
return std::visit(
absl::Overload(
[&](absl::string_view string) -> StringValue {
if (string.data() != scratch.data()) {
Expand All @@ -116,7 +116,7 @@ StringValue CopyStringValue(const StringValue& value,

BytesValue CopyBytesValue(const BytesValue& value,
std::string& scratch ABSL_ATTRIBUTE_LIFETIME_BOUND) {
return absl::visit(
return std::visit(
absl::Overload(
[&](absl::string_view string) -> BytesValue {
if (string.data() != scratch.data()) {
Expand Down Expand Up @@ -381,18 +381,18 @@ absl::Status CheckMapField(const FieldDescriptor* absl_nonnull field) {
} // namespace

bool StringValue::ConsumePrefix(absl::string_view prefix) {
return absl::visit(absl::Overload(
[&](absl::string_view& value) {
return absl::ConsumePrefix(&value, prefix);
},
[&](absl::Cord& cord) {
if (cord.StartsWith(prefix)) {
cord.RemovePrefix(prefix.size());
return true;
}
return false;
}),
AsVariant(*this));
return std::visit(absl::Overload(
[&](absl::string_view& value) {
return absl::ConsumePrefix(&value, prefix);
},
[&](absl::Cord& cord) {
if (cord.StartsWith(prefix)) {
cord.RemovePrefix(prefix.size());
return true;
}
return false;
}),
AsVariant(*this));
}

StringValue GetStringField(const google::protobuf::Reflection* absl_nonnull reflection,
Expand Down Expand Up @@ -1980,14 +1980,14 @@ absl::StatusOr<Unique<google::protobuf::Message>> AdaptAny(
}
BytesValue value = reflection.GetValue(*to_unwrap, value_scratch);
Unique<google::protobuf::Message> unpacked = WrapUnique(prototype->New(arena), arena);
const bool ok = absl::visit(absl::Overload(
[&](absl::string_view string) -> bool {
return unpacked->ParseFromString(string);
},
[&](const absl::Cord& cord) -> bool {
return unpacked->ParseFromString(cord);
}),
AsVariant(value));
const bool ok = std::visit(absl::Overload(
[&](absl::string_view string) -> bool {
return unpacked->ParseFromString(string);
},
[&](const absl::Cord& cord) -> bool {
return unpacked->ParseFromString(cord);
}),
AsVariant(value));
if (!ok) {
return absl::InvalidArgumentError(absl::StrCat(
"failed to unpack protocol buffer message: ", type_url_view));
Expand Down
1 change: 0 additions & 1 deletion parser/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,6 @@ cc_library(
"@com_google_absl//absl/strings:str_format",
"@com_google_absl//absl/types:optional",
"@com_google_absl//absl/types:span",
"@com_google_absl//absl/types:variant",
"@com_google_cel_spec//proto/cel/expr:syntax_cc_proto",
],
)
Expand Down
4 changes: 2 additions & 2 deletions parser/parser.cc
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
#include <string>
#include <tuple>
#include <utility>
#include <variant>
#include <vector>

#include "cel/expr/syntax.pb.h"
Expand All @@ -51,7 +52,6 @@
#include "absl/strings/string_view.h"
#include "absl/types/optional.h"
#include "absl/types/span.h"
#include "absl/types/variant.h"
#include "antlr4-runtime.h"
#include "common/ast.h"
#include "common/ast/expr_proto.h"
Expand Down Expand Up @@ -257,7 +257,7 @@ class ParserMacroExprFactory final : public MacroExprFactory {
if (auto it = macro_calls_.find(expr.id()); it != macro_calls_.end()) {
return NewUnspecified(expr.id());
}
return absl::visit(
return std::visit(
absl::Overload(
[this, &expr](const UnspecifiedExpr&) -> Expr {
return NewUnspecified(expr.id());
Expand Down