Type.pbobjc.m 24 KB

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