Type.pbobjc.m 24 KB

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