1 // Generated by the protocol buffer compiler. DO NOT EDIT!
2 // NO CHECKED-IN PROTOBUF GENCODE
4 // source: google/protobuf/type.proto
6 #import "GPBProtocolBuffers_RuntimeSupport.h"
7 #import "GPBType.pbobjc.h"
9 #if GOOGLE_PROTOBUF_OBJC_VERSION < 30007
10 #error This file was generated by a newer version of protoc which is incompatible with your Protocol Buffer library sources.
12 #if 30007 < GOOGLE_PROTOBUF_OBJC_MIN_SUPPORTED_VERSION
13 #error This file was generated by an older version of protoc which is incompatible with your Protocol Buffer library sources.
18 // @@protoc_insertion_point(imports)
20 #pragma clang diagnostic push
21 #pragma clang diagnostic ignored "-Wdeprecated-declarations"
22 #pragma clang diagnostic ignored "-Wdollar-in-identifier-extension"
24 #pragma mark - Objective-C Class declarations
25 // Forward declarations of Objective-C classes that we can use as
26 // static values in struct initializers.
27 // We don't use [Foo class] because it is not a static value.
28 GPBObjCClassDeclaration(GPBAny);
29 GPBObjCClassDeclaration(GPBEnum);
30 GPBObjCClassDeclaration(GPBEnumValue);
31 GPBObjCClassDeclaration(GPBField);
32 GPBObjCClassDeclaration(GPBOption);
33 GPBObjCClassDeclaration(GPBSourceContext);
34 GPBObjCClassDeclaration(GPBType);
36 #pragma mark - GPBTypeRoot
38 @implementation GPBTypeRoot
40 // No extensions in the file and no imports or none of the imports (direct or
41 // indirect) defined extensions, so no need to generate +extensionRegistry.
45 static GPBFileDescription GPBTypeRoot_FileDescription = {
46 .package = "google.protobuf",
48 .syntax = GPBFileSyntaxProto3
51 #pragma mark - Enum GPBSyntax
53 GPBEnumDescriptor *GPBSyntax_EnumDescriptor(void) {
54 static _Atomic(GPBEnumDescriptor*) descriptor = nil;
56 GPB_DEBUG_CHECK_RUNTIME_VERSIONS();
57 static const char *valueNames =
58 "SyntaxProto2\000SyntaxProto3\000SyntaxEditions"
60 static const int32_t values[] = {
61 GPBSyntax_SyntaxProto2,
62 GPBSyntax_SyntaxProto3,
63 GPBSyntax_SyntaxEditions,
65 GPBEnumDescriptor *worker =
66 [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(GPBSyntax)
69 count:(uint32_t)(sizeof(values) / sizeof(int32_t))
70 enumVerifier:GPBSyntax_IsValidValue
71 flags:GPBEnumDescriptorInitializationFlag_None];
72 GPBEnumDescriptor *expected = nil;
73 if (!atomic_compare_exchange_strong(&descriptor, &expected, worker)) {
80 BOOL GPBSyntax_IsValidValue(int32_t value__) {
82 case GPBSyntax_SyntaxProto2:
83 case GPBSyntax_SyntaxProto3:
84 case GPBSyntax_SyntaxEditions:
91 #pragma mark - Enum GPBField_Kind
93 GPBEnumDescriptor *GPBField_Kind_EnumDescriptor(void) {
94 static _Atomic(GPBEnumDescriptor*) descriptor = nil;
96 GPB_DEBUG_CHECK_RUNTIME_VERSIONS();
97 static const char *valueNames =
98 "TypeUnknown\000TypeDouble\000TypeFloat\000TypeInt"
99 "64\000TypeUint64\000TypeInt32\000TypeFixed64\000Type"
100 "Fixed32\000TypeBool\000TypeString\000TypeGroup\000Ty"
101 "peMessage\000TypeBytes\000TypeUint32\000TypeEnum\000"
102 "TypeSfixed32\000TypeSfixed64\000TypeSint32\000Typ"
104 static const int32_t values[] = {
105 GPBField_Kind_TypeUnknown,
106 GPBField_Kind_TypeDouble,
107 GPBField_Kind_TypeFloat,
108 GPBField_Kind_TypeInt64,
109 GPBField_Kind_TypeUint64,
110 GPBField_Kind_TypeInt32,
111 GPBField_Kind_TypeFixed64,
112 GPBField_Kind_TypeFixed32,
113 GPBField_Kind_TypeBool,
114 GPBField_Kind_TypeString,
115 GPBField_Kind_TypeGroup,
116 GPBField_Kind_TypeMessage,
117 GPBField_Kind_TypeBytes,
118 GPBField_Kind_TypeUint32,
119 GPBField_Kind_TypeEnum,
120 GPBField_Kind_TypeSfixed32,
121 GPBField_Kind_TypeSfixed64,
122 GPBField_Kind_TypeSint32,
123 GPBField_Kind_TypeSint64,
125 GPBEnumDescriptor *worker =
126 [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(GPBField_Kind)
127 valueNames:valueNames
129 count:(uint32_t)(sizeof(values) / sizeof(int32_t))
130 enumVerifier:GPBField_Kind_IsValidValue
131 flags:GPBEnumDescriptorInitializationFlag_None];
132 GPBEnumDescriptor *expected = nil;
133 if (!atomic_compare_exchange_strong(&descriptor, &expected, worker)) {
140 BOOL GPBField_Kind_IsValidValue(int32_t value__) {
142 case GPBField_Kind_TypeUnknown:
143 case GPBField_Kind_TypeDouble:
144 case GPBField_Kind_TypeFloat:
145 case GPBField_Kind_TypeInt64:
146 case GPBField_Kind_TypeUint64:
147 case GPBField_Kind_TypeInt32:
148 case GPBField_Kind_TypeFixed64:
149 case GPBField_Kind_TypeFixed32:
150 case GPBField_Kind_TypeBool:
151 case GPBField_Kind_TypeString:
152 case GPBField_Kind_TypeGroup:
153 case GPBField_Kind_TypeMessage:
154 case GPBField_Kind_TypeBytes:
155 case GPBField_Kind_TypeUint32:
156 case GPBField_Kind_TypeEnum:
157 case GPBField_Kind_TypeSfixed32:
158 case GPBField_Kind_TypeSfixed64:
159 case GPBField_Kind_TypeSint32:
160 case GPBField_Kind_TypeSint64:
167 #pragma mark - Enum GPBField_Cardinality
169 GPBEnumDescriptor *GPBField_Cardinality_EnumDescriptor(void) {
170 static _Atomic(GPBEnumDescriptor*) descriptor = nil;
172 GPB_DEBUG_CHECK_RUNTIME_VERSIONS();
173 static const char *valueNames =
174 "CardinalityUnknown\000CardinalityOptional\000C"
175 "ardinalityRequired\000CardinalityRepeated\000";
176 static const int32_t values[] = {
177 GPBField_Cardinality_CardinalityUnknown,
178 GPBField_Cardinality_CardinalityOptional,
179 GPBField_Cardinality_CardinalityRequired,
180 GPBField_Cardinality_CardinalityRepeated,
182 GPBEnumDescriptor *worker =
183 [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(GPBField_Cardinality)
184 valueNames:valueNames
186 count:(uint32_t)(sizeof(values) / sizeof(int32_t))
187 enumVerifier:GPBField_Cardinality_IsValidValue
188 flags:GPBEnumDescriptorInitializationFlag_None];
189 GPBEnumDescriptor *expected = nil;
190 if (!atomic_compare_exchange_strong(&descriptor, &expected, worker)) {
197 BOOL GPBField_Cardinality_IsValidValue(int32_t value__) {
199 case GPBField_Cardinality_CardinalityUnknown:
200 case GPBField_Cardinality_CardinalityOptional:
201 case GPBField_Cardinality_CardinalityRequired:
202 case GPBField_Cardinality_CardinalityRepeated:
209 #pragma mark - GPBType
211 @implementation GPBType
214 @dynamic fieldsArray, fieldsArray_Count;
215 @dynamic oneofsArray, oneofsArray_Count;
216 @dynamic optionsArray, optionsArray_Count;
217 @dynamic hasSourceContext, sourceContext;
221 typedef struct GPBType__storage_ {
222 uint32_t _has_storage_[1];
225 NSMutableArray *fieldsArray;
226 NSMutableArray *oneofsArray;
227 NSMutableArray *optionsArray;
228 GPBSourceContext *sourceContext;
232 // This method is threadsafe because it is initially called
233 // in +initialize for each subclass.
234 + (GPBDescriptor *)descriptor {
235 static GPBDescriptor *descriptor = nil;
237 GPB_DEBUG_CHECK_RUNTIME_VERSIONS();
238 static GPBMessageFieldDescription fields[] = {
241 .dataTypeSpecific.clazz = Nil,
242 .number = GPBType_FieldNumber_Name,
244 .offset = (uint32_t)offsetof(GPBType__storage_, name),
245 .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
246 .dataType = GPBDataTypeString,
249 .name = "fieldsArray",
250 .dataTypeSpecific.clazz = GPBObjCClass(GPBField),
251 .number = GPBType_FieldNumber_FieldsArray,
252 .hasIndex = GPBNoHasBit,
253 .offset = (uint32_t)offsetof(GPBType__storage_, fieldsArray),
254 .flags = GPBFieldRepeated,
255 .dataType = GPBDataTypeMessage,
258 .name = "oneofsArray",
259 .dataTypeSpecific.clazz = Nil,
260 .number = GPBType_FieldNumber_OneofsArray,
261 .hasIndex = GPBNoHasBit,
262 .offset = (uint32_t)offsetof(GPBType__storage_, oneofsArray),
263 .flags = GPBFieldRepeated,
264 .dataType = GPBDataTypeString,
267 .name = "optionsArray",
268 .dataTypeSpecific.clazz = GPBObjCClass(GPBOption),
269 .number = GPBType_FieldNumber_OptionsArray,
270 .hasIndex = GPBNoHasBit,
271 .offset = (uint32_t)offsetof(GPBType__storage_, optionsArray),
272 .flags = GPBFieldRepeated,
273 .dataType = GPBDataTypeMessage,
276 .name = "sourceContext",
277 .dataTypeSpecific.clazz = GPBObjCClass(GPBSourceContext),
278 .number = GPBType_FieldNumber_SourceContext,
280 .offset = (uint32_t)offsetof(GPBType__storage_, sourceContext),
281 .flags = GPBFieldOptional,
282 .dataType = GPBDataTypeMessage,
286 .dataTypeSpecific.enumDescFunc = GPBSyntax_EnumDescriptor,
287 .number = GPBType_FieldNumber_Syntax,
289 .offset = (uint32_t)offsetof(GPBType__storage_, syntax),
290 .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldHasEnumDescriptor | GPBFieldClearHasIvarOnZero),
291 .dataType = GPBDataTypeEnum,
295 .dataTypeSpecific.clazz = Nil,
296 .number = GPBType_FieldNumber_Edition,
298 .offset = (uint32_t)offsetof(GPBType__storage_, edition),
299 .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
300 .dataType = GPBDataTypeString,
303 GPBDescriptor *localDescriptor =
304 [GPBDescriptor allocDescriptorForClass:GPBObjCClass(GPBType)
306 fileDescription:&GPBTypeRoot_FileDescription
308 fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
309 storageSize:sizeof(GPBType__storage_)
310 flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown | GPBDescriptorInitializationFlag_ClosedEnumSupportKnown)];
311 #if defined(DEBUG) && DEBUG
312 NSAssert(descriptor == nil, @"Startup recursed!");
314 descriptor = localDescriptor;
321 int32_t GPBType_Syntax_RawValue(GPBType *message) {
322 GPBDescriptor *descriptor = [GPBType descriptor];
323 GPBFieldDescriptor *field = [descriptor fieldWithNumber:GPBType_FieldNumber_Syntax];
324 return GPBGetMessageRawEnumField(message, field);
327 void SetGPBType_Syntax_RawValue(GPBType *message, int32_t value) {
328 GPBDescriptor *descriptor = [GPBType descriptor];
329 GPBFieldDescriptor *field = [descriptor fieldWithNumber:GPBType_FieldNumber_Syntax];
330 GPBSetMessageRawEnumField(message, field, value);
333 #pragma mark - GPBField
335 @implementation GPBField
338 @dynamic cardinality;
344 @dynamic optionsArray, optionsArray_Count;
346 @dynamic defaultValue;
348 typedef struct GPBField__storage_ {
349 uint32_t _has_storage_[1];
351 GPBField_Cardinality cardinality;
356 NSMutableArray *optionsArray;
358 NSString *defaultValue;
359 } GPBField__storage_;
361 // This method is threadsafe because it is initially called
362 // in +initialize for each subclass.
363 + (GPBDescriptor *)descriptor {
364 static GPBDescriptor *descriptor = nil;
366 GPB_DEBUG_CHECK_RUNTIME_VERSIONS();
367 static GPBMessageFieldDescription fields[] = {
370 .dataTypeSpecific.enumDescFunc = GPBField_Kind_EnumDescriptor,
371 .number = GPBField_FieldNumber_Kind,
373 .offset = (uint32_t)offsetof(GPBField__storage_, kind),
374 .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldHasEnumDescriptor | GPBFieldClearHasIvarOnZero),
375 .dataType = GPBDataTypeEnum,
378 .name = "cardinality",
379 .dataTypeSpecific.enumDescFunc = GPBField_Cardinality_EnumDescriptor,
380 .number = GPBField_FieldNumber_Cardinality,
382 .offset = (uint32_t)offsetof(GPBField__storage_, cardinality),
383 .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldHasEnumDescriptor | GPBFieldClearHasIvarOnZero),
384 .dataType = GPBDataTypeEnum,
388 .dataTypeSpecific.clazz = Nil,
389 .number = GPBField_FieldNumber_Number,
391 .offset = (uint32_t)offsetof(GPBField__storage_, number),
392 .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
393 .dataType = GPBDataTypeInt32,
397 .dataTypeSpecific.clazz = Nil,
398 .number = GPBField_FieldNumber_Name,
400 .offset = (uint32_t)offsetof(GPBField__storage_, name),
401 .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
402 .dataType = GPBDataTypeString,
406 .dataTypeSpecific.clazz = Nil,
407 .number = GPBField_FieldNumber_TypeURL,
409 .offset = (uint32_t)offsetof(GPBField__storage_, typeURL),
410 .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldTextFormatNameCustom | GPBFieldClearHasIvarOnZero),
411 .dataType = GPBDataTypeString,
414 .name = "oneofIndex",
415 .dataTypeSpecific.clazz = Nil,
416 .number = GPBField_FieldNumber_OneofIndex,
418 .offset = (uint32_t)offsetof(GPBField__storage_, oneofIndex),
419 .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
420 .dataType = GPBDataTypeInt32,
424 .dataTypeSpecific.clazz = Nil,
425 .number = GPBField_FieldNumber_Packed,
427 .offset = 7, // Stored in _has_storage_ to save space.
428 .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
429 .dataType = GPBDataTypeBool,
432 .name = "optionsArray",
433 .dataTypeSpecific.clazz = GPBObjCClass(GPBOption),
434 .number = GPBField_FieldNumber_OptionsArray,
435 .hasIndex = GPBNoHasBit,
436 .offset = (uint32_t)offsetof(GPBField__storage_, optionsArray),
437 .flags = GPBFieldRepeated,
438 .dataType = GPBDataTypeMessage,
442 .dataTypeSpecific.clazz = Nil,
443 .number = GPBField_FieldNumber_JsonName,
445 .offset = (uint32_t)offsetof(GPBField__storage_, jsonName),
446 .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
447 .dataType = GPBDataTypeString,
450 .name = "defaultValue",
451 .dataTypeSpecific.clazz = Nil,
452 .number = GPBField_FieldNumber_DefaultValue,
454 .offset = (uint32_t)offsetof(GPBField__storage_, defaultValue),
455 .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
456 .dataType = GPBDataTypeString,
459 GPBDescriptor *localDescriptor =
460 [GPBDescriptor allocDescriptorForClass:GPBObjCClass(GPBField)
462 fileDescription:&GPBTypeRoot_FileDescription
464 fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
465 storageSize:sizeof(GPBField__storage_)
466 flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown | GPBDescriptorInitializationFlag_ClosedEnumSupportKnown)];
467 #if !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS
468 static const char *extraTextFormatInfo =
469 "\001\006\004\241!!\000";
470 [localDescriptor setupExtraTextInfo:extraTextFormatInfo];
471 #endif // !GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS
472 #if defined(DEBUG) && DEBUG
473 NSAssert(descriptor == nil, @"Startup recursed!");
475 descriptor = localDescriptor;
482 int32_t GPBField_Kind_RawValue(GPBField *message) {
483 GPBDescriptor *descriptor = [GPBField descriptor];
484 GPBFieldDescriptor *field = [descriptor fieldWithNumber:GPBField_FieldNumber_Kind];
485 return GPBGetMessageRawEnumField(message, field);
488 void SetGPBField_Kind_RawValue(GPBField *message, int32_t value) {
489 GPBDescriptor *descriptor = [GPBField descriptor];
490 GPBFieldDescriptor *field = [descriptor fieldWithNumber:GPBField_FieldNumber_Kind];
491 GPBSetMessageRawEnumField(message, field, value);
494 int32_t GPBField_Cardinality_RawValue(GPBField *message) {
495 GPBDescriptor *descriptor = [GPBField descriptor];
496 GPBFieldDescriptor *field = [descriptor fieldWithNumber:GPBField_FieldNumber_Cardinality];
497 return GPBGetMessageRawEnumField(message, field);
500 void SetGPBField_Cardinality_RawValue(GPBField *message, int32_t value) {
501 GPBDescriptor *descriptor = [GPBField descriptor];
502 GPBFieldDescriptor *field = [descriptor fieldWithNumber:GPBField_FieldNumber_Cardinality];
503 GPBSetMessageRawEnumField(message, field, value);
506 #pragma mark - GPBEnum
508 @implementation GPBEnum
511 @dynamic enumvalueArray, enumvalueArray_Count;
512 @dynamic optionsArray, optionsArray_Count;
513 @dynamic hasSourceContext, sourceContext;
517 typedef struct GPBEnum__storage_ {
518 uint32_t _has_storage_[1];
521 NSMutableArray *enumvalueArray;
522 NSMutableArray *optionsArray;
523 GPBSourceContext *sourceContext;
527 // This method is threadsafe because it is initially called
528 // in +initialize for each subclass.
529 + (GPBDescriptor *)descriptor {
530 static GPBDescriptor *descriptor = nil;
532 GPB_DEBUG_CHECK_RUNTIME_VERSIONS();
533 static GPBMessageFieldDescription fields[] = {
536 .dataTypeSpecific.clazz = Nil,
537 .number = GPBEnum_FieldNumber_Name,
539 .offset = (uint32_t)offsetof(GPBEnum__storage_, name),
540 .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
541 .dataType = GPBDataTypeString,
544 .name = "enumvalueArray",
545 .dataTypeSpecific.clazz = GPBObjCClass(GPBEnumValue),
546 .number = GPBEnum_FieldNumber_EnumvalueArray,
547 .hasIndex = GPBNoHasBit,
548 .offset = (uint32_t)offsetof(GPBEnum__storage_, enumvalueArray),
549 .flags = GPBFieldRepeated,
550 .dataType = GPBDataTypeMessage,
553 .name = "optionsArray",
554 .dataTypeSpecific.clazz = GPBObjCClass(GPBOption),
555 .number = GPBEnum_FieldNumber_OptionsArray,
556 .hasIndex = GPBNoHasBit,
557 .offset = (uint32_t)offsetof(GPBEnum__storage_, optionsArray),
558 .flags = GPBFieldRepeated,
559 .dataType = GPBDataTypeMessage,
562 .name = "sourceContext",
563 .dataTypeSpecific.clazz = GPBObjCClass(GPBSourceContext),
564 .number = GPBEnum_FieldNumber_SourceContext,
566 .offset = (uint32_t)offsetof(GPBEnum__storage_, sourceContext),
567 .flags = GPBFieldOptional,
568 .dataType = GPBDataTypeMessage,
572 .dataTypeSpecific.enumDescFunc = GPBSyntax_EnumDescriptor,
573 .number = GPBEnum_FieldNumber_Syntax,
575 .offset = (uint32_t)offsetof(GPBEnum__storage_, syntax),
576 .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldHasEnumDescriptor | GPBFieldClearHasIvarOnZero),
577 .dataType = GPBDataTypeEnum,
581 .dataTypeSpecific.clazz = Nil,
582 .number = GPBEnum_FieldNumber_Edition,
584 .offset = (uint32_t)offsetof(GPBEnum__storage_, edition),
585 .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
586 .dataType = GPBDataTypeString,
589 GPBDescriptor *localDescriptor =
590 [GPBDescriptor allocDescriptorForClass:GPBObjCClass(GPBEnum)
592 fileDescription:&GPBTypeRoot_FileDescription
594 fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
595 storageSize:sizeof(GPBEnum__storage_)
596 flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown | GPBDescriptorInitializationFlag_ClosedEnumSupportKnown)];
597 #if defined(DEBUG) && DEBUG
598 NSAssert(descriptor == nil, @"Startup recursed!");
600 descriptor = localDescriptor;
607 int32_t GPBEnum_Syntax_RawValue(GPBEnum *message) {
608 GPBDescriptor *descriptor = [GPBEnum descriptor];
609 GPBFieldDescriptor *field = [descriptor fieldWithNumber:GPBEnum_FieldNumber_Syntax];
610 return GPBGetMessageRawEnumField(message, field);
613 void SetGPBEnum_Syntax_RawValue(GPBEnum *message, int32_t value) {
614 GPBDescriptor *descriptor = [GPBEnum descriptor];
615 GPBFieldDescriptor *field = [descriptor fieldWithNumber:GPBEnum_FieldNumber_Syntax];
616 GPBSetMessageRawEnumField(message, field, value);
619 #pragma mark - GPBEnumValue
621 @implementation GPBEnumValue
625 @dynamic optionsArray, optionsArray_Count;
627 typedef struct GPBEnumValue__storage_ {
628 uint32_t _has_storage_[1];
631 NSMutableArray *optionsArray;
632 } GPBEnumValue__storage_;
634 // This method is threadsafe because it is initially called
635 // in +initialize for each subclass.
636 + (GPBDescriptor *)descriptor {
637 static GPBDescriptor *descriptor = nil;
639 GPB_DEBUG_CHECK_RUNTIME_VERSIONS();
640 static GPBMessageFieldDescription fields[] = {
643 .dataTypeSpecific.clazz = Nil,
644 .number = GPBEnumValue_FieldNumber_Name,
646 .offset = (uint32_t)offsetof(GPBEnumValue__storage_, name),
647 .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
648 .dataType = GPBDataTypeString,
652 .dataTypeSpecific.clazz = Nil,
653 .number = GPBEnumValue_FieldNumber_Number,
655 .offset = (uint32_t)offsetof(GPBEnumValue__storage_, number),
656 .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
657 .dataType = GPBDataTypeInt32,
660 .name = "optionsArray",
661 .dataTypeSpecific.clazz = GPBObjCClass(GPBOption),
662 .number = GPBEnumValue_FieldNumber_OptionsArray,
663 .hasIndex = GPBNoHasBit,
664 .offset = (uint32_t)offsetof(GPBEnumValue__storage_, optionsArray),
665 .flags = GPBFieldRepeated,
666 .dataType = GPBDataTypeMessage,
669 GPBDescriptor *localDescriptor =
670 [GPBDescriptor allocDescriptorForClass:GPBObjCClass(GPBEnumValue)
671 messageName:@"EnumValue"
672 fileDescription:&GPBTypeRoot_FileDescription
674 fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
675 storageSize:sizeof(GPBEnumValue__storage_)
676 flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown | GPBDescriptorInitializationFlag_ClosedEnumSupportKnown)];
677 #if defined(DEBUG) && DEBUG
678 NSAssert(descriptor == nil, @"Startup recursed!");
680 descriptor = localDescriptor;
687 #pragma mark - GPBOption
689 @implementation GPBOption
692 @dynamic hasValue, value;
694 typedef struct GPBOption__storage_ {
695 uint32_t _has_storage_[1];
698 } GPBOption__storage_;
700 // This method is threadsafe because it is initially called
701 // in +initialize for each subclass.
702 + (GPBDescriptor *)descriptor {
703 static GPBDescriptor *descriptor = nil;
705 GPB_DEBUG_CHECK_RUNTIME_VERSIONS();
706 static GPBMessageFieldDescription fields[] = {
709 .dataTypeSpecific.clazz = Nil,
710 .number = GPBOption_FieldNumber_Name,
712 .offset = (uint32_t)offsetof(GPBOption__storage_, name),
713 .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldClearHasIvarOnZero),
714 .dataType = GPBDataTypeString,
718 .dataTypeSpecific.clazz = GPBObjCClass(GPBAny),
719 .number = GPBOption_FieldNumber_Value,
721 .offset = (uint32_t)offsetof(GPBOption__storage_, value),
722 .flags = GPBFieldOptional,
723 .dataType = GPBDataTypeMessage,
726 GPBDescriptor *localDescriptor =
727 [GPBDescriptor allocDescriptorForClass:GPBObjCClass(GPBOption)
728 messageName:@"Option"
729 fileDescription:&GPBTypeRoot_FileDescription
731 fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
732 storageSize:sizeof(GPBOption__storage_)
733 flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown | GPBDescriptorInitializationFlag_ClosedEnumSupportKnown)];
734 #if defined(DEBUG) && DEBUG
735 NSAssert(descriptor == nil, @"Startup recursed!");
737 descriptor = localDescriptor;
745 #pragma clang diagnostic pop
747 // @@protoc_insertion_point(global_scope)