Skip to content

Commit 040dde7

Browse files
Correct type_resolver_util to set syntax=proto3 instead of syntax=proto2 on proto3 files.
PiperOrigin-RevId: 600473754
1 parent 71b0b4e commit 040dde7

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

src/google/protobuf/util/type_resolver_util.cc

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -252,11 +252,14 @@ void ConvertFieldDescriptor(absl::string_view url_prefix,
252252
}
253253

254254
Syntax ConvertSyntax(Edition edition) {
255-
if (edition >= Edition::EDITION_2023) {
256-
return Syntax::SYNTAX_EDITIONS;
255+
switch (edition) {
256+
case Edition::EDITION_PROTO2:
257+
return Syntax::SYNTAX_PROTO2;
258+
case Edition::EDITION_PROTO3:
259+
return Syntax::SYNTAX_PROTO3;
260+
default:
261+
return Syntax::SYNTAX_EDITIONS;
257262
}
258-
// TODO This should propagate proto3 as expected.
259-
return Syntax::SYNTAX_PROTO2;
260263
}
261264

262265
void ConvertEnumDescriptor(const EnumDescriptor& descriptor, Enum* enum_type) {

src/google/protobuf/util/type_resolver_util_test.cc

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -460,8 +460,7 @@ TEST_F(DescriptorPoolTypeResolverSyntaxTest, SyntaxProto3) {
460460
Type type;
461461
ASSERT_TRUE(
462462
resolver_->ResolveMessageType(GetTypeUrl("test.MyMessage"), &type).ok());
463-
// TODO This should be proto3.
464-
EXPECT_EQ(type.syntax(), Syntax::SYNTAX_PROTO2);
463+
EXPECT_EQ(type.syntax(), Syntax::SYNTAX_PROTO3);
465464
EXPECT_EQ(type.edition(), "");
466465
}
467466

0 commit comments

Comments
 (0)