protobuf/objectivec/GPBUtilities_PackagePrivate.h
Go to the documentation of this file.
1 // Protocol Buffers - Google's data interchange format
2 // Copyright 2008 Google Inc. All rights reserved.
3 // https://developers.google.com/protocol-buffers/
4 //
5 // Redistribution and use in source and binary forms, with or without
6 // modification, are permitted provided that the following conditions are
7 // met:
8 //
9 // * Redistributions of source code must retain the above copyright
10 // notice, this list of conditions and the following disclaimer.
11 // * Redistributions in binary form must reproduce the above
12 // copyright notice, this list of conditions and the following disclaimer
13 // in the documentation and/or other materials provided with the
14 // distribution.
15 // * Neither the name of Google Inc. nor the names of its
16 // contributors may be used to endorse or promote products derived from
17 // this software without specific prior written permission.
18 //
19 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 
31 #import <Foundation/Foundation.h>
32 
33 #import "GPBUtilities.h"
34 
36 
37 // Macros for stringifying library symbols. These are used in the generated
38 // GPB descriptor classes wherever a library symbol name is represented as a
39 // string.
40 #define GPBStringify(S) #S
41 #define GPBStringifySymbol(S) GPBStringify(S)
42 
43 #define GPBNSStringify(S) @#S
44 #define GPBNSStringifySymbol(S) GPBNSStringify(S)
45 
46 // Macros for generating a Class from a class name. These are used in
47 // the generated GPB descriptor classes wherever an Objective C class
48 // reference is needed for a generated class.
49 #define GPBObjCClassSymbol(name) OBJC_CLASS_$_##name
50 #define GPBObjCClass(name) \
51  ((__bridge Class)&(GPBObjCClassSymbol(name)))
52 #define GPBObjCClassDeclaration(name) \
53  extern const GPBObjcClass_t GPBObjCClassSymbol(name)
54 
55 // Constant to internally mark when there is no has bit.
56 #define GPBNoHasBit INT32_MAX
57 
58 CF_EXTERN_C_BEGIN
59 
60 // These two are used to inject a runtime check for version mismatch into the
61 // generated sources to make sure they are linked with a supporting runtime.
62 void GPBCheckRuntimeVersionSupport(int32_t objcRuntimeVersion);
64  // NOTE: By being inline here, this captures the value from the library's
65  // headers at the time the generated code was compiled.
66 #if defined(DEBUG) && DEBUG
68 #endif
69 }
70 
71 // Legacy version of the checks, remove when GOOGLE_PROTOBUF_OBJC_GEN_VERSION
72 // goes away (see more info in GPBBootstrap.h).
75 #if defined(DEBUG) && DEBUG
77 #endif
78 }
79 
80 // Conversion functions for de/serializing floating point types.
81 
83  GPBInternalCompileAssert(sizeof(double) == sizeof(int64_t), double_not_64_bits);
85  memcpy(&result, &v, sizeof(result));
86  return result;
87 }
88 
90  GPBInternalCompileAssert(sizeof(float) == sizeof(int32_t), float_not_32_bits);
92  memcpy(&result, &v, sizeof(result));
93  return result;
94 }
95 
97  GPBInternalCompileAssert(sizeof(double) == sizeof(int64_t), double_not_64_bits);
98  double result;
99  memcpy(&result, &v, sizeof(result));
100  return result;
101 }
102 
104  GPBInternalCompileAssert(sizeof(float) == sizeof(int32_t), float_not_32_bits);
105  float result;
106  memcpy(&result, &v, sizeof(result));
107  return result;
108 }
109 
111  return (int32_t)((uint32_t)(value) >> spaces);
112 }
113 
115  return (int64_t)((uint64_t)(value) >> spaces);
116 }
117 
118 // Decode a ZigZag-encoded 32-bit value. ZigZag encodes signed integers
119 // into values that can be efficiently encoded with varint. (Otherwise,
120 // negative values must be sign-extended to 64 bits to be varint encoded,
121 // thus always taking 10 bytes on the wire.)
123  return (int32_t)(GPBLogicalRightShift32((int32_t)n, 1) ^ -((int32_t)(n) & 1));
124 }
125 
126 // Decode a ZigZag-encoded 64-bit value. ZigZag encodes signed integers
127 // into values that can be efficiently encoded with varint. (Otherwise,
128 // negative values must be sign-extended to 64 bits to be varint encoded,
129 // thus always taking 10 bytes on the wire.)
131  return (int64_t)(GPBLogicalRightShift64((int64_t)n, 1) ^ -((int64_t)(n) & 1));
132 }
133 
134 // Encode a ZigZag-encoded 32-bit value. ZigZag encodes signed integers
135 // into values that can be efficiently encoded with varint. (Otherwise,
136 // negative values must be sign-extended to 64 bits to be varint encoded,
137 // thus always taking 10 bytes on the wire.)
139  // Note: the right-shift must be arithmetic
140  return ((uint32_t)n << 1) ^ (uint32_t)(n >> 31);
141 }
142 
143 // Encode a ZigZag-encoded 64-bit value. ZigZag encodes signed integers
144 // into values that can be efficiently encoded with varint. (Otherwise,
145 // negative values must be sign-extended to 64 bits to be varint encoded,
146 // thus always taking 10 bytes on the wire.)
148  // Note: the right-shift must be arithmetic
149  return ((uint64_t)n << 1) ^ (uint64_t)(n >> 63);
150 }
151 
152 #pragma clang diagnostic push
153 #pragma clang diagnostic ignored "-Wswitch-enum"
154 #pragma clang diagnostic ignored "-Wdirect-ivar-access"
155 
157  switch (type) {
158  case GPBDataTypeBytes:
159  case GPBDataTypeString:
160  case GPBDataTypeMessage:
161  case GPBDataTypeGroup:
162  return YES;
163  default:
164  return NO;
165  }
166 }
167 
169  switch (type) {
170  case GPBDataTypeMessage:
171  case GPBDataTypeGroup:
172  return YES;
173  default:
174  return NO;
175  }
176 }
177 
179  return GPBDataTypeIsMessage(field->description_->dataType);
180 }
181 
183  return GPBDataTypeIsObject(field->description_->dataType);
184 }
185 
187  return GPBDataTypeIsMessage(ext->description_->dataType);
188 }
189 
190 // The field is an array/map or it has an object value.
192  GPBMessageFieldDescription *desc = field->description_;
193  if ((desc->flags & (GPBFieldRepeated | GPBFieldMapKeyMask)) != 0) {
194  return YES;
195  }
196  return GPBDataTypeIsObject(desc->dataType);
197 }
198 
199 BOOL GPBGetHasIvar(GPBMessage *self, int32_t index, uint32_t fieldNumber);
200 void GPBSetHasIvar(GPBMessage *self, int32_t idx, uint32_t fieldNumber,
201  BOOL value);
203 
206  GPBMessageFieldDescription *fieldDesc = field->description_;
207  return GPBGetHasIvar(self, fieldDesc->hasIndex, fieldDesc->number);
208 }
209 
210 #pragma clang diagnostic pop
211 
212 //%PDDM-DEFINE GPB_IVAR_SET_DECL(NAME, TYPE)
213 //%void GPBSet##NAME##IvarWithFieldPrivate(GPBMessage *self,
214 //% NAME$S GPBFieldDescriptor *field,
215 //% NAME$S TYPE value);
216 //%PDDM-EXPAND GPB_IVAR_SET_DECL(Bool, BOOL)
217 // This block of code is generated, do not edit it directly.
218 // clang-format off
219 
222  BOOL value);
223 // clang-format on
224 //%PDDM-EXPAND GPB_IVAR_SET_DECL(Int32, int32_t)
225 // This block of code is generated, do not edit it directly.
226 // clang-format off
227 
230  int32_t value);
231 // clang-format on
232 //%PDDM-EXPAND GPB_IVAR_SET_DECL(UInt32, uint32_t)
233 // This block of code is generated, do not edit it directly.
234 // clang-format off
235 
238  uint32_t value);
239 // clang-format on
240 //%PDDM-EXPAND GPB_IVAR_SET_DECL(Int64, int64_t)
241 // This block of code is generated, do not edit it directly.
242 // clang-format off
243 
246  int64_t value);
247 // clang-format on
248 //%PDDM-EXPAND GPB_IVAR_SET_DECL(UInt64, uint64_t)
249 // This block of code is generated, do not edit it directly.
250 // clang-format off
251 
254  uint64_t value);
255 // clang-format on
256 //%PDDM-EXPAND GPB_IVAR_SET_DECL(Float, float)
257 // This block of code is generated, do not edit it directly.
258 // clang-format off
259 
262  float value);
263 // clang-format on
264 //%PDDM-EXPAND GPB_IVAR_SET_DECL(Double, double)
265 // This block of code is generated, do not edit it directly.
266 // clang-format off
267 
270  double value);
271 // clang-format on
272 //%PDDM-EXPAND-END (7 expansions)
273 
276  int32_t value);
277 
279 
284  id __attribute__((ns_consumed))
285  value);
286 
287 // GPBGetObjectIvarWithField will automatically create the field (message) if
288 // it doesn't exist. GPBGetObjectIvarWithFieldNoAutocreate will return nil.
291 
292 // Clears and releases the autocreated message ivar, if it's autocreated. If
293 // it's not set as autocreated, this method does nothing.
296 
297 // Returns an Objective C encoding for |selector|. |instanceSel| should be
298 // YES if it's an instance selector (as opposed to a class selector).
299 // |selector| must be a selector from MessageSignatureProtocol.
300 const char *GPBMessageEncodingForSelector(SEL selector, BOOL instanceSel);
301 
302 // Helper for text format name encoding.
303 // decodeData is the data describing the special decodes.
304 // key and inputString are the input that needs decoding.
305 NSString *GPBDecodeTextFormatName(const uint8_t *decodeData, int32_t key,
306  NSString *inputString);
307 
308 
309 // Shims from the older generated code into the runtime.
312  int32_t value,
313  GPBFileSyntax syntax);
315  int32_t oneofHasIndex, uint32_t fieldNumberNotToClear);
316 
317 // A series of selectors that are used solely to get @encoding values
318 // for them by the dynamic protobuf runtime code. See
319 // GPBMessageEncodingForSelector for details. GPBRootObject conforms to
320 // the protocol so that it is encoded in the Objective C runtime.
322 @optional
323 
324 #define GPB_MESSAGE_SIGNATURE_ENTRY(TYPE, NAME) \
325  -(TYPE)get##NAME; \
326  -(void)set##NAME : (TYPE)value; \
327  -(TYPE)get##NAME##AtIndex : (NSUInteger)index;
328 
343 GPB_MESSAGE_SIGNATURE_ENTRY(NSString *, String)
347 
348 #undef GPB_MESSAGE_SIGNATURE_ENTRY
349 
350 - (id)getArray;
351 - (NSUInteger)getArrayCount;
352 - (void)setArray:(NSArray *)array;
353 + (id)getClassValue;
354 @end
355 
356 BOOL GPBClassHasSel(Class aClass, SEL sel);
357 
358 CF_EXTERN_C_END
GOOGLE_PROTOBUF_OBJC_GEN_VERSION
#define GOOGLE_PROTOBUF_OBJC_GEN_VERSION
Definition: bloaty/third_party/protobuf/objectivec/GPBBootstrap.h:141
GPBDataTypeIsMessage
GPB_INLINE BOOL GPBDataTypeIsMessage(GPBDataType type)
Definition: protobuf/objectivec/GPBUtilities_PackagePrivate.h:168
_gevent_test_main.result
result
Definition: _gevent_test_main.py:96
GPBSetUInt32IvarWithFieldPrivate
void GPBSetUInt32IvarWithFieldPrivate(GPBMessage *self, GPBFieldDescriptor *field, uint32_t value)
Bytes
Definition: boringssl-with-bazel/src/crypto/test/test_util.h:38
-[GPBMessageSignatureProtocol-p getArrayCount]
NSUInteger getArrayCount()
GPBOneofDescriptor
Definition: bloaty/third_party/protobuf/objectivec/GPBDescriptor.h:138
GPBSetEnumIvarWithFieldPrivate
void GPBSetEnumIvarWithFieldPrivate(GPBMessage *self, GPBFieldDescriptor *field, int32_t value)
testing::internal::Int32
TypeWithSize< 4 >::Int Int32
Definition: bloaty/third_party/googletest/googletest/include/gtest/internal/gtest-port.h:2159
GOOGLE_PROTOBUF_OBJC_VERSION
#define GOOGLE_PROTOBUF_OBJC_VERSION
Definition: bloaty/third_party/protobuf/objectivec/GPBBootstrap.h:130
GPBSetHasIvar
void GPBSetHasIvar(GPBMessage *self, int32_t idx, uint32_t fieldNumber, BOOL value)
Bool
Definition: bloaty/third_party/googletest/googletest/test/gtest_pred_impl_unittest.cc:56
GPBConvertFloatToInt32
GPB_INLINE int32_t GPBConvertFloatToInt32(float v)
Definition: protobuf/objectivec/GPBUtilities_PackagePrivate.h:89
Group
TypeAndValue Group(UnknownFields nested)
Definition: upb/upb/util/compare_test.cc:101
GPBGetHasOneof
uint32_t GPBGetHasOneof(GPBMessage *self, int32_t index)
ext
void * ext
Definition: x509v3.h:87
GPBClassHasSel
BOOL GPBClassHasSel(Class aClass, SEL sel)
GPBFieldDataTypeIsMessage
GPB_INLINE BOOL GPBFieldDataTypeIsMessage(GPBFieldDescriptor *field)
Definition: protobuf/objectivec/GPBUtilities_PackagePrivate.h:178
GPBMessageSignatureProtocol-p
Definition: bloaty/third_party/protobuf/objectivec/GPBUtilities_PackagePrivate.h:314
testing::internal::UInt64
TypeWithSize< 8 >::UInt UInt64
Definition: bloaty/third_party/googletest/googletest/include/gtest/internal/gtest-port.h:2162
GPBMessageFieldDescription::number
uint32_t number
Definition: bloaty/third_party/protobuf/objectivec/GPBDescriptor_PackagePrivate.h:90
version
Definition: version.py:1
GPB_DEBUG_CHECK_RUNTIME_VERSIONS
GPB_INLINE void GPB_DEBUG_CHECK_RUNTIME_VERSIONS()
Definition: protobuf/objectivec/GPBUtilities_PackagePrivate.h:63
GPBGetObjectIvarWithFieldNoAutocreate
id GPBGetObjectIvarWithFieldNoAutocreate(GPBMessage *self, GPBFieldDescriptor *field)
testing::internal::UInt32
TypeWithSize< 4 >::UInt UInt32
Definition: bloaty/third_party/googletest/googletest/include/gtest/internal/gtest-port.h:2160
GPBDataTypeIsObject
GPB_INLINE BOOL GPBDataTypeIsObject(GPBDataType type)
Definition: protobuf/objectivec/GPBUtilities_PackagePrivate.h:156
GPBLogicalRightShift32
GPB_INLINE int32_t GPBLogicalRightShift32(int32_t value, int32_t spaces)
Definition: protobuf/objectivec/GPBUtilities_PackagePrivate.h:110
uint8_t
unsigned char uint8_t
Definition: stdint-msvc2008.h:78
GPBGetHasIvar
BOOL GPBGetHasIvar(GPBMessage *self, int32_t index, uint32_t fieldNumber)
GPBMaybeClearOneof
void GPBMaybeClearOneof(GPBMessage *self, GPBOneofDescriptor *oneof, int32_t oneofHasIndex, uint32_t fieldNumberNotToClear)
GPBConvertDoubleToInt64
GPB_INLINE int64_t GPBConvertDoubleToInt64(double v)
Definition: protobuf/objectivec/GPBUtilities_PackagePrivate.h:82
BOOL
int BOOL
Definition: undname.c:46
Enum
Definition: bloaty/third_party/protobuf/src/google/protobuf/type.pb.h:867
GPBSetBoolIvarWithFieldPrivate
void GPBSetBoolIvarWithFieldPrivate(GPBMessage *self, GPBFieldDescriptor *field, BOOL value)
GPBConvertInt64ToDouble
GPB_INLINE double GPBConvertInt64ToDouble(int64_t v)
Definition: protobuf/objectivec/GPBUtilities_PackagePrivate.h:96
GPBSetInt64IvarWithFieldPrivate
void GPBSetInt64IvarWithFieldPrivate(GPBMessage *self, GPBFieldDescriptor *field, int64_t value)
uint32_t
unsigned int uint32_t
Definition: stdint-msvc2008.h:80
memcpy
memcpy(mem, inblock.get(), min(CONTAINING_RECORD(inblock.get(), MEMBLOCK, data) ->size, size))
GPBFieldDataTypeIsObject
GPB_INLINE BOOL GPBFieldDataTypeIsObject(GPBFieldDescriptor *field)
Definition: protobuf/objectivec/GPBUtilities_PackagePrivate.h:182
benchmark.syntax
syntax
Definition: benchmark.py:90
GPBDecodeTextFormatName
NSString * GPBDecodeTextFormatName(const uint8_t *decodeData, int32_t key, NSString *inputString)
+[GPBMessageSignatureProtocol-p getClassValue]
id getClassValue()
int64_t
signed __int64 int64_t
Definition: stdint-msvc2008.h:89
GPB_MESSAGE_SIGNATURE_ENTRY
#define GPB_MESSAGE_SIGNATURE_ENTRY(TYPE, NAME)
Definition: protobuf/objectivec/GPBUtilities_PackagePrivate.h:324
setup.v
v
Definition: third_party/bloaty/third_party/capstone/bindings/python/setup.py:42
testing::internal::Float
FloatingPoint< float > Float
Definition: bloaty/third_party/googletest/googletest/include/gtest/internal/gtest-internal.h:396
GPBGetHasIvarField
GPB_INLINE BOOL GPBGetHasIvarField(GPBMessage *self, GPBFieldDescriptor *field)
Definition: protobuf/objectivec/GPBUtilities_PackagePrivate.h:205
uint64_t
unsigned __int64 uint64_t
Definition: stdint-msvc2008.h:90
GPBSetRetainedObjectIvarWithFieldPrivate
void GPBSetRetainedObjectIvarWithFieldPrivate(GPBMessage *self, GPBFieldDescriptor *field, id __attribute__((ns_consumed)) value)
GPBExtensionIsMessage
GPB_INLINE BOOL GPBExtensionIsMessage(GPBExtensionDescriptor *ext)
Definition: protobuf/objectivec/GPBUtilities_PackagePrivate.h:186
__attribute__
__attribute__(void) start
GPBMessageEncodingForSelector
const char * GPBMessageEncodingForSelector(SEL selector, BOOL instanceSel)
GPBDecodeZigZag32
GPB_INLINE int32_t GPBDecodeZigZag32(uint32_t n)
Definition: protobuf/objectivec/GPBUtilities_PackagePrivate.h:122
GPBCheckRuntimeVersionInternal
void GPBCheckRuntimeVersionInternal(int32_t version)
Fixed64
TypeAndValue Fixed64(uint64_t val)
Definition: upb/upb/util/compare_test.cc:83
n
int n
Definition: abseil-cpp/absl/container/btree_test.cc:1080
setup.idx
idx
Definition: third_party/bloaty/third_party/capstone/bindings/python/setup.py:197
GPBDecodeZigZag64
GPB_INLINE int64_t GPBDecodeZigZag64(uint64_t n)
Definition: protobuf/objectivec/GPBUtilities_PackagePrivate.h:130
GPBMessageFieldDescription::hasIndex
int32_t hasIndex
Definition: bloaty/third_party/protobuf/objectivec/GPBDescriptor_PackagePrivate.h:95
GPBUtilities.h
value
const char * value
Definition: hpack_parser_table.cc:165
field
const FieldDescriptor * field
Definition: bloaty/third_party/protobuf/src/google/protobuf/compiler/parser_unittest.cc:2692
GPBDebugCheckRuntimeVersion
GPB_INLINE void GPBDebugCheckRuntimeVersion()
Definition: protobuf/objectivec/GPBUtilities_PackagePrivate.h:74
key
const char * key
Definition: hpack_parser_table.cc:164
GPBFieldDescriptor
Definition: bloaty/third_party/protobuf/objectivec/GPBDescriptor.h:167
GPBExtensionDescriptor
Definition: bloaty/third_party/protobuf/objectivec/GPBDescriptor.h:296
GPBClearAutocreatedMessageIvarWithField
void GPBClearAutocreatedMessageIvarWithField(GPBMessage *self, GPBFieldDescriptor *field)
GPBMessageFieldDescription
Definition: bloaty/third_party/protobuf/objectivec/GPBDescriptor_PackagePrivate.h:79
GPBConvertInt32ToFloat
GPB_INLINE float GPBConvertInt32ToFloat(int32_t v)
Definition: protobuf/objectivec/GPBUtilities_PackagePrivate.h:103
index
int index
Definition: bloaty/third_party/protobuf/php/ext/google/protobuf/protobuf.h:1184
testing::internal::Double
FloatingPoint< double > Double
Definition: bloaty/third_party/googletest/googletest/include/gtest/internal/gtest-internal.h:397
GPBMessage
Definition: bloaty/third_party/protobuf/objectivec/GPBMessage.h:83
GPBCheckRuntimeVersionSupport
CF_EXTERN_C_BEGIN void GPBCheckRuntimeVersionSupport(int32_t objcRuntimeVersion)
GPBSetDoubleIvarWithFieldPrivate
void GPBSetDoubleIvarWithFieldPrivate(GPBMessage *self, GPBFieldDescriptor *field, double value)
desc
#define desc
Definition: bloaty/third_party/protobuf/src/google/protobuf/extension_set.h:338
GPBInternalCompileAssert
#define GPBInternalCompileAssert(test, msg)
Definition: bloaty/third_party/protobuf/objectivec/GPBDescriptor_PackagePrivate.h:313
GPB_INLINE
#define GPB_INLINE
Definition: bloaty/third_party/protobuf/objectivec/GPBBootstrap.h:78
GPBSetInt32IvarWithFieldInternal
void GPBSetInt32IvarWithFieldInternal(GPBMessage *self, GPBFieldDescriptor *field, int32_t value, GPBFileSyntax syntax)
testing::internal::Int64
TypeWithSize< 8 >::Int Int64
Definition: bloaty/third_party/googletest/googletest/include/gtest/internal/gtest-port.h:2161
asyncio_get_stats.type
type
Definition: asyncio_get_stats.py:37
Fixed32
TypeAndValue Fixed32(uint32_t val)
Definition: upb/upb/util/compare_test.cc:89
GPBDescriptor_PackagePrivate.h
GPBFieldStoresObject
GPB_INLINE BOOL GPBFieldStoresObject(GPBFieldDescriptor *field)
Definition: protobuf/objectivec/GPBUtilities_PackagePrivate.h:191
GPBGetObjectIvarWithField
id GPBGetObjectIvarWithField(GPBMessage *self, GPBFieldDescriptor *field)
GPBSetFloatIvarWithFieldPrivate
void GPBSetFloatIvarWithFieldPrivate(GPBMessage *self, GPBFieldDescriptor *field, float value)
int32_t
signed int int32_t
Definition: stdint-msvc2008.h:77
GPBSetObjectIvarWithFieldPrivate
void GPBSetObjectIvarWithFieldPrivate(GPBMessage *self, GPBFieldDescriptor *field, id value)
GPBEncodeZigZag32
GPB_INLINE uint32_t GPBEncodeZigZag32(int32_t n)
Definition: protobuf/objectivec/GPBUtilities_PackagePrivate.h:138
GPBSetUInt64IvarWithFieldPrivate
void GPBSetUInt64IvarWithFieldPrivate(GPBMessage *self, GPBFieldDescriptor *field, uint64_t value)
GPBLogicalRightShift64
GPB_INLINE int64_t GPBLogicalRightShift64(int64_t value, int32_t spaces)
Definition: protobuf/objectivec/GPBUtilities_PackagePrivate.h:114
Message
Definition: protobuf/php/ext/google/protobuf/message.c:53
GPBSetInt32IvarWithFieldPrivate
void GPBSetInt32IvarWithFieldPrivate(GPBMessage *self, GPBFieldDescriptor *field, int32_t value)
id
uint32_t id
Definition: flow_control_fuzzer.cc:70
-[GPBMessageSignatureProtocol-p getArray]
id getArray()
GPBEncodeZigZag64
GPB_INLINE uint64_t GPBEncodeZigZag64(int64_t n)
Definition: protobuf/objectivec/GPBUtilities_PackagePrivate.h:147


grpc
Author(s):
autogenerated on Fri May 16 2025 02:58:44