Type.pbobjc.m 24 KB

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