xref: /aosp_15_r20/external/protobuf/objectivec/GPBStruct.pbobjc.m (revision 1b3f573f81763fcece89efc2b6a5209149e44ab8)
1*1b3f573fSAndroid Build Coastguard Worker// Generated by the protocol buffer compiler.  DO NOT EDIT!
2*1b3f573fSAndroid Build Coastguard Worker// source: google/protobuf/struct.proto
3*1b3f573fSAndroid Build Coastguard Worker
4*1b3f573fSAndroid Build Coastguard Worker#import "GPBProtocolBuffers_RuntimeSupport.h"
5*1b3f573fSAndroid Build Coastguard Worker#import "GPBStruct.pbobjc.h"
6*1b3f573fSAndroid Build Coastguard Worker
7*1b3f573fSAndroid Build Coastguard Worker#import <stdatomic.h>
8*1b3f573fSAndroid Build Coastguard Worker
9*1b3f573fSAndroid Build Coastguard Worker// @@protoc_insertion_point(imports)
10*1b3f573fSAndroid Build Coastguard Worker
11*1b3f573fSAndroid Build Coastguard Worker#pragma clang diagnostic push
12*1b3f573fSAndroid Build Coastguard Worker#pragma clang diagnostic ignored "-Wdeprecated-declarations"
13*1b3f573fSAndroid Build Coastguard Worker#pragma clang diagnostic ignored "-Wdirect-ivar-access"
14*1b3f573fSAndroid Build Coastguard Worker#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension"
15*1b3f573fSAndroid Build Coastguard Worker
16*1b3f573fSAndroid Build Coastguard Worker#pragma mark - Objective C Class declarations
17*1b3f573fSAndroid Build Coastguard Worker// Forward declarations of Objective C classes that we can use as
18*1b3f573fSAndroid Build Coastguard Worker// static values in struct initializers.
19*1b3f573fSAndroid Build Coastguard Worker// We don't use [Foo class] because it is not a static value.
20*1b3f573fSAndroid Build Coastguard WorkerGPBObjCClassDeclaration(GPBListValue);
21*1b3f573fSAndroid Build Coastguard WorkerGPBObjCClassDeclaration(GPBStruct);
22*1b3f573fSAndroid Build Coastguard WorkerGPBObjCClassDeclaration(GPBValue);
23*1b3f573fSAndroid Build Coastguard Worker
24*1b3f573fSAndroid Build Coastguard Worker#pragma mark - GPBStructRoot
25*1b3f573fSAndroid Build Coastguard Worker
26*1b3f573fSAndroid Build Coastguard Worker@implementation GPBStructRoot
27*1b3f573fSAndroid Build Coastguard Worker
28*1b3f573fSAndroid Build Coastguard Worker// No extensions in the file and no imports, so no need to generate
29*1b3f573fSAndroid Build Coastguard Worker// +extensionRegistry.
30*1b3f573fSAndroid Build Coastguard Worker
31*1b3f573fSAndroid Build Coastguard Worker@end
32*1b3f573fSAndroid Build Coastguard Worker
33*1b3f573fSAndroid Build Coastguard Worker#pragma mark - GPBStructRoot_FileDescriptor
34*1b3f573fSAndroid Build Coastguard Worker
35*1b3f573fSAndroid Build Coastguard Workerstatic GPBFileDescriptor *GPBStructRoot_FileDescriptor(void) {
36*1b3f573fSAndroid Build Coastguard Worker  // This is called by +initialize so there is no need to worry
37*1b3f573fSAndroid Build Coastguard Worker  // about thread safety of the singleton.
38*1b3f573fSAndroid Build Coastguard Worker  static GPBFileDescriptor *descriptor = NULL;
39*1b3f573fSAndroid Build Coastguard Worker  if (!descriptor) {
40*1b3f573fSAndroid Build Coastguard Worker    GPB_DEBUG_CHECK_RUNTIME_VERSIONS();
41*1b3f573fSAndroid Build Coastguard Worker    descriptor = [[GPBFileDescriptor alloc] initWithPackage:@"google.protobuf"
42*1b3f573fSAndroid Build Coastguard Worker                                                 objcPrefix:@"GPB"
43*1b3f573fSAndroid Build Coastguard Worker                                                     syntax:GPBFileSyntaxProto3];
44*1b3f573fSAndroid Build Coastguard Worker  }
45*1b3f573fSAndroid Build Coastguard Worker  return descriptor;
46*1b3f573fSAndroid Build Coastguard Worker}
47*1b3f573fSAndroid Build Coastguard Worker
48*1b3f573fSAndroid Build Coastguard Worker#pragma mark - Enum GPBNullValue
49*1b3f573fSAndroid Build Coastguard Worker
50*1b3f573fSAndroid Build Coastguard WorkerGPBEnumDescriptor *GPBNullValue_EnumDescriptor(void) {
51*1b3f573fSAndroid Build Coastguard Worker  static _Atomic(GPBEnumDescriptor*) descriptor = nil;
52*1b3f573fSAndroid Build Coastguard Worker  if (!descriptor) {
53*1b3f573fSAndroid Build Coastguard Worker    static const char *valueNames =
54*1b3f573fSAndroid Build Coastguard Worker        "NullValue\000";
55*1b3f573fSAndroid Build Coastguard Worker    static const int32_t values[] = {
56*1b3f573fSAndroid Build Coastguard Worker        GPBNullValue_NullValue,
57*1b3f573fSAndroid Build Coastguard Worker    };
58*1b3f573fSAndroid Build Coastguard Worker    GPBEnumDescriptor *worker =
59*1b3f573fSAndroid Build Coastguard Worker        [GPBEnumDescriptor allocDescriptorForName:GPBNSStringifySymbol(GPBNullValue)
60*1b3f573fSAndroid Build Coastguard Worker                                       valueNames:valueNames
61*1b3f573fSAndroid Build Coastguard Worker                                           values:values
62*1b3f573fSAndroid Build Coastguard Worker                                            count:(uint32_t)(sizeof(values) / sizeof(int32_t))
63*1b3f573fSAndroid Build Coastguard Worker                                     enumVerifier:GPBNullValue_IsValidValue];
64*1b3f573fSAndroid Build Coastguard Worker    GPBEnumDescriptor *expected = nil;
65*1b3f573fSAndroid Build Coastguard Worker    if (!atomic_compare_exchange_strong(&descriptor, &expected, worker)) {
66*1b3f573fSAndroid Build Coastguard Worker      [worker release];
67*1b3f573fSAndroid Build Coastguard Worker    }
68*1b3f573fSAndroid Build Coastguard Worker  }
69*1b3f573fSAndroid Build Coastguard Worker  return descriptor;
70*1b3f573fSAndroid Build Coastguard Worker}
71*1b3f573fSAndroid Build Coastguard Worker
72*1b3f573fSAndroid Build Coastguard WorkerBOOL GPBNullValue_IsValidValue(int32_t value__) {
73*1b3f573fSAndroid Build Coastguard Worker  switch (value__) {
74*1b3f573fSAndroid Build Coastguard Worker    case GPBNullValue_NullValue:
75*1b3f573fSAndroid Build Coastguard Worker      return YES;
76*1b3f573fSAndroid Build Coastguard Worker    default:
77*1b3f573fSAndroid Build Coastguard Worker      return NO;
78*1b3f573fSAndroid Build Coastguard Worker  }
79*1b3f573fSAndroid Build Coastguard Worker}
80*1b3f573fSAndroid Build Coastguard Worker
81*1b3f573fSAndroid Build Coastguard Worker#pragma mark - GPBStruct
82*1b3f573fSAndroid Build Coastguard Worker
83*1b3f573fSAndroid Build Coastguard Worker@implementation GPBStruct
84*1b3f573fSAndroid Build Coastguard Worker
85*1b3f573fSAndroid Build Coastguard Worker@dynamic fields, fields_Count;
86*1b3f573fSAndroid Build Coastguard Worker
87*1b3f573fSAndroid Build Coastguard Workertypedef struct GPBStruct__storage_ {
88*1b3f573fSAndroid Build Coastguard Worker  uint32_t _has_storage_[1];
89*1b3f573fSAndroid Build Coastguard Worker  NSMutableDictionary *fields;
90*1b3f573fSAndroid Build Coastguard Worker} GPBStruct__storage_;
91*1b3f573fSAndroid Build Coastguard Worker
92*1b3f573fSAndroid Build Coastguard Worker// This method is threadsafe because it is initially called
93*1b3f573fSAndroid Build Coastguard Worker// in +initialize for each subclass.
94*1b3f573fSAndroid Build Coastguard Worker+ (GPBDescriptor *)descriptor {
95*1b3f573fSAndroid Build Coastguard Worker  static GPBDescriptor *descriptor = nil;
96*1b3f573fSAndroid Build Coastguard Worker  if (!descriptor) {
97*1b3f573fSAndroid Build Coastguard Worker    static GPBMessageFieldDescription fields[] = {
98*1b3f573fSAndroid Build Coastguard Worker      {
99*1b3f573fSAndroid Build Coastguard Worker        .name = "fields",
100*1b3f573fSAndroid Build Coastguard Worker        .dataTypeSpecific.clazz = GPBObjCClass(GPBValue),
101*1b3f573fSAndroid Build Coastguard Worker        .number = GPBStruct_FieldNumber_Fields,
102*1b3f573fSAndroid Build Coastguard Worker        .hasIndex = GPBNoHasBit,
103*1b3f573fSAndroid Build Coastguard Worker        .offset = (uint32_t)offsetof(GPBStruct__storage_, fields),
104*1b3f573fSAndroid Build Coastguard Worker        .flags = GPBFieldMapKeyString,
105*1b3f573fSAndroid Build Coastguard Worker        .dataType = GPBDataTypeMessage,
106*1b3f573fSAndroid Build Coastguard Worker      },
107*1b3f573fSAndroid Build Coastguard Worker    };
108*1b3f573fSAndroid Build Coastguard Worker    GPBDescriptor *localDescriptor =
109*1b3f573fSAndroid Build Coastguard Worker        [GPBDescriptor allocDescriptorForClass:[GPBStruct class]
110*1b3f573fSAndroid Build Coastguard Worker                                     rootClass:[GPBStructRoot class]
111*1b3f573fSAndroid Build Coastguard Worker                                          file:GPBStructRoot_FileDescriptor()
112*1b3f573fSAndroid Build Coastguard Worker                                        fields:fields
113*1b3f573fSAndroid Build Coastguard Worker                                    fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
114*1b3f573fSAndroid Build Coastguard Worker                                   storageSize:sizeof(GPBStruct__storage_)
115*1b3f573fSAndroid Build Coastguard Worker                                         flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
116*1b3f573fSAndroid Build Coastguard Worker    #if defined(DEBUG) && DEBUG
117*1b3f573fSAndroid Build Coastguard Worker      NSAssert(descriptor == nil, @"Startup recursed!");
118*1b3f573fSAndroid Build Coastguard Worker    #endif  // DEBUG
119*1b3f573fSAndroid Build Coastguard Worker    descriptor = localDescriptor;
120*1b3f573fSAndroid Build Coastguard Worker  }
121*1b3f573fSAndroid Build Coastguard Worker  return descriptor;
122*1b3f573fSAndroid Build Coastguard Worker}
123*1b3f573fSAndroid Build Coastguard Worker
124*1b3f573fSAndroid Build Coastguard Worker@end
125*1b3f573fSAndroid Build Coastguard Worker
126*1b3f573fSAndroid Build Coastguard Worker#pragma mark - GPBValue
127*1b3f573fSAndroid Build Coastguard Worker
128*1b3f573fSAndroid Build Coastguard Worker@implementation GPBValue
129*1b3f573fSAndroid Build Coastguard Worker
130*1b3f573fSAndroid Build Coastguard Worker@dynamic kindOneOfCase;
131*1b3f573fSAndroid Build Coastguard Worker@dynamic nullValue;
132*1b3f573fSAndroid Build Coastguard Worker@dynamic numberValue;
133*1b3f573fSAndroid Build Coastguard Worker@dynamic stringValue;
134*1b3f573fSAndroid Build Coastguard Worker@dynamic boolValue;
135*1b3f573fSAndroid Build Coastguard Worker@dynamic structValue;
136*1b3f573fSAndroid Build Coastguard Worker@dynamic listValue;
137*1b3f573fSAndroid Build Coastguard Worker
138*1b3f573fSAndroid Build Coastguard Workertypedef struct GPBValue__storage_ {
139*1b3f573fSAndroid Build Coastguard Worker  uint32_t _has_storage_[2];
140*1b3f573fSAndroid Build Coastguard Worker  GPBNullValue nullValue;
141*1b3f573fSAndroid Build Coastguard Worker  NSString *stringValue;
142*1b3f573fSAndroid Build Coastguard Worker  GPBStruct *structValue;
143*1b3f573fSAndroid Build Coastguard Worker  GPBListValue *listValue;
144*1b3f573fSAndroid Build Coastguard Worker  double numberValue;
145*1b3f573fSAndroid Build Coastguard Worker} GPBValue__storage_;
146*1b3f573fSAndroid Build Coastguard Worker
147*1b3f573fSAndroid Build Coastguard Worker// This method is threadsafe because it is initially called
148*1b3f573fSAndroid Build Coastguard Worker// in +initialize for each subclass.
149*1b3f573fSAndroid Build Coastguard Worker+ (GPBDescriptor *)descriptor {
150*1b3f573fSAndroid Build Coastguard Worker  static GPBDescriptor *descriptor = nil;
151*1b3f573fSAndroid Build Coastguard Worker  if (!descriptor) {
152*1b3f573fSAndroid Build Coastguard Worker    static GPBMessageFieldDescription fields[] = {
153*1b3f573fSAndroid Build Coastguard Worker      {
154*1b3f573fSAndroid Build Coastguard Worker        .name = "nullValue",
155*1b3f573fSAndroid Build Coastguard Worker        .dataTypeSpecific.enumDescFunc = GPBNullValue_EnumDescriptor,
156*1b3f573fSAndroid Build Coastguard Worker        .number = GPBValue_FieldNumber_NullValue,
157*1b3f573fSAndroid Build Coastguard Worker        .hasIndex = -1,
158*1b3f573fSAndroid Build Coastguard Worker        .offset = (uint32_t)offsetof(GPBValue__storage_, nullValue),
159*1b3f573fSAndroid Build Coastguard Worker        .flags = (GPBFieldFlags)(GPBFieldOptional | GPBFieldHasEnumDescriptor),
160*1b3f573fSAndroid Build Coastguard Worker        .dataType = GPBDataTypeEnum,
161*1b3f573fSAndroid Build Coastguard Worker      },
162*1b3f573fSAndroid Build Coastguard Worker      {
163*1b3f573fSAndroid Build Coastguard Worker        .name = "numberValue",
164*1b3f573fSAndroid Build Coastguard Worker        .dataTypeSpecific.clazz = Nil,
165*1b3f573fSAndroid Build Coastguard Worker        .number = GPBValue_FieldNumber_NumberValue,
166*1b3f573fSAndroid Build Coastguard Worker        .hasIndex = -1,
167*1b3f573fSAndroid Build Coastguard Worker        .offset = (uint32_t)offsetof(GPBValue__storage_, numberValue),
168*1b3f573fSAndroid Build Coastguard Worker        .flags = GPBFieldOptional,
169*1b3f573fSAndroid Build Coastguard Worker        .dataType = GPBDataTypeDouble,
170*1b3f573fSAndroid Build Coastguard Worker      },
171*1b3f573fSAndroid Build Coastguard Worker      {
172*1b3f573fSAndroid Build Coastguard Worker        .name = "stringValue",
173*1b3f573fSAndroid Build Coastguard Worker        .dataTypeSpecific.clazz = Nil,
174*1b3f573fSAndroid Build Coastguard Worker        .number = GPBValue_FieldNumber_StringValue,
175*1b3f573fSAndroid Build Coastguard Worker        .hasIndex = -1,
176*1b3f573fSAndroid Build Coastguard Worker        .offset = (uint32_t)offsetof(GPBValue__storage_, stringValue),
177*1b3f573fSAndroid Build Coastguard Worker        .flags = GPBFieldOptional,
178*1b3f573fSAndroid Build Coastguard Worker        .dataType = GPBDataTypeString,
179*1b3f573fSAndroid Build Coastguard Worker      },
180*1b3f573fSAndroid Build Coastguard Worker      {
181*1b3f573fSAndroid Build Coastguard Worker        .name = "boolValue",
182*1b3f573fSAndroid Build Coastguard Worker        .dataTypeSpecific.clazz = Nil,
183*1b3f573fSAndroid Build Coastguard Worker        .number = GPBValue_FieldNumber_BoolValue,
184*1b3f573fSAndroid Build Coastguard Worker        .hasIndex = -1,
185*1b3f573fSAndroid Build Coastguard Worker        .offset = 0,  // Stored in _has_storage_ to save space.
186*1b3f573fSAndroid Build Coastguard Worker        .flags = GPBFieldOptional,
187*1b3f573fSAndroid Build Coastguard Worker        .dataType = GPBDataTypeBool,
188*1b3f573fSAndroid Build Coastguard Worker      },
189*1b3f573fSAndroid Build Coastguard Worker      {
190*1b3f573fSAndroid Build Coastguard Worker        .name = "structValue",
191*1b3f573fSAndroid Build Coastguard Worker        .dataTypeSpecific.clazz = GPBObjCClass(GPBStruct),
192*1b3f573fSAndroid Build Coastguard Worker        .number = GPBValue_FieldNumber_StructValue,
193*1b3f573fSAndroid Build Coastguard Worker        .hasIndex = -1,
194*1b3f573fSAndroid Build Coastguard Worker        .offset = (uint32_t)offsetof(GPBValue__storage_, structValue),
195*1b3f573fSAndroid Build Coastguard Worker        .flags = GPBFieldOptional,
196*1b3f573fSAndroid Build Coastguard Worker        .dataType = GPBDataTypeMessage,
197*1b3f573fSAndroid Build Coastguard Worker      },
198*1b3f573fSAndroid Build Coastguard Worker      {
199*1b3f573fSAndroid Build Coastguard Worker        .name = "listValue",
200*1b3f573fSAndroid Build Coastguard Worker        .dataTypeSpecific.clazz = GPBObjCClass(GPBListValue),
201*1b3f573fSAndroid Build Coastguard Worker        .number = GPBValue_FieldNumber_ListValue,
202*1b3f573fSAndroid Build Coastguard Worker        .hasIndex = -1,
203*1b3f573fSAndroid Build Coastguard Worker        .offset = (uint32_t)offsetof(GPBValue__storage_, listValue),
204*1b3f573fSAndroid Build Coastguard Worker        .flags = GPBFieldOptional,
205*1b3f573fSAndroid Build Coastguard Worker        .dataType = GPBDataTypeMessage,
206*1b3f573fSAndroid Build Coastguard Worker      },
207*1b3f573fSAndroid Build Coastguard Worker    };
208*1b3f573fSAndroid Build Coastguard Worker    GPBDescriptor *localDescriptor =
209*1b3f573fSAndroid Build Coastguard Worker        [GPBDescriptor allocDescriptorForClass:[GPBValue class]
210*1b3f573fSAndroid Build Coastguard Worker                                     rootClass:[GPBStructRoot class]
211*1b3f573fSAndroid Build Coastguard Worker                                          file:GPBStructRoot_FileDescriptor()
212*1b3f573fSAndroid Build Coastguard Worker                                        fields:fields
213*1b3f573fSAndroid Build Coastguard Worker                                    fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
214*1b3f573fSAndroid Build Coastguard Worker                                   storageSize:sizeof(GPBValue__storage_)
215*1b3f573fSAndroid Build Coastguard Worker                                         flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
216*1b3f573fSAndroid Build Coastguard Worker    static const char *oneofs[] = {
217*1b3f573fSAndroid Build Coastguard Worker      "kind",
218*1b3f573fSAndroid Build Coastguard Worker    };
219*1b3f573fSAndroid Build Coastguard Worker    [localDescriptor setupOneofs:oneofs
220*1b3f573fSAndroid Build Coastguard Worker                           count:(uint32_t)(sizeof(oneofs) / sizeof(char*))
221*1b3f573fSAndroid Build Coastguard Worker                   firstHasIndex:-1];
222*1b3f573fSAndroid Build Coastguard Worker    #if defined(DEBUG) && DEBUG
223*1b3f573fSAndroid Build Coastguard Worker      NSAssert(descriptor == nil, @"Startup recursed!");
224*1b3f573fSAndroid Build Coastguard Worker    #endif  // DEBUG
225*1b3f573fSAndroid Build Coastguard Worker    descriptor = localDescriptor;
226*1b3f573fSAndroid Build Coastguard Worker  }
227*1b3f573fSAndroid Build Coastguard Worker  return descriptor;
228*1b3f573fSAndroid Build Coastguard Worker}
229*1b3f573fSAndroid Build Coastguard Worker
230*1b3f573fSAndroid Build Coastguard Worker@end
231*1b3f573fSAndroid Build Coastguard Worker
232*1b3f573fSAndroid Build Coastguard Workerint32_t GPBValue_NullValue_RawValue(GPBValue *message) {
233*1b3f573fSAndroid Build Coastguard Worker  GPBDescriptor *descriptor = [GPBValue descriptor];
234*1b3f573fSAndroid Build Coastguard Worker  GPBFieldDescriptor *field = [descriptor fieldWithNumber:GPBValue_FieldNumber_NullValue];
235*1b3f573fSAndroid Build Coastguard Worker  return GPBGetMessageRawEnumField(message, field);
236*1b3f573fSAndroid Build Coastguard Worker}
237*1b3f573fSAndroid Build Coastguard Worker
238*1b3f573fSAndroid Build Coastguard Workervoid SetGPBValue_NullValue_RawValue(GPBValue *message, int32_t value) {
239*1b3f573fSAndroid Build Coastguard Worker  GPBDescriptor *descriptor = [GPBValue descriptor];
240*1b3f573fSAndroid Build Coastguard Worker  GPBFieldDescriptor *field = [descriptor fieldWithNumber:GPBValue_FieldNumber_NullValue];
241*1b3f573fSAndroid Build Coastguard Worker  GPBSetMessageRawEnumField(message, field, value);
242*1b3f573fSAndroid Build Coastguard Worker}
243*1b3f573fSAndroid Build Coastguard Worker
244*1b3f573fSAndroid Build Coastguard Workervoid GPBValue_ClearKindOneOfCase(GPBValue *message) {
245*1b3f573fSAndroid Build Coastguard Worker  GPBDescriptor *descriptor = [GPBValue descriptor];
246*1b3f573fSAndroid Build Coastguard Worker  GPBOneofDescriptor *oneof = [descriptor.oneofs objectAtIndex:0];
247*1b3f573fSAndroid Build Coastguard Worker  GPBClearOneof(message, oneof);
248*1b3f573fSAndroid Build Coastguard Worker}
249*1b3f573fSAndroid Build Coastguard Worker#pragma mark - GPBListValue
250*1b3f573fSAndroid Build Coastguard Worker
251*1b3f573fSAndroid Build Coastguard Worker@implementation GPBListValue
252*1b3f573fSAndroid Build Coastguard Worker
253*1b3f573fSAndroid Build Coastguard Worker@dynamic valuesArray, valuesArray_Count;
254*1b3f573fSAndroid Build Coastguard Worker
255*1b3f573fSAndroid Build Coastguard Workertypedef struct GPBListValue__storage_ {
256*1b3f573fSAndroid Build Coastguard Worker  uint32_t _has_storage_[1];
257*1b3f573fSAndroid Build Coastguard Worker  NSMutableArray *valuesArray;
258*1b3f573fSAndroid Build Coastguard Worker} GPBListValue__storage_;
259*1b3f573fSAndroid Build Coastguard Worker
260*1b3f573fSAndroid Build Coastguard Worker// This method is threadsafe because it is initially called
261*1b3f573fSAndroid Build Coastguard Worker// in +initialize for each subclass.
262*1b3f573fSAndroid Build Coastguard Worker+ (GPBDescriptor *)descriptor {
263*1b3f573fSAndroid Build Coastguard Worker  static GPBDescriptor *descriptor = nil;
264*1b3f573fSAndroid Build Coastguard Worker  if (!descriptor) {
265*1b3f573fSAndroid Build Coastguard Worker    static GPBMessageFieldDescription fields[] = {
266*1b3f573fSAndroid Build Coastguard Worker      {
267*1b3f573fSAndroid Build Coastguard Worker        .name = "valuesArray",
268*1b3f573fSAndroid Build Coastguard Worker        .dataTypeSpecific.clazz = GPBObjCClass(GPBValue),
269*1b3f573fSAndroid Build Coastguard Worker        .number = GPBListValue_FieldNumber_ValuesArray,
270*1b3f573fSAndroid Build Coastguard Worker        .hasIndex = GPBNoHasBit,
271*1b3f573fSAndroid Build Coastguard Worker        .offset = (uint32_t)offsetof(GPBListValue__storage_, valuesArray),
272*1b3f573fSAndroid Build Coastguard Worker        .flags = GPBFieldRepeated,
273*1b3f573fSAndroid Build Coastguard Worker        .dataType = GPBDataTypeMessage,
274*1b3f573fSAndroid Build Coastguard Worker      },
275*1b3f573fSAndroid Build Coastguard Worker    };
276*1b3f573fSAndroid Build Coastguard Worker    GPBDescriptor *localDescriptor =
277*1b3f573fSAndroid Build Coastguard Worker        [GPBDescriptor allocDescriptorForClass:[GPBListValue class]
278*1b3f573fSAndroid Build Coastguard Worker                                     rootClass:[GPBStructRoot class]
279*1b3f573fSAndroid Build Coastguard Worker                                          file:GPBStructRoot_FileDescriptor()
280*1b3f573fSAndroid Build Coastguard Worker                                        fields:fields
281*1b3f573fSAndroid Build Coastguard Worker                                    fieldCount:(uint32_t)(sizeof(fields) / sizeof(GPBMessageFieldDescription))
282*1b3f573fSAndroid Build Coastguard Worker                                   storageSize:sizeof(GPBListValue__storage_)
283*1b3f573fSAndroid Build Coastguard Worker                                         flags:(GPBDescriptorInitializationFlags)(GPBDescriptorInitializationFlag_UsesClassRefs | GPBDescriptorInitializationFlag_Proto3OptionalKnown)];
284*1b3f573fSAndroid Build Coastguard Worker    #if defined(DEBUG) && DEBUG
285*1b3f573fSAndroid Build Coastguard Worker      NSAssert(descriptor == nil, @"Startup recursed!");
286*1b3f573fSAndroid Build Coastguard Worker    #endif  // DEBUG
287*1b3f573fSAndroid Build Coastguard Worker    descriptor = localDescriptor;
288*1b3f573fSAndroid Build Coastguard Worker  }
289*1b3f573fSAndroid Build Coastguard Worker  return descriptor;
290*1b3f573fSAndroid Build Coastguard Worker}
291*1b3f573fSAndroid Build Coastguard Worker
292*1b3f573fSAndroid Build Coastguard Worker@end
293*1b3f573fSAndroid Build Coastguard Worker
294*1b3f573fSAndroid Build Coastguard Worker
295*1b3f573fSAndroid Build Coastguard Worker#pragma clang diagnostic pop
296*1b3f573fSAndroid Build Coastguard Worker
297*1b3f573fSAndroid Build Coastguard Worker// @@protoc_insertion_point(global_scope)
298