Type.pbobjc.m 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644
  1. // Generated by the protocol buffer compiler. DO NOT EDIT!
  2. // source: google/protobuf/type.proto
  3. #import "GPBProtocolBuffers_RuntimeSupport.h"
  4. #import "google/protobuf/Type.pbobjc.h"
  5. #import "google/protobuf/Any.pbobjc.h"
  6. #import "google/protobuf/SourceContext.pbobjc.h"
  7. // @@protoc_insertion_point(imports)
  8. #pragma mark - GPBTypeRoot
  9. @implementation GPBTypeRoot
  10. + (GPBExtensionRegistry*)extensionRegistry {
  11. // This is called by +initialize so there is no need to worry
  12. // about thread safety and initialization of registry.
  13. static GPBExtensionRegistry* registry = nil;
  14. if (!registry) {
  15. GPBDebugCheckRuntimeVersion();
  16. registry = [[GPBExtensionRegistry alloc] init];
  17. [registry addExtensions:[GPBAnyRoot extensionRegistry]];
  18. [registry addExtensions:[GPBSourceContextRoot extensionRegistry]];
  19. }
  20. return registry;
  21. }
  22. @end
  23. #pragma mark - GPBTypeRoot_FileDescriptor
  24. static GPBFileDescriptor *GPBTypeRoot_FileDescriptor(void) {
  25. // This is called by +initialize so there is no need to worry
  26. // about thread safety of the singleton.
  27. static GPBFileDescriptor *descriptor = NULL;
  28. if (!descriptor) {
  29. GPBDebugCheckRuntimeVersion();
  30. descriptor = [[GPBFileDescriptor alloc] initWithPackage:@"google.protobuf"
  31. syntax:GPBFileSyntaxProto3];
  32. }
  33. return descriptor;
  34. }
  35. #pragma mark - GPBType
  36. @implementation GPBType
  37. @dynamic name;
  38. @dynamic fieldsArray, fieldsArray_Count;
  39. @dynamic oneofsArray, oneofsArray_Count;
  40. @dynamic optionsArray, optionsArray_Count;
  41. @dynamic hasSourceContext, sourceContext;
  42. typedef struct GPBType__storage_ {
  43. uint32_t _has_storage_[1];
  44. NSString *name;
  45. NSMutableArray *fieldsArray;
  46. NSMutableArray *oneofsArray;
  47. NSMutableArray *optionsArray;
  48. GPBSourceContext *sourceContext;
  49. } GPBType__storage_;
  50. // This method is threadsafe because it is initially called
  51. // in +initialize for each subclass.
  52. + (GPBDescriptor *)descriptor {
  53. static GPBDescriptor *descriptor = nil;
  54. if (!descriptor) {
  55. static GPBMessageFieldDescription fields[] = {
  56. {
  57. .name = "name",
  58. .number = GPBType_FieldNumber_Name,
  59. .hasIndex = 0,
  60. .flags = GPBFieldOptional,
  61. .dataType = GPBDataTypeString,
  62. .offset = offsetof(GPBType__storage_, name),
  63. .defaultValue.valueString = nil,
  64. .dataTypeSpecific.className = NULL,
  65. .fieldOptions = NULL,
  66. },
  67. {
  68. .name = "fieldsArray",
  69. .number = GPBType_FieldNumber_FieldsArray,
  70. .hasIndex = GPBNoHasBit,
  71. .flags = GPBFieldRepeated,
  72. .dataType = GPBDataTypeMessage,
  73. .offset = offsetof(GPBType__storage_, fieldsArray),
  74. .defaultValue.valueMessage = nil,
  75. .dataTypeSpecific.className = GPBStringifySymbol(GPBField),
  76. .fieldOptions = NULL,
  77. },
  78. {
  79. .name = "oneofsArray",
  80. .number = GPBType_FieldNumber_OneofsArray,
  81. .hasIndex = GPBNoHasBit,
  82. .flags = GPBFieldRepeated,
  83. .dataType = GPBDataTypeString,
  84. .offset = offsetof(GPBType__storage_, oneofsArray),
  85. .defaultValue.valueMessage = nil,
  86. .dataTypeSpecific.className = NULL,
  87. .fieldOptions = NULL,
  88. },
  89. {
  90. .name = "optionsArray",
  91. .number = GPBType_FieldNumber_OptionsArray,
  92. .hasIndex = GPBNoHasBit,
  93. .flags = GPBFieldRepeated,
  94. .dataType = GPBDataTypeMessage,
  95. .offset = offsetof(GPBType__storage_, optionsArray),
  96. .defaultValue.valueMessage = nil,
  97. .dataTypeSpecific.className = GPBStringifySymbol(GPBOption),
  98. .fieldOptions = NULL,
  99. },
  100. {
  101. .name = "sourceContext",
  102. .number = GPBType_FieldNumber_SourceContext,
  103. .hasIndex = 4,
  104. .flags = GPBFieldOptional,
  105. .dataType = GPBDataTypeMessage,
  106. .offset = offsetof(GPBType__storage_, sourceContext),
  107. .defaultValue.valueMessage = nil,
  108. .dataTypeSpecific.className = GPBStringifySymbol(GPBSourceContext),
  109. .fieldOptions = NULL,
  110. },
  111. };
  112. GPBDescriptor *localDescriptor =
  113. [GPBDescriptor allocDescriptorForClass:[GPBType class]
  114. rootClass:[GPBTypeRoot class]
  115. file:GPBTypeRoot_FileDescriptor()
  116. fields:fields
  117. fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription)
  118. oneofs:NULL
  119. oneofCount:0
  120. enums:NULL
  121. enumCount:0
  122. ranges:NULL
  123. rangeCount:0
  124. storageSize:sizeof(GPBType__storage_)
  125. wireFormat:NO];
  126. NSAssert(descriptor == nil, @"Startup recursed!");
  127. descriptor = localDescriptor;
  128. }
  129. return descriptor;
  130. }
  131. @end
  132. #pragma mark - GPBField
  133. @implementation GPBField
  134. @dynamic kind;
  135. @dynamic cardinality;
  136. @dynamic number;
  137. @dynamic name;
  138. @dynamic typeURL;
  139. @dynamic oneofIndex;
  140. @dynamic packed;
  141. @dynamic optionsArray, optionsArray_Count;
  142. typedef struct GPBField__storage_ {
  143. uint32_t _has_storage_[1];
  144. BOOL packed;
  145. GPBField_Kind kind;
  146. GPBField_Cardinality cardinality;
  147. int32_t number;
  148. int32_t oneofIndex;
  149. NSString *name;
  150. NSString *typeURL;
  151. NSMutableArray *optionsArray;
  152. } GPBField__storage_;
  153. // This method is threadsafe because it is initially called
  154. // in +initialize for each subclass.
  155. + (GPBDescriptor *)descriptor {
  156. static GPBDescriptor *descriptor = nil;
  157. if (!descriptor) {
  158. static GPBMessageFieldDescription fields[] = {
  159. {
  160. .name = "kind",
  161. .number = GPBField_FieldNumber_Kind,
  162. .hasIndex = 0,
  163. .flags = GPBFieldOptional | GPBFieldHasEnumDescriptor,
  164. .dataType = GPBDataTypeEnum,
  165. .offset = offsetof(GPBField__storage_, kind),
  166. .defaultValue.valueEnum = GPBField_Kind_TypeUnknown,
  167. .dataTypeSpecific.enumDescFunc = GPBField_Kind_EnumDescriptor,
  168. .fieldOptions = NULL,
  169. },
  170. {
  171. .name = "cardinality",
  172. .number = GPBField_FieldNumber_Cardinality,
  173. .hasIndex = 1,
  174. .flags = GPBFieldOptional | GPBFieldHasEnumDescriptor,
  175. .dataType = GPBDataTypeEnum,
  176. .offset = offsetof(GPBField__storage_, cardinality),
  177. .defaultValue.valueEnum = GPBField_Cardinality_CardinalityUnknown,
  178. .dataTypeSpecific.enumDescFunc = GPBField_Cardinality_EnumDescriptor,
  179. .fieldOptions = NULL,
  180. },
  181. {
  182. .name = "number",
  183. .number = GPBField_FieldNumber_Number,
  184. .hasIndex = 2,
  185. .flags = GPBFieldOptional,
  186. .dataType = GPBDataTypeInt32,
  187. .offset = offsetof(GPBField__storage_, number),
  188. .defaultValue.valueInt32 = 0,
  189. .dataTypeSpecific.className = NULL,
  190. .fieldOptions = NULL,
  191. },
  192. {
  193. .name = "name",
  194. .number = GPBField_FieldNumber_Name,
  195. .hasIndex = 3,
  196. .flags = GPBFieldOptional,
  197. .dataType = GPBDataTypeString,
  198. .offset = offsetof(GPBField__storage_, name),
  199. .defaultValue.valueString = nil,
  200. .dataTypeSpecific.className = NULL,
  201. .fieldOptions = NULL,
  202. },
  203. {
  204. .name = "typeURL",
  205. .number = GPBField_FieldNumber_TypeURL,
  206. .hasIndex = 4,
  207. .flags = GPBFieldOptional | GPBFieldTextFormatNameCustom,
  208. .dataType = GPBDataTypeString,
  209. .offset = offsetof(GPBField__storage_, typeURL),
  210. .defaultValue.valueString = nil,
  211. .dataTypeSpecific.className = NULL,
  212. .fieldOptions = NULL,
  213. },
  214. {
  215. .name = "oneofIndex",
  216. .number = GPBField_FieldNumber_OneofIndex,
  217. .hasIndex = 5,
  218. .flags = GPBFieldOptional,
  219. .dataType = GPBDataTypeInt32,
  220. .offset = offsetof(GPBField__storage_, oneofIndex),
  221. .defaultValue.valueInt32 = 0,
  222. .dataTypeSpecific.className = NULL,
  223. .fieldOptions = NULL,
  224. },
  225. {
  226. .name = "packed",
  227. .number = GPBField_FieldNumber_Packed,
  228. .hasIndex = 6,
  229. .flags = GPBFieldOptional,
  230. .dataType = GPBDataTypeBool,
  231. .offset = offsetof(GPBField__storage_, packed),
  232. .defaultValue.valueBool = NO,
  233. .dataTypeSpecific.className = NULL,
  234. .fieldOptions = NULL,
  235. },
  236. {
  237. .name = "optionsArray",
  238. .number = GPBField_FieldNumber_OptionsArray,
  239. .hasIndex = GPBNoHasBit,
  240. .flags = GPBFieldRepeated,
  241. .dataType = GPBDataTypeMessage,
  242. .offset = offsetof(GPBField__storage_, optionsArray),
  243. .defaultValue.valueMessage = nil,
  244. .dataTypeSpecific.className = GPBStringifySymbol(GPBOption),
  245. .fieldOptions = NULL,
  246. },
  247. };
  248. static GPBMessageEnumDescription enums[] = {
  249. { .enumDescriptorFunc = GPBField_Kind_EnumDescriptor },
  250. { .enumDescriptorFunc = GPBField_Cardinality_EnumDescriptor },
  251. };
  252. #if GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS
  253. const char *extraTextFormatInfo = NULL;
  254. #else
  255. static const char *extraTextFormatInfo = "\001\006\004\241!!\000";
  256. #endif // GPBOBJC_SKIP_MESSAGE_TEXTFORMAT_EXTRAS
  257. GPBDescriptor *localDescriptor =
  258. [GPBDescriptor allocDescriptorForClass:[GPBField class]
  259. rootClass:[GPBTypeRoot class]
  260. file:GPBTypeRoot_FileDescriptor()
  261. fields:fields
  262. fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription)
  263. oneofs:NULL
  264. oneofCount:0
  265. enums:enums
  266. enumCount:sizeof(enums) / sizeof(GPBMessageEnumDescription)
  267. ranges:NULL
  268. rangeCount:0
  269. storageSize:sizeof(GPBField__storage_)
  270. wireFormat:NO
  271. extraTextFormatInfo:extraTextFormatInfo];
  272. NSAssert(descriptor == nil, @"Startup recursed!");
  273. descriptor = localDescriptor;
  274. }
  275. return descriptor;
  276. }
  277. @end
  278. int32_t GPBField_Kind_RawValue(GPBField *message) {
  279. GPBDescriptor *descriptor = [GPBField descriptor];
  280. GPBFieldDescriptor *field = [descriptor fieldWithNumber:GPBField_FieldNumber_Kind];
  281. return GPBGetMessageInt32Field(message, field);
  282. }
  283. void SetGPBField_Kind_RawValue(GPBField *message, int32_t value) {
  284. GPBDescriptor *descriptor = [GPBField descriptor];
  285. GPBFieldDescriptor *field = [descriptor fieldWithNumber:GPBField_FieldNumber_Kind];
  286. GPBSetInt32IvarWithFieldInternal(message, field, value, descriptor.file.syntax);
  287. }
  288. int32_t GPBField_Cardinality_RawValue(GPBField *message) {
  289. GPBDescriptor *descriptor = [GPBField descriptor];
  290. GPBFieldDescriptor *field = [descriptor fieldWithNumber:GPBField_FieldNumber_Cardinality];
  291. return GPBGetMessageInt32Field(message, field);
  292. }
  293. void SetGPBField_Cardinality_RawValue(GPBField *message, int32_t value) {
  294. GPBDescriptor *descriptor = [GPBField descriptor];
  295. GPBFieldDescriptor *field = [descriptor fieldWithNumber:GPBField_FieldNumber_Cardinality];
  296. GPBSetInt32IvarWithFieldInternal(message, field, value, descriptor.file.syntax);
  297. }
  298. #pragma mark - Enum GPBField_Kind
  299. GPBEnumDescriptor *GPBField_Kind_EnumDescriptor(void) {
  300. static GPBEnumDescriptor *descriptor = NULL;
  301. if (!descriptor) {
  302. static GPBMessageEnumValueDescription values[] = {
  303. { .name = "TypeUnknown", .number = GPBField_Kind_TypeUnknown },
  304. { .name = "TypeDouble", .number = GPBField_Kind_TypeDouble },
  305. { .name = "TypeFloat", .number = GPBField_Kind_TypeFloat },
  306. { .name = "TypeInt64", .number = GPBField_Kind_TypeInt64 },
  307. { .name = "TypeUint64", .number = GPBField_Kind_TypeUint64 },
  308. { .name = "TypeInt32", .number = GPBField_Kind_TypeInt32 },
  309. { .name = "TypeFixed64", .number = GPBField_Kind_TypeFixed64 },
  310. { .name = "TypeFixed32", .number = GPBField_Kind_TypeFixed32 },
  311. { .name = "TypeBool", .number = GPBField_Kind_TypeBool },
  312. { .name = "TypeString", .number = GPBField_Kind_TypeString },
  313. { .name = "TypeMessage", .number = GPBField_Kind_TypeMessage },
  314. { .name = "TypeBytes", .number = GPBField_Kind_TypeBytes },
  315. { .name = "TypeUint32", .number = GPBField_Kind_TypeUint32 },
  316. { .name = "TypeEnum", .number = GPBField_Kind_TypeEnum },
  317. { .name = "TypeSfixed32", .number = GPBField_Kind_TypeSfixed32 },
  318. { .name = "TypeSfixed64", .number = GPBField_Kind_TypeSfixed64 },
  319. { .name = "TypeSint32", .number = GPBField_Kind_TypeSint32 },
  320. { .name = "TypeSint64", .number = GPBField_Kind_TypeSint64 },
  321. };
  322. descriptor = [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(GPBField_Kind)
  323. values:values
  324. valueCount:sizeof(values) / sizeof(GPBMessageEnumValueDescription)
  325. enumVerifier:GPBField_Kind_IsValidValue];
  326. }
  327. return descriptor;
  328. }
  329. BOOL GPBField_Kind_IsValidValue(int32_t value__) {
  330. switch (value__) {
  331. case GPBField_Kind_TypeUnknown:
  332. case GPBField_Kind_TypeDouble:
  333. case GPBField_Kind_TypeFloat:
  334. case GPBField_Kind_TypeInt64:
  335. case GPBField_Kind_TypeUint64:
  336. case GPBField_Kind_TypeInt32:
  337. case GPBField_Kind_TypeFixed64:
  338. case GPBField_Kind_TypeFixed32:
  339. case GPBField_Kind_TypeBool:
  340. case GPBField_Kind_TypeString:
  341. case GPBField_Kind_TypeMessage:
  342. case GPBField_Kind_TypeBytes:
  343. case GPBField_Kind_TypeUint32:
  344. case GPBField_Kind_TypeEnum:
  345. case GPBField_Kind_TypeSfixed32:
  346. case GPBField_Kind_TypeSfixed64:
  347. case GPBField_Kind_TypeSint32:
  348. case GPBField_Kind_TypeSint64:
  349. return YES;
  350. default:
  351. return NO;
  352. }
  353. }
  354. #pragma mark - Enum GPBField_Cardinality
  355. GPBEnumDescriptor *GPBField_Cardinality_EnumDescriptor(void) {
  356. static GPBEnumDescriptor *descriptor = NULL;
  357. if (!descriptor) {
  358. static GPBMessageEnumValueDescription values[] = {
  359. { .name = "CardinalityUnknown", .number = GPBField_Cardinality_CardinalityUnknown },
  360. { .name = "CardinalityOptional", .number = GPBField_Cardinality_CardinalityOptional },
  361. { .name = "CardinalityRequired", .number = GPBField_Cardinality_CardinalityRequired },
  362. { .name = "CardinalityRepeated", .number = GPBField_Cardinality_CardinalityRepeated },
  363. };
  364. descriptor = [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(GPBField_Cardinality)
  365. values:values
  366. valueCount:sizeof(values) / sizeof(GPBMessageEnumValueDescription)
  367. enumVerifier:GPBField_Cardinality_IsValidValue];
  368. }
  369. return descriptor;
  370. }
  371. BOOL GPBField_Cardinality_IsValidValue(int32_t value__) {
  372. switch (value__) {
  373. case GPBField_Cardinality_CardinalityUnknown:
  374. case GPBField_Cardinality_CardinalityOptional:
  375. case GPBField_Cardinality_CardinalityRequired:
  376. case GPBField_Cardinality_CardinalityRepeated:
  377. return YES;
  378. default:
  379. return NO;
  380. }
  381. }
  382. #pragma mark - GPBEnum
  383. @implementation GPBEnum
  384. @dynamic name;
  385. @dynamic enumvalueArray, enumvalueArray_Count;
  386. @dynamic optionsArray, optionsArray_Count;
  387. @dynamic hasSourceContext, sourceContext;
  388. typedef struct GPBEnum__storage_ {
  389. uint32_t _has_storage_[1];
  390. NSString *name;
  391. NSMutableArray *enumvalueArray;
  392. NSMutableArray *optionsArray;
  393. GPBSourceContext *sourceContext;
  394. } GPBEnum__storage_;
  395. // This method is threadsafe because it is initially called
  396. // in +initialize for each subclass.
  397. + (GPBDescriptor *)descriptor {
  398. static GPBDescriptor *descriptor = nil;
  399. if (!descriptor) {
  400. static GPBMessageFieldDescription fields[] = {
  401. {
  402. .name = "name",
  403. .number = GPBEnum_FieldNumber_Name,
  404. .hasIndex = 0,
  405. .flags = GPBFieldOptional,
  406. .dataType = GPBDataTypeString,
  407. .offset = offsetof(GPBEnum__storage_, name),
  408. .defaultValue.valueString = nil,
  409. .dataTypeSpecific.className = NULL,
  410. .fieldOptions = NULL,
  411. },
  412. {
  413. .name = "enumvalueArray",
  414. .number = GPBEnum_FieldNumber_EnumvalueArray,
  415. .hasIndex = GPBNoHasBit,
  416. .flags = GPBFieldRepeated,
  417. .dataType = GPBDataTypeMessage,
  418. .offset = offsetof(GPBEnum__storage_, enumvalueArray),
  419. .defaultValue.valueMessage = nil,
  420. .dataTypeSpecific.className = GPBStringifySymbol(GPBEnumValue),
  421. .fieldOptions = NULL,
  422. },
  423. {
  424. .name = "optionsArray",
  425. .number = GPBEnum_FieldNumber_OptionsArray,
  426. .hasIndex = GPBNoHasBit,
  427. .flags = GPBFieldRepeated,
  428. .dataType = GPBDataTypeMessage,
  429. .offset = offsetof(GPBEnum__storage_, optionsArray),
  430. .defaultValue.valueMessage = nil,
  431. .dataTypeSpecific.className = GPBStringifySymbol(GPBOption),
  432. .fieldOptions = NULL,
  433. },
  434. {
  435. .name = "sourceContext",
  436. .number = GPBEnum_FieldNumber_SourceContext,
  437. .hasIndex = 3,
  438. .flags = GPBFieldOptional,
  439. .dataType = GPBDataTypeMessage,
  440. .offset = offsetof(GPBEnum__storage_, sourceContext),
  441. .defaultValue.valueMessage = nil,
  442. .dataTypeSpecific.className = GPBStringifySymbol(GPBSourceContext),
  443. .fieldOptions = NULL,
  444. },
  445. };
  446. GPBDescriptor *localDescriptor =
  447. [GPBDescriptor allocDescriptorForClass:[GPBEnum class]
  448. rootClass:[GPBTypeRoot class]
  449. file:GPBTypeRoot_FileDescriptor()
  450. fields:fields
  451. fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription)
  452. oneofs:NULL
  453. oneofCount:0
  454. enums:NULL
  455. enumCount:0
  456. ranges:NULL
  457. rangeCount:0
  458. storageSize:sizeof(GPBEnum__storage_)
  459. wireFormat:NO];
  460. NSAssert(descriptor == nil, @"Startup recursed!");
  461. descriptor = localDescriptor;
  462. }
  463. return descriptor;
  464. }
  465. @end
  466. #pragma mark - GPBEnumValue
  467. @implementation GPBEnumValue
  468. @dynamic name;
  469. @dynamic number;
  470. @dynamic optionsArray, optionsArray_Count;
  471. typedef struct GPBEnumValue__storage_ {
  472. uint32_t _has_storage_[1];
  473. int32_t number;
  474. NSString *name;
  475. NSMutableArray *optionsArray;
  476. } GPBEnumValue__storage_;
  477. // This method is threadsafe because it is initially called
  478. // in +initialize for each subclass.
  479. + (GPBDescriptor *)descriptor {
  480. static GPBDescriptor *descriptor = nil;
  481. if (!descriptor) {
  482. static GPBMessageFieldDescription fields[] = {
  483. {
  484. .name = "name",
  485. .number = GPBEnumValue_FieldNumber_Name,
  486. .hasIndex = 0,
  487. .flags = GPBFieldOptional,
  488. .dataType = GPBDataTypeString,
  489. .offset = offsetof(GPBEnumValue__storage_, name),
  490. .defaultValue.valueString = nil,
  491. .dataTypeSpecific.className = NULL,
  492. .fieldOptions = NULL,
  493. },
  494. {
  495. .name = "number",
  496. .number = GPBEnumValue_FieldNumber_Number,
  497. .hasIndex = 1,
  498. .flags = GPBFieldOptional,
  499. .dataType = GPBDataTypeInt32,
  500. .offset = offsetof(GPBEnumValue__storage_, number),
  501. .defaultValue.valueInt32 = 0,
  502. .dataTypeSpecific.className = NULL,
  503. .fieldOptions = NULL,
  504. },
  505. {
  506. .name = "optionsArray",
  507. .number = GPBEnumValue_FieldNumber_OptionsArray,
  508. .hasIndex = GPBNoHasBit,
  509. .flags = GPBFieldRepeated,
  510. .dataType = GPBDataTypeMessage,
  511. .offset = offsetof(GPBEnumValue__storage_, optionsArray),
  512. .defaultValue.valueMessage = nil,
  513. .dataTypeSpecific.className = GPBStringifySymbol(GPBOption),
  514. .fieldOptions = NULL,
  515. },
  516. };
  517. GPBDescriptor *localDescriptor =
  518. [GPBDescriptor allocDescriptorForClass:[GPBEnumValue class]
  519. rootClass:[GPBTypeRoot class]
  520. file:GPBTypeRoot_FileDescriptor()
  521. fields:fields
  522. fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription)
  523. oneofs:NULL
  524. oneofCount:0
  525. enums:NULL
  526. enumCount:0
  527. ranges:NULL
  528. rangeCount:0
  529. storageSize:sizeof(GPBEnumValue__storage_)
  530. wireFormat:NO];
  531. NSAssert(descriptor == nil, @"Startup recursed!");
  532. descriptor = localDescriptor;
  533. }
  534. return descriptor;
  535. }
  536. @end
  537. #pragma mark - GPBOption
  538. @implementation GPBOption
  539. @dynamic name;
  540. @dynamic hasValue, value;
  541. typedef struct GPBOption__storage_ {
  542. uint32_t _has_storage_[1];
  543. NSString *name;
  544. GPBAny *value;
  545. } GPBOption__storage_;
  546. // This method is threadsafe because it is initially called
  547. // in +initialize for each subclass.
  548. + (GPBDescriptor *)descriptor {
  549. static GPBDescriptor *descriptor = nil;
  550. if (!descriptor) {
  551. static GPBMessageFieldDescription fields[] = {
  552. {
  553. .name = "name",
  554. .number = GPBOption_FieldNumber_Name,
  555. .hasIndex = 0,
  556. .flags = GPBFieldOptional,
  557. .dataType = GPBDataTypeString,
  558. .offset = offsetof(GPBOption__storage_, name),
  559. .defaultValue.valueString = nil,
  560. .dataTypeSpecific.className = NULL,
  561. .fieldOptions = NULL,
  562. },
  563. {
  564. .name = "value",
  565. .number = GPBOption_FieldNumber_Value,
  566. .hasIndex = 1,
  567. .flags = GPBFieldOptional,
  568. .dataType = GPBDataTypeMessage,
  569. .offset = offsetof(GPBOption__storage_, value),
  570. .defaultValue.valueMessage = nil,
  571. .dataTypeSpecific.className = GPBStringifySymbol(GPBAny),
  572. .fieldOptions = NULL,
  573. },
  574. };
  575. GPBDescriptor *localDescriptor =
  576. [GPBDescriptor allocDescriptorForClass:[GPBOption class]
  577. rootClass:[GPBTypeRoot class]
  578. file:GPBTypeRoot_FileDescriptor()
  579. fields:fields
  580. fieldCount:sizeof(fields) / sizeof(GPBMessageFieldDescription)
  581. oneofs:NULL
  582. oneofCount:0
  583. enums:NULL
  584. enumCount:0
  585. ranges:NULL
  586. rangeCount:0
  587. storageSize:sizeof(GPBOption__storage_)
  588. wireFormat:NO];
  589. NSAssert(descriptor == nil, @"Startup recursed!");
  590. descriptor = localDescriptor;
  591. }
  592. return descriptor;
  593. }
  594. @end
  595. // @@protoc_insertion_point(global_scope)