Skip to content

Commit a67a54b

Browse files
stefanhausteincopybara-github
authored andcommitted
BEGIN_PUBLIC
Support static method access via FooBarCompanion.shared END_PUBLIC PiperOrigin-RevId: 830835747
1 parent 711f8f6 commit a67a54b

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

protobuf/compiler/src/google/protobuf/compiler/j2objc/j2objc_message.cc

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ void MessageGenerator::GenerateHeader(io::Printer* printer) {
212212
"\n"
213213
"@class $classname$;"
214214
"\n"
215-
"@protocol $classname$_Companion\n"
215+
"@protocol $classname$CompanionProtocol\n"
216216
"- (nonnull $classname$_Builder *)newBuilder OBJC_METHOD_FAMILY_NONE;\n"
217217
"- (nonnull $classname$ *)getDefaultInstance;\n"
218218
"- (nonnull $classname$ *)parseFromWithComGoogleProtobufByteString:"
@@ -224,7 +224,9 @@ void MessageGenerator::GenerateHeader(io::Printer* printer) {
224224
"// in j2objc_message.cc \n"
225225
"@interface $classname$ : $superclassname$<$classname$OrBuilder>\n\n"
226226
"@property (nonnull, readonly, class)"
227-
" id<$classname$_Companion> companion;\n",
227+
" id<$classname$CompanionProtocol> companion;\n"
228+
"@property (nonnull, readonly, class)"
229+
" id<$classname$CompanionProtocol> shared;\n",
228230
"classname", ClassName(descriptor_), "superclassname", superclassName);
229231
} else {
230232
printer->Print(
@@ -360,6 +362,7 @@ void MessageGenerator::GenerateHeader(io::Printer* printer) {
360362
"\n"
361363
"@compatibility_alias KNP$classname$ $classname$;\n"
362364
"@compatibility_alias KNP$classname$_Builder $classname$_Builder;\n"
365+
"@compatibility_alias KNP$classname$Companion $classname$;\n"
363366
"\n",
364367
"classname", ClassName(descriptor_));
365368
}
@@ -440,8 +443,11 @@ void MessageGenerator::GenerateSource(io::Printer* printer) {
440443

441444
if (IsGenerateProperties(descriptor_->file())) {
442445
printer->Print(
443-
"+ (nonnull id<$classname$_Companion>)companion {\n"
444-
" return (id<$classname$_Companion>) [self class];\n"
446+
"+ (nonnull id<$classname$CompanionProtocol>)shared {\n"
447+
" return (id<$classname$CompanionProtocol>) [self class];\n"
448+
"}\n"
449+
"+ (nonnull id<$classname$CompanionProtocol>)companion {\n"
450+
" return (id<$classname$CompanionProtocol>) [self class];\n"
445451
"}\n",
446452
"classname", ClassName(descriptor_));
447453
for (int i = 0; i < descriptor_->real_oneof_decl_count(); i++) {

0 commit comments

Comments
 (0)