From 040dde7e37ccb36cd4243292f12116ef242eb3f1 Mon Sep 17 00:00:00 2001 From: Protobuf Team Bot Date: Mon, 22 Jan 2024 09:04:29 -0800 Subject: [PATCH] Correct type_resolver_util to set syntax=proto3 instead of syntax=proto2 on proto3 files. PiperOrigin-RevId: 600473754 --- src/google/protobuf/util/type_resolver_util.cc | 11 +++++++---- src/google/protobuf/util/type_resolver_util_test.cc | 3 +-- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/google/protobuf/util/type_resolver_util.cc b/src/google/protobuf/util/type_resolver_util.cc index ca8c661b31..ace37f1eab 100644 --- a/src/google/protobuf/util/type_resolver_util.cc +++ b/src/google/protobuf/util/type_resolver_util.cc @@ -252,11 +252,14 @@ void ConvertFieldDescriptor(absl::string_view url_prefix, } Syntax ConvertSyntax(Edition edition) { - if (edition >= Edition::EDITION_2023) { - return Syntax::SYNTAX_EDITIONS; + switch (edition) { + case Edition::EDITION_PROTO2: + return Syntax::SYNTAX_PROTO2; + case Edition::EDITION_PROTO3: + return Syntax::SYNTAX_PROTO3; + default: + return Syntax::SYNTAX_EDITIONS; } - // TODO This should propagate proto3 as expected. - return Syntax::SYNTAX_PROTO2; } void ConvertEnumDescriptor(const EnumDescriptor& descriptor, Enum* enum_type) { diff --git a/src/google/protobuf/util/type_resolver_util_test.cc b/src/google/protobuf/util/type_resolver_util_test.cc index 77cd15156d..5417633e08 100644 --- a/src/google/protobuf/util/type_resolver_util_test.cc +++ b/src/google/protobuf/util/type_resolver_util_test.cc @@ -460,8 +460,7 @@ TEST_F(DescriptorPoolTypeResolverSyntaxTest, SyntaxProto3) { Type type; ASSERT_TRUE( resolver_->ResolveMessageType(GetTypeUrl("test.MyMessage"), &type).ok()); - // TODO This should be proto3. - EXPECT_EQ(type.syntax(), Syntax::SYNTAX_PROTO2); + EXPECT_EQ(type.syntax(), Syntax::SYNTAX_PROTO3); EXPECT_EQ(type.edition(), ""); }