Type.pbobjc.m 24 KB

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