42 GPBFieldRequired = 1 << 0,
43 GPBFieldRepeated = 1 << 1,
44 GPBFieldPacked = 1 << 2,
45 GPBFieldOptional = 1 << 3,
46 GPBFieldHasDefaultValue = 1 << 4,
50 GPBFieldTextFormatNameCustom = 1 << 6,
52 GPBFieldHasEnumDescriptor = 1 << 7,
59 GPBFieldMapKeyMask = 0xF << 8,
60 GPBFieldMapKeyInt32 = 1 << 8,
61 GPBFieldMapKeyInt64 = 2 << 8,
62 GPBFieldMapKeyUInt32 = 3 << 8,
63 GPBFieldMapKeyUInt64 = 4 << 8,
64 GPBFieldMapKeySInt32 = 5 << 8,
65 GPBFieldMapKeySInt64 = 6 << 8,
66 GPBFieldMapKeyFixed32 = 7 << 8,
67 GPBFieldMapKeyFixed64 = 8 << 8,
68 GPBFieldMapKeySFixed32 = 9 << 8,
69 GPBFieldMapKeySFixed64 = 10 << 8,
70 GPBFieldMapKeyBool = 11 << 8,
71 GPBFieldMapKeyString = 12 << 8,
115 GPBExtensionNone = 0,
117 GPBExtensionRepeated = 1 << 0,
118 GPBExtensionPacked = 1 << 1,
119 GPBExtensionSetWireFormat = 1 << 2,
134 typedef NS_OPTIONS(uint32_t, GPBDescriptorInitializationFlags) {
135 GPBDescriptorInitializationFlag_None = 0,
136 GPBDescriptorInitializationFlag_FieldsWithDefault = 1 << 0,
137 GPBDescriptorInitializationFlag_WireFormat = 1 << 1,
149 allocDescriptorForClass:(Class)messageClass
150 rootClass:(Class)rootClass
152 fields:(
void *)fieldDescriptions
153 fieldCount:(uint32_t)fieldCount
154 storageSize:(uint32_t)storageSize
155 flags:(GPBDescriptorInitializationFlags)flags;
157 - (instancetype)initWithClass:(Class)messageClass
159 fields:(NSArray *)fields
160 storageSize:(uint32_t)storage
161 wireFormat:(BOOL)wireFormat;
166 - (
void)setupOneofs:(
const char **)oneofNames
167 count:(uint32_t)count
168 firstHasIndex:(int32_t)firstHasIndex;
169 - (
void)setupExtraTextInfo:(
const char *)extraTextFormatInfo;
171 - (
void)setupContainingMessageClassName:(
const char *)msgClassName;
172 - (
void)setupMessageClassNameSuffix:(NSString *)suffix;
177 - (instancetype)initWithPackage:(NSString *)package
178 objcPrefix:(NSString *)objcPrefix
179 syntax:(GPBFileSyntax)syntax;
180 - (instancetype)initWithPackage:(NSString *)package
181 syntax:(GPBFileSyntax)syntax;
191 - (instancetype)initWithName:(
const char *)name fields:(NSArray *)fields;
196 GPBMessageFieldDescription *description_;
207 - (instancetype)initWithFieldDescription:(
void *)description
208 includesDefault:(BOOL)includesDefault
209 syntax:(GPBFileSyntax)syntax;
216 allocDescriptorForName:(NSString *)name
217 valueNames:(
const char *)valueNames
218 values:(
const int32_t *)values
219 count:(uint32_t)valueCount
222 allocDescriptorForName:(NSString *)name
223 valueNames:(
const char *)valueNames
224 values:(
const int32_t *)values
225 count:(uint32_t)valueCount
227 extraTextFormatInfo:(
const char *)extraTextFormatInfo;
229 - (instancetype)initWithName:(NSString *)name
230 valueNames:(
const char *)valueNames
231 values:(
const int32_t *)values
232 count:(uint32_t)valueCount
238 GPBExtensionDescription *description_;
249 - (instancetype)initWithExtensionDescription:
259 #pragma clang diagnostic push
260 #pragma clang diagnostic ignored "-Wdirect-ivar-access"
263 return (
field->description_->flags &
264 (GPBFieldRepeated | GPBFieldMapKeyMask)) != 0;
268 return field->description_->dataType;
272 return field->description_->hasIndex;
276 return field->description_->number;
279 #pragma clang diagnostic pop
290 return syntax == GPBFileSyntaxProto3;
294 return (
description->options & GPBExtensionRepeated) != 0;
298 return (
description->options & GPBExtensionPacked) != 0;
302 return (
description->options & GPBExtensionSetWireFormat) != 0;
306 #ifndef GPBInternalCompileAssert
307 #if __has_feature(c_static_assert) || __has_extension(c_static_assert)
308 #define GPBInternalCompileAssert(test, msg) _Static_assert((test), #msg)
311 #define GPBInternalCompileAssertSymbolInner(line, msg) GPBInternalCompileAssert ## line ## __ ## msg
312 #define GPBInternalCompileAssertSymbol(line, msg) GPBInternalCompileAssertSymbolInner(line, msg)
313 #define GPBInternalCompileAssert(test, msg) \
314 typedef char GPBInternalCompileAssertSymbol(__LINE__, msg) [ ((test) ? 1 : -1) ]
315 #endif // __has_feature(c_static_assert) || __has_extension(c_static_assert)
316 #endif // GPBInternalCompileAssert
323 DescriptionsWithDefault_different_size_than_expected);