ADD: added new version of protobuf

This commit is contained in:
Henry Winkel
2022-12-20 10:09:28 +01:00
parent 4a79559129
commit 1e2b3dda7b
1513 changed files with 123720 additions and 83381 deletions

View File

@@ -67,7 +67,8 @@ static void GPBRefreshBuffer(GPBOutputBufferState *state) {
[NSException raise:GPBCodedOutputStreamException_OutOfSpace format:@""];
}
if (state->position != 0) {
NSInteger written = [state->output write:state->bytes maxLength:state->position];
NSInteger written =
[state->output write:state->bytes maxLength:state->position];
if (written != (NSInteger)state->position) {
[NSException raise:GPBCodedOutputStreamException_WriteFailed format:@""];
}
@@ -117,24 +118,27 @@ static void GPBWriteInt32NoTag(GPBOutputBufferState *state, int32_t value) {
}
}
static void GPBWriteUInt32(GPBOutputBufferState *state, int32_t fieldNumber, uint32_t value) {
static void GPBWriteUInt32(GPBOutputBufferState *state, int32_t fieldNumber,
uint32_t value) {
GPBWriteTagWithFormat(state, fieldNumber, GPBWireFormatVarint);
GPBWriteRawVarint32(state, value);
}
static void GPBWriteTagWithFormat(GPBOutputBufferState *state, uint32_t fieldNumber,
GPBWireFormat format) {
static void GPBWriteTagWithFormat(GPBOutputBufferState *state,
uint32_t fieldNumber, GPBWireFormat format) {
GPBWriteRawVarint32(state, GPBWireFormatMakeTag(fieldNumber, format));
}
static void GPBWriteRawLittleEndian32(GPBOutputBufferState *state, int32_t value) {
static void GPBWriteRawLittleEndian32(GPBOutputBufferState *state,
int32_t value) {
GPBWriteRawByte(state, (value)&0xFF);
GPBWriteRawByte(state, (value >> 8) & 0xFF);
GPBWriteRawByte(state, (value >> 16) & 0xFF);
GPBWriteRawByte(state, (value >> 24) & 0xFF);
}
static void GPBWriteRawLittleEndian64(GPBOutputBufferState *state, int64_t value) {
static void GPBWriteRawLittleEndian64(GPBOutputBufferState *state,
int64_t value) {
GPBWriteRawByte(state, (int32_t)(value)&0xFF);
GPBWriteRawByte(state, (int32_t)(value >> 8) & 0xFF);
GPBWriteRawByte(state, (int32_t)(value >> 16) & 0xFF);
@@ -166,7 +170,8 @@ static void GPBWriteRawLittleEndian64(GPBOutputBufferState *state, int64_t value
// This initializer isn't exposed, but it is the designated initializer.
// Setting OutputStream and NSData is to control the buffering behavior/size
// of the work, but that is more obvious via the bufferSize: version.
- (instancetype)initWithOutputStream:(NSOutputStream *)output data:(NSMutableData *)data {
- (instancetype)initWithOutputStream:(NSOutputStream *)output
data:(NSMutableData *)data {
if ((self = [super init])) {
buffer_ = [data retain];
state_.bytes = [data mutableBytes];
@@ -179,7 +184,8 @@ static void GPBWriteRawLittleEndian64(GPBOutputBufferState *state, int64_t value
+ (instancetype)streamWithOutputStream:(NSOutputStream *)output {
NSMutableData *data = [NSMutableData dataWithLength:PAGE_SIZE];
return [[[self alloc] initWithOutputStream:output data:data] autorelease];
return [[[self alloc] initWithOutputStream:output
data:data] autorelease];
}
+ (instancetype)streamWithData:(NSMutableData *)data {
@@ -271,7 +277,8 @@ static void GPBWriteRawLittleEndian64(GPBOutputBufferState *state, int64_t value
return;
}
const char *quickString = CFStringGetCStringPtr((CFStringRef)value, kCFStringEncodingUTF8);
const char *quickString =
CFStringGetCStringPtr((CFStringRef)value, kCFStringEncodingUTF8);
// Fast path: Most strings are short, if the buffer already has space,
// add to it directly.
@@ -293,8 +300,9 @@ static void GPBWriteRawLittleEndian64(GPBOutputBufferState *state, int64_t value
remainingRange:NULL];
}
if (result) {
NSAssert2((usedBufferLength == length), @"Our UTF8 calc was wrong? %tu vs %zd",
usedBufferLength, length);
NSAssert2((usedBufferLength == length),
@"Our UTF8 calc was wrong? %tu vs %zd", usedBufferLength,
length);
state_.position += usedBufferLength;
return;
}
@@ -303,8 +311,9 @@ static void GPBWriteRawLittleEndian64(GPBOutputBufferState *state, int64_t value
} else {
// Slow path: just get it as data and write it out.
NSData *utf8Data = [value dataUsingEncoding:NSUTF8StringEncoding];
NSAssert2(([utf8Data length] == length), @"Strings UTF8 length was wrong? %tu vs %zd",
[utf8Data length], length);
NSAssert2(([utf8Data length] == length),
@"Strings UTF8 length was wrong? %tu vs %zd", [utf8Data length],
length);
[self writeRawData:utf8Data];
}
}
@@ -324,12 +333,14 @@ static void GPBWriteRawLittleEndian64(GPBOutputBufferState *state, int64_t value
[self writeGroupNoTag:fieldNumber value:value];
}
- (void)writeUnknownGroupNoTag:(int32_t)fieldNumber value:(const GPBUnknownFieldSet *)value {
- (void)writeUnknownGroupNoTag:(int32_t)fieldNumber
value:(const GPBUnknownFieldSet *)value {
[value writeToCodedOutputStream:self];
GPBWriteTagWithFormat(&state_, fieldNumber, GPBWireFormatEndGroup);
}
- (void)writeUnknownGroup:(int32_t)fieldNumber value:(GPBUnknownFieldSet *)value {
- (void)writeUnknownGroup:(int32_t)fieldNumber
value:(GPBUnknownFieldSet *)value {
GPBWriteTagWithFormat(&state_, fieldNumber, GPBWireFormatStartGroup);
[self writeUnknownGroupNoTag:fieldNumber value:value];
}
@@ -407,8 +418,6 @@ static void GPBWriteRawLittleEndian64(GPBOutputBufferState *state, int64_t value
GPBWriteRawVarint64(&state_, GPBEncodeZigZag64(value));
}
// clang-format off
//%PDDM-DEFINE WRITE_PACKABLE_DEFNS(NAME, ARRAY_TYPE, TYPE, ACCESSOR_NAME)
//%- (void)write##NAME##Array:(int32_t)fieldNumber
//% NAME$S values:(GPB##ARRAY_TYPE##Array *)values
@@ -416,16 +425,19 @@ static void GPBWriteRawLittleEndian64(GPBOutputBufferState *state, int64_t value
//% if (tag != 0) {
//% if (values.count == 0) return;
//% __block size_t dataSize = 0;
//% [values enumerate##ACCESSOR_NAME##ValuesWithBlock:^(TYPE value, __unused NSUInteger idx,__unused BOOL *stop) {
//% [values enumerate##ACCESSOR_NAME##ValuesWithBlock:^(TYPE value, NSUInteger idx, BOOL *stop) {
//%#pragma unused(idx, stop)
//% dataSize += GPBCompute##NAME##SizeNoTag(value);
//% }];
//% GPBWriteRawVarint32(&state_, tag);
//% GPBWriteRawVarint32(&state_, (int32_t)dataSize);
//% [values enumerate##ACCESSOR_NAME##ValuesWithBlock:^(TYPE value, __unused NSUInteger idx, __unused BOOL *stop) {
//% [values enumerate##ACCESSOR_NAME##ValuesWithBlock:^(TYPE value, NSUInteger idx, BOOL *stop) {
//%#pragma unused(idx, stop)
//% [self write##NAME##NoTag:value];
//% }];
//% } else {
//% [values enumerate##ACCESSOR_NAME##ValuesWithBlock:^(TYPE value, __unused NSUInteger idx, __unused BOOL *stop) {
//% [values enumerate##ACCESSOR_NAME##ValuesWithBlock:^(TYPE value, NSUInteger idx, BOOL *stop) {
//%#pragma unused(idx, stop)
//% [self write##NAME:fieldNumber value:value];
//% }];
//% }
@@ -440,6 +452,7 @@ static void GPBWriteRawLittleEndian64(GPBOutputBufferState *state, int64_t value
//%
//%PDDM-EXPAND WRITE_PACKABLE_DEFNS(Double, Double, double, )
// This block of code is generated, do not edit it directly.
// clang-format off
- (void)writeDoubleArray:(int32_t)fieldNumber
values:(GPBDoubleArray *)values
@@ -447,23 +460,28 @@ static void GPBWriteRawLittleEndian64(GPBOutputBufferState *state, int64_t value
if (tag != 0) {
if (values.count == 0) return;
__block size_t dataSize = 0;
[values enumerateValuesWithBlock:^(double value, __unused NSUInteger idx,__unused BOOL *stop) {
[values enumerateValuesWithBlock:^(double value, NSUInteger idx, BOOL *stop) {
#pragma unused(idx, stop)
dataSize += GPBComputeDoubleSizeNoTag(value);
}];
GPBWriteRawVarint32(&state_, tag);
GPBWriteRawVarint32(&state_, (int32_t)dataSize);
[values enumerateValuesWithBlock:^(double value, __unused NSUInteger idx, __unused BOOL *stop) {
[values enumerateValuesWithBlock:^(double value, NSUInteger idx, BOOL *stop) {
#pragma unused(idx, stop)
[self writeDoubleNoTag:value];
}];
} else {
[values enumerateValuesWithBlock:^(double value, __unused NSUInteger idx, __unused BOOL *stop) {
[values enumerateValuesWithBlock:^(double value, NSUInteger idx, BOOL *stop) {
#pragma unused(idx, stop)
[self writeDouble:fieldNumber value:value];
}];
}
}
// clang-format on
//%PDDM-EXPAND WRITE_PACKABLE_DEFNS(Float, Float, float, )
// This block of code is generated, do not edit it directly.
// clang-format off
- (void)writeFloatArray:(int32_t)fieldNumber
values:(GPBFloatArray *)values
@@ -471,23 +489,28 @@ static void GPBWriteRawLittleEndian64(GPBOutputBufferState *state, int64_t value
if (tag != 0) {
if (values.count == 0) return;
__block size_t dataSize = 0;
[values enumerateValuesWithBlock:^(float value, __unused NSUInteger idx,__unused BOOL *stop) {
[values enumerateValuesWithBlock:^(float value, NSUInteger idx, BOOL *stop) {
#pragma unused(idx, stop)
dataSize += GPBComputeFloatSizeNoTag(value);
}];
GPBWriteRawVarint32(&state_, tag);
GPBWriteRawVarint32(&state_, (int32_t)dataSize);
[values enumerateValuesWithBlock:^(float value, __unused NSUInteger idx, __unused BOOL *stop) {
[values enumerateValuesWithBlock:^(float value, NSUInteger idx, BOOL *stop) {
#pragma unused(idx, stop)
[self writeFloatNoTag:value];
}];
} else {
[values enumerateValuesWithBlock:^(float value, __unused NSUInteger idx, __unused BOOL *stop) {
[values enumerateValuesWithBlock:^(float value, NSUInteger idx, BOOL *stop) {
#pragma unused(idx, stop)
[self writeFloat:fieldNumber value:value];
}];
}
}
// clang-format on
//%PDDM-EXPAND WRITE_PACKABLE_DEFNS(UInt64, UInt64, uint64_t, )
// This block of code is generated, do not edit it directly.
// clang-format off
- (void)writeUInt64Array:(int32_t)fieldNumber
values:(GPBUInt64Array *)values
@@ -495,23 +518,28 @@ static void GPBWriteRawLittleEndian64(GPBOutputBufferState *state, int64_t value
if (tag != 0) {
if (values.count == 0) return;
__block size_t dataSize = 0;
[values enumerateValuesWithBlock:^(uint64_t value, __unused NSUInteger idx,__unused BOOL *stop) {
[values enumerateValuesWithBlock:^(uint64_t value, NSUInteger idx, BOOL *stop) {
#pragma unused(idx, stop)
dataSize += GPBComputeUInt64SizeNoTag(value);
}];
GPBWriteRawVarint32(&state_, tag);
GPBWriteRawVarint32(&state_, (int32_t)dataSize);
[values enumerateValuesWithBlock:^(uint64_t value, __unused NSUInteger idx, __unused BOOL *stop) {
[values enumerateValuesWithBlock:^(uint64_t value, NSUInteger idx, BOOL *stop) {
#pragma unused(idx, stop)
[self writeUInt64NoTag:value];
}];
} else {
[values enumerateValuesWithBlock:^(uint64_t value, __unused NSUInteger idx, __unused BOOL *stop) {
[values enumerateValuesWithBlock:^(uint64_t value, NSUInteger idx, BOOL *stop) {
#pragma unused(idx, stop)
[self writeUInt64:fieldNumber value:value];
}];
}
}
// clang-format on
//%PDDM-EXPAND WRITE_PACKABLE_DEFNS(Int64, Int64, int64_t, )
// This block of code is generated, do not edit it directly.
// clang-format off
- (void)writeInt64Array:(int32_t)fieldNumber
values:(GPBInt64Array *)values
@@ -519,23 +547,28 @@ static void GPBWriteRawLittleEndian64(GPBOutputBufferState *state, int64_t value
if (tag != 0) {
if (values.count == 0) return;
__block size_t dataSize = 0;
[values enumerateValuesWithBlock:^(int64_t value, __unused NSUInteger idx,__unused BOOL *stop) {
[values enumerateValuesWithBlock:^(int64_t value, NSUInteger idx, BOOL *stop) {
#pragma unused(idx, stop)
dataSize += GPBComputeInt64SizeNoTag(value);
}];
GPBWriteRawVarint32(&state_, tag);
GPBWriteRawVarint32(&state_, (int32_t)dataSize);
[values enumerateValuesWithBlock:^(int64_t value, __unused NSUInteger idx, __unused BOOL *stop) {
[values enumerateValuesWithBlock:^(int64_t value, NSUInteger idx, BOOL *stop) {
#pragma unused(idx, stop)
[self writeInt64NoTag:value];
}];
} else {
[values enumerateValuesWithBlock:^(int64_t value, __unused NSUInteger idx, __unused BOOL *stop) {
[values enumerateValuesWithBlock:^(int64_t value, NSUInteger idx, BOOL *stop) {
#pragma unused(idx, stop)
[self writeInt64:fieldNumber value:value];
}];
}
}
// clang-format on
//%PDDM-EXPAND WRITE_PACKABLE_DEFNS(Int32, Int32, int32_t, )
// This block of code is generated, do not edit it directly.
// clang-format off
- (void)writeInt32Array:(int32_t)fieldNumber
values:(GPBInt32Array *)values
@@ -543,23 +576,28 @@ static void GPBWriteRawLittleEndian64(GPBOutputBufferState *state, int64_t value
if (tag != 0) {
if (values.count == 0) return;
__block size_t dataSize = 0;
[values enumerateValuesWithBlock:^(int32_t value, __unused NSUInteger idx,__unused BOOL *stop) {
[values enumerateValuesWithBlock:^(int32_t value, NSUInteger idx, BOOL *stop) {
#pragma unused(idx, stop)
dataSize += GPBComputeInt32SizeNoTag(value);
}];
GPBWriteRawVarint32(&state_, tag);
GPBWriteRawVarint32(&state_, (int32_t)dataSize);
[values enumerateValuesWithBlock:^(int32_t value, __unused NSUInteger idx, __unused BOOL *stop) {
[values enumerateValuesWithBlock:^(int32_t value, NSUInteger idx, BOOL *stop) {
#pragma unused(idx, stop)
[self writeInt32NoTag:value];
}];
} else {
[values enumerateValuesWithBlock:^(int32_t value, __unused NSUInteger idx, __unused BOOL *stop) {
[values enumerateValuesWithBlock:^(int32_t value, NSUInteger idx, BOOL *stop) {
#pragma unused(idx, stop)
[self writeInt32:fieldNumber value:value];
}];
}
}
// clang-format on
//%PDDM-EXPAND WRITE_PACKABLE_DEFNS(UInt32, UInt32, uint32_t, )
// This block of code is generated, do not edit it directly.
// clang-format off
- (void)writeUInt32Array:(int32_t)fieldNumber
values:(GPBUInt32Array *)values
@@ -567,23 +605,28 @@ static void GPBWriteRawLittleEndian64(GPBOutputBufferState *state, int64_t value
if (tag != 0) {
if (values.count == 0) return;
__block size_t dataSize = 0;
[values enumerateValuesWithBlock:^(uint32_t value, __unused NSUInteger idx,__unused BOOL *stop) {
[values enumerateValuesWithBlock:^(uint32_t value, NSUInteger idx, BOOL *stop) {
#pragma unused(idx, stop)
dataSize += GPBComputeUInt32SizeNoTag(value);
}];
GPBWriteRawVarint32(&state_, tag);
GPBWriteRawVarint32(&state_, (int32_t)dataSize);
[values enumerateValuesWithBlock:^(uint32_t value, __unused NSUInteger idx, __unused BOOL *stop) {
[values enumerateValuesWithBlock:^(uint32_t value, NSUInteger idx, BOOL *stop) {
#pragma unused(idx, stop)
[self writeUInt32NoTag:value];
}];
} else {
[values enumerateValuesWithBlock:^(uint32_t value, __unused NSUInteger idx, __unused BOOL *stop) {
[values enumerateValuesWithBlock:^(uint32_t value, NSUInteger idx, BOOL *stop) {
#pragma unused(idx, stop)
[self writeUInt32:fieldNumber value:value];
}];
}
}
// clang-format on
//%PDDM-EXPAND WRITE_PACKABLE_DEFNS(Fixed64, UInt64, uint64_t, )
// This block of code is generated, do not edit it directly.
// clang-format off
- (void)writeFixed64Array:(int32_t)fieldNumber
values:(GPBUInt64Array *)values
@@ -591,23 +634,28 @@ static void GPBWriteRawLittleEndian64(GPBOutputBufferState *state, int64_t value
if (tag != 0) {
if (values.count == 0) return;
__block size_t dataSize = 0;
[values enumerateValuesWithBlock:^(uint64_t value, __unused NSUInteger idx,__unused BOOL *stop) {
[values enumerateValuesWithBlock:^(uint64_t value, NSUInteger idx, BOOL *stop) {
#pragma unused(idx, stop)
dataSize += GPBComputeFixed64SizeNoTag(value);
}];
GPBWriteRawVarint32(&state_, tag);
GPBWriteRawVarint32(&state_, (int32_t)dataSize);
[values enumerateValuesWithBlock:^(uint64_t value, __unused NSUInteger idx, __unused BOOL *stop) {
[values enumerateValuesWithBlock:^(uint64_t value, NSUInteger idx, BOOL *stop) {
#pragma unused(idx, stop)
[self writeFixed64NoTag:value];
}];
} else {
[values enumerateValuesWithBlock:^(uint64_t value, __unused NSUInteger idx, __unused BOOL *stop) {
[values enumerateValuesWithBlock:^(uint64_t value, NSUInteger idx, BOOL *stop) {
#pragma unused(idx, stop)
[self writeFixed64:fieldNumber value:value];
}];
}
}
// clang-format on
//%PDDM-EXPAND WRITE_PACKABLE_DEFNS(Fixed32, UInt32, uint32_t, )
// This block of code is generated, do not edit it directly.
// clang-format off
- (void)writeFixed32Array:(int32_t)fieldNumber
values:(GPBUInt32Array *)values
@@ -615,23 +663,28 @@ static void GPBWriteRawLittleEndian64(GPBOutputBufferState *state, int64_t value
if (tag != 0) {
if (values.count == 0) return;
__block size_t dataSize = 0;
[values enumerateValuesWithBlock:^(uint32_t value, __unused NSUInteger idx,__unused BOOL *stop) {
[values enumerateValuesWithBlock:^(uint32_t value, NSUInteger idx, BOOL *stop) {
#pragma unused(idx, stop)
dataSize += GPBComputeFixed32SizeNoTag(value);
}];
GPBWriteRawVarint32(&state_, tag);
GPBWriteRawVarint32(&state_, (int32_t)dataSize);
[values enumerateValuesWithBlock:^(uint32_t value, __unused NSUInteger idx, __unused BOOL *stop) {
[values enumerateValuesWithBlock:^(uint32_t value, NSUInteger idx, BOOL *stop) {
#pragma unused(idx, stop)
[self writeFixed32NoTag:value];
}];
} else {
[values enumerateValuesWithBlock:^(uint32_t value, __unused NSUInteger idx, __unused BOOL *stop) {
[values enumerateValuesWithBlock:^(uint32_t value, NSUInteger idx, BOOL *stop) {
#pragma unused(idx, stop)
[self writeFixed32:fieldNumber value:value];
}];
}
}
// clang-format on
//%PDDM-EXPAND WRITE_PACKABLE_DEFNS(SInt32, Int32, int32_t, )
// This block of code is generated, do not edit it directly.
// clang-format off
- (void)writeSInt32Array:(int32_t)fieldNumber
values:(GPBInt32Array *)values
@@ -639,23 +692,28 @@ static void GPBWriteRawLittleEndian64(GPBOutputBufferState *state, int64_t value
if (tag != 0) {
if (values.count == 0) return;
__block size_t dataSize = 0;
[values enumerateValuesWithBlock:^(int32_t value, __unused NSUInteger idx,__unused BOOL *stop) {
[values enumerateValuesWithBlock:^(int32_t value, NSUInteger idx, BOOL *stop) {
#pragma unused(idx, stop)
dataSize += GPBComputeSInt32SizeNoTag(value);
}];
GPBWriteRawVarint32(&state_, tag);
GPBWriteRawVarint32(&state_, (int32_t)dataSize);
[values enumerateValuesWithBlock:^(int32_t value, __unused NSUInteger idx, __unused BOOL *stop) {
[values enumerateValuesWithBlock:^(int32_t value, NSUInteger idx, BOOL *stop) {
#pragma unused(idx, stop)
[self writeSInt32NoTag:value];
}];
} else {
[values enumerateValuesWithBlock:^(int32_t value, __unused NSUInteger idx, __unused BOOL *stop) {
[values enumerateValuesWithBlock:^(int32_t value, NSUInteger idx, BOOL *stop) {
#pragma unused(idx, stop)
[self writeSInt32:fieldNumber value:value];
}];
}
}
// clang-format on
//%PDDM-EXPAND WRITE_PACKABLE_DEFNS(SInt64, Int64, int64_t, )
// This block of code is generated, do not edit it directly.
// clang-format off
- (void)writeSInt64Array:(int32_t)fieldNumber
values:(GPBInt64Array *)values
@@ -663,23 +721,28 @@ static void GPBWriteRawLittleEndian64(GPBOutputBufferState *state, int64_t value
if (tag != 0) {
if (values.count == 0) return;
__block size_t dataSize = 0;
[values enumerateValuesWithBlock:^(int64_t value, __unused NSUInteger idx,__unused BOOL *stop) {
[values enumerateValuesWithBlock:^(int64_t value, NSUInteger idx, BOOL *stop) {
#pragma unused(idx, stop)
dataSize += GPBComputeSInt64SizeNoTag(value);
}];
GPBWriteRawVarint32(&state_, tag);
GPBWriteRawVarint32(&state_, (int32_t)dataSize);
[values enumerateValuesWithBlock:^(int64_t value, __unused NSUInteger idx, __unused BOOL *stop) {
[values enumerateValuesWithBlock:^(int64_t value, NSUInteger idx, BOOL *stop) {
#pragma unused(idx, stop)
[self writeSInt64NoTag:value];
}];
} else {
[values enumerateValuesWithBlock:^(int64_t value, __unused NSUInteger idx, __unused BOOL *stop) {
[values enumerateValuesWithBlock:^(int64_t value, NSUInteger idx, BOOL *stop) {
#pragma unused(idx, stop)
[self writeSInt64:fieldNumber value:value];
}];
}
}
// clang-format on
//%PDDM-EXPAND WRITE_PACKABLE_DEFNS(SFixed64, Int64, int64_t, )
// This block of code is generated, do not edit it directly.
// clang-format off
- (void)writeSFixed64Array:(int32_t)fieldNumber
values:(GPBInt64Array *)values
@@ -687,23 +750,28 @@ static void GPBWriteRawLittleEndian64(GPBOutputBufferState *state, int64_t value
if (tag != 0) {
if (values.count == 0) return;
__block size_t dataSize = 0;
[values enumerateValuesWithBlock:^(int64_t value, __unused NSUInteger idx,__unused BOOL *stop) {
[values enumerateValuesWithBlock:^(int64_t value, NSUInteger idx, BOOL *stop) {
#pragma unused(idx, stop)
dataSize += GPBComputeSFixed64SizeNoTag(value);
}];
GPBWriteRawVarint32(&state_, tag);
GPBWriteRawVarint32(&state_, (int32_t)dataSize);
[values enumerateValuesWithBlock:^(int64_t value, __unused NSUInteger idx, __unused BOOL *stop) {
[values enumerateValuesWithBlock:^(int64_t value, NSUInteger idx, BOOL *stop) {
#pragma unused(idx, stop)
[self writeSFixed64NoTag:value];
}];
} else {
[values enumerateValuesWithBlock:^(int64_t value, __unused NSUInteger idx, __unused BOOL *stop) {
[values enumerateValuesWithBlock:^(int64_t value, NSUInteger idx, BOOL *stop) {
#pragma unused(idx, stop)
[self writeSFixed64:fieldNumber value:value];
}];
}
}
// clang-format on
//%PDDM-EXPAND WRITE_PACKABLE_DEFNS(SFixed32, Int32, int32_t, )
// This block of code is generated, do not edit it directly.
// clang-format off
- (void)writeSFixed32Array:(int32_t)fieldNumber
values:(GPBInt32Array *)values
@@ -711,23 +779,28 @@ static void GPBWriteRawLittleEndian64(GPBOutputBufferState *state, int64_t value
if (tag != 0) {
if (values.count == 0) return;
__block size_t dataSize = 0;
[values enumerateValuesWithBlock:^(int32_t value, __unused NSUInteger idx,__unused BOOL *stop) {
[values enumerateValuesWithBlock:^(int32_t value, NSUInteger idx, BOOL *stop) {
#pragma unused(idx, stop)
dataSize += GPBComputeSFixed32SizeNoTag(value);
}];
GPBWriteRawVarint32(&state_, tag);
GPBWriteRawVarint32(&state_, (int32_t)dataSize);
[values enumerateValuesWithBlock:^(int32_t value, __unused NSUInteger idx, __unused BOOL *stop) {
[values enumerateValuesWithBlock:^(int32_t value, NSUInteger idx, BOOL *stop) {
#pragma unused(idx, stop)
[self writeSFixed32NoTag:value];
}];
} else {
[values enumerateValuesWithBlock:^(int32_t value, __unused NSUInteger idx, __unused BOOL *stop) {
[values enumerateValuesWithBlock:^(int32_t value, NSUInteger idx, BOOL *stop) {
#pragma unused(idx, stop)
[self writeSFixed32:fieldNumber value:value];
}];
}
}
// clang-format on
//%PDDM-EXPAND WRITE_PACKABLE_DEFNS(Bool, Bool, BOOL, )
// This block of code is generated, do not edit it directly.
// clang-format off
- (void)writeBoolArray:(int32_t)fieldNumber
values:(GPBBoolArray *)values
@@ -735,23 +808,28 @@ static void GPBWriteRawLittleEndian64(GPBOutputBufferState *state, int64_t value
if (tag != 0) {
if (values.count == 0) return;
__block size_t dataSize = 0;
[values enumerateValuesWithBlock:^(BOOL value, __unused NSUInteger idx,__unused BOOL *stop) {
[values enumerateValuesWithBlock:^(BOOL value, NSUInteger idx, BOOL *stop) {
#pragma unused(idx, stop)
dataSize += GPBComputeBoolSizeNoTag(value);
}];
GPBWriteRawVarint32(&state_, tag);
GPBWriteRawVarint32(&state_, (int32_t)dataSize);
[values enumerateValuesWithBlock:^(BOOL value, __unused NSUInteger idx, __unused BOOL *stop) {
[values enumerateValuesWithBlock:^(BOOL value, NSUInteger idx, BOOL *stop) {
#pragma unused(idx, stop)
[self writeBoolNoTag:value];
}];
} else {
[values enumerateValuesWithBlock:^(BOOL value, __unused NSUInteger idx, __unused BOOL *stop) {
[values enumerateValuesWithBlock:^(BOOL value, NSUInteger idx, BOOL *stop) {
#pragma unused(idx, stop)
[self writeBool:fieldNumber value:value];
}];
}
}
// clang-format on
//%PDDM-EXPAND WRITE_PACKABLE_DEFNS(Enum, Enum, int32_t, Raw)
// This block of code is generated, do not edit it directly.
// clang-format off
- (void)writeEnumArray:(int32_t)fieldNumber
values:(GPBEnumArray *)values
@@ -759,23 +837,28 @@ static void GPBWriteRawLittleEndian64(GPBOutputBufferState *state, int64_t value
if (tag != 0) {
if (values.count == 0) return;
__block size_t dataSize = 0;
[values enumerateRawValuesWithBlock:^(int32_t value, __unused NSUInteger idx,__unused BOOL *stop) {
[values enumerateRawValuesWithBlock:^(int32_t value, NSUInteger idx, BOOL *stop) {
#pragma unused(idx, stop)
dataSize += GPBComputeEnumSizeNoTag(value);
}];
GPBWriteRawVarint32(&state_, tag);
GPBWriteRawVarint32(&state_, (int32_t)dataSize);
[values enumerateRawValuesWithBlock:^(int32_t value, __unused NSUInteger idx, __unused BOOL *stop) {
[values enumerateRawValuesWithBlock:^(int32_t value, NSUInteger idx, BOOL *stop) {
#pragma unused(idx, stop)
[self writeEnumNoTag:value];
}];
} else {
[values enumerateRawValuesWithBlock:^(int32_t value, __unused NSUInteger idx, __unused BOOL *stop) {
[values enumerateRawValuesWithBlock:^(int32_t value, NSUInteger idx, BOOL *stop) {
#pragma unused(idx, stop)
[self writeEnum:fieldNumber value:value];
}];
}
}
// clang-format on
//%PDDM-EXPAND WRITE_UNPACKABLE_DEFNS(String, NSString)
// This block of code is generated, do not edit it directly.
// clang-format off
- (void)writeStringArray:(int32_t)fieldNumber values:(NSArray *)values {
for (NSString *value in values) {
@@ -783,8 +866,10 @@ static void GPBWriteRawLittleEndian64(GPBOutputBufferState *state, int64_t value
}
}
// clang-format on
//%PDDM-EXPAND WRITE_UNPACKABLE_DEFNS(Message, GPBMessage)
// This block of code is generated, do not edit it directly.
// clang-format off
- (void)writeMessageArray:(int32_t)fieldNumber values:(NSArray *)values {
for (GPBMessage *value in values) {
@@ -792,8 +877,10 @@ static void GPBWriteRawLittleEndian64(GPBOutputBufferState *state, int64_t value
}
}
// clang-format on
//%PDDM-EXPAND WRITE_UNPACKABLE_DEFNS(Bytes, NSData)
// This block of code is generated, do not edit it directly.
// clang-format off
- (void)writeBytesArray:(int32_t)fieldNumber values:(NSArray *)values {
for (NSData *value in values) {
@@ -801,8 +888,10 @@ static void GPBWriteRawLittleEndian64(GPBOutputBufferState *state, int64_t value
}
}
// clang-format on
//%PDDM-EXPAND WRITE_UNPACKABLE_DEFNS(Group, GPBMessage)
// This block of code is generated, do not edit it directly.
// clang-format off
- (void)writeGroupArray:(int32_t)fieldNumber values:(NSArray *)values {
for (GPBMessage *value in values) {
@@ -810,8 +899,10 @@ static void GPBWriteRawLittleEndian64(GPBOutputBufferState *state, int64_t value
}
}
// clang-format on
//%PDDM-EXPAND WRITE_UNPACKABLE_DEFNS(UnknownGroup, GPBUnknownFieldSet)
// This block of code is generated, do not edit it directly.
// clang-format off
- (void)writeUnknownGroupArray:(int32_t)fieldNumber values:(NSArray *)values {
for (GPBUnknownFieldSet *value in values) {
@@ -819,22 +910,26 @@ static void GPBWriteRawLittleEndian64(GPBOutputBufferState *state, int64_t value
}
}
// clang-format on
//%PDDM-EXPAND-END (19 expansions)
// clang-format on
- (void)writeMessageSetExtension:(int32_t)fieldNumber value:(GPBMessage *)value {
GPBWriteTagWithFormat(&state_, GPBWireFormatMessageSetItem, GPBWireFormatStartGroup);
- (void)writeMessageSetExtension:(int32_t)fieldNumber
value:(GPBMessage *)value {
GPBWriteTagWithFormat(&state_, GPBWireFormatMessageSetItem,
GPBWireFormatStartGroup);
GPBWriteUInt32(&state_, GPBWireFormatMessageSetTypeId, fieldNumber);
[self writeMessage:GPBWireFormatMessageSetMessage value:value];
GPBWriteTagWithFormat(&state_, GPBWireFormatMessageSetItem, GPBWireFormatEndGroup);
GPBWriteTagWithFormat(&state_, GPBWireFormatMessageSetItem,
GPBWireFormatEndGroup);
}
- (void)writeRawMessageSetExtension:(int32_t)fieldNumber value:(NSData *)value {
GPBWriteTagWithFormat(&state_, GPBWireFormatMessageSetItem, GPBWireFormatStartGroup);
GPBWriteTagWithFormat(&state_, GPBWireFormatMessageSetItem,
GPBWireFormatStartGroup);
GPBWriteUInt32(&state_, GPBWireFormatMessageSetTypeId, fieldNumber);
[self writeBytes:GPBWireFormatMessageSetMessage value:value];
GPBWriteTagWithFormat(&state_, GPBWireFormatMessageSetItem, GPBWireFormatEndGroup);
GPBWriteTagWithFormat(&state_, GPBWireFormatMessageSetItem,
GPBWireFormatEndGroup);
}
- (void)flush {
@@ -851,7 +946,9 @@ static void GPBWriteRawLittleEndian64(GPBOutputBufferState *state, int64_t value
[self writeRawPtr:[data bytes] offset:0 length:[data length]];
}
- (void)writeRawPtr:(const void *)value offset:(size_t)offset length:(size_t)length {
- (void)writeRawPtr:(const void *)value
offset:(size_t)offset
length:(size_t)length {
if (value == nil || length == 0) {
return;
}
@@ -866,7 +963,8 @@ static void GPBWriteRawLittleEndian64(GPBOutputBufferState *state, int64_t value
// Write extends past current buffer. Fill the rest of this buffer and
// flush.
size_t bytesWritten = bufferBytesLeft;
memcpy(state_.bytes + state_.position, ((uint8_t *)value) + offset, bytesWritten);
memcpy(state_.bytes + state_.position, ((uint8_t *)value) + offset,
bytesWritten);
offset += bytesWritten;
length -= bytesWritten;
state_.position = bufferLength;
@@ -919,13 +1017,23 @@ static void GPBWriteRawLittleEndian64(GPBOutputBufferState *state, int64_t value
@end
size_t GPBComputeDoubleSizeNoTag(__unused Float64 value) { return LITTLE_ENDIAN_64_SIZE; }
size_t GPBComputeDoubleSizeNoTag(Float64 value) {
#pragma unused(value)
return LITTLE_ENDIAN_64_SIZE;
}
size_t GPBComputeFloatSizeNoTag(__unused Float32 value) { return LITTLE_ENDIAN_32_SIZE; }
size_t GPBComputeFloatSizeNoTag(Float32 value) {
#pragma unused(value)
return LITTLE_ENDIAN_32_SIZE;
}
size_t GPBComputeUInt64SizeNoTag(uint64_t value) { return GPBComputeRawVarint64Size(value); }
size_t GPBComputeUInt64SizeNoTag(uint64_t value) {
return GPBComputeRawVarint64Size(value);
}
size_t GPBComputeInt64SizeNoTag(int64_t value) { return GPBComputeRawVarint64Size(value); }
size_t GPBComputeInt64SizeNoTag(int64_t value) {
return GPBComputeRawVarint64Size(value);
}
size_t GPBComputeInt32SizeNoTag(int32_t value) {
if (value >= 0) {
@@ -940,20 +1048,33 @@ size_t GPBComputeSizeTSizeAsInt32NoTag(size_t value) {
return GPBComputeInt32SizeNoTag((int32_t)value);
}
size_t GPBComputeFixed64SizeNoTag(__unused uint64_t value) { return LITTLE_ENDIAN_64_SIZE; }
size_t GPBComputeFixed64SizeNoTag(uint64_t value) {
#pragma unused(value)
return LITTLE_ENDIAN_64_SIZE;
}
size_t GPBComputeFixed32SizeNoTag(__unused uint32_t value) { return LITTLE_ENDIAN_32_SIZE; }
size_t GPBComputeFixed32SizeNoTag(uint32_t value) {
#pragma unused(value)
return LITTLE_ENDIAN_32_SIZE;
}
size_t GPBComputeBoolSizeNoTag(__unused BOOL value) { return 1; }
size_t GPBComputeBoolSizeNoTag(BOOL value) {
#pragma unused(value)
return 1;
}
size_t GPBComputeStringSizeNoTag(NSString *value) {
NSUInteger length = [value lengthOfBytesUsingEncoding:NSUTF8StringEncoding];
return GPBComputeRawVarint32SizeForInteger(length) + length;
}
size_t GPBComputeGroupSizeNoTag(GPBMessage *value) { return [value serializedSize]; }
size_t GPBComputeGroupSizeNoTag(GPBMessage *value) {
return [value serializedSize];
}
size_t GPBComputeUnknownGroupSizeNoTag(GPBUnknownFieldSet *value) { return value.serializedSize; }
size_t GPBComputeUnknownGroupSizeNoTag(GPBUnknownFieldSet *value) {
return value.serializedSize;
}
size_t GPBComputeMessageSizeNoTag(GPBMessage *value) {
size_t size = [value serializedSize];
@@ -965,13 +1086,23 @@ size_t GPBComputeBytesSizeNoTag(NSData *value) {
return GPBComputeRawVarint32SizeForInteger(valueLength) + valueLength;
}
size_t GPBComputeUInt32SizeNoTag(int32_t value) { return GPBComputeRawVarint32Size(value); }
size_t GPBComputeUInt32SizeNoTag(int32_t value) {
return GPBComputeRawVarint32Size(value);
}
size_t GPBComputeEnumSizeNoTag(int32_t value) { return GPBComputeInt32SizeNoTag(value); }
size_t GPBComputeEnumSizeNoTag(int32_t value) {
return GPBComputeInt32SizeNoTag(value);
}
size_t GPBComputeSFixed32SizeNoTag(__unused int32_t value) { return LITTLE_ENDIAN_32_SIZE; }
size_t GPBComputeSFixed32SizeNoTag(int32_t value) {
#pragma unused(value)
return LITTLE_ENDIAN_32_SIZE;
}
size_t GPBComputeSFixed64SizeNoTag(__unused int64_t value) { return LITTLE_ENDIAN_64_SIZE; }
size_t GPBComputeSFixed64SizeNoTag(int64_t value) {
#pragma unused(value)
return LITTLE_ENDIAN_64_SIZE;
}
size_t GPBComputeSInt32SizeNoTag(int32_t value) {
return GPBComputeRawVarint32Size(GPBEncodeZigZag32(value));
@@ -1021,8 +1152,10 @@ size_t GPBComputeGroupSize(int32_t fieldNumber, GPBMessage *value) {
return GPBComputeTagSize(fieldNumber) * 2 + GPBComputeGroupSizeNoTag(value);
}
size_t GPBComputeUnknownGroupSize(int32_t fieldNumber, GPBUnknownFieldSet *value) {
return GPBComputeTagSize(fieldNumber) * 2 + GPBComputeUnknownGroupSizeNoTag(value);
size_t GPBComputeUnknownGroupSize(int32_t fieldNumber,
GPBUnknownFieldSet *value) {
return GPBComputeTagSize(fieldNumber) * 2 +
GPBComputeUnknownGroupSizeNoTag(value);
}
size_t GPBComputeMessageSize(int32_t fieldNumber, GPBMessage *value) {
@@ -1054,23 +1187,27 @@ size_t GPBComputeSInt32Size(int32_t fieldNumber, int32_t value) {
}
size_t GPBComputeSInt64Size(int32_t fieldNumber, int64_t value) {
return GPBComputeTagSize(fieldNumber) + GPBComputeRawVarint64Size(GPBEncodeZigZag64(value));
return GPBComputeTagSize(fieldNumber) +
GPBComputeRawVarint64Size(GPBEncodeZigZag64(value));
}
size_t GPBComputeMessageSetExtensionSize(int32_t fieldNumber, GPBMessage *value) {
size_t GPBComputeMessageSetExtensionSize(int32_t fieldNumber,
GPBMessage *value) {
return GPBComputeTagSize(GPBWireFormatMessageSetItem) * 2 +
GPBComputeUInt32Size(GPBWireFormatMessageSetTypeId, fieldNumber) +
GPBComputeMessageSize(GPBWireFormatMessageSetMessage, value);
}
size_t GPBComputeRawMessageSetExtensionSize(int32_t fieldNumber, NSData *value) {
size_t GPBComputeRawMessageSetExtensionSize(int32_t fieldNumber,
NSData *value) {
return GPBComputeTagSize(GPBWireFormatMessageSetItem) * 2 +
GPBComputeUInt32Size(GPBWireFormatMessageSetTypeId, fieldNumber) +
GPBComputeBytesSize(GPBWireFormatMessageSetMessage, value);
}
size_t GPBComputeTagSize(int32_t fieldNumber) {
return GPBComputeRawVarint32Size(GPBWireFormatMakeTag(fieldNumber, GPBWireFormatVarint));
return GPBComputeRawVarint32Size(
GPBWireFormatMakeTag(fieldNumber, GPBWireFormatVarint));
}
size_t GPBComputeWireFormatTagSize(int field_number, GPBDataType dataType) {