From 724df0e12ef4eaeff3f18e88e9e8cb584c3c112b Mon Sep 17 00:00:00 2001 From: Stefan Haustein Date: Tue, 26 May 2026 06:40:11 -0700 Subject: [PATCH] BEGIN_PUBLIC Make the optional J2ObjC enum number property (added for j2kt compatibility) Swift-friendly. In ObjC, it doesn't matter if the type is an NSEnum on int; in Swift, we need a number value that's compatible with the knp number value. END_PUBLIC PiperOrigin-RevId: 921434835 --- .../google/protobuf/compiler/j2objc/j2objc_enum.cc | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/protobuf/compiler/src/google/protobuf/compiler/j2objc/j2objc_enum.cc b/protobuf/compiler/src/google/protobuf/compiler/j2objc/j2objc_enum.cc index 63ee3ba430..501374c132 100644 --- a/protobuf/compiler/src/google/protobuf/compiler/j2objc/j2objc_enum.cc +++ b/protobuf/compiler/src/google/protobuf/compiler/j2objc/j2objc_enum.cc @@ -194,9 +194,7 @@ void EnumGenerator::GenerateHeader(io::Printer* printer) { CValuePreprocessorName(descriptor_)); if (IsGenerateProperties(descriptor_->file())) { - printer->Print("- ($valuepreprocessorname$)number;\n", - "valuepreprocessorname", - CValuePreprocessorName(descriptor_)); + printer->Print("@property(readonly) int number;\n"); printer->Print("@property(readonly) $ordinalpreprocessorname$ nsEnum;\n", "ordinalpreprocessorname", COrdinalPreprocessorName(descriptor_)); @@ -369,11 +367,9 @@ void EnumGenerator::GenerateSource(io::Printer* printer) { if (IsGenerateProperties(descriptor_->file())) { printer->Print( - "- ($valuepreprocessorname$)number {\n" - " return [self getNumber];\n" - "}\n", - "classname", ClassName(descriptor_), "valuepreprocessorname", - CValuePreprocessorName(descriptor_)); + "- (int)number {\n" + " return (int) [self getNumber];\n" + "}\n"); printer->Print( "- ($ordinalpreprocessorname$)nsEnum {\n" " return [self ordinal];\n"