Merge branch 'ConformanceTestYilunChong' of github.com:BSBandme/protobuf into ConformanceTestYilunChong
This commit is contained in:
commit
30b4194488
100
Makefile.am
100
Makefile.am
@ -597,60 +597,63 @@ php_EXTRA_DIST= \
|
||||
php/ext/google/protobuf/upb.c \
|
||||
php/ext/google/protobuf/protobuf.c \
|
||||
php/src/phpdoc.dist.xml \
|
||||
php/src/Google/Protobuf/Internal/Descriptor.php \
|
||||
php/src/Google/Protobuf/Internal/CodedInputStream.php \
|
||||
php/src/Google/Protobuf/Internal/CodedOutputStream.php \
|
||||
php/src/Google/Protobuf/Internal/DescriptorPool.php \
|
||||
php/src/Google/Protobuf/Internal/GeneratedCodeInfo.php \
|
||||
php/src/Google/Protobuf/Internal/OneofField.php \
|
||||
php/src/Google/Protobuf/Internal/MessageOptions.php \
|
||||
php/src/Google/Protobuf/Internal/FileDescriptor.php \
|
||||
php/src/Google/Protobuf/Internal/FileDescriptorProto.php \
|
||||
php/src/Google/Protobuf/Internal/MapEntry.php \
|
||||
php/src/Google/Protobuf/Internal/FieldDescriptor.php \
|
||||
php/src/Google/Protobuf/Internal/FieldDescriptorProto.php \
|
||||
php/src/Google/Protobuf/Internal/InputStream.php \
|
||||
php/src/Google/Protobuf/Internal/UninterpretedOption.php \
|
||||
php/src/Google/Protobuf/Internal/ServiceOptions.php \
|
||||
php/src/Google/Protobuf/Internal/MethodOptions_IdempotencyLevel.php \
|
||||
php/src/Google/Protobuf/Internal/ServiceDescriptorProto.php \
|
||||
php/src/Google/Protobuf/Internal/OneofDescriptor.php \
|
||||
php/src/Google/Protobuf/Internal/OneofDescriptorProto.php \
|
||||
php/src/Google/Protobuf/Internal/UninterpretedOption_NamePart.php \
|
||||
php/src/Google/Protobuf/Internal/OutputStream.php \
|
||||
php/src/Google/Protobuf/Internal/MessageBuilderContext.php \
|
||||
php/src/Google/Protobuf/Internal/EnumValueDescriptor.php \
|
||||
php/src/Google/Protobuf/Internal/EnumValueDescriptorProto.php \
|
||||
php/src/Google/Protobuf/Internal/FileOptions_OptimizeMode.php \
|
||||
php/src/Google/Protobuf/Internal/DescriptorProto.php \
|
||||
php/src/Google/Protobuf/Internal/MapField.php \
|
||||
php/src/Google/Protobuf/Internal/MapFieldIter.php \
|
||||
php/src/Google/Protobuf/Internal/MethodDescriptorProto.php \
|
||||
php/src/Google/Protobuf/Internal/DescriptorProto_ExtensionRange.php \
|
||||
php/src/Google/Protobuf/Internal/DescriptorProto_ReservedRange.php \
|
||||
php/src/Google/Protobuf/Internal/RepeatedField.php \
|
||||
php/src/Google/Protobuf/Internal/RepeatedFieldIter.php \
|
||||
php/src/Google/Protobuf/Internal/EnumValueOptions.php \
|
||||
php/src/Google/Protobuf/Internal/MethodOptions.php \
|
||||
php/src/Google/Protobuf/Internal/OneofOptions.php \
|
||||
php/src/Google/Protobuf/Internal/Message.php \
|
||||
php/src/Google/Protobuf/Internal/FileOptions.php \
|
||||
php/src/Google/Protobuf/Internal/FileDescriptorSet.php \
|
||||
php/src/Google/Protobuf/Internal/DescriptorProto.php \
|
||||
php/src/Google/Protobuf/Internal/Descriptor.php \
|
||||
php/src/Google/Protobuf/Internal/EnumBuilderContext.php \
|
||||
php/src/Google/Protobuf/Internal/EnumDescriptor.php \
|
||||
php/src/Google/Protobuf/Internal/EnumDescriptorProto.php \
|
||||
php/src/Google/Protobuf/Internal/GPBWire.php \
|
||||
php/src/Google/Protobuf/Internal/EnumOptions.php \
|
||||
php/src/Google/Protobuf/Internal/EnumValueDescriptorProto.php \
|
||||
php/src/Google/Protobuf/Internal/EnumValueDescriptor.php \
|
||||
php/src/Google/Protobuf/Internal/EnumValueOptions.php \
|
||||
php/src/Google/Protobuf/Internal/FieldDescriptorProto_Label.php \
|
||||
php/src/Google/Protobuf/Internal/FieldOptions.php \
|
||||
php/src/Google/Protobuf/Internal/GeneratedCodeInfo_Annotation.php \
|
||||
php/src/Google/Protobuf/Internal/FieldDescriptorProto.php \
|
||||
php/src/Google/Protobuf/Internal/FieldDescriptor.php \
|
||||
php/src/Google/Protobuf/Internal/FieldDescriptorProto_Type.php \
|
||||
php/src/Google/Protobuf/Internal/GPBType.php \
|
||||
php/src/Google/Protobuf/Internal/FieldOptions_CType.php \
|
||||
php/src/Google/Protobuf/Internal/FieldOptions_JSType.php \
|
||||
php/src/Google/Protobuf/Internal/FieldOptions.php \
|
||||
php/src/Google/Protobuf/Internal/FileDescriptorProto.php \
|
||||
php/src/Google/Protobuf/Internal/FileDescriptorSet.php \
|
||||
php/src/Google/Protobuf/Internal/FileDescriptor.php \
|
||||
php/src/Google/Protobuf/Internal/FileOptions_OptimizeMode.php \
|
||||
php/src/Google/Protobuf/Internal/FileOptions.php \
|
||||
php/src/Google/Protobuf/Internal/GeneratedCodeInfo_Annotation.php \
|
||||
php/src/Google/Protobuf/Internal/GeneratedCodeInfo.php \
|
||||
php/src/Google/Protobuf/Internal/GPBDecodeException.php \
|
||||
php/src/Google/Protobuf/Internal/GPBJsonWire.php \
|
||||
php/src/Google/Protobuf/Internal/GPBLabel.php \
|
||||
php/src/Google/Protobuf/Internal/GPBType.php \
|
||||
php/src/Google/Protobuf/Internal/GPBUtil.php \
|
||||
php/src/Google/Protobuf/Internal/GPBWireType.php \
|
||||
php/src/Google/Protobuf/Internal/GPBWire.php \
|
||||
php/src/Google/Protobuf/Internal/MapEntry.php \
|
||||
php/src/Google/Protobuf/Internal/MapFieldIter.php \
|
||||
php/src/Google/Protobuf/Internal/MapField.php \
|
||||
php/src/Google/Protobuf/Internal/MessageBuilderContext.php \
|
||||
php/src/Google/Protobuf/Internal/MessageOptions.php \
|
||||
php/src/Google/Protobuf/Internal/Message.php \
|
||||
php/src/Google/Protobuf/Internal/MethodDescriptorProto.php \
|
||||
php/src/Google/Protobuf/Internal/MethodOptions_IdempotencyLevel.php \
|
||||
php/src/Google/Protobuf/Internal/MethodOptions.php \
|
||||
php/src/Google/Protobuf/Internal/OneofDescriptorProto.php \
|
||||
php/src/Google/Protobuf/Internal/OneofDescriptor.php \
|
||||
php/src/Google/Protobuf/Internal/OneofField.php \
|
||||
php/src/Google/Protobuf/Internal/OneofOptions.php \
|
||||
php/src/Google/Protobuf/Internal/RawInputStream.php \
|
||||
php/src/Google/Protobuf/Internal/RepeatedFieldIter.php \
|
||||
php/src/Google/Protobuf/Internal/RepeatedField.php \
|
||||
php/src/Google/Protobuf/Internal/ServiceDescriptorProto.php \
|
||||
php/src/Google/Protobuf/Internal/ServiceOptions.php \
|
||||
php/src/Google/Protobuf/Internal/SourceCodeInfo_Location.php \
|
||||
php/src/Google/Protobuf/Internal/SourceCodeInfo.php \
|
||||
php/src/Google/Protobuf/Internal/EnumOptions.php \
|
||||
php/src/Google/Protobuf/Internal/GPBLabel.php \
|
||||
php/src/Google/Protobuf/Internal/EnumBuilderContext.php \
|
||||
php/src/Google/Protobuf/Internal/GPBUtil.php \
|
||||
php/src/Google/Protobuf/Internal/FieldOptions_CType.php \
|
||||
php/src/Google/Protobuf/Internal/GPBDecodeException.php \
|
||||
php/src/Google/Protobuf/Internal/UninterpretedOption_NamePart.php \
|
||||
php/src/Google/Protobuf/Internal/UninterpretedOption.php \
|
||||
php/src/GPBMetadata/Google/Protobuf/Internal/Descriptor.php \
|
||||
php/tests/array_test.php \
|
||||
php/tests/autoload.php \
|
||||
@ -658,6 +661,7 @@ php_EXTRA_DIST= \
|
||||
php/tests/encode_decode_test.php \
|
||||
php/tests/gdb_test.sh \
|
||||
php/tests/generated_class_test.php \
|
||||
php/tests/generated_phpdoc_test.php \
|
||||
php/tests/map_field_test.php \
|
||||
php/tests/memory_leak_test.php \
|
||||
php/tests/php_implementation_test.php \
|
||||
@ -672,10 +676,11 @@ php_EXTRA_DIST= \
|
||||
php/tests/test_base.php \
|
||||
php/tests/test_util.php \
|
||||
php/tests/well_known_test.php \
|
||||
php/tests/undefined_test.php \
|
||||
php/README.md \
|
||||
php/phpunit.xml \
|
||||
php/composer.json \
|
||||
php/generate_descriptor_protos.sh \
|
||||
php/phpunit.xml \
|
||||
composer.json
|
||||
|
||||
python_EXTRA_DIST= \
|
||||
@ -963,9 +968,14 @@ EXTRA_DIST = $(@DIST_LANG@_EXTRA_DIST) \
|
||||
examples/list_people.py \
|
||||
examples/list_people_test.go \
|
||||
protobuf.bzl \
|
||||
python/release/wheel/build_wheel_manylinux.sh \
|
||||
python/release/wheel/Dockerfile \
|
||||
python/release/wheel/protobuf_optimized_pip.sh \
|
||||
python/release/wheel/README.md \
|
||||
six.BUILD \
|
||||
util/python/BUILD
|
||||
|
||||
|
||||
# Deletes all the files generated by autogen.sh.
|
||||
MAINTAINERCLEANFILES = \
|
||||
aclocal.m4 \
|
||||
|
@ -315,7 +315,7 @@ conformance-csharp: $(other_language_protoc_outputs)
|
||||
conformance-php:
|
||||
@echo "Writing shortcut script conformance-php..."
|
||||
@echo '#! /bin/sh' > conformance-php
|
||||
@echo 'php ./conformance_php.php' >> conformance-php
|
||||
@echo 'php -d auto_prepend_file=autoload.php ./conformance_php.php' >> conformance-php
|
||||
@chmod +x conformance-php
|
||||
|
||||
conformance-php-c:
|
||||
@ -346,6 +346,9 @@ test_php: protoc_middleman conformance-test-runner conformance-php $(other_langu
|
||||
test_php_c: protoc_middleman conformance-test-runner conformance-php-c $(other_language_protoc_outputs)
|
||||
./conformance-test-runner --enforce_recommended --failure_list failure_list_php_c.txt ./conformance-php-c
|
||||
|
||||
test_php_zts_c: protoc_middleman conformance-test-runner conformance-php-c $(other_language_protoc_outputs)
|
||||
./conformance-test-runner --enforce_recommended --failure_list failure_list_php_zts_c.txt ./conformance-php-c
|
||||
|
||||
# These depend on library paths being properly set up. The easiest way to
|
||||
# run them is to just use "tox" from the python dir.
|
||||
test_python: protoc_middleman conformance-test-runner
|
||||
|
21
conformance/autoload.php
Normal file
21
conformance/autoload.php
Normal file
@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
define("GOOGLE_INTERNAL_NAMESPACE", "Google\\Protobuf\\Internal\\");
|
||||
define("GOOGLE_NAMESPACE", "Google\\Protobuf\\");
|
||||
define("GOOGLE_GPBMETADATA_NAMESPACE", "GPBMetadata\\Google\\Protobuf\\Internal\\");
|
||||
|
||||
function protobuf_autoloader_impl($class, $prefix) {
|
||||
$length = strlen($prefix);
|
||||
if ((substr($class, 0, $length) === $prefix)) {
|
||||
$path = '../php/src/' . implode('/', array_map('ucwords', explode('\\', $class))) . '.php';
|
||||
include_once $path;
|
||||
}
|
||||
}
|
||||
|
||||
function protobuf_autoloader($class) {
|
||||
protobuf_autoloader_impl($class, GOOGLE_INTERNAL_NAMESPACE);
|
||||
protobuf_autoloader_impl($class, GOOGLE_NAMESPACE);
|
||||
protobuf_autoloader_impl($class, GOOGLE_GPBMETADATA_NAMESPACE);
|
||||
}
|
||||
|
||||
spl_autoload_register('protobuf_autoloader');
|
@ -60,7 +60,7 @@ function doTest($request)
|
||||
}
|
||||
} elseif ($request->getPayload() == "json_payload") {
|
||||
try {
|
||||
$test_message->jsonDecode($request->getJsonPayload());
|
||||
$test_message->mergeFromJsonString($request->getJsonPayload());
|
||||
} catch (Exception $e) {
|
||||
$response->setParseError($e->getMessage());
|
||||
return $response;
|
||||
@ -74,7 +74,7 @@ function doTest($request)
|
||||
} elseif ($request->getRequestedOutputFormat() == WireFormat::PROTOBUF) {
|
||||
$response->setProtobufPayload($test_message->serializeToString());
|
||||
} elseif ($request->getRequestedOutputFormat() == WireFormat::JSON) {
|
||||
$response->setJsonPayload($test_message->jsonEncode());
|
||||
$response->setJsonPayload($test_message->serializeToJsonString());
|
||||
}
|
||||
|
||||
return $response;
|
||||
@ -86,7 +86,8 @@ function doTestIO()
|
||||
if (strlen($length_bytes) == 0) {
|
||||
return false; # EOF
|
||||
} elseif (strlen($length_bytes) != 4) {
|
||||
trigger_error("I/O error", E_USER_ERROR);
|
||||
fwrite(STDERR, "I/O error\n");
|
||||
return false;
|
||||
}
|
||||
|
||||
$length = unpack("V", $length_bytes)[1];
|
||||
|
225
conformance/failure_list_php_zts_c.txt
Normal file
225
conformance/failure_list_php_zts_c.txt
Normal file
@ -0,0 +1,225 @@
|
||||
Recommended.FieldMaskNumbersDontRoundTrip.JsonOutput
|
||||
Recommended.FieldMaskPathsDontRoundTrip.JsonOutput
|
||||
Recommended.FieldMaskTooManyUnderscore.JsonOutput
|
||||
Recommended.JsonInput.BoolFieldIntegerOne
|
||||
Recommended.JsonInput.BoolFieldIntegerZero
|
||||
Recommended.JsonInput.DurationHas3FractionalDigits.Validator
|
||||
Recommended.JsonInput.DurationHas6FractionalDigits.Validator
|
||||
Recommended.JsonInput.DurationHas9FractionalDigits.Validator
|
||||
Recommended.JsonInput.DurationHasZeroFractionalDigit.Validator
|
||||
Recommended.JsonInput.Int64FieldBeString.Validator
|
||||
Recommended.JsonInput.OneofZeroBytes.JsonOutput
|
||||
Recommended.JsonInput.OneofZeroBytes.ProtobufOutput
|
||||
Recommended.JsonInput.OneofZeroDouble.JsonOutput
|
||||
Recommended.JsonInput.OneofZeroDouble.ProtobufOutput
|
||||
Recommended.JsonInput.OneofZeroFloat.JsonOutput
|
||||
Recommended.JsonInput.OneofZeroFloat.ProtobufOutput
|
||||
Recommended.JsonInput.OneofZeroString.JsonOutput
|
||||
Recommended.JsonInput.OneofZeroString.ProtobufOutput
|
||||
Recommended.JsonInput.OneofZeroUint32.JsonOutput
|
||||
Recommended.JsonInput.OneofZeroUint32.ProtobufOutput
|
||||
Recommended.JsonInput.OneofZeroUint64.JsonOutput
|
||||
Recommended.JsonInput.OneofZeroUint64.ProtobufOutput
|
||||
Recommended.JsonInput.StringEndsWithEscapeChar
|
||||
Recommended.JsonInput.StringFieldSurrogateInWrongOrder
|
||||
Recommended.JsonInput.StringFieldUnpairedHighSurrogate
|
||||
Recommended.JsonInput.StringFieldUnpairedLowSurrogate
|
||||
Recommended.JsonInput.TimestampHas3FractionalDigits.Validator
|
||||
Recommended.JsonInput.TimestampHas6FractionalDigits.Validator
|
||||
Recommended.JsonInput.TimestampHas9FractionalDigits.Validator
|
||||
Recommended.JsonInput.TimestampHasZeroFractionalDigit.Validator
|
||||
Recommended.JsonInput.TimestampZeroNormalized.Validator
|
||||
Recommended.JsonInput.Uint64FieldBeString.Validator
|
||||
Recommended.ProtobufInput.OneofZeroBytes.JsonOutput
|
||||
Recommended.ProtobufInput.OneofZeroBytes.ProtobufOutput
|
||||
Recommended.ProtobufInput.OneofZeroString.JsonOutput
|
||||
Recommended.ProtobufInput.OneofZeroString.ProtobufOutput
|
||||
Required.DurationProtoInputTooLarge.JsonOutput
|
||||
Required.DurationProtoInputTooSmall.JsonOutput
|
||||
Required.JsonInput.AllFieldAcceptNull.ProtobufOutput
|
||||
Required.JsonInput.Any.JsonOutput
|
||||
Required.JsonInput.Any.ProtobufOutput
|
||||
Required.JsonInput.AnyNested.JsonOutput
|
||||
Required.JsonInput.AnyNested.ProtobufOutput
|
||||
Required.JsonInput.AnyUnorderedTypeTag.JsonOutput
|
||||
Required.JsonInput.AnyUnorderedTypeTag.ProtobufOutput
|
||||
Required.JsonInput.AnyWithDuration.JsonOutput
|
||||
Required.JsonInput.AnyWithDuration.ProtobufOutput
|
||||
Required.JsonInput.AnyWithFieldMask.JsonOutput
|
||||
Required.JsonInput.AnyWithFieldMask.ProtobufOutput
|
||||
Required.JsonInput.AnyWithInt32ValueWrapper.JsonOutput
|
||||
Required.JsonInput.AnyWithInt32ValueWrapper.ProtobufOutput
|
||||
Required.JsonInput.AnyWithStruct.JsonOutput
|
||||
Required.JsonInput.AnyWithStruct.ProtobufOutput
|
||||
Required.JsonInput.AnyWithTimestamp.JsonOutput
|
||||
Required.JsonInput.AnyWithTimestamp.ProtobufOutput
|
||||
Required.JsonInput.AnyWithValueForInteger.JsonOutput
|
||||
Required.JsonInput.AnyWithValueForInteger.ProtobufOutput
|
||||
Required.JsonInput.AnyWithValueForJsonObject.JsonOutput
|
||||
Required.JsonInput.AnyWithValueForJsonObject.ProtobufOutput
|
||||
Required.JsonInput.BoolFieldFalse.ProtobufOutput
|
||||
Required.JsonInput.BoolMapField.JsonOutput
|
||||
Required.JsonInput.DoubleFieldInfinity.JsonOutput
|
||||
Required.JsonInput.DoubleFieldInfinity.ProtobufOutput
|
||||
Required.JsonInput.DoubleFieldMaxNegativeValue.JsonOutput
|
||||
Required.JsonInput.DoubleFieldMaxNegativeValue.ProtobufOutput
|
||||
Required.JsonInput.DoubleFieldMaxPositiveValue.JsonOutput
|
||||
Required.JsonInput.DoubleFieldMaxPositiveValue.ProtobufOutput
|
||||
Required.JsonInput.DoubleFieldMinNegativeValue.JsonOutput
|
||||
Required.JsonInput.DoubleFieldMinNegativeValue.ProtobufOutput
|
||||
Required.JsonInput.DoubleFieldMinPositiveValue.JsonOutput
|
||||
Required.JsonInput.DoubleFieldMinPositiveValue.ProtobufOutput
|
||||
Required.JsonInput.DoubleFieldNan.JsonOutput
|
||||
Required.JsonInput.DoubleFieldNan.ProtobufOutput
|
||||
Required.JsonInput.DoubleFieldNegativeInfinity.JsonOutput
|
||||
Required.JsonInput.DoubleFieldNegativeInfinity.ProtobufOutput
|
||||
Required.JsonInput.DoubleFieldQuotedValue.JsonOutput
|
||||
Required.JsonInput.DoubleFieldQuotedValue.ProtobufOutput
|
||||
Required.JsonInput.DurationMaxValue.JsonOutput
|
||||
Required.JsonInput.DurationMaxValue.ProtobufOutput
|
||||
Required.JsonInput.DurationMinValue.JsonOutput
|
||||
Required.JsonInput.DurationMinValue.ProtobufOutput
|
||||
Required.JsonInput.DurationRepeatedValue.JsonOutput
|
||||
Required.JsonInput.DurationRepeatedValue.ProtobufOutput
|
||||
Required.JsonInput.EnumField.ProtobufOutput
|
||||
Required.JsonInput.EnumFieldNumericValueNonZero.JsonOutput
|
||||
Required.JsonInput.EnumFieldNumericValueNonZero.ProtobufOutput
|
||||
Required.JsonInput.EnumFieldNumericValueZero.JsonOutput
|
||||
Required.JsonInput.EnumFieldNumericValueZero.ProtobufOutput
|
||||
Required.JsonInput.EnumFieldUnknownValue.Validator
|
||||
Required.JsonInput.FieldMask.JsonOutput
|
||||
Required.JsonInput.FieldMask.ProtobufOutput
|
||||
Required.JsonInput.FloatFieldInfinity.JsonOutput
|
||||
Required.JsonInput.FloatFieldInfinity.ProtobufOutput
|
||||
Required.JsonInput.FloatFieldNan.JsonOutput
|
||||
Required.JsonInput.FloatFieldNan.ProtobufOutput
|
||||
Required.JsonInput.FloatFieldNegativeInfinity.JsonOutput
|
||||
Required.JsonInput.FloatFieldNegativeInfinity.ProtobufOutput
|
||||
Required.JsonInput.FloatFieldQuotedValue.JsonOutput
|
||||
Required.JsonInput.FloatFieldQuotedValue.ProtobufOutput
|
||||
Required.JsonInput.FloatFieldTooLarge
|
||||
Required.JsonInput.FloatFieldTooSmall
|
||||
Required.JsonInput.Int32FieldExponentialFormat.JsonOutput
|
||||
Required.JsonInput.Int32FieldExponentialFormat.ProtobufOutput
|
||||
Required.JsonInput.Int32FieldFloatTrailingZero.JsonOutput
|
||||
Required.JsonInput.Int32FieldFloatTrailingZero.ProtobufOutput
|
||||
Required.JsonInput.Int32FieldMaxFloatValue.JsonOutput
|
||||
Required.JsonInput.Int32FieldMaxFloatValue.ProtobufOutput
|
||||
Required.JsonInput.Int32FieldMinFloatValue.JsonOutput
|
||||
Required.JsonInput.Int32FieldMinFloatValue.ProtobufOutput
|
||||
Required.JsonInput.Int32FieldStringValue.JsonOutput
|
||||
Required.JsonInput.Int32FieldStringValue.ProtobufOutput
|
||||
Required.JsonInput.Int32FieldStringValueEscaped.JsonOutput
|
||||
Required.JsonInput.Int32FieldStringValueEscaped.ProtobufOutput
|
||||
Required.JsonInput.Int32MapEscapedKey.JsonOutput
|
||||
Required.JsonInput.Int32MapEscapedKey.ProtobufOutput
|
||||
Required.JsonInput.Int32MapField.JsonOutput
|
||||
Required.JsonInput.Int32MapField.ProtobufOutput
|
||||
Required.JsonInput.Int64FieldMaxValue.JsonOutput
|
||||
Required.JsonInput.Int64FieldMaxValue.ProtobufOutput
|
||||
Required.JsonInput.Int64FieldMinValue.JsonOutput
|
||||
Required.JsonInput.Int64FieldMinValue.ProtobufOutput
|
||||
Required.JsonInput.Int64MapEscapedKey.JsonOutput
|
||||
Required.JsonInput.Int64MapEscapedKey.ProtobufOutput
|
||||
Required.JsonInput.Int64MapField.JsonOutput
|
||||
Required.JsonInput.Int64MapField.ProtobufOutput
|
||||
Required.JsonInput.MessageField.JsonOutput
|
||||
Required.JsonInput.MessageField.ProtobufOutput
|
||||
Required.JsonInput.MessageMapField.JsonOutput
|
||||
Required.JsonInput.MessageMapField.ProtobufOutput
|
||||
Required.JsonInput.MessageRepeatedField.JsonOutput
|
||||
Required.JsonInput.MessageRepeatedField.ProtobufOutput
|
||||
Required.JsonInput.OptionalBoolWrapper.JsonOutput
|
||||
Required.JsonInput.OptionalBoolWrapper.ProtobufOutput
|
||||
Required.JsonInput.OptionalBytesWrapper.JsonOutput
|
||||
Required.JsonInput.OptionalBytesWrapper.ProtobufOutput
|
||||
Required.JsonInput.OptionalDoubleWrapper.JsonOutput
|
||||
Required.JsonInput.OptionalDoubleWrapper.ProtobufOutput
|
||||
Required.JsonInput.OptionalFloatWrapper.JsonOutput
|
||||
Required.JsonInput.OptionalFloatWrapper.ProtobufOutput
|
||||
Required.JsonInput.OptionalInt32Wrapper.JsonOutput
|
||||
Required.JsonInput.OptionalInt32Wrapper.ProtobufOutput
|
||||
Required.JsonInput.OptionalInt64Wrapper.JsonOutput
|
||||
Required.JsonInput.OptionalInt64Wrapper.ProtobufOutput
|
||||
Required.JsonInput.OptionalStringWrapper.JsonOutput
|
||||
Required.JsonInput.OptionalStringWrapper.ProtobufOutput
|
||||
Required.JsonInput.OptionalUint32Wrapper.JsonOutput
|
||||
Required.JsonInput.OptionalUint32Wrapper.ProtobufOutput
|
||||
Required.JsonInput.OptionalUint64Wrapper.JsonOutput
|
||||
Required.JsonInput.OptionalUint64Wrapper.ProtobufOutput
|
||||
Required.JsonInput.OptionalWrapperTypesWithNonDefaultValue.JsonOutput
|
||||
Required.JsonInput.OptionalWrapperTypesWithNonDefaultValue.ProtobufOutput
|
||||
Required.JsonInput.PrimitiveRepeatedField.JsonOutput
|
||||
Required.JsonInput.PrimitiveRepeatedField.ProtobufOutput
|
||||
Required.JsonInput.RepeatedBoolWrapper.JsonOutput
|
||||
Required.JsonInput.RepeatedBoolWrapper.ProtobufOutput
|
||||
Required.JsonInput.RepeatedBytesWrapper.JsonOutput
|
||||
Required.JsonInput.RepeatedBytesWrapper.ProtobufOutput
|
||||
Required.JsonInput.RepeatedDoubleWrapper.JsonOutput
|
||||
Required.JsonInput.RepeatedDoubleWrapper.ProtobufOutput
|
||||
Required.JsonInput.RepeatedFieldWrongElementTypeExpectingStringsGotInt
|
||||
Required.JsonInput.RepeatedFloatWrapper.JsonOutput
|
||||
Required.JsonInput.RepeatedFloatWrapper.ProtobufOutput
|
||||
Required.JsonInput.RepeatedInt32Wrapper.JsonOutput
|
||||
Required.JsonInput.RepeatedInt32Wrapper.ProtobufOutput
|
||||
Required.JsonInput.RepeatedInt64Wrapper.JsonOutput
|
||||
Required.JsonInput.RepeatedInt64Wrapper.ProtobufOutput
|
||||
Required.JsonInput.RepeatedStringWrapper.JsonOutput
|
||||
Required.JsonInput.RepeatedStringWrapper.ProtobufOutput
|
||||
Required.JsonInput.RepeatedUint32Wrapper.JsonOutput
|
||||
Required.JsonInput.RepeatedUint32Wrapper.ProtobufOutput
|
||||
Required.JsonInput.RepeatedUint64Wrapper.JsonOutput
|
||||
Required.JsonInput.RepeatedUint64Wrapper.ProtobufOutput
|
||||
Required.JsonInput.StringFieldEscape.JsonOutput
|
||||
Required.JsonInput.StringFieldEscape.ProtobufOutput
|
||||
Required.JsonInput.StringFieldNotAString
|
||||
Required.JsonInput.StringFieldSurrogatePair.JsonOutput
|
||||
Required.JsonInput.StringFieldSurrogatePair.ProtobufOutput
|
||||
Required.JsonInput.StringFieldUnicodeEscape.JsonOutput
|
||||
Required.JsonInput.StringFieldUnicodeEscape.ProtobufOutput
|
||||
Required.JsonInput.StringFieldUnicodeEscapeWithLowercaseHexLetters.JsonOutput
|
||||
Required.JsonInput.StringFieldUnicodeEscapeWithLowercaseHexLetters.ProtobufOutput
|
||||
Required.JsonInput.Struct.JsonOutput
|
||||
Required.JsonInput.Struct.ProtobufOutput
|
||||
Required.JsonInput.TimestampMaxValue.JsonOutput
|
||||
Required.JsonInput.TimestampMaxValue.ProtobufOutput
|
||||
Required.JsonInput.TimestampMinValue.JsonOutput
|
||||
Required.JsonInput.TimestampMinValue.ProtobufOutput
|
||||
Required.JsonInput.TimestampRepeatedValue.JsonOutput
|
||||
Required.JsonInput.TimestampRepeatedValue.ProtobufOutput
|
||||
Required.JsonInput.TimestampWithNegativeOffset.JsonOutput
|
||||
Required.JsonInput.TimestampWithNegativeOffset.ProtobufOutput
|
||||
Required.JsonInput.TimestampWithPositiveOffset.JsonOutput
|
||||
Required.JsonInput.TimestampWithPositiveOffset.ProtobufOutput
|
||||
Required.JsonInput.Uint32FieldMaxFloatValue.JsonOutput
|
||||
Required.JsonInput.Uint32FieldMaxFloatValue.ProtobufOutput
|
||||
Required.JsonInput.Uint32MapField.JsonOutput
|
||||
Required.JsonInput.Uint32MapField.ProtobufOutput
|
||||
Required.JsonInput.Uint64FieldMaxValue.JsonOutput
|
||||
Required.JsonInput.Uint64FieldMaxValue.ProtobufOutput
|
||||
Required.JsonInput.Uint64MapField.JsonOutput
|
||||
Required.JsonInput.Uint64MapField.ProtobufOutput
|
||||
Required.JsonInput.ValueAcceptBool.JsonOutput
|
||||
Required.JsonInput.ValueAcceptBool.ProtobufOutput
|
||||
Required.JsonInput.ValueAcceptFloat.JsonOutput
|
||||
Required.JsonInput.ValueAcceptFloat.ProtobufOutput
|
||||
Required.JsonInput.ValueAcceptInteger.JsonOutput
|
||||
Required.JsonInput.ValueAcceptInteger.ProtobufOutput
|
||||
Required.JsonInput.ValueAcceptList.JsonOutput
|
||||
Required.JsonInput.ValueAcceptList.ProtobufOutput
|
||||
Required.JsonInput.ValueAcceptNull.JsonOutput
|
||||
Required.JsonInput.ValueAcceptNull.ProtobufOutput
|
||||
Required.JsonInput.ValueAcceptObject.JsonOutput
|
||||
Required.JsonInput.ValueAcceptObject.ProtobufOutput
|
||||
Required.JsonInput.ValueAcceptString.JsonOutput
|
||||
Required.JsonInput.ValueAcceptString.ProtobufOutput
|
||||
Required.JsonInput.WrapperTypesWithNullValue.ProtobufOutput
|
||||
Required.ProtobufInput.DoubleFieldNormalizeQuietNan.JsonOutput
|
||||
Required.ProtobufInput.DoubleFieldNormalizeSignalingNan.JsonOutput
|
||||
Required.ProtobufInput.FloatFieldNormalizeQuietNan.JsonOutput
|
||||
Required.ProtobufInput.FloatFieldNormalizeSignalingNan.JsonOutput
|
||||
Required.ProtobufInput.RepeatedScalarSelectsLast.FIXED32.ProtobufOutput
|
||||
Required.ProtobufInput.RepeatedScalarSelectsLast.FIXED64.ProtobufOutput
|
||||
Required.ProtobufInput.RepeatedScalarSelectsLast.UINT64.ProtobufOutput
|
||||
Required.TimestampProtoInputTooLarge.JsonOutput
|
||||
Required.TimestampProtoInputTooSmall.JsonOutput
|
@ -164,18 +164,21 @@ typedef struct {
|
||||
int property_ofs; // properties table cache
|
||||
uint32_t oneof_case_num; // oneof-case number to place in oneof_case field
|
||||
const upb_msgdef *md; // msgdef, for oneof submessage handler
|
||||
const upb_msgdef *parent_md; // msgdef, for parent submessage
|
||||
} oneof_handlerdata_t;
|
||||
|
||||
static const void *newoneofhandlerdata(upb_handlers *h,
|
||||
uint32_t ofs,
|
||||
uint32_t case_ofs,
|
||||
int property_ofs,
|
||||
const upb_msgdef *m,
|
||||
const upb_fielddef *f) {
|
||||
oneof_handlerdata_t* hd =
|
||||
(oneof_handlerdata_t*)malloc(sizeof(oneof_handlerdata_t));
|
||||
hd->ofs = ofs;
|
||||
hd->case_ofs = case_ofs;
|
||||
hd->property_ofs = property_ofs;
|
||||
hd->parent_md = m;
|
||||
// We reuse the field tag number as a oneof union discriminant tag. Note that
|
||||
// we don't expose these numbers to the user, so the only requirement is that
|
||||
// we have some unique ID for each union case/possibility. The field tag
|
||||
@ -284,10 +287,19 @@ DEFINE_SINGULAR_HANDLER(double, double)
|
||||
#if PHP_MAJOR_VERSION < 7
|
||||
static void *empty_php_string(zval** value_ptr) {
|
||||
SEPARATE_ZVAL_IF_NOT_REF(value_ptr);
|
||||
if (Z_TYPE_PP(value_ptr) == IS_STRING &&
|
||||
!IS_INTERNED(Z_STRVAL_PP(value_ptr))) {
|
||||
FREE(Z_STRVAL_PP(value_ptr));
|
||||
}
|
||||
ZVAL_EMPTY_STRING(*value_ptr);
|
||||
return (void*)(*value_ptr);
|
||||
}
|
||||
#else
|
||||
static void *empty_php_string(zval* value_ptr) {
|
||||
if (Z_TYPE_P(value_ptr) == IS_STRING) {
|
||||
zend_string_release(Z_STR_P(value_ptr));
|
||||
}
|
||||
ZVAL_EMPTY_STRING(value_ptr);
|
||||
return value_ptr;
|
||||
}
|
||||
#endif
|
||||
@ -462,7 +474,7 @@ static void map_slot_init(void* memory, upb_fieldtype_t type, zval* cache) {
|
||||
*(zval***)memory = holder;
|
||||
#else
|
||||
*(zval**)memory = cache;
|
||||
PHP_PROTO_ZVAL_STRINGL(*(zval**)memory, "", 0, 1);
|
||||
// PHP_PROTO_ZVAL_STRINGL(*(zval**)memory, "", 0, 1);
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
@ -654,6 +666,44 @@ DEFINE_ONEOF_HANDLER(double, double)
|
||||
|
||||
#undef DEFINE_ONEOF_HANDLER
|
||||
|
||||
static void oneof_cleanup(MessageHeader* msg,
|
||||
const oneof_handlerdata_t* oneofdata) {
|
||||
uint32_t old_case_num =
|
||||
DEREF(message_data(msg), oneofdata->case_ofs, uint32_t);
|
||||
if (old_case_num == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
const upb_fielddef* old_field =
|
||||
upb_msgdef_itof(oneofdata->parent_md, old_case_num);
|
||||
bool need_clean = false;
|
||||
|
||||
switch (upb_fielddef_type(old_field)) {
|
||||
case UPB_TYPE_STRING:
|
||||
case UPB_TYPE_BYTES:
|
||||
need_clean = true;
|
||||
break;
|
||||
case UPB_TYPE_MESSAGE:
|
||||
if (oneofdata->oneof_case_num != old_case_num) {
|
||||
need_clean = true;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (need_clean) {
|
||||
#if PHP_MAJOR_VERSION < 7
|
||||
SEPARATE_ZVAL_IF_NOT_REF(
|
||||
DEREF(message_data(msg), oneofdata->ofs, CACHED_VALUE*));
|
||||
php_proto_zval_ptr_dtor(
|
||||
*DEREF(message_data(msg), oneofdata->ofs, CACHED_VALUE*));
|
||||
MAKE_STD_ZVAL(*DEREF(message_data(msg), oneofdata->ofs, CACHED_VALUE*));
|
||||
ZVAL_NULL(*DEREF(message_data(msg), oneofdata->ofs, CACHED_VALUE*));
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
// Handlers for string/bytes in a oneof.
|
||||
static void *oneofbytes_handler(void *closure,
|
||||
const void *hd,
|
||||
@ -661,6 +711,8 @@ static void *oneofbytes_handler(void *closure,
|
||||
MessageHeader* msg = closure;
|
||||
const oneof_handlerdata_t *oneofdata = hd;
|
||||
|
||||
oneof_cleanup(msg, oneofdata);
|
||||
|
||||
DEREF(message_data(msg), oneofdata->case_ofs, uint32_t) =
|
||||
oneofdata->oneof_case_num;
|
||||
DEREF(message_data(msg), oneofdata->ofs, CACHED_VALUE*) =
|
||||
@ -691,22 +743,11 @@ static void* oneofsubmsg_handler(void* closure, const void* hd) {
|
||||
MessageHeader* submsg;
|
||||
|
||||
if (oldcase != oneofdata->oneof_case_num) {
|
||||
// Ideally, we should clean up the old data. However, we don't even know the
|
||||
// type of the old data. So, we will defer the desctruction of the old data
|
||||
// to the time that containing message's destroyed or the same oneof field
|
||||
// is accessed again and find that the old data hasn't been cleaned.
|
||||
DEREF(message_data(msg), oneofdata->ofs, CACHED_VALUE*) =
|
||||
&(msg->std.properties_table)[oneofdata->property_ofs];
|
||||
|
||||
// Old data was't cleaned when the oneof was accessed from another field.
|
||||
if (Z_TYPE_P(CACHED_PTR_TO_ZVAL_PTR(DEREF(
|
||||
message_data(msg), oneofdata->ofs, CACHED_VALUE*))) != IS_NULL) {
|
||||
php_proto_zval_ptr_dtor(
|
||||
CACHED_PTR_TO_ZVAL_PTR(
|
||||
DEREF(message_data(msg), oneofdata->ofs, CACHED_VALUE*)));
|
||||
}
|
||||
oneof_cleanup(msg, oneofdata);
|
||||
|
||||
// Create new message.
|
||||
DEREF(message_data(msg), oneofdata->ofs, CACHED_VALUE*) =
|
||||
&(msg->std.properties_table)[oneofdata->property_ofs];
|
||||
ZVAL_OBJ(CACHED_PTR_TO_ZVAL_PTR(
|
||||
DEREF(message_data(msg), oneofdata->ofs, CACHED_VALUE*)),
|
||||
subklass->create_object(subklass TSRMLS_CC));
|
||||
@ -856,6 +897,7 @@ static void add_handlers_for_mapentry(const upb_msgdef* msgdef, upb_handlers* h,
|
||||
|
||||
// Set up handlers for a oneof field.
|
||||
static void add_handlers_for_oneof_field(upb_handlers *h,
|
||||
const upb_msgdef *m,
|
||||
const upb_fielddef *f,
|
||||
size_t offset,
|
||||
size_t oneof_case_offset,
|
||||
@ -864,7 +906,7 @@ static void add_handlers_for_oneof_field(upb_handlers *h,
|
||||
upb_handlerattr attr = UPB_HANDLERATTR_INITIALIZER;
|
||||
upb_handlerattr_sethandlerdata(
|
||||
&attr, newoneofhandlerdata(h, offset, oneof_case_offset,
|
||||
property_cache_offset, f));
|
||||
property_cache_offset, m, f));
|
||||
|
||||
switch (upb_fielddef_type(f)) {
|
||||
|
||||
@ -936,8 +978,8 @@ static void add_handlers_for_message(const void* closure,
|
||||
desc->layout->fields[upb_fielddef_index(f)].case_offset;
|
||||
int property_cache_index =
|
||||
desc->layout->fields[upb_fielddef_index(f)].cache_index;
|
||||
add_handlers_for_oneof_field(h, f, offset, oneof_case_offset,
|
||||
property_cache_index);
|
||||
add_handlers_for_oneof_field(h, desc->msgdef, f, offset,
|
||||
oneof_case_offset, property_cache_index);
|
||||
} else if (is_map_field(f)) {
|
||||
add_handlers_for_mapfield(h, f, offset, desc);
|
||||
} else if (upb_fielddef_isseq(f)) {
|
||||
@ -1198,7 +1240,7 @@ static void putrawmsg(MessageHeader* msg, const Descriptor* desc,
|
||||
} else if (upb_fielddef_isstring(f)) {
|
||||
zval* str = CACHED_PTR_TO_ZVAL_PTR(
|
||||
DEREF(message_data(msg), offset, CACHED_VALUE*));
|
||||
if (Z_STRLEN_P(str) > 0) {
|
||||
if (containing_oneof || Z_STRLEN_P(str) > 0) {
|
||||
putstr(str, f, sink);
|
||||
}
|
||||
} else if (upb_fielddef_issubmsg(f)) {
|
||||
@ -1221,10 +1263,10 @@ static void putrawmsg(MessageHeader* msg, const Descriptor* desc,
|
||||
T(UPB_TYPE_DOUBLE, double, double, 0.0)
|
||||
T(UPB_TYPE_BOOL, bool, uint8_t, 0)
|
||||
case UPB_TYPE_ENUM:
|
||||
T(UPB_TYPE_INT32, int32, int32_t, 0)
|
||||
T(UPB_TYPE_UINT32, uint32, uint32_t, 0)
|
||||
T(UPB_TYPE_INT64, int64, int64_t, 0)
|
||||
T(UPB_TYPE_UINT64, uint64, uint64_t, 0)
|
||||
T(UPB_TYPE_INT32, int32, int32_t, 0)
|
||||
T(UPB_TYPE_UINT32, uint32, uint32_t, 0)
|
||||
T(UPB_TYPE_INT64, int64, int64_t, 0)
|
||||
T(UPB_TYPE_UINT64, uint64, uint64_t, 0)
|
||||
|
||||
case UPB_TYPE_STRING:
|
||||
case UPB_TYPE_BYTES:
|
||||
@ -1246,18 +1288,23 @@ static void putstr(zval* str, const upb_fielddef *f, upb_sink *sink) {
|
||||
|
||||
assert(Z_TYPE_P(str) == IS_STRING);
|
||||
|
||||
// Ensure that the string has the correct encoding. We also check at field-set
|
||||
// time, but the user may have mutated the string object since then.
|
||||
if (upb_fielddef_type(f) == UPB_TYPE_STRING &&
|
||||
!is_structurally_valid_utf8(Z_STRVAL_P(str), Z_STRLEN_P(str))) {
|
||||
zend_error(E_USER_ERROR, "Given string is not UTF8 encoded.");
|
||||
return;
|
||||
}
|
||||
|
||||
upb_sink_startstr(sink, getsel(f, UPB_HANDLER_STARTSTR), Z_STRLEN_P(str),
|
||||
&subsink);
|
||||
upb_sink_putstring(&subsink, getsel(f, UPB_HANDLER_STRING), Z_STRVAL_P(str),
|
||||
Z_STRLEN_P(str), NULL);
|
||||
|
||||
// For oneof string field, we may get here with string length is zero.
|
||||
if (Z_STRLEN_P(str) > 0) {
|
||||
// Ensure that the string has the correct encoding. We also check at
|
||||
// field-set time, but the user may have mutated the string object since
|
||||
// then.
|
||||
if (upb_fielddef_type(f) == UPB_TYPE_STRING &&
|
||||
!is_structurally_valid_utf8(Z_STRVAL_P(str), Z_STRLEN_P(str))) {
|
||||
zend_error(E_USER_ERROR, "Given string is not UTF8 encoded.");
|
||||
return;
|
||||
}
|
||||
upb_sink_putstring(&subsink, getsel(f, UPB_HANDLER_STRING), Z_STRVAL_P(str),
|
||||
Z_STRLEN_P(str), NULL);
|
||||
}
|
||||
|
||||
upb_sink_endstr(sink, getsel(f, UPB_HANDLER_ENDSTR));
|
||||
}
|
||||
|
||||
@ -1452,7 +1499,7 @@ PHP_METHOD(Message, mergeFromString) {
|
||||
}
|
||||
}
|
||||
|
||||
PHP_METHOD(Message, jsonEncode) {
|
||||
PHP_METHOD(Message, serializeToJsonString) {
|
||||
Descriptor* desc =
|
||||
UNBOX_HASHTABLE_VALUE(Descriptor, get_ce_obj(Z_OBJCE_P(getThis())));
|
||||
|
||||
@ -1483,13 +1530,14 @@ PHP_METHOD(Message, jsonEncode) {
|
||||
}
|
||||
}
|
||||
|
||||
PHP_METHOD(Message, jsonDecode) {
|
||||
PHP_METHOD(Message, mergeFromJsonString) {
|
||||
Descriptor* desc =
|
||||
UNBOX_HASHTABLE_VALUE(Descriptor, get_ce_obj(Z_OBJCE_P(getThis())));
|
||||
MessageHeader* msg = UNBOX(MessageHeader, getThis());
|
||||
|
||||
char *data = NULL;
|
||||
int data_len;
|
||||
PHP_PROTO_SIZE data_len;
|
||||
|
||||
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &data, &data_len) ==
|
||||
FAILURE) {
|
||||
return;
|
||||
|
@ -40,8 +40,8 @@ static zend_function_entry message_methods[] = {
|
||||
PHP_ME(Message, clear, NULL, ZEND_ACC_PUBLIC)
|
||||
PHP_ME(Message, serializeToString, NULL, ZEND_ACC_PUBLIC)
|
||||
PHP_ME(Message, mergeFromString, NULL, ZEND_ACC_PUBLIC)
|
||||
PHP_ME(Message, jsonEncode, NULL, ZEND_ACC_PUBLIC)
|
||||
PHP_ME(Message, jsonDecode, NULL, ZEND_ACC_PUBLIC)
|
||||
PHP_ME(Message, serializeToJsonString, NULL, ZEND_ACC_PUBLIC)
|
||||
PHP_ME(Message, mergeFromJsonString, NULL, ZEND_ACC_PUBLIC)
|
||||
PHP_ME(Message, mergeFrom, NULL, ZEND_ACC_PUBLIC)
|
||||
PHP_ME(Message, readOneof, NULL, ZEND_ACC_PROTECTED)
|
||||
PHP_ME(Message, writeOneof, NULL, ZEND_ACC_PROTECTED)
|
||||
|
@ -593,8 +593,8 @@ const upb_pbdecodermethod *new_fillmsg_decodermethod(Descriptor *desc,
|
||||
|
||||
PHP_METHOD(Message, serializeToString);
|
||||
PHP_METHOD(Message, mergeFromString);
|
||||
PHP_METHOD(Message, jsonEncode);
|
||||
PHP_METHOD(Message, jsonDecode);
|
||||
PHP_METHOD(Message, serializeToJsonString);
|
||||
PHP_METHOD(Message, mergeFromJsonString);
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// Type check / conversion.
|
||||
|
@ -2308,6 +2308,9 @@ bool upb_symtab_addfile(upb_symtab *s, upb_filedef *file, upb_status *status) {
|
||||
bool ret;
|
||||
|
||||
n = upb_filedef_defcount(file);
|
||||
if (n == 0) {
|
||||
return true;
|
||||
}
|
||||
defs = upb_gmalloc(sizeof(*defs) * n);
|
||||
|
||||
if (defs == NULL) {
|
||||
|
@ -7,6 +7,7 @@
|
||||
<file>tests/array_test.php</file>
|
||||
<file>tests/encode_decode_test.php</file>
|
||||
<file>tests/generated_class_test.php</file>
|
||||
<file>tests/generated_phpdoc_test.php</file>
|
||||
<file>tests/map_field_test.php</file>
|
||||
<file>tests/well_known_test.php</file>
|
||||
</testsuite>
|
||||
|
@ -34,7 +34,7 @@ namespace Google\Protobuf\Internal;
|
||||
|
||||
use Google\Protobuf\Internal\Uint64;
|
||||
|
||||
class InputStream
|
||||
class CodedInputStream
|
||||
{
|
||||
|
||||
private $buffer;
|
||||
@ -73,7 +73,7 @@ class InputStream
|
||||
$this->current += $amount;
|
||||
}
|
||||
|
||||
private function bufferSize()
|
||||
public function bufferSize()
|
||||
{
|
||||
return $this->buffer_end - $this->current;
|
||||
}
|
||||
@ -172,6 +172,9 @@ class InputStream
|
||||
} while ($b & 0x80);
|
||||
|
||||
$var = GPBUtil::combineInt32ToInt64($high, $low);
|
||||
if (bccomp($var, 0) < 0) {
|
||||
$var = bcadd($var, "18446744073709551616");
|
||||
}
|
||||
} else {
|
||||
$result = 0;
|
||||
$shift = 0;
|
@ -32,7 +32,7 @@
|
||||
|
||||
namespace Google\Protobuf\Internal;
|
||||
|
||||
class OutputStream
|
||||
class CodedOutputStream
|
||||
{
|
||||
|
||||
private $buffer;
|
||||
@ -53,10 +53,10 @@ class OutputStream
|
||||
return $this->buffer;
|
||||
}
|
||||
|
||||
public function writeVarint32($value)
|
||||
public function writeVarint32($value, $trim)
|
||||
{
|
||||
$bytes = str_repeat(chr(0), self::MAX_VARINT64_BYTES);
|
||||
$size = self::writeVarintToArray($value, $bytes);
|
||||
$size = self::writeVarintToArray($value, $bytes, $trim);
|
||||
return $this->writeRaw($bytes, $size);
|
||||
}
|
||||
|
||||
@ -83,7 +83,7 @@ class OutputStream
|
||||
|
||||
public function writeTag($tag)
|
||||
{
|
||||
return $this->writeVarint32($tag);
|
||||
return $this->writeVarint32($tag, true);
|
||||
}
|
||||
|
||||
public function writeRaw($data, $size)
|
||||
@ -101,19 +101,19 @@ class OutputStream
|
||||
return true;
|
||||
}
|
||||
|
||||
private static function writeVarintToArray($value, &$buffer)
|
||||
private static function writeVarintToArray($value, &$buffer, $trim = false)
|
||||
{
|
||||
$current = 0;
|
||||
|
||||
$high = 0;
|
||||
$low = 0;
|
||||
if (PHP_INT_SIZE == 4) {
|
||||
GPBUtil::divideInt64ToInt32($value, $high, $low);
|
||||
GPBUtil::divideInt64ToInt32($value, $high, $low, $trim);
|
||||
} else {
|
||||
$low = $value;
|
||||
}
|
||||
|
||||
while ($low >= 0x80 || $low < 0) {
|
||||
while (($low >= 0x80 || $low < 0) || $high != 0) {
|
||||
$buffer[$current] = chr($low | 0x80);
|
||||
$value = ($value >> 7) & ~(0x7F << ((PHP_INT_SIZE << 3) - 7));
|
||||
$carry = ($high & 0x7F) << ((PHP_INT_SIZE << 3) - 7);
|
@ -37,6 +37,8 @@ class Descriptor
|
||||
|
||||
private $full_name;
|
||||
private $field = [];
|
||||
private $json_to_field = [];
|
||||
private $name_to_field = [];
|
||||
private $nested_type = [];
|
||||
private $enum_type = [];
|
||||
private $klass;
|
||||
@ -66,6 +68,8 @@ class Descriptor
|
||||
public function addField($field)
|
||||
{
|
||||
$this->field[$field->getNumber()] = $field;
|
||||
$this->json_to_field[$field->getJsonName()] = $field;
|
||||
$this->name_to_field[$field->getName()] = $field;
|
||||
}
|
||||
|
||||
public function getField()
|
||||
@ -95,11 +99,29 @@ class Descriptor
|
||||
|
||||
public function getFieldByNumber($number)
|
||||
{
|
||||
if (!isset($this->field[$number])) {
|
||||
return NULL;
|
||||
} else {
|
||||
return $this->field[$number];
|
||||
}
|
||||
if (!isset($this->field[$number])) {
|
||||
return NULL;
|
||||
} else {
|
||||
return $this->field[$number];
|
||||
}
|
||||
}
|
||||
|
||||
public function getFieldByJsonName($json_name)
|
||||
{
|
||||
if (!isset($this->json_to_field[$json_name])) {
|
||||
return NULL;
|
||||
} else {
|
||||
return $this->json_to_field[$json_name];
|
||||
}
|
||||
}
|
||||
|
||||
public function getFieldByName($name)
|
||||
{
|
||||
if (!isset($this->name_to_field[$name])) {
|
||||
return NULL;
|
||||
} else {
|
||||
return $this->name_to_field[$name];
|
||||
}
|
||||
}
|
||||
|
||||
public function setClass($klass)
|
||||
|
@ -12,66 +12,62 @@ use Google\Protobuf\Internal\InputStream;
|
||||
use Google\Protobuf\Internal\GPBUtil;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Describes a message type.
|
||||
* </pre>
|
||||
*
|
||||
* Protobuf type <code>google.protobuf.DescriptorProto</code>
|
||||
* Generated from protobuf message <code>google.protobuf.DescriptorProto</code>
|
||||
*/
|
||||
class DescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
{
|
||||
/**
|
||||
* <code>optional string name = 1;</code>
|
||||
* Generated from protobuf field <code>optional string name = 1;</code>
|
||||
*/
|
||||
private $name = '';
|
||||
private $has_name = false;
|
||||
/**
|
||||
* <code>repeated .google.protobuf.FieldDescriptorProto field = 2;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.FieldDescriptorProto field = 2;</code>
|
||||
*/
|
||||
private $field;
|
||||
private $has_field = false;
|
||||
/**
|
||||
* <code>repeated .google.protobuf.FieldDescriptorProto extension = 6;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.FieldDescriptorProto extension = 6;</code>
|
||||
*/
|
||||
private $extension;
|
||||
private $has_extension = false;
|
||||
/**
|
||||
* <code>repeated .google.protobuf.DescriptorProto nested_type = 3;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.DescriptorProto nested_type = 3;</code>
|
||||
*/
|
||||
private $nested_type;
|
||||
private $has_nested_type = false;
|
||||
/**
|
||||
* <code>repeated .google.protobuf.EnumDescriptorProto enum_type = 4;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.EnumDescriptorProto enum_type = 4;</code>
|
||||
*/
|
||||
private $enum_type;
|
||||
private $has_enum_type = false;
|
||||
/**
|
||||
* <code>repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;</code>
|
||||
*/
|
||||
private $extension_range;
|
||||
private $has_extension_range = false;
|
||||
/**
|
||||
* <code>repeated .google.protobuf.OneofDescriptorProto oneof_decl = 8;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.OneofDescriptorProto oneof_decl = 8;</code>
|
||||
*/
|
||||
private $oneof_decl;
|
||||
private $has_oneof_decl = false;
|
||||
/**
|
||||
* <code>optional .google.protobuf.MessageOptions options = 7;</code>
|
||||
* Generated from protobuf field <code>optional .google.protobuf.MessageOptions options = 7;</code>
|
||||
*/
|
||||
private $options = null;
|
||||
private $has_options = false;
|
||||
/**
|
||||
* <code>repeated .google.protobuf.DescriptorProto.ReservedRange reserved_range = 9;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.DescriptorProto.ReservedRange reserved_range = 9;</code>
|
||||
*/
|
||||
private $reserved_range;
|
||||
private $has_reserved_range = false;
|
||||
/**
|
||||
* <pre>
|
||||
* Reserved field names, which may not be used by fields in the same message.
|
||||
* A given name may only be reserved once.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated string reserved_name = 10;</code>
|
||||
* Generated from protobuf field <code>repeated string reserved_name = 10;</code>
|
||||
*/
|
||||
private $reserved_name;
|
||||
private $has_reserved_name = false;
|
||||
@ -82,7 +78,8 @@ class DescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional string name = 1;</code>
|
||||
* Generated from protobuf field <code>optional string name = 1;</code>
|
||||
* @return string
|
||||
*/
|
||||
public function getName()
|
||||
{
|
||||
@ -90,7 +87,9 @@ class DescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional string name = 1;</code>
|
||||
* Generated from protobuf field <code>optional string name = 1;</code>
|
||||
* @param string $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setName($var)
|
||||
{
|
||||
@ -107,7 +106,8 @@ class DescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>repeated .google.protobuf.FieldDescriptorProto field = 2;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.FieldDescriptorProto field = 2;</code>
|
||||
* @return \Google\Protobuf\Internal\RepeatedField
|
||||
*/
|
||||
public function getField()
|
||||
{
|
||||
@ -115,7 +115,9 @@ class DescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>repeated .google.protobuf.FieldDescriptorProto field = 2;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.FieldDescriptorProto field = 2;</code>
|
||||
* @param \Google\Protobuf\Internal\FieldDescriptorProto[]|\Google\Protobuf\Internal\RepeatedField $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setField(&$var)
|
||||
{
|
||||
@ -132,7 +134,8 @@ class DescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>repeated .google.protobuf.FieldDescriptorProto extension = 6;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.FieldDescriptorProto extension = 6;</code>
|
||||
* @return \Google\Protobuf\Internal\RepeatedField
|
||||
*/
|
||||
public function getExtension()
|
||||
{
|
||||
@ -140,7 +143,9 @@ class DescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>repeated .google.protobuf.FieldDescriptorProto extension = 6;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.FieldDescriptorProto extension = 6;</code>
|
||||
* @param \Google\Protobuf\Internal\FieldDescriptorProto[]|\Google\Protobuf\Internal\RepeatedField $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setExtension(&$var)
|
||||
{
|
||||
@ -157,7 +162,8 @@ class DescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>repeated .google.protobuf.DescriptorProto nested_type = 3;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.DescriptorProto nested_type = 3;</code>
|
||||
* @return \Google\Protobuf\Internal\RepeatedField
|
||||
*/
|
||||
public function getNestedType()
|
||||
{
|
||||
@ -165,7 +171,9 @@ class DescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>repeated .google.protobuf.DescriptorProto nested_type = 3;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.DescriptorProto nested_type = 3;</code>
|
||||
* @param \Google\Protobuf\Internal\DescriptorProto[]|\Google\Protobuf\Internal\RepeatedField $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setNestedType(&$var)
|
||||
{
|
||||
@ -182,7 +190,8 @@ class DescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>repeated .google.protobuf.EnumDescriptorProto enum_type = 4;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.EnumDescriptorProto enum_type = 4;</code>
|
||||
* @return \Google\Protobuf\Internal\RepeatedField
|
||||
*/
|
||||
public function getEnumType()
|
||||
{
|
||||
@ -190,7 +199,9 @@ class DescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>repeated .google.protobuf.EnumDescriptorProto enum_type = 4;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.EnumDescriptorProto enum_type = 4;</code>
|
||||
* @param \Google\Protobuf\Internal\EnumDescriptorProto[]|\Google\Protobuf\Internal\RepeatedField $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setEnumType(&$var)
|
||||
{
|
||||
@ -207,7 +218,8 @@ class DescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;</code>
|
||||
* @return \Google\Protobuf\Internal\RepeatedField
|
||||
*/
|
||||
public function getExtensionRange()
|
||||
{
|
||||
@ -215,7 +227,9 @@ class DescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;</code>
|
||||
* @param \Google\Protobuf\Internal\DescriptorProto_ExtensionRange[]|\Google\Protobuf\Internal\RepeatedField $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setExtensionRange(&$var)
|
||||
{
|
||||
@ -232,7 +246,8 @@ class DescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>repeated .google.protobuf.OneofDescriptorProto oneof_decl = 8;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.OneofDescriptorProto oneof_decl = 8;</code>
|
||||
* @return \Google\Protobuf\Internal\RepeatedField
|
||||
*/
|
||||
public function getOneofDecl()
|
||||
{
|
||||
@ -240,7 +255,9 @@ class DescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>repeated .google.protobuf.OneofDescriptorProto oneof_decl = 8;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.OneofDescriptorProto oneof_decl = 8;</code>
|
||||
* @param \Google\Protobuf\Internal\OneofDescriptorProto[]|\Google\Protobuf\Internal\RepeatedField $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setOneofDecl(&$var)
|
||||
{
|
||||
@ -257,7 +274,8 @@ class DescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional .google.protobuf.MessageOptions options = 7;</code>
|
||||
* Generated from protobuf field <code>optional .google.protobuf.MessageOptions options = 7;</code>
|
||||
* @return \Google\Protobuf\Internal\MessageOptions
|
||||
*/
|
||||
public function getOptions()
|
||||
{
|
||||
@ -265,7 +283,9 @@ class DescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional .google.protobuf.MessageOptions options = 7;</code>
|
||||
* Generated from protobuf field <code>optional .google.protobuf.MessageOptions options = 7;</code>
|
||||
* @param \Google\Protobuf\Internal\MessageOptions $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setOptions(&$var)
|
||||
{
|
||||
@ -282,7 +302,8 @@ class DescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>repeated .google.protobuf.DescriptorProto.ReservedRange reserved_range = 9;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.DescriptorProto.ReservedRange reserved_range = 9;</code>
|
||||
* @return \Google\Protobuf\Internal\RepeatedField
|
||||
*/
|
||||
public function getReservedRange()
|
||||
{
|
||||
@ -290,7 +311,9 @@ class DescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>repeated .google.protobuf.DescriptorProto.ReservedRange reserved_range = 9;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.DescriptorProto.ReservedRange reserved_range = 9;</code>
|
||||
* @param \Google\Protobuf\Internal\DescriptorProto_ReservedRange[]|\Google\Protobuf\Internal\RepeatedField $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setReservedRange(&$var)
|
||||
{
|
||||
@ -307,12 +330,11 @@ class DescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Reserved field names, which may not be used by fields in the same message.
|
||||
* A given name may only be reserved once.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated string reserved_name = 10;</code>
|
||||
* Generated from protobuf field <code>repeated string reserved_name = 10;</code>
|
||||
* @return \Google\Protobuf\Internal\RepeatedField
|
||||
*/
|
||||
public function getReservedName()
|
||||
{
|
||||
@ -320,12 +342,12 @@ class DescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Reserved field names, which may not be used by fields in the same message.
|
||||
* A given name may only be reserved once.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated string reserved_name = 10;</code>
|
||||
* Generated from protobuf field <code>repeated string reserved_name = 10;</code>
|
||||
* @param string[]|\Google\Protobuf\Internal\RepeatedField $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setReservedName(&$var)
|
||||
{
|
||||
|
@ -12,17 +12,17 @@ use Google\Protobuf\Internal\InputStream;
|
||||
use Google\Protobuf\Internal\GPBUtil;
|
||||
|
||||
/**
|
||||
* Protobuf type <code>google.protobuf.DescriptorProto.ExtensionRange</code>
|
||||
* Generated from protobuf message <code>google.protobuf.DescriptorProto.ExtensionRange</code>
|
||||
*/
|
||||
class DescriptorProto_ExtensionRange extends \Google\Protobuf\Internal\Message
|
||||
{
|
||||
/**
|
||||
* <code>optional int32 start = 1;</code>
|
||||
* Generated from protobuf field <code>optional int32 start = 1;</code>
|
||||
*/
|
||||
private $start = 0;
|
||||
private $has_start = false;
|
||||
/**
|
||||
* <code>optional int32 end = 2;</code>
|
||||
* Generated from protobuf field <code>optional int32 end = 2;</code>
|
||||
*/
|
||||
private $end = 0;
|
||||
private $has_end = false;
|
||||
@ -33,7 +33,8 @@ class DescriptorProto_ExtensionRange extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional int32 start = 1;</code>
|
||||
* Generated from protobuf field <code>optional int32 start = 1;</code>
|
||||
* @return int
|
||||
*/
|
||||
public function getStart()
|
||||
{
|
||||
@ -41,7 +42,9 @@ class DescriptorProto_ExtensionRange extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional int32 start = 1;</code>
|
||||
* Generated from protobuf field <code>optional int32 start = 1;</code>
|
||||
* @param int $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setStart($var)
|
||||
{
|
||||
@ -58,7 +61,8 @@ class DescriptorProto_ExtensionRange extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional int32 end = 2;</code>
|
||||
* Generated from protobuf field <code>optional int32 end = 2;</code>
|
||||
* @return int
|
||||
*/
|
||||
public function getEnd()
|
||||
{
|
||||
@ -66,7 +70,9 @@ class DescriptorProto_ExtensionRange extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional int32 end = 2;</code>
|
||||
* Generated from protobuf field <code>optional int32 end = 2;</code>
|
||||
* @param int $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setEnd($var)
|
||||
{
|
||||
|
@ -12,31 +12,25 @@ use Google\Protobuf\Internal\InputStream;
|
||||
use Google\Protobuf\Internal\GPBUtil;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Range of reserved tag numbers. Reserved tag numbers may not be used by
|
||||
* fields or extension ranges in the same message. Reserved ranges may
|
||||
* not overlap.
|
||||
* </pre>
|
||||
*
|
||||
* Protobuf type <code>google.protobuf.DescriptorProto.ReservedRange</code>
|
||||
* Generated from protobuf message <code>google.protobuf.DescriptorProto.ReservedRange</code>
|
||||
*/
|
||||
class DescriptorProto_ReservedRange extends \Google\Protobuf\Internal\Message
|
||||
{
|
||||
/**
|
||||
* <pre>
|
||||
* Inclusive.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional int32 start = 1;</code>
|
||||
* Generated from protobuf field <code>optional int32 start = 1;</code>
|
||||
*/
|
||||
private $start = 0;
|
||||
private $has_start = false;
|
||||
/**
|
||||
* <pre>
|
||||
* Exclusive.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional int32 end = 2;</code>
|
||||
* Generated from protobuf field <code>optional int32 end = 2;</code>
|
||||
*/
|
||||
private $end = 0;
|
||||
private $has_end = false;
|
||||
@ -47,11 +41,10 @@ class DescriptorProto_ReservedRange extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Inclusive.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional int32 start = 1;</code>
|
||||
* Generated from protobuf field <code>optional int32 start = 1;</code>
|
||||
* @return int
|
||||
*/
|
||||
public function getStart()
|
||||
{
|
||||
@ -59,11 +52,11 @@ class DescriptorProto_ReservedRange extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Inclusive.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional int32 start = 1;</code>
|
||||
* Generated from protobuf field <code>optional int32 start = 1;</code>
|
||||
* @param int $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setStart($var)
|
||||
{
|
||||
@ -80,11 +73,10 @@ class DescriptorProto_ReservedRange extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Exclusive.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional int32 end = 2;</code>
|
||||
* Generated from protobuf field <code>optional int32 end = 2;</code>
|
||||
* @return int
|
||||
*/
|
||||
public function getEnd()
|
||||
{
|
||||
@ -92,11 +84,11 @@ class DescriptorProto_ReservedRange extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Exclusive.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional int32 end = 2;</code>
|
||||
* Generated from protobuf field <code>optional int32 end = 2;</code>
|
||||
* @param int $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setEnd($var)
|
||||
{
|
||||
|
@ -8,6 +8,7 @@ class EnumDescriptor
|
||||
private $klass;
|
||||
private $full_name;
|
||||
private $value;
|
||||
private $name_to_value;
|
||||
|
||||
public function setFullName($full_name)
|
||||
{
|
||||
@ -22,6 +23,17 @@ class EnumDescriptor
|
||||
public function addValue($number, $value)
|
||||
{
|
||||
$this->value[$number] = $value;
|
||||
$this->name_to_value[$value->getName()] = $value;
|
||||
}
|
||||
|
||||
public function getValueByNumber($number)
|
||||
{
|
||||
return $this->value[$number];
|
||||
}
|
||||
|
||||
public function getValueByName($name)
|
||||
{
|
||||
return $this->name_to_value[$name];
|
||||
}
|
||||
|
||||
public function setClass($klass)
|
||||
@ -50,6 +62,10 @@ class EnumDescriptor
|
||||
$fullname);
|
||||
$desc->setFullName($fullname);
|
||||
$desc->setClass($classname);
|
||||
$values = $proto->getValue();
|
||||
foreach ($values as $value) {
|
||||
$desc->addValue($value->getNumber(), $value);
|
||||
}
|
||||
|
||||
return $desc;
|
||||
}
|
||||
|
@ -12,26 +12,24 @@ use Google\Protobuf\Internal\InputStream;
|
||||
use Google\Protobuf\Internal\GPBUtil;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Describes an enum type.
|
||||
* </pre>
|
||||
*
|
||||
* Protobuf type <code>google.protobuf.EnumDescriptorProto</code>
|
||||
* Generated from protobuf message <code>google.protobuf.EnumDescriptorProto</code>
|
||||
*/
|
||||
class EnumDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
{
|
||||
/**
|
||||
* <code>optional string name = 1;</code>
|
||||
* Generated from protobuf field <code>optional string name = 1;</code>
|
||||
*/
|
||||
private $name = '';
|
||||
private $has_name = false;
|
||||
/**
|
||||
* <code>repeated .google.protobuf.EnumValueDescriptorProto value = 2;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.EnumValueDescriptorProto value = 2;</code>
|
||||
*/
|
||||
private $value;
|
||||
private $has_value = false;
|
||||
/**
|
||||
* <code>optional .google.protobuf.EnumOptions options = 3;</code>
|
||||
* Generated from protobuf field <code>optional .google.protobuf.EnumOptions options = 3;</code>
|
||||
*/
|
||||
private $options = null;
|
||||
private $has_options = false;
|
||||
@ -42,7 +40,8 @@ class EnumDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional string name = 1;</code>
|
||||
* Generated from protobuf field <code>optional string name = 1;</code>
|
||||
* @return string
|
||||
*/
|
||||
public function getName()
|
||||
{
|
||||
@ -50,7 +49,9 @@ class EnumDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional string name = 1;</code>
|
||||
* Generated from protobuf field <code>optional string name = 1;</code>
|
||||
* @param string $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setName($var)
|
||||
{
|
||||
@ -67,7 +68,8 @@ class EnumDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>repeated .google.protobuf.EnumValueDescriptorProto value = 2;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.EnumValueDescriptorProto value = 2;</code>
|
||||
* @return \Google\Protobuf\Internal\RepeatedField
|
||||
*/
|
||||
public function getValue()
|
||||
{
|
||||
@ -75,7 +77,9 @@ class EnumDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>repeated .google.protobuf.EnumValueDescriptorProto value = 2;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.EnumValueDescriptorProto value = 2;</code>
|
||||
* @param \Google\Protobuf\Internal\EnumValueDescriptorProto[]|\Google\Protobuf\Internal\RepeatedField $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setValue(&$var)
|
||||
{
|
||||
@ -92,7 +96,8 @@ class EnumDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional .google.protobuf.EnumOptions options = 3;</code>
|
||||
* Generated from protobuf field <code>optional .google.protobuf.EnumOptions options = 3;</code>
|
||||
* @return \Google\Protobuf\Internal\EnumOptions
|
||||
*/
|
||||
public function getOptions()
|
||||
{
|
||||
@ -100,7 +105,9 @@ class EnumDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional .google.protobuf.EnumOptions options = 3;</code>
|
||||
* Generated from protobuf field <code>optional .google.protobuf.EnumOptions options = 3;</code>
|
||||
* @param \Google\Protobuf\Internal\EnumOptions $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setOptions(&$var)
|
||||
{
|
||||
|
@ -12,38 +12,32 @@ use Google\Protobuf\Internal\InputStream;
|
||||
use Google\Protobuf\Internal\GPBUtil;
|
||||
|
||||
/**
|
||||
* Protobuf type <code>google.protobuf.EnumOptions</code>
|
||||
* Generated from protobuf message <code>google.protobuf.EnumOptions</code>
|
||||
*/
|
||||
class EnumOptions extends \Google\Protobuf\Internal\Message
|
||||
{
|
||||
/**
|
||||
* <pre>
|
||||
* Set this option to true to allow mapping different tag names to the same
|
||||
* value.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool allow_alias = 2;</code>
|
||||
* Generated from protobuf field <code>optional bool allow_alias = 2;</code>
|
||||
*/
|
||||
private $allow_alias = false;
|
||||
private $has_allow_alias = false;
|
||||
/**
|
||||
* <pre>
|
||||
* Is this enum deprecated?
|
||||
* Depending on the target platform, this can emit Deprecated annotations
|
||||
* for the enum, or it will be completely ignored; in the very least, this
|
||||
* is a formalization for deprecating enums.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool deprecated = 3 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool deprecated = 3 [default = false];</code>
|
||||
*/
|
||||
private $deprecated = false;
|
||||
private $has_deprecated = false;
|
||||
/**
|
||||
* <pre>
|
||||
* The parser stores options it doesn't recognize here. See above.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
*/
|
||||
private $uninterpreted_option;
|
||||
private $has_uninterpreted_option = false;
|
||||
@ -54,12 +48,11 @@ class EnumOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Set this option to true to allow mapping different tag names to the same
|
||||
* value.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool allow_alias = 2;</code>
|
||||
* Generated from protobuf field <code>optional bool allow_alias = 2;</code>
|
||||
* @return bool
|
||||
*/
|
||||
public function getAllowAlias()
|
||||
{
|
||||
@ -67,12 +60,12 @@ class EnumOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Set this option to true to allow mapping different tag names to the same
|
||||
* value.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool allow_alias = 2;</code>
|
||||
* Generated from protobuf field <code>optional bool allow_alias = 2;</code>
|
||||
* @param bool $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setAllowAlias($var)
|
||||
{
|
||||
@ -89,14 +82,13 @@ class EnumOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Is this enum deprecated?
|
||||
* Depending on the target platform, this can emit Deprecated annotations
|
||||
* for the enum, or it will be completely ignored; in the very least, this
|
||||
* is a formalization for deprecating enums.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool deprecated = 3 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool deprecated = 3 [default = false];</code>
|
||||
* @return bool
|
||||
*/
|
||||
public function getDeprecated()
|
||||
{
|
||||
@ -104,14 +96,14 @@ class EnumOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Is this enum deprecated?
|
||||
* Depending on the target platform, this can emit Deprecated annotations
|
||||
* for the enum, or it will be completely ignored; in the very least, this
|
||||
* is a formalization for deprecating enums.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool deprecated = 3 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool deprecated = 3 [default = false];</code>
|
||||
* @param bool $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setDeprecated($var)
|
||||
{
|
||||
@ -128,11 +120,10 @@ class EnumOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* The parser stores options it doesn't recognize here. See above.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
* @return \Google\Protobuf\Internal\RepeatedField
|
||||
*/
|
||||
public function getUninterpretedOption()
|
||||
{
|
||||
@ -140,11 +131,11 @@ class EnumOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* The parser stores options it doesn't recognize here. See above.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
* @param \Google\Protobuf\Internal\UninterpretedOption[]|\Google\Protobuf\Internal\RepeatedField $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setUninterpretedOption(&$var)
|
||||
{
|
||||
|
@ -34,4 +34,26 @@ namespace Google\Protobuf\Internal;
|
||||
|
||||
class EnumValueDescriptor
|
||||
{
|
||||
private $name;
|
||||
private $number;
|
||||
|
||||
public function setName($name)
|
||||
{
|
||||
$this->name = $name;
|
||||
}
|
||||
|
||||
public function getName()
|
||||
{
|
||||
return $this->name;
|
||||
}
|
||||
|
||||
public function setNumber($number)
|
||||
{
|
||||
$this->number = $number;
|
||||
}
|
||||
|
||||
public function getNumber()
|
||||
{
|
||||
return $this->number;
|
||||
}
|
||||
}
|
||||
|
@ -12,26 +12,24 @@ use Google\Protobuf\Internal\InputStream;
|
||||
use Google\Protobuf\Internal\GPBUtil;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Describes a value within an enum.
|
||||
* </pre>
|
||||
*
|
||||
* Protobuf type <code>google.protobuf.EnumValueDescriptorProto</code>
|
||||
* Generated from protobuf message <code>google.protobuf.EnumValueDescriptorProto</code>
|
||||
*/
|
||||
class EnumValueDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
{
|
||||
/**
|
||||
* <code>optional string name = 1;</code>
|
||||
* Generated from protobuf field <code>optional string name = 1;</code>
|
||||
*/
|
||||
private $name = '';
|
||||
private $has_name = false;
|
||||
/**
|
||||
* <code>optional int32 number = 2;</code>
|
||||
* Generated from protobuf field <code>optional int32 number = 2;</code>
|
||||
*/
|
||||
private $number = 0;
|
||||
private $has_number = false;
|
||||
/**
|
||||
* <code>optional .google.protobuf.EnumValueOptions options = 3;</code>
|
||||
* Generated from protobuf field <code>optional .google.protobuf.EnumValueOptions options = 3;</code>
|
||||
*/
|
||||
private $options = null;
|
||||
private $has_options = false;
|
||||
@ -42,7 +40,8 @@ class EnumValueDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional string name = 1;</code>
|
||||
* Generated from protobuf field <code>optional string name = 1;</code>
|
||||
* @return string
|
||||
*/
|
||||
public function getName()
|
||||
{
|
||||
@ -50,7 +49,9 @@ class EnumValueDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional string name = 1;</code>
|
||||
* Generated from protobuf field <code>optional string name = 1;</code>
|
||||
* @param string $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setName($var)
|
||||
{
|
||||
@ -67,7 +68,8 @@ class EnumValueDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional int32 number = 2;</code>
|
||||
* Generated from protobuf field <code>optional int32 number = 2;</code>
|
||||
* @return int
|
||||
*/
|
||||
public function getNumber()
|
||||
{
|
||||
@ -75,7 +77,9 @@ class EnumValueDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional int32 number = 2;</code>
|
||||
* Generated from protobuf field <code>optional int32 number = 2;</code>
|
||||
* @param int $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setNumber($var)
|
||||
{
|
||||
@ -92,7 +96,8 @@ class EnumValueDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional .google.protobuf.EnumValueOptions options = 3;</code>
|
||||
* Generated from protobuf field <code>optional .google.protobuf.EnumValueOptions options = 3;</code>
|
||||
* @return \Google\Protobuf\Internal\EnumValueOptions
|
||||
*/
|
||||
public function getOptions()
|
||||
{
|
||||
@ -100,7 +105,9 @@ class EnumValueDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional .google.protobuf.EnumValueOptions options = 3;</code>
|
||||
* Generated from protobuf field <code>optional .google.protobuf.EnumValueOptions options = 3;</code>
|
||||
* @param \Google\Protobuf\Internal\EnumValueOptions $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setOptions(&$var)
|
||||
{
|
||||
|
@ -12,28 +12,24 @@ use Google\Protobuf\Internal\InputStream;
|
||||
use Google\Protobuf\Internal\GPBUtil;
|
||||
|
||||
/**
|
||||
* Protobuf type <code>google.protobuf.EnumValueOptions</code>
|
||||
* Generated from protobuf message <code>google.protobuf.EnumValueOptions</code>
|
||||
*/
|
||||
class EnumValueOptions extends \Google\Protobuf\Internal\Message
|
||||
{
|
||||
/**
|
||||
* <pre>
|
||||
* Is this enum value deprecated?
|
||||
* Depending on the target platform, this can emit Deprecated annotations
|
||||
* for the enum value, or it will be completely ignored; in the very least,
|
||||
* this is a formalization for deprecating enum values.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool deprecated = 1 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool deprecated = 1 [default = false];</code>
|
||||
*/
|
||||
private $deprecated = false;
|
||||
private $has_deprecated = false;
|
||||
/**
|
||||
* <pre>
|
||||
* The parser stores options it doesn't recognize here. See above.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
*/
|
||||
private $uninterpreted_option;
|
||||
private $has_uninterpreted_option = false;
|
||||
@ -44,14 +40,13 @@ class EnumValueOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Is this enum value deprecated?
|
||||
* Depending on the target platform, this can emit Deprecated annotations
|
||||
* for the enum value, or it will be completely ignored; in the very least,
|
||||
* this is a formalization for deprecating enum values.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool deprecated = 1 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool deprecated = 1 [default = false];</code>
|
||||
* @return bool
|
||||
*/
|
||||
public function getDeprecated()
|
||||
{
|
||||
@ -59,14 +54,14 @@ class EnumValueOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Is this enum value deprecated?
|
||||
* Depending on the target platform, this can emit Deprecated annotations
|
||||
* for the enum value, or it will be completely ignored; in the very least,
|
||||
* this is a formalization for deprecating enum values.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool deprecated = 1 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool deprecated = 1 [default = false];</code>
|
||||
* @param bool $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setDeprecated($var)
|
||||
{
|
||||
@ -83,11 +78,10 @@ class EnumValueOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* The parser stores options it doesn't recognize here. See above.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
* @return \Google\Protobuf\Internal\RepeatedField
|
||||
*/
|
||||
public function getUninterpretedOption()
|
||||
{
|
||||
@ -95,11 +89,11 @@ class EnumValueOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* The parser stores options it doesn't recognize here. See above.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
* @param \Google\Protobuf\Internal\UninterpretedOption[]|\Google\Protobuf\Internal\RepeatedField $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setUninterpretedOption(&$var)
|
||||
{
|
||||
|
@ -36,6 +36,7 @@ class FieldDescriptor
|
||||
{
|
||||
|
||||
private $name;
|
||||
private $json_name;
|
||||
private $setter;
|
||||
private $getter;
|
||||
private $number;
|
||||
@ -67,6 +68,16 @@ class FieldDescriptor
|
||||
return $this->name;
|
||||
}
|
||||
|
||||
public function setJsonName($json_name)
|
||||
{
|
||||
$this->json_name = $json_name;
|
||||
}
|
||||
|
||||
public function getJsonName()
|
||||
{
|
||||
return $this->json_name;
|
||||
}
|
||||
|
||||
public function setSetter($setter)
|
||||
{
|
||||
$this->setter = $setter;
|
||||
@ -172,23 +183,49 @@ class FieldDescriptor
|
||||
$field_type !== GPBType::BYTES);
|
||||
}
|
||||
|
||||
public static function getFieldDescriptor(
|
||||
$name,
|
||||
$label,
|
||||
$type,
|
||||
$number,
|
||||
$oneof_index,
|
||||
$packed,
|
||||
$type_name = null)
|
||||
public static function getFieldDescriptor($proto)
|
||||
{
|
||||
$type_name = null;
|
||||
$type = $proto->getType();
|
||||
switch ($type) {
|
||||
case GPBType::MESSAGE:
|
||||
case GPBType::GROUP:
|
||||
case GPBType::ENUM:
|
||||
$type_name = $proto->getTypeName();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
$oneof_index = $proto->hasOneofIndex() ? $proto->getOneofIndex() : -1;
|
||||
$packed = false;
|
||||
$options = $proto->getOptions();
|
||||
if ($options !== null) {
|
||||
$packed = $options->getPacked();
|
||||
}
|
||||
|
||||
$field = new FieldDescriptor();
|
||||
$field->setName($name);
|
||||
$camel_name = implode('', array_map('ucwords', explode('_', $name)));
|
||||
$field->setName($proto->getName());
|
||||
|
||||
$json_name = $proto->hasJsonName() ? $proto->getJsonName() :
|
||||
lcfirst(implode('', array_map('ucwords', explode('_', $proto->getName()))));
|
||||
if ($proto->hasJsonName()) {
|
||||
$json_name = $proto->getJsonName();
|
||||
} else {
|
||||
$proto_name = $proto->getName();
|
||||
$json_name = implode('', array_map('ucwords', explode('_', $proto_name)));
|
||||
if ($proto_name[0] !== "_" && !ctype_upper($proto_name[0])) {
|
||||
$json_name = lcfirst($json_name);
|
||||
}
|
||||
}
|
||||
$field->setJsonName($json_name);
|
||||
|
||||
$camel_name = implode('', array_map('ucwords', explode('_', $proto->getName())));
|
||||
$field->setGetter('get' . $camel_name);
|
||||
$field->setSetter('set' . $camel_name);
|
||||
$field->setType($type);
|
||||
$field->setNumber($number);
|
||||
$field->setLabel($label);
|
||||
$field->setType($proto->getType());
|
||||
$field->setNumber($proto->getNumber());
|
||||
$field->setLabel($proto->getLabel());
|
||||
$field->setPacked($packed);
|
||||
$field->setOneofIndex($oneof_index);
|
||||
|
||||
@ -211,26 +248,6 @@ class FieldDescriptor
|
||||
|
||||
public static function buildFromProto($proto)
|
||||
{
|
||||
$type_name = null;
|
||||
switch ($proto->getType()) {
|
||||
case GPBType::MESSAGE:
|
||||
case GPBType::GROUP:
|
||||
case GPBType::ENUM:
|
||||
$type_name = $proto->getTypeName();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
$oneof_index = $proto->hasOneofIndex() ? $proto->getOneofIndex() : -1;
|
||||
$packed = false;
|
||||
$options = $proto->getOptions();
|
||||
if ($options !== null) {
|
||||
$packed = $options->getPacked();
|
||||
}
|
||||
|
||||
return FieldDescriptor::getFieldDescriptor(
|
||||
$proto->getName(), $proto->getLabel(), $proto->getType(),
|
||||
$proto->getNumber(), $oneof_index, $packed, $type_name);
|
||||
return FieldDescriptor::getFieldDescriptor($proto);
|
||||
}
|
||||
}
|
||||
|
@ -12,99 +12,85 @@ use Google\Protobuf\Internal\InputStream;
|
||||
use Google\Protobuf\Internal\GPBUtil;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Describes a field within a message.
|
||||
* </pre>
|
||||
*
|
||||
* Protobuf type <code>google.protobuf.FieldDescriptorProto</code>
|
||||
* Generated from protobuf message <code>google.protobuf.FieldDescriptorProto</code>
|
||||
*/
|
||||
class FieldDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
{
|
||||
/**
|
||||
* <code>optional string name = 1;</code>
|
||||
* Generated from protobuf field <code>optional string name = 1;</code>
|
||||
*/
|
||||
private $name = '';
|
||||
private $has_name = false;
|
||||
/**
|
||||
* <code>optional int32 number = 3;</code>
|
||||
* Generated from protobuf field <code>optional int32 number = 3;</code>
|
||||
*/
|
||||
private $number = 0;
|
||||
private $has_number = false;
|
||||
/**
|
||||
* <code>optional .google.protobuf.FieldDescriptorProto.Label label = 4;</code>
|
||||
* Generated from protobuf field <code>optional .google.protobuf.FieldDescriptorProto.Label label = 4;</code>
|
||||
*/
|
||||
private $label = 0;
|
||||
private $has_label = false;
|
||||
/**
|
||||
* <pre>
|
||||
* If type_name is set, this need not be set. If both this and type_name
|
||||
* are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional .google.protobuf.FieldDescriptorProto.Type type = 5;</code>
|
||||
* Generated from protobuf field <code>optional .google.protobuf.FieldDescriptorProto.Type type = 5;</code>
|
||||
*/
|
||||
private $type = 0;
|
||||
private $has_type = false;
|
||||
/**
|
||||
* <pre>
|
||||
* For message and enum types, this is the name of the type. If the name
|
||||
* starts with a '.', it is fully-qualified. Otherwise, C++-like scoping
|
||||
* rules are used to find the type (i.e. first the nested types within this
|
||||
* message are searched, then within the parent, on up to the root
|
||||
* namespace).
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string type_name = 6;</code>
|
||||
* Generated from protobuf field <code>optional string type_name = 6;</code>
|
||||
*/
|
||||
private $type_name = '';
|
||||
private $has_type_name = false;
|
||||
/**
|
||||
* <pre>
|
||||
* For extensions, this is the name of the type being extended. It is
|
||||
* resolved in the same manner as type_name.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string extendee = 2;</code>
|
||||
* Generated from protobuf field <code>optional string extendee = 2;</code>
|
||||
*/
|
||||
private $extendee = '';
|
||||
private $has_extendee = false;
|
||||
/**
|
||||
* <pre>
|
||||
* For numeric types, contains the original text representation of the value.
|
||||
* For booleans, "true" or "false".
|
||||
* For strings, contains the default text contents (not escaped in any way).
|
||||
* For bytes, contains the C escaped value. All bytes >= 128 are escaped.
|
||||
* For bytes, contains the C escaped value. All bytes >= 128 are escaped.
|
||||
* TODO(kenton): Base-64 encode?
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string default_value = 7;</code>
|
||||
* Generated from protobuf field <code>optional string default_value = 7;</code>
|
||||
*/
|
||||
private $default_value = '';
|
||||
private $has_default_value = false;
|
||||
/**
|
||||
* <pre>
|
||||
* If set, gives the index of a oneof in the containing type's oneof_decl
|
||||
* list. This field is a member of that oneof.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional int32 oneof_index = 9;</code>
|
||||
* Generated from protobuf field <code>optional int32 oneof_index = 9;</code>
|
||||
*/
|
||||
private $oneof_index = 0;
|
||||
private $has_oneof_index = false;
|
||||
/**
|
||||
* <pre>
|
||||
* JSON name of this field. The value is set by protocol compiler. If the
|
||||
* user has set a "json_name" option on this field, that option's value
|
||||
* will be used. Otherwise, it's deduced from the field's name by converting
|
||||
* it to camelCase.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string json_name = 10;</code>
|
||||
* Generated from protobuf field <code>optional string json_name = 10;</code>
|
||||
*/
|
||||
private $json_name = '';
|
||||
private $has_json_name = false;
|
||||
/**
|
||||
* <code>optional .google.protobuf.FieldOptions options = 8;</code>
|
||||
* Generated from protobuf field <code>optional .google.protobuf.FieldOptions options = 8;</code>
|
||||
*/
|
||||
private $options = null;
|
||||
private $has_options = false;
|
||||
@ -115,7 +101,8 @@ class FieldDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional string name = 1;</code>
|
||||
* Generated from protobuf field <code>optional string name = 1;</code>
|
||||
* @return string
|
||||
*/
|
||||
public function getName()
|
||||
{
|
||||
@ -123,7 +110,9 @@ class FieldDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional string name = 1;</code>
|
||||
* Generated from protobuf field <code>optional string name = 1;</code>
|
||||
* @param string $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setName($var)
|
||||
{
|
||||
@ -140,7 +129,8 @@ class FieldDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional int32 number = 3;</code>
|
||||
* Generated from protobuf field <code>optional int32 number = 3;</code>
|
||||
* @return int
|
||||
*/
|
||||
public function getNumber()
|
||||
{
|
||||
@ -148,7 +138,9 @@ class FieldDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional int32 number = 3;</code>
|
||||
* Generated from protobuf field <code>optional int32 number = 3;</code>
|
||||
* @param int $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setNumber($var)
|
||||
{
|
||||
@ -165,7 +157,8 @@ class FieldDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional .google.protobuf.FieldDescriptorProto.Label label = 4;</code>
|
||||
* Generated from protobuf field <code>optional .google.protobuf.FieldDescriptorProto.Label label = 4;</code>
|
||||
* @return int
|
||||
*/
|
||||
public function getLabel()
|
||||
{
|
||||
@ -173,7 +166,9 @@ class FieldDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional .google.protobuf.FieldDescriptorProto.Label label = 4;</code>
|
||||
* Generated from protobuf field <code>optional .google.protobuf.FieldDescriptorProto.Label label = 4;</code>
|
||||
* @param int $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setLabel($var)
|
||||
{
|
||||
@ -190,12 +185,11 @@ class FieldDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* If type_name is set, this need not be set. If both this and type_name
|
||||
* are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional .google.protobuf.FieldDescriptorProto.Type type = 5;</code>
|
||||
* Generated from protobuf field <code>optional .google.protobuf.FieldDescriptorProto.Type type = 5;</code>
|
||||
* @return int
|
||||
*/
|
||||
public function getType()
|
||||
{
|
||||
@ -203,12 +197,12 @@ class FieldDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* If type_name is set, this need not be set. If both this and type_name
|
||||
* are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional .google.protobuf.FieldDescriptorProto.Type type = 5;</code>
|
||||
* Generated from protobuf field <code>optional .google.protobuf.FieldDescriptorProto.Type type = 5;</code>
|
||||
* @param int $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setType($var)
|
||||
{
|
||||
@ -225,15 +219,14 @@ class FieldDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* For message and enum types, this is the name of the type. If the name
|
||||
* starts with a '.', it is fully-qualified. Otherwise, C++-like scoping
|
||||
* rules are used to find the type (i.e. first the nested types within this
|
||||
* message are searched, then within the parent, on up to the root
|
||||
* namespace).
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string type_name = 6;</code>
|
||||
* Generated from protobuf field <code>optional string type_name = 6;</code>
|
||||
* @return string
|
||||
*/
|
||||
public function getTypeName()
|
||||
{
|
||||
@ -241,15 +234,15 @@ class FieldDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* For message and enum types, this is the name of the type. If the name
|
||||
* starts with a '.', it is fully-qualified. Otherwise, C++-like scoping
|
||||
* rules are used to find the type (i.e. first the nested types within this
|
||||
* message are searched, then within the parent, on up to the root
|
||||
* namespace).
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string type_name = 6;</code>
|
||||
* Generated from protobuf field <code>optional string type_name = 6;</code>
|
||||
* @param string $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setTypeName($var)
|
||||
{
|
||||
@ -266,12 +259,11 @@ class FieldDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* For extensions, this is the name of the type being extended. It is
|
||||
* resolved in the same manner as type_name.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string extendee = 2;</code>
|
||||
* Generated from protobuf field <code>optional string extendee = 2;</code>
|
||||
* @return string
|
||||
*/
|
||||
public function getExtendee()
|
||||
{
|
||||
@ -279,12 +271,12 @@ class FieldDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* For extensions, this is the name of the type being extended. It is
|
||||
* resolved in the same manner as type_name.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string extendee = 2;</code>
|
||||
* Generated from protobuf field <code>optional string extendee = 2;</code>
|
||||
* @param string $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setExtendee($var)
|
||||
{
|
||||
@ -301,15 +293,14 @@ class FieldDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* For numeric types, contains the original text representation of the value.
|
||||
* For booleans, "true" or "false".
|
||||
* For strings, contains the default text contents (not escaped in any way).
|
||||
* For bytes, contains the C escaped value. All bytes >= 128 are escaped.
|
||||
* For bytes, contains the C escaped value. All bytes >= 128 are escaped.
|
||||
* TODO(kenton): Base-64 encode?
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string default_value = 7;</code>
|
||||
* Generated from protobuf field <code>optional string default_value = 7;</code>
|
||||
* @return string
|
||||
*/
|
||||
public function getDefaultValue()
|
||||
{
|
||||
@ -317,15 +308,15 @@ class FieldDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* For numeric types, contains the original text representation of the value.
|
||||
* For booleans, "true" or "false".
|
||||
* For strings, contains the default text contents (not escaped in any way).
|
||||
* For bytes, contains the C escaped value. All bytes >= 128 are escaped.
|
||||
* For bytes, contains the C escaped value. All bytes >= 128 are escaped.
|
||||
* TODO(kenton): Base-64 encode?
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string default_value = 7;</code>
|
||||
* Generated from protobuf field <code>optional string default_value = 7;</code>
|
||||
* @param string $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setDefaultValue($var)
|
||||
{
|
||||
@ -342,12 +333,11 @@ class FieldDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* If set, gives the index of a oneof in the containing type's oneof_decl
|
||||
* list. This field is a member of that oneof.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional int32 oneof_index = 9;</code>
|
||||
* Generated from protobuf field <code>optional int32 oneof_index = 9;</code>
|
||||
* @return int
|
||||
*/
|
||||
public function getOneofIndex()
|
||||
{
|
||||
@ -355,12 +345,12 @@ class FieldDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* If set, gives the index of a oneof in the containing type's oneof_decl
|
||||
* list. This field is a member of that oneof.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional int32 oneof_index = 9;</code>
|
||||
* Generated from protobuf field <code>optional int32 oneof_index = 9;</code>
|
||||
* @param int $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setOneofIndex($var)
|
||||
{
|
||||
@ -377,14 +367,13 @@ class FieldDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JSON name of this field. The value is set by protocol compiler. If the
|
||||
* user has set a "json_name" option on this field, that option's value
|
||||
* will be used. Otherwise, it's deduced from the field's name by converting
|
||||
* it to camelCase.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string json_name = 10;</code>
|
||||
* Generated from protobuf field <code>optional string json_name = 10;</code>
|
||||
* @return string
|
||||
*/
|
||||
public function getJsonName()
|
||||
{
|
||||
@ -392,14 +381,14 @@ class FieldDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* JSON name of this field. The value is set by protocol compiler. If the
|
||||
* user has set a "json_name" option on this field, that option's value
|
||||
* will be used. Otherwise, it's deduced from the field's name by converting
|
||||
* it to camelCase.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string json_name = 10;</code>
|
||||
* Generated from protobuf field <code>optional string json_name = 10;</code>
|
||||
* @param string $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setJsonName($var)
|
||||
{
|
||||
@ -416,7 +405,8 @@ class FieldDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional .google.protobuf.FieldOptions options = 8;</code>
|
||||
* Generated from protobuf field <code>optional .google.protobuf.FieldOptions options = 8;</code>
|
||||
* @return \Google\Protobuf\Internal\FieldOptions
|
||||
*/
|
||||
public function getOptions()
|
||||
{
|
||||
@ -424,7 +414,9 @@ class FieldDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional .google.protobuf.FieldOptions options = 8;</code>
|
||||
* Generated from protobuf field <code>optional .google.protobuf.FieldOptions options = 8;</code>
|
||||
* @param \Google\Protobuf\Internal\FieldOptions $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setOptions(&$var)
|
||||
{
|
||||
|
@ -5,24 +5,22 @@
|
||||
namespace Google\Protobuf\Internal;
|
||||
|
||||
/**
|
||||
* Protobuf enum <code>google.protobuf.FieldDescriptorProto.Label</code>
|
||||
* Protobuf enum <code>Google\Protobuf\Internal</code>
|
||||
*/
|
||||
class FieldDescriptorProto_Label
|
||||
{
|
||||
/**
|
||||
* <pre>
|
||||
* 0 is reserved for errors
|
||||
* </pre>
|
||||
*
|
||||
* <code>LABEL_OPTIONAL = 1;</code>
|
||||
* Generated from protobuf enum <code>LABEL_OPTIONAL = 1;</code>
|
||||
*/
|
||||
const LABEL_OPTIONAL = 1;
|
||||
/**
|
||||
* <code>LABEL_REQUIRED = 2;</code>
|
||||
* Generated from protobuf enum <code>LABEL_REQUIRED = 2;</code>
|
||||
*/
|
||||
const LABEL_REQUIRED = 2;
|
||||
/**
|
||||
* <code>LABEL_REPEATED = 3;</code>
|
||||
* Generated from protobuf enum <code>LABEL_REPEATED = 3;</code>
|
||||
*/
|
||||
const LABEL_REPEATED = 3;
|
||||
}
|
||||
|
@ -5,118 +5,102 @@
|
||||
namespace Google\Protobuf\Internal;
|
||||
|
||||
/**
|
||||
* Protobuf enum <code>google.protobuf.FieldDescriptorProto.Type</code>
|
||||
* Protobuf enum <code>Google\Protobuf\Internal</code>
|
||||
*/
|
||||
class FieldDescriptorProto_Type
|
||||
{
|
||||
/**
|
||||
* <pre>
|
||||
* 0 is reserved for errors.
|
||||
* Order is weird for historical reasons.
|
||||
* </pre>
|
||||
*
|
||||
* <code>TYPE_DOUBLE = 1;</code>
|
||||
* Generated from protobuf enum <code>TYPE_DOUBLE = 1;</code>
|
||||
*/
|
||||
const TYPE_DOUBLE = 1;
|
||||
/**
|
||||
* <code>TYPE_FLOAT = 2;</code>
|
||||
* Generated from protobuf enum <code>TYPE_FLOAT = 2;</code>
|
||||
*/
|
||||
const TYPE_FLOAT = 2;
|
||||
/**
|
||||
* <pre>
|
||||
* Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if
|
||||
* negative values are likely.
|
||||
* </pre>
|
||||
*
|
||||
* <code>TYPE_INT64 = 3;</code>
|
||||
* Generated from protobuf enum <code>TYPE_INT64 = 3;</code>
|
||||
*/
|
||||
const TYPE_INT64 = 3;
|
||||
/**
|
||||
* <code>TYPE_UINT64 = 4;</code>
|
||||
* Generated from protobuf enum <code>TYPE_UINT64 = 4;</code>
|
||||
*/
|
||||
const TYPE_UINT64 = 4;
|
||||
/**
|
||||
* <pre>
|
||||
* Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if
|
||||
* negative values are likely.
|
||||
* </pre>
|
||||
*
|
||||
* <code>TYPE_INT32 = 5;</code>
|
||||
* Generated from protobuf enum <code>TYPE_INT32 = 5;</code>
|
||||
*/
|
||||
const TYPE_INT32 = 5;
|
||||
/**
|
||||
* <code>TYPE_FIXED64 = 6;</code>
|
||||
* Generated from protobuf enum <code>TYPE_FIXED64 = 6;</code>
|
||||
*/
|
||||
const TYPE_FIXED64 = 6;
|
||||
/**
|
||||
* <code>TYPE_FIXED32 = 7;</code>
|
||||
* Generated from protobuf enum <code>TYPE_FIXED32 = 7;</code>
|
||||
*/
|
||||
const TYPE_FIXED32 = 7;
|
||||
/**
|
||||
* <code>TYPE_BOOL = 8;</code>
|
||||
* Generated from protobuf enum <code>TYPE_BOOL = 8;</code>
|
||||
*/
|
||||
const TYPE_BOOL = 8;
|
||||
/**
|
||||
* <code>TYPE_STRING = 9;</code>
|
||||
* Generated from protobuf enum <code>TYPE_STRING = 9;</code>
|
||||
*/
|
||||
const TYPE_STRING = 9;
|
||||
/**
|
||||
* <pre>
|
||||
* Tag-delimited aggregate.
|
||||
* Group type is deprecated and not supported in proto3. However, Proto3
|
||||
* implementations should still be able to parse the group wire format and
|
||||
* treat group fields as unknown fields.
|
||||
* </pre>
|
||||
*
|
||||
* <code>TYPE_GROUP = 10;</code>
|
||||
* Generated from protobuf enum <code>TYPE_GROUP = 10;</code>
|
||||
*/
|
||||
const TYPE_GROUP = 10;
|
||||
/**
|
||||
* <pre>
|
||||
* Length-delimited aggregate.
|
||||
* </pre>
|
||||
*
|
||||
* <code>TYPE_MESSAGE = 11;</code>
|
||||
* Generated from protobuf enum <code>TYPE_MESSAGE = 11;</code>
|
||||
*/
|
||||
const TYPE_MESSAGE = 11;
|
||||
/**
|
||||
* <pre>
|
||||
* New in version 2.
|
||||
* </pre>
|
||||
*
|
||||
* <code>TYPE_BYTES = 12;</code>
|
||||
* Generated from protobuf enum <code>TYPE_BYTES = 12;</code>
|
||||
*/
|
||||
const TYPE_BYTES = 12;
|
||||
/**
|
||||
* <code>TYPE_UINT32 = 13;</code>
|
||||
* Generated from protobuf enum <code>TYPE_UINT32 = 13;</code>
|
||||
*/
|
||||
const TYPE_UINT32 = 13;
|
||||
/**
|
||||
* <code>TYPE_ENUM = 14;</code>
|
||||
* Generated from protobuf enum <code>TYPE_ENUM = 14;</code>
|
||||
*/
|
||||
const TYPE_ENUM = 14;
|
||||
/**
|
||||
* <code>TYPE_SFIXED32 = 15;</code>
|
||||
* Generated from protobuf enum <code>TYPE_SFIXED32 = 15;</code>
|
||||
*/
|
||||
const TYPE_SFIXED32 = 15;
|
||||
/**
|
||||
* <code>TYPE_SFIXED64 = 16;</code>
|
||||
* Generated from protobuf enum <code>TYPE_SFIXED64 = 16;</code>
|
||||
*/
|
||||
const TYPE_SFIXED64 = 16;
|
||||
/**
|
||||
* <pre>
|
||||
* Uses ZigZag encoding.
|
||||
* </pre>
|
||||
*
|
||||
* <code>TYPE_SINT32 = 17;</code>
|
||||
* Generated from protobuf enum <code>TYPE_SINT32 = 17;</code>
|
||||
*/
|
||||
const TYPE_SINT32 = 17;
|
||||
/**
|
||||
* <pre>
|
||||
* Uses ZigZag encoding.
|
||||
* </pre>
|
||||
*
|
||||
* <code>TYPE_SINT64 = 18;</code>
|
||||
* Generated from protobuf enum <code>TYPE_SINT64 = 18;</code>
|
||||
*/
|
||||
const TYPE_SINT64 = 18;
|
||||
}
|
||||
|
@ -12,37 +12,32 @@ use Google\Protobuf\Internal\InputStream;
|
||||
use Google\Protobuf\Internal\GPBUtil;
|
||||
|
||||
/**
|
||||
* Protobuf type <code>google.protobuf.FieldOptions</code>
|
||||
* Generated from protobuf message <code>google.protobuf.FieldOptions</code>
|
||||
*/
|
||||
class FieldOptions extends \Google\Protobuf\Internal\Message
|
||||
{
|
||||
/**
|
||||
* <pre>
|
||||
* The ctype option instructs the C++ code generator to use a different
|
||||
* representation of the field than it normally would. See the specific
|
||||
* options below. This option is not yet implemented in the open source
|
||||
* release -- sorry, we'll try to include it in a future version!
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];</code>
|
||||
* Generated from protobuf field <code>optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];</code>
|
||||
*/
|
||||
private $ctype = 0;
|
||||
private $has_ctype = false;
|
||||
/**
|
||||
* <pre>
|
||||
* The packed option can be enabled for repeated primitive fields to enable
|
||||
* a more efficient representation on the wire. Rather than repeatedly
|
||||
* writing the tag and type for each element, the entire array is encoded as
|
||||
* a single length-delimited blob. In proto3, only explicit setting it to
|
||||
* false will avoid using packed encoding.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool packed = 2;</code>
|
||||
* Generated from protobuf field <code>optional bool packed = 2;</code>
|
||||
*/
|
||||
private $packed = false;
|
||||
private $has_packed = false;
|
||||
/**
|
||||
* <pre>
|
||||
* The jstype option determines the JavaScript type used for values of the
|
||||
* field. The option is permitted only for 64 bit integral and fixed types
|
||||
* (int64, uint64, sint64, fixed64, sfixed64). By default these types are
|
||||
@ -52,14 +47,12 @@ class FieldOptions extends \Google\Protobuf\Internal\Message
|
||||
* JavaScript code to use the JavaScript "number" type instead of strings.
|
||||
* This option is an enum to permit additional types to be added,
|
||||
* e.g. goog.math.Integer.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional .google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL];</code>
|
||||
* Generated from protobuf field <code>optional .google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL];</code>
|
||||
*/
|
||||
private $jstype = 0;
|
||||
private $has_jstype = false;
|
||||
/**
|
||||
* <pre>
|
||||
* Should this field be parsed lazily? Lazy applies only to message-type
|
||||
* fields. It means that when the outer message is initially parsed, the
|
||||
* inner message's contents will not be parsed but instead stored in encoded
|
||||
@ -84,39 +77,32 @@ class FieldOptions extends \Google\Protobuf\Internal\Message
|
||||
* implementation must either *always* check its required fields, or *never*
|
||||
* check its required fields, regardless of whether or not the message has
|
||||
* been parsed.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool lazy = 5 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool lazy = 5 [default = false];</code>
|
||||
*/
|
||||
private $lazy = false;
|
||||
private $has_lazy = false;
|
||||
/**
|
||||
* <pre>
|
||||
* Is this field deprecated?
|
||||
* Depending on the target platform, this can emit Deprecated annotations
|
||||
* for accessors, or it will be completely ignored; in the very least, this
|
||||
* is a formalization for deprecating fields.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool deprecated = 3 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool deprecated = 3 [default = false];</code>
|
||||
*/
|
||||
private $deprecated = false;
|
||||
private $has_deprecated = false;
|
||||
/**
|
||||
* <pre>
|
||||
* For Google-internal migration only. Do not use.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool weak = 10 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool weak = 10 [default = false];</code>
|
||||
*/
|
||||
private $weak = false;
|
||||
private $has_weak = false;
|
||||
/**
|
||||
* <pre>
|
||||
* The parser stores options it doesn't recognize here. See above.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
*/
|
||||
private $uninterpreted_option;
|
||||
private $has_uninterpreted_option = false;
|
||||
@ -127,14 +113,13 @@ class FieldOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* The ctype option instructs the C++ code generator to use a different
|
||||
* representation of the field than it normally would. See the specific
|
||||
* options below. This option is not yet implemented in the open source
|
||||
* release -- sorry, we'll try to include it in a future version!
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];</code>
|
||||
* Generated from protobuf field <code>optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];</code>
|
||||
* @return int
|
||||
*/
|
||||
public function getCtype()
|
||||
{
|
||||
@ -142,14 +127,14 @@ class FieldOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* The ctype option instructs the C++ code generator to use a different
|
||||
* representation of the field than it normally would. See the specific
|
||||
* options below. This option is not yet implemented in the open source
|
||||
* release -- sorry, we'll try to include it in a future version!
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];</code>
|
||||
* Generated from protobuf field <code>optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];</code>
|
||||
* @param int $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setCtype($var)
|
||||
{
|
||||
@ -166,15 +151,14 @@ class FieldOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* The packed option can be enabled for repeated primitive fields to enable
|
||||
* a more efficient representation on the wire. Rather than repeatedly
|
||||
* writing the tag and type for each element, the entire array is encoded as
|
||||
* a single length-delimited blob. In proto3, only explicit setting it to
|
||||
* false will avoid using packed encoding.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool packed = 2;</code>
|
||||
* Generated from protobuf field <code>optional bool packed = 2;</code>
|
||||
* @return bool
|
||||
*/
|
||||
public function getPacked()
|
||||
{
|
||||
@ -182,15 +166,15 @@ class FieldOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* The packed option can be enabled for repeated primitive fields to enable
|
||||
* a more efficient representation on the wire. Rather than repeatedly
|
||||
* writing the tag and type for each element, the entire array is encoded as
|
||||
* a single length-delimited blob. In proto3, only explicit setting it to
|
||||
* false will avoid using packed encoding.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool packed = 2;</code>
|
||||
* Generated from protobuf field <code>optional bool packed = 2;</code>
|
||||
* @param bool $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setPacked($var)
|
||||
{
|
||||
@ -207,7 +191,6 @@ class FieldOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* The jstype option determines the JavaScript type used for values of the
|
||||
* field. The option is permitted only for 64 bit integral and fixed types
|
||||
* (int64, uint64, sint64, fixed64, sfixed64). By default these types are
|
||||
@ -217,9 +200,9 @@ class FieldOptions extends \Google\Protobuf\Internal\Message
|
||||
* JavaScript code to use the JavaScript "number" type instead of strings.
|
||||
* This option is an enum to permit additional types to be added,
|
||||
* e.g. goog.math.Integer.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional .google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL];</code>
|
||||
* Generated from protobuf field <code>optional .google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL];</code>
|
||||
* @return int
|
||||
*/
|
||||
public function getJstype()
|
||||
{
|
||||
@ -227,7 +210,6 @@ class FieldOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* The jstype option determines the JavaScript type used for values of the
|
||||
* field. The option is permitted only for 64 bit integral and fixed types
|
||||
* (int64, uint64, sint64, fixed64, sfixed64). By default these types are
|
||||
@ -237,9 +219,10 @@ class FieldOptions extends \Google\Protobuf\Internal\Message
|
||||
* JavaScript code to use the JavaScript "number" type instead of strings.
|
||||
* This option is an enum to permit additional types to be added,
|
||||
* e.g. goog.math.Integer.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional .google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL];</code>
|
||||
* Generated from protobuf field <code>optional .google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL];</code>
|
||||
* @param int $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setJstype($var)
|
||||
{
|
||||
@ -256,7 +239,6 @@ class FieldOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Should this field be parsed lazily? Lazy applies only to message-type
|
||||
* fields. It means that when the outer message is initially parsed, the
|
||||
* inner message's contents will not be parsed but instead stored in encoded
|
||||
@ -281,9 +263,9 @@ class FieldOptions extends \Google\Protobuf\Internal\Message
|
||||
* implementation must either *always* check its required fields, or *never*
|
||||
* check its required fields, regardless of whether or not the message has
|
||||
* been parsed.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool lazy = 5 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool lazy = 5 [default = false];</code>
|
||||
* @return bool
|
||||
*/
|
||||
public function getLazy()
|
||||
{
|
||||
@ -291,7 +273,6 @@ class FieldOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Should this field be parsed lazily? Lazy applies only to message-type
|
||||
* fields. It means that when the outer message is initially parsed, the
|
||||
* inner message's contents will not be parsed but instead stored in encoded
|
||||
@ -316,9 +297,10 @@ class FieldOptions extends \Google\Protobuf\Internal\Message
|
||||
* implementation must either *always* check its required fields, or *never*
|
||||
* check its required fields, regardless of whether or not the message has
|
||||
* been parsed.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool lazy = 5 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool lazy = 5 [default = false];</code>
|
||||
* @param bool $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setLazy($var)
|
||||
{
|
||||
@ -335,14 +317,13 @@ class FieldOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Is this field deprecated?
|
||||
* Depending on the target platform, this can emit Deprecated annotations
|
||||
* for accessors, or it will be completely ignored; in the very least, this
|
||||
* is a formalization for deprecating fields.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool deprecated = 3 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool deprecated = 3 [default = false];</code>
|
||||
* @return bool
|
||||
*/
|
||||
public function getDeprecated()
|
||||
{
|
||||
@ -350,14 +331,14 @@ class FieldOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Is this field deprecated?
|
||||
* Depending on the target platform, this can emit Deprecated annotations
|
||||
* for accessors, or it will be completely ignored; in the very least, this
|
||||
* is a formalization for deprecating fields.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool deprecated = 3 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool deprecated = 3 [default = false];</code>
|
||||
* @param bool $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setDeprecated($var)
|
||||
{
|
||||
@ -374,11 +355,10 @@ class FieldOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* For Google-internal migration only. Do not use.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool weak = 10 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool weak = 10 [default = false];</code>
|
||||
* @return bool
|
||||
*/
|
||||
public function getWeak()
|
||||
{
|
||||
@ -386,11 +366,11 @@ class FieldOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* For Google-internal migration only. Do not use.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool weak = 10 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool weak = 10 [default = false];</code>
|
||||
* @param bool $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setWeak($var)
|
||||
{
|
||||
@ -407,11 +387,10 @@ class FieldOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* The parser stores options it doesn't recognize here. See above.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
* @return \Google\Protobuf\Internal\RepeatedField
|
||||
*/
|
||||
public function getUninterpretedOption()
|
||||
{
|
||||
@ -419,11 +398,11 @@ class FieldOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* The parser stores options it doesn't recognize here. See above.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
* @param \Google\Protobuf\Internal\UninterpretedOption[]|\Google\Protobuf\Internal\RepeatedField $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setUninterpretedOption(&$var)
|
||||
{
|
||||
|
@ -5,24 +5,22 @@
|
||||
namespace Google\Protobuf\Internal;
|
||||
|
||||
/**
|
||||
* Protobuf enum <code>google.protobuf.FieldOptions.CType</code>
|
||||
* Protobuf enum <code>Google\Protobuf\Internal</code>
|
||||
*/
|
||||
class FieldOptions_CType
|
||||
{
|
||||
/**
|
||||
* <pre>
|
||||
* Default mode.
|
||||
* </pre>
|
||||
*
|
||||
* <code>STRING = 0;</code>
|
||||
* Generated from protobuf enum <code>STRING = 0;</code>
|
||||
*/
|
||||
const STRING = 0;
|
||||
/**
|
||||
* <code>CORD = 1;</code>
|
||||
* Generated from protobuf enum <code>CORD = 1;</code>
|
||||
*/
|
||||
const CORD = 1;
|
||||
/**
|
||||
* <code>STRING_PIECE = 2;</code>
|
||||
* Generated from protobuf enum <code>STRING_PIECE = 2;</code>
|
||||
*/
|
||||
const STRING_PIECE = 2;
|
||||
}
|
||||
|
@ -5,32 +5,26 @@
|
||||
namespace Google\Protobuf\Internal;
|
||||
|
||||
/**
|
||||
* Protobuf enum <code>google.protobuf.FieldOptions.JSType</code>
|
||||
* Protobuf enum <code>Google\Protobuf\Internal</code>
|
||||
*/
|
||||
class FieldOptions_JSType
|
||||
{
|
||||
/**
|
||||
* <pre>
|
||||
* Use the default type.
|
||||
* </pre>
|
||||
*
|
||||
* <code>JS_NORMAL = 0;</code>
|
||||
* Generated from protobuf enum <code>JS_NORMAL = 0;</code>
|
||||
*/
|
||||
const JS_NORMAL = 0;
|
||||
/**
|
||||
* <pre>
|
||||
* Use JavaScript strings.
|
||||
* </pre>
|
||||
*
|
||||
* <code>JS_STRING = 1;</code>
|
||||
* Generated from protobuf enum <code>JS_STRING = 1;</code>
|
||||
*/
|
||||
const JS_STRING = 1;
|
||||
/**
|
||||
* <pre>
|
||||
* Use JavaScript numbers.
|
||||
* </pre>
|
||||
*
|
||||
* <code>JS_NUMBER = 2;</code>
|
||||
* Generated from protobuf enum <code>JS_NUMBER = 2;</code>
|
||||
*/
|
||||
const JS_NUMBER = 2;
|
||||
}
|
||||
|
@ -12,108 +12,90 @@ use Google\Protobuf\Internal\InputStream;
|
||||
use Google\Protobuf\Internal\GPBUtil;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Describes a complete .proto file.
|
||||
* </pre>
|
||||
*
|
||||
* Protobuf type <code>google.protobuf.FileDescriptorProto</code>
|
||||
* Generated from protobuf message <code>google.protobuf.FileDescriptorProto</code>
|
||||
*/
|
||||
class FileDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
{
|
||||
/**
|
||||
* <pre>
|
||||
* file name, relative to root of source tree
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string name = 1;</code>
|
||||
* Generated from protobuf field <code>optional string name = 1;</code>
|
||||
*/
|
||||
private $name = '';
|
||||
private $has_name = false;
|
||||
/**
|
||||
* <pre>
|
||||
* e.g. "foo", "foo.bar", etc.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string package = 2;</code>
|
||||
* Generated from protobuf field <code>optional string package = 2;</code>
|
||||
*/
|
||||
private $package = '';
|
||||
private $has_package = false;
|
||||
/**
|
||||
* <pre>
|
||||
* Names of files imported by this file.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated string dependency = 3;</code>
|
||||
* Generated from protobuf field <code>repeated string dependency = 3;</code>
|
||||
*/
|
||||
private $dependency;
|
||||
private $has_dependency = false;
|
||||
/**
|
||||
* <pre>
|
||||
* Indexes of the public imported files in the dependency list above.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated int32 public_dependency = 10;</code>
|
||||
* Generated from protobuf field <code>repeated int32 public_dependency = 10;</code>
|
||||
*/
|
||||
private $public_dependency;
|
||||
private $has_public_dependency = false;
|
||||
/**
|
||||
* <pre>
|
||||
* Indexes of the weak imported files in the dependency list.
|
||||
* For Google-internal migration only. Do not use.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated int32 weak_dependency = 11;</code>
|
||||
* Generated from protobuf field <code>repeated int32 weak_dependency = 11;</code>
|
||||
*/
|
||||
private $weak_dependency;
|
||||
private $has_weak_dependency = false;
|
||||
/**
|
||||
* <pre>
|
||||
* All top-level definitions in this file.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated .google.protobuf.DescriptorProto message_type = 4;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.DescriptorProto message_type = 4;</code>
|
||||
*/
|
||||
private $message_type;
|
||||
private $has_message_type = false;
|
||||
/**
|
||||
* <code>repeated .google.protobuf.EnumDescriptorProto enum_type = 5;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.EnumDescriptorProto enum_type = 5;</code>
|
||||
*/
|
||||
private $enum_type;
|
||||
private $has_enum_type = false;
|
||||
/**
|
||||
* <code>repeated .google.protobuf.ServiceDescriptorProto service = 6;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.ServiceDescriptorProto service = 6;</code>
|
||||
*/
|
||||
private $service;
|
||||
private $has_service = false;
|
||||
/**
|
||||
* <code>repeated .google.protobuf.FieldDescriptorProto extension = 7;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.FieldDescriptorProto extension = 7;</code>
|
||||
*/
|
||||
private $extension;
|
||||
private $has_extension = false;
|
||||
/**
|
||||
* <code>optional .google.protobuf.FileOptions options = 8;</code>
|
||||
* Generated from protobuf field <code>optional .google.protobuf.FileOptions options = 8;</code>
|
||||
*/
|
||||
private $options = null;
|
||||
private $has_options = false;
|
||||
/**
|
||||
* <pre>
|
||||
* This field contains optional information about the original source code.
|
||||
* You may safely remove this entire field without harming runtime
|
||||
* functionality of the descriptors -- the information is needed only by
|
||||
* development tools.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional .google.protobuf.SourceCodeInfo source_code_info = 9;</code>
|
||||
* Generated from protobuf field <code>optional .google.protobuf.SourceCodeInfo source_code_info = 9;</code>
|
||||
*/
|
||||
private $source_code_info = null;
|
||||
private $has_source_code_info = false;
|
||||
/**
|
||||
* <pre>
|
||||
* The syntax of the proto file.
|
||||
* The supported values are "proto2" and "proto3".
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string syntax = 12;</code>
|
||||
* Generated from protobuf field <code>optional string syntax = 12;</code>
|
||||
*/
|
||||
private $syntax = '';
|
||||
private $has_syntax = false;
|
||||
@ -124,11 +106,10 @@ class FileDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* file name, relative to root of source tree
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string name = 1;</code>
|
||||
* Generated from protobuf field <code>optional string name = 1;</code>
|
||||
* @return string
|
||||
*/
|
||||
public function getName()
|
||||
{
|
||||
@ -136,11 +117,11 @@ class FileDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* file name, relative to root of source tree
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string name = 1;</code>
|
||||
* Generated from protobuf field <code>optional string name = 1;</code>
|
||||
* @param string $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setName($var)
|
||||
{
|
||||
@ -157,11 +138,10 @@ class FileDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* e.g. "foo", "foo.bar", etc.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string package = 2;</code>
|
||||
* Generated from protobuf field <code>optional string package = 2;</code>
|
||||
* @return string
|
||||
*/
|
||||
public function getPackage()
|
||||
{
|
||||
@ -169,11 +149,11 @@ class FileDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* e.g. "foo", "foo.bar", etc.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string package = 2;</code>
|
||||
* Generated from protobuf field <code>optional string package = 2;</code>
|
||||
* @param string $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setPackage($var)
|
||||
{
|
||||
@ -190,11 +170,10 @@ class FileDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Names of files imported by this file.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated string dependency = 3;</code>
|
||||
* Generated from protobuf field <code>repeated string dependency = 3;</code>
|
||||
* @return \Google\Protobuf\Internal\RepeatedField
|
||||
*/
|
||||
public function getDependency()
|
||||
{
|
||||
@ -202,11 +181,11 @@ class FileDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Names of files imported by this file.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated string dependency = 3;</code>
|
||||
* Generated from protobuf field <code>repeated string dependency = 3;</code>
|
||||
* @param string[]|\Google\Protobuf\Internal\RepeatedField $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setDependency(&$var)
|
||||
{
|
||||
@ -223,11 +202,10 @@ class FileDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Indexes of the public imported files in the dependency list above.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated int32 public_dependency = 10;</code>
|
||||
* Generated from protobuf field <code>repeated int32 public_dependency = 10;</code>
|
||||
* @return \Google\Protobuf\Internal\RepeatedField
|
||||
*/
|
||||
public function getPublicDependency()
|
||||
{
|
||||
@ -235,11 +213,11 @@ class FileDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Indexes of the public imported files in the dependency list above.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated int32 public_dependency = 10;</code>
|
||||
* Generated from protobuf field <code>repeated int32 public_dependency = 10;</code>
|
||||
* @param int[]|\Google\Protobuf\Internal\RepeatedField $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setPublicDependency(&$var)
|
||||
{
|
||||
@ -256,12 +234,11 @@ class FileDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Indexes of the weak imported files in the dependency list.
|
||||
* For Google-internal migration only. Do not use.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated int32 weak_dependency = 11;</code>
|
||||
* Generated from protobuf field <code>repeated int32 weak_dependency = 11;</code>
|
||||
* @return \Google\Protobuf\Internal\RepeatedField
|
||||
*/
|
||||
public function getWeakDependency()
|
||||
{
|
||||
@ -269,12 +246,12 @@ class FileDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Indexes of the weak imported files in the dependency list.
|
||||
* For Google-internal migration only. Do not use.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated int32 weak_dependency = 11;</code>
|
||||
* Generated from protobuf field <code>repeated int32 weak_dependency = 11;</code>
|
||||
* @param int[]|\Google\Protobuf\Internal\RepeatedField $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setWeakDependency(&$var)
|
||||
{
|
||||
@ -291,11 +268,10 @@ class FileDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* All top-level definitions in this file.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated .google.protobuf.DescriptorProto message_type = 4;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.DescriptorProto message_type = 4;</code>
|
||||
* @return \Google\Protobuf\Internal\RepeatedField
|
||||
*/
|
||||
public function getMessageType()
|
||||
{
|
||||
@ -303,11 +279,11 @@ class FileDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* All top-level definitions in this file.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated .google.protobuf.DescriptorProto message_type = 4;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.DescriptorProto message_type = 4;</code>
|
||||
* @param \Google\Protobuf\Internal\DescriptorProto[]|\Google\Protobuf\Internal\RepeatedField $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setMessageType(&$var)
|
||||
{
|
||||
@ -324,7 +300,8 @@ class FileDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>repeated .google.protobuf.EnumDescriptorProto enum_type = 5;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.EnumDescriptorProto enum_type = 5;</code>
|
||||
* @return \Google\Protobuf\Internal\RepeatedField
|
||||
*/
|
||||
public function getEnumType()
|
||||
{
|
||||
@ -332,7 +309,9 @@ class FileDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>repeated .google.protobuf.EnumDescriptorProto enum_type = 5;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.EnumDescriptorProto enum_type = 5;</code>
|
||||
* @param \Google\Protobuf\Internal\EnumDescriptorProto[]|\Google\Protobuf\Internal\RepeatedField $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setEnumType(&$var)
|
||||
{
|
||||
@ -349,7 +328,8 @@ class FileDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>repeated .google.protobuf.ServiceDescriptorProto service = 6;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.ServiceDescriptorProto service = 6;</code>
|
||||
* @return \Google\Protobuf\Internal\RepeatedField
|
||||
*/
|
||||
public function getService()
|
||||
{
|
||||
@ -357,7 +337,9 @@ class FileDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>repeated .google.protobuf.ServiceDescriptorProto service = 6;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.ServiceDescriptorProto service = 6;</code>
|
||||
* @param \Google\Protobuf\Internal\ServiceDescriptorProto[]|\Google\Protobuf\Internal\RepeatedField $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setService(&$var)
|
||||
{
|
||||
@ -374,7 +356,8 @@ class FileDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>repeated .google.protobuf.FieldDescriptorProto extension = 7;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.FieldDescriptorProto extension = 7;</code>
|
||||
* @return \Google\Protobuf\Internal\RepeatedField
|
||||
*/
|
||||
public function getExtension()
|
||||
{
|
||||
@ -382,7 +365,9 @@ class FileDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>repeated .google.protobuf.FieldDescriptorProto extension = 7;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.FieldDescriptorProto extension = 7;</code>
|
||||
* @param \Google\Protobuf\Internal\FieldDescriptorProto[]|\Google\Protobuf\Internal\RepeatedField $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setExtension(&$var)
|
||||
{
|
||||
@ -399,7 +384,8 @@ class FileDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional .google.protobuf.FileOptions options = 8;</code>
|
||||
* Generated from protobuf field <code>optional .google.protobuf.FileOptions options = 8;</code>
|
||||
* @return \Google\Protobuf\Internal\FileOptions
|
||||
*/
|
||||
public function getOptions()
|
||||
{
|
||||
@ -407,7 +393,9 @@ class FileDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional .google.protobuf.FileOptions options = 8;</code>
|
||||
* Generated from protobuf field <code>optional .google.protobuf.FileOptions options = 8;</code>
|
||||
* @param \Google\Protobuf\Internal\FileOptions $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setOptions(&$var)
|
||||
{
|
||||
@ -424,14 +412,13 @@ class FileDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* This field contains optional information about the original source code.
|
||||
* You may safely remove this entire field without harming runtime
|
||||
* functionality of the descriptors -- the information is needed only by
|
||||
* development tools.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional .google.protobuf.SourceCodeInfo source_code_info = 9;</code>
|
||||
* Generated from protobuf field <code>optional .google.protobuf.SourceCodeInfo source_code_info = 9;</code>
|
||||
* @return \Google\Protobuf\Internal\SourceCodeInfo
|
||||
*/
|
||||
public function getSourceCodeInfo()
|
||||
{
|
||||
@ -439,14 +426,14 @@ class FileDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* This field contains optional information about the original source code.
|
||||
* You may safely remove this entire field without harming runtime
|
||||
* functionality of the descriptors -- the information is needed only by
|
||||
* development tools.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional .google.protobuf.SourceCodeInfo source_code_info = 9;</code>
|
||||
* Generated from protobuf field <code>optional .google.protobuf.SourceCodeInfo source_code_info = 9;</code>
|
||||
* @param \Google\Protobuf\Internal\SourceCodeInfo $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setSourceCodeInfo(&$var)
|
||||
{
|
||||
@ -463,12 +450,11 @@ class FileDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* The syntax of the proto file.
|
||||
* The supported values are "proto2" and "proto3".
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string syntax = 12;</code>
|
||||
* Generated from protobuf field <code>optional string syntax = 12;</code>
|
||||
* @return string
|
||||
*/
|
||||
public function getSyntax()
|
||||
{
|
||||
@ -476,12 +462,12 @@ class FileDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* The syntax of the proto file.
|
||||
* The supported values are "proto2" and "proto3".
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string syntax = 12;</code>
|
||||
* Generated from protobuf field <code>optional string syntax = 12;</code>
|
||||
* @param string $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setSyntax($var)
|
||||
{
|
||||
|
@ -12,17 +12,15 @@ use Google\Protobuf\Internal\InputStream;
|
||||
use Google\Protobuf\Internal\GPBUtil;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* The protocol compiler can output a FileDescriptorSet containing the .proto
|
||||
* files it parses.
|
||||
* </pre>
|
||||
*
|
||||
* Protobuf type <code>google.protobuf.FileDescriptorSet</code>
|
||||
* Generated from protobuf message <code>google.protobuf.FileDescriptorSet</code>
|
||||
*/
|
||||
class FileDescriptorSet extends \Google\Protobuf\Internal\Message
|
||||
{
|
||||
/**
|
||||
* <code>repeated .google.protobuf.FileDescriptorProto file = 1;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.FileDescriptorProto file = 1;</code>
|
||||
*/
|
||||
private $file;
|
||||
private $has_file = false;
|
||||
@ -33,7 +31,8 @@ class FileDescriptorSet extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>repeated .google.protobuf.FileDescriptorProto file = 1;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.FileDescriptorProto file = 1;</code>
|
||||
* @return \Google\Protobuf\Internal\RepeatedField
|
||||
*/
|
||||
public function getFile()
|
||||
{
|
||||
@ -41,7 +40,9 @@ class FileDescriptorSet extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>repeated .google.protobuf.FileDescriptorProto file = 1;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.FileDescriptorProto file = 1;</code>
|
||||
* @param \Google\Protobuf\Internal\FileDescriptorProto[]|\Google\Protobuf\Internal\RepeatedField $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setFile(&$var)
|
||||
{
|
||||
|
@ -12,92 +12,79 @@ use Google\Protobuf\Internal\InputStream;
|
||||
use Google\Protobuf\Internal\GPBUtil;
|
||||
|
||||
/**
|
||||
* Protobuf type <code>google.protobuf.FileOptions</code>
|
||||
* Generated from protobuf message <code>google.protobuf.FileOptions</code>
|
||||
*/
|
||||
class FileOptions extends \Google\Protobuf\Internal\Message
|
||||
{
|
||||
/**
|
||||
* <pre>
|
||||
* Sets the Java package where classes generated from this .proto will be
|
||||
* placed. By default, the proto package is used, but this is often
|
||||
* inappropriate because proto packages do not normally start with backwards
|
||||
* domain names.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string java_package = 1;</code>
|
||||
* Generated from protobuf field <code>optional string java_package = 1;</code>
|
||||
*/
|
||||
private $java_package = '';
|
||||
private $has_java_package = false;
|
||||
/**
|
||||
* <pre>
|
||||
* If set, all the classes from the .proto file are wrapped in a single
|
||||
* outer class with the given name. This applies to both Proto1
|
||||
* (equivalent to the old "--one_java_file" option) and Proto2 (where
|
||||
* a .proto always translates to a single class, but you may want to
|
||||
* explicitly choose the class name).
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string java_outer_classname = 8;</code>
|
||||
* Generated from protobuf field <code>optional string java_outer_classname = 8;</code>
|
||||
*/
|
||||
private $java_outer_classname = '';
|
||||
private $has_java_outer_classname = false;
|
||||
/**
|
||||
* <pre>
|
||||
* If set true, then the Java code generator will generate a separate .java
|
||||
* file for each top-level message, enum, and service defined in the .proto
|
||||
* file. Thus, these types will *not* be nested inside the outer class
|
||||
* named by java_outer_classname. However, the outer class will still be
|
||||
* generated to contain the file's getDescriptor() method as well as any
|
||||
* top-level extensions defined in the file.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool java_multiple_files = 10 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool java_multiple_files = 10 [default = false];</code>
|
||||
*/
|
||||
private $java_multiple_files = false;
|
||||
private $has_java_multiple_files = false;
|
||||
/**
|
||||
* <pre>
|
||||
* This option does nothing.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool java_generate_equals_and_hash = 20 [deprecated = true];</code>
|
||||
* Generated from protobuf field <code>optional bool java_generate_equals_and_hash = 20 [deprecated = true];</code>
|
||||
*/
|
||||
private $java_generate_equals_and_hash = false;
|
||||
private $has_java_generate_equals_and_hash = false;
|
||||
/**
|
||||
* <pre>
|
||||
* If set true, then the Java2 code generator will generate code that
|
||||
* throws an exception whenever an attempt is made to assign a non-UTF-8
|
||||
* byte sequence to a string field.
|
||||
* Message reflection will do the same.
|
||||
* However, an extension field still accepts non-UTF-8 byte sequences.
|
||||
* This option has no effect on when used with the lite runtime.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool java_string_check_utf8 = 27 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool java_string_check_utf8 = 27 [default = false];</code>
|
||||
*/
|
||||
private $java_string_check_utf8 = false;
|
||||
private $has_java_string_check_utf8 = false;
|
||||
/**
|
||||
* <code>optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];</code>
|
||||
* Generated from protobuf field <code>optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];</code>
|
||||
*/
|
||||
private $optimize_for = 0;
|
||||
private $has_optimize_for = false;
|
||||
/**
|
||||
* <pre>
|
||||
* Sets the Go package where structs generated from this .proto will be
|
||||
* placed. If omitted, the Go package will be derived from the following:
|
||||
* - The basename of the package import path, if provided.
|
||||
* - Otherwise, the package statement in the .proto file, if present.
|
||||
* - Otherwise, the basename of the .proto file, without extension.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string go_package = 11;</code>
|
||||
* Generated from protobuf field <code>optional string go_package = 11;</code>
|
||||
*/
|
||||
private $go_package = '';
|
||||
private $has_go_package = false;
|
||||
/**
|
||||
* <pre>
|
||||
* Should generic services be generated in each language? "Generic" services
|
||||
* are not specific to any particular RPC system. They are generated by the
|
||||
* main code generators in each language (without additional plugins).
|
||||
@ -107,102 +94,85 @@ class FileOptions extends \Google\Protobuf\Internal\Message
|
||||
* that generate code specific to your particular RPC system. Therefore,
|
||||
* these default to false. Old code which depends on generic services should
|
||||
* explicitly set them to true.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool cc_generic_services = 16 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool cc_generic_services = 16 [default = false];</code>
|
||||
*/
|
||||
private $cc_generic_services = false;
|
||||
private $has_cc_generic_services = false;
|
||||
/**
|
||||
* <code>optional bool java_generic_services = 17 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool java_generic_services = 17 [default = false];</code>
|
||||
*/
|
||||
private $java_generic_services = false;
|
||||
private $has_java_generic_services = false;
|
||||
/**
|
||||
* <code>optional bool py_generic_services = 18 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool py_generic_services = 18 [default = false];</code>
|
||||
*/
|
||||
private $py_generic_services = false;
|
||||
private $has_py_generic_services = false;
|
||||
/**
|
||||
* <pre>
|
||||
* Is this file deprecated?
|
||||
* Depending on the target platform, this can emit Deprecated annotations
|
||||
* for everything in the file, or it will be completely ignored; in the very
|
||||
* least, this is a formalization for deprecating files.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool deprecated = 23 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool deprecated = 23 [default = false];</code>
|
||||
*/
|
||||
private $deprecated = false;
|
||||
private $has_deprecated = false;
|
||||
/**
|
||||
* <pre>
|
||||
* Enables the use of arenas for the proto messages in this file. This applies
|
||||
* only to generated classes for C++.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool cc_enable_arenas = 31 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool cc_enable_arenas = 31 [default = false];</code>
|
||||
*/
|
||||
private $cc_enable_arenas = false;
|
||||
private $has_cc_enable_arenas = false;
|
||||
/**
|
||||
* <pre>
|
||||
* Sets the objective c class prefix which is prepended to all objective c
|
||||
* generated classes from this .proto. There is no default.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string objc_class_prefix = 36;</code>
|
||||
* Generated from protobuf field <code>optional string objc_class_prefix = 36;</code>
|
||||
*/
|
||||
private $objc_class_prefix = '';
|
||||
private $has_objc_class_prefix = false;
|
||||
/**
|
||||
* <pre>
|
||||
* Namespace for generated classes; defaults to the package.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string csharp_namespace = 37;</code>
|
||||
* Generated from protobuf field <code>optional string csharp_namespace = 37;</code>
|
||||
*/
|
||||
private $csharp_namespace = '';
|
||||
private $has_csharp_namespace = false;
|
||||
/**
|
||||
* <pre>
|
||||
* By default Swift generators will take the proto package and CamelCase it
|
||||
* replacing '.' with underscore and use that to prefix the types/symbols
|
||||
* defined. When this options is provided, they will use this value instead
|
||||
* to prefix the types/symbols defined.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string swift_prefix = 39;</code>
|
||||
* Generated from protobuf field <code>optional string swift_prefix = 39;</code>
|
||||
*/
|
||||
private $swift_prefix = '';
|
||||
private $has_swift_prefix = false;
|
||||
/**
|
||||
* <pre>
|
||||
* Sets the php class prefix which is prepended to all php generated classes
|
||||
* from this .proto. Default is empty.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string php_class_prefix = 40;</code>
|
||||
* Generated from protobuf field <code>optional string php_class_prefix = 40;</code>
|
||||
*/
|
||||
private $php_class_prefix = '';
|
||||
private $has_php_class_prefix = false;
|
||||
/**
|
||||
* <pre>
|
||||
* Use this option to change the namespace of php generated classes. Default
|
||||
* is empty. When this option is empty, the package name will be used for
|
||||
* determining the namespace.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string php_namespace = 41;</code>
|
||||
* Generated from protobuf field <code>optional string php_namespace = 41;</code>
|
||||
*/
|
||||
private $php_namespace = '';
|
||||
private $has_php_namespace = false;
|
||||
/**
|
||||
* <pre>
|
||||
* The parser stores options it doesn't recognize here. See above.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
*/
|
||||
private $uninterpreted_option;
|
||||
private $has_uninterpreted_option = false;
|
||||
@ -213,14 +183,13 @@ class FileOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Sets the Java package where classes generated from this .proto will be
|
||||
* placed. By default, the proto package is used, but this is often
|
||||
* inappropriate because proto packages do not normally start with backwards
|
||||
* domain names.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string java_package = 1;</code>
|
||||
* Generated from protobuf field <code>optional string java_package = 1;</code>
|
||||
* @return string
|
||||
*/
|
||||
public function getJavaPackage()
|
||||
{
|
||||
@ -228,14 +197,14 @@ class FileOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Sets the Java package where classes generated from this .proto will be
|
||||
* placed. By default, the proto package is used, but this is often
|
||||
* inappropriate because proto packages do not normally start with backwards
|
||||
* domain names.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string java_package = 1;</code>
|
||||
* Generated from protobuf field <code>optional string java_package = 1;</code>
|
||||
* @param string $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setJavaPackage($var)
|
||||
{
|
||||
@ -252,15 +221,14 @@ class FileOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* If set, all the classes from the .proto file are wrapped in a single
|
||||
* outer class with the given name. This applies to both Proto1
|
||||
* (equivalent to the old "--one_java_file" option) and Proto2 (where
|
||||
* a .proto always translates to a single class, but you may want to
|
||||
* explicitly choose the class name).
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string java_outer_classname = 8;</code>
|
||||
* Generated from protobuf field <code>optional string java_outer_classname = 8;</code>
|
||||
* @return string
|
||||
*/
|
||||
public function getJavaOuterClassname()
|
||||
{
|
||||
@ -268,15 +236,15 @@ class FileOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* If set, all the classes from the .proto file are wrapped in a single
|
||||
* outer class with the given name. This applies to both Proto1
|
||||
* (equivalent to the old "--one_java_file" option) and Proto2 (where
|
||||
* a .proto always translates to a single class, but you may want to
|
||||
* explicitly choose the class name).
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string java_outer_classname = 8;</code>
|
||||
* Generated from protobuf field <code>optional string java_outer_classname = 8;</code>
|
||||
* @param string $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setJavaOuterClassname($var)
|
||||
{
|
||||
@ -293,16 +261,15 @@ class FileOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* If set true, then the Java code generator will generate a separate .java
|
||||
* file for each top-level message, enum, and service defined in the .proto
|
||||
* file. Thus, these types will *not* be nested inside the outer class
|
||||
* named by java_outer_classname. However, the outer class will still be
|
||||
* generated to contain the file's getDescriptor() method as well as any
|
||||
* top-level extensions defined in the file.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool java_multiple_files = 10 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool java_multiple_files = 10 [default = false];</code>
|
||||
* @return bool
|
||||
*/
|
||||
public function getJavaMultipleFiles()
|
||||
{
|
||||
@ -310,16 +277,16 @@ class FileOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* If set true, then the Java code generator will generate a separate .java
|
||||
* file for each top-level message, enum, and service defined in the .proto
|
||||
* file. Thus, these types will *not* be nested inside the outer class
|
||||
* named by java_outer_classname. However, the outer class will still be
|
||||
* generated to contain the file's getDescriptor() method as well as any
|
||||
* top-level extensions defined in the file.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool java_multiple_files = 10 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool java_multiple_files = 10 [default = false];</code>
|
||||
* @param bool $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setJavaMultipleFiles($var)
|
||||
{
|
||||
@ -336,11 +303,10 @@ class FileOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* This option does nothing.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool java_generate_equals_and_hash = 20 [deprecated = true];</code>
|
||||
* Generated from protobuf field <code>optional bool java_generate_equals_and_hash = 20 [deprecated = true];</code>
|
||||
* @return bool
|
||||
*/
|
||||
public function getJavaGenerateEqualsAndHash()
|
||||
{
|
||||
@ -348,11 +314,11 @@ class FileOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* This option does nothing.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool java_generate_equals_and_hash = 20 [deprecated = true];</code>
|
||||
* Generated from protobuf field <code>optional bool java_generate_equals_and_hash = 20 [deprecated = true];</code>
|
||||
* @param bool $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setJavaGenerateEqualsAndHash($var)
|
||||
{
|
||||
@ -369,16 +335,15 @@ class FileOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* If set true, then the Java2 code generator will generate code that
|
||||
* throws an exception whenever an attempt is made to assign a non-UTF-8
|
||||
* byte sequence to a string field.
|
||||
* Message reflection will do the same.
|
||||
* However, an extension field still accepts non-UTF-8 byte sequences.
|
||||
* This option has no effect on when used with the lite runtime.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool java_string_check_utf8 = 27 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool java_string_check_utf8 = 27 [default = false];</code>
|
||||
* @return bool
|
||||
*/
|
||||
public function getJavaStringCheckUtf8()
|
||||
{
|
||||
@ -386,16 +351,16 @@ class FileOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* If set true, then the Java2 code generator will generate code that
|
||||
* throws an exception whenever an attempt is made to assign a non-UTF-8
|
||||
* byte sequence to a string field.
|
||||
* Message reflection will do the same.
|
||||
* However, an extension field still accepts non-UTF-8 byte sequences.
|
||||
* This option has no effect on when used with the lite runtime.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool java_string_check_utf8 = 27 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool java_string_check_utf8 = 27 [default = false];</code>
|
||||
* @param bool $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setJavaStringCheckUtf8($var)
|
||||
{
|
||||
@ -412,7 +377,8 @@ class FileOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];</code>
|
||||
* Generated from protobuf field <code>optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];</code>
|
||||
* @return int
|
||||
*/
|
||||
public function getOptimizeFor()
|
||||
{
|
||||
@ -420,7 +386,9 @@ class FileOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];</code>
|
||||
* Generated from protobuf field <code>optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];</code>
|
||||
* @param int $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setOptimizeFor($var)
|
||||
{
|
||||
@ -437,15 +405,14 @@ class FileOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Sets the Go package where structs generated from this .proto will be
|
||||
* placed. If omitted, the Go package will be derived from the following:
|
||||
* - The basename of the package import path, if provided.
|
||||
* - Otherwise, the package statement in the .proto file, if present.
|
||||
* - Otherwise, the basename of the .proto file, without extension.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string go_package = 11;</code>
|
||||
* Generated from protobuf field <code>optional string go_package = 11;</code>
|
||||
* @return string
|
||||
*/
|
||||
public function getGoPackage()
|
||||
{
|
||||
@ -453,15 +420,15 @@ class FileOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Sets the Go package where structs generated from this .proto will be
|
||||
* placed. If omitted, the Go package will be derived from the following:
|
||||
* - The basename of the package import path, if provided.
|
||||
* - Otherwise, the package statement in the .proto file, if present.
|
||||
* - Otherwise, the basename of the .proto file, without extension.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string go_package = 11;</code>
|
||||
* Generated from protobuf field <code>optional string go_package = 11;</code>
|
||||
* @param string $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setGoPackage($var)
|
||||
{
|
||||
@ -478,7 +445,6 @@ class FileOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Should generic services be generated in each language? "Generic" services
|
||||
* are not specific to any particular RPC system. They are generated by the
|
||||
* main code generators in each language (without additional plugins).
|
||||
@ -488,9 +454,9 @@ class FileOptions extends \Google\Protobuf\Internal\Message
|
||||
* that generate code specific to your particular RPC system. Therefore,
|
||||
* these default to false. Old code which depends on generic services should
|
||||
* explicitly set them to true.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool cc_generic_services = 16 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool cc_generic_services = 16 [default = false];</code>
|
||||
* @return bool
|
||||
*/
|
||||
public function getCcGenericServices()
|
||||
{
|
||||
@ -498,7 +464,6 @@ class FileOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Should generic services be generated in each language? "Generic" services
|
||||
* are not specific to any particular RPC system. They are generated by the
|
||||
* main code generators in each language (without additional plugins).
|
||||
@ -508,9 +473,10 @@ class FileOptions extends \Google\Protobuf\Internal\Message
|
||||
* that generate code specific to your particular RPC system. Therefore,
|
||||
* these default to false. Old code which depends on generic services should
|
||||
* explicitly set them to true.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool cc_generic_services = 16 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool cc_generic_services = 16 [default = false];</code>
|
||||
* @param bool $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setCcGenericServices($var)
|
||||
{
|
||||
@ -527,7 +493,8 @@ class FileOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional bool java_generic_services = 17 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool java_generic_services = 17 [default = false];</code>
|
||||
* @return bool
|
||||
*/
|
||||
public function getJavaGenericServices()
|
||||
{
|
||||
@ -535,7 +502,9 @@ class FileOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional bool java_generic_services = 17 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool java_generic_services = 17 [default = false];</code>
|
||||
* @param bool $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setJavaGenericServices($var)
|
||||
{
|
||||
@ -552,7 +521,8 @@ class FileOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional bool py_generic_services = 18 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool py_generic_services = 18 [default = false];</code>
|
||||
* @return bool
|
||||
*/
|
||||
public function getPyGenericServices()
|
||||
{
|
||||
@ -560,7 +530,9 @@ class FileOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional bool py_generic_services = 18 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool py_generic_services = 18 [default = false];</code>
|
||||
* @param bool $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setPyGenericServices($var)
|
||||
{
|
||||
@ -577,14 +549,13 @@ class FileOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Is this file deprecated?
|
||||
* Depending on the target platform, this can emit Deprecated annotations
|
||||
* for everything in the file, or it will be completely ignored; in the very
|
||||
* least, this is a formalization for deprecating files.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool deprecated = 23 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool deprecated = 23 [default = false];</code>
|
||||
* @return bool
|
||||
*/
|
||||
public function getDeprecated()
|
||||
{
|
||||
@ -592,14 +563,14 @@ class FileOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Is this file deprecated?
|
||||
* Depending on the target platform, this can emit Deprecated annotations
|
||||
* for everything in the file, or it will be completely ignored; in the very
|
||||
* least, this is a formalization for deprecating files.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool deprecated = 23 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool deprecated = 23 [default = false];</code>
|
||||
* @param bool $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setDeprecated($var)
|
||||
{
|
||||
@ -616,12 +587,11 @@ class FileOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Enables the use of arenas for the proto messages in this file. This applies
|
||||
* only to generated classes for C++.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool cc_enable_arenas = 31 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool cc_enable_arenas = 31 [default = false];</code>
|
||||
* @return bool
|
||||
*/
|
||||
public function getCcEnableArenas()
|
||||
{
|
||||
@ -629,12 +599,12 @@ class FileOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Enables the use of arenas for the proto messages in this file. This applies
|
||||
* only to generated classes for C++.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool cc_enable_arenas = 31 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool cc_enable_arenas = 31 [default = false];</code>
|
||||
* @param bool $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setCcEnableArenas($var)
|
||||
{
|
||||
@ -651,12 +621,11 @@ class FileOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Sets the objective c class prefix which is prepended to all objective c
|
||||
* generated classes from this .proto. There is no default.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string objc_class_prefix = 36;</code>
|
||||
* Generated from protobuf field <code>optional string objc_class_prefix = 36;</code>
|
||||
* @return string
|
||||
*/
|
||||
public function getObjcClassPrefix()
|
||||
{
|
||||
@ -664,12 +633,12 @@ class FileOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Sets the objective c class prefix which is prepended to all objective c
|
||||
* generated classes from this .proto. There is no default.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string objc_class_prefix = 36;</code>
|
||||
* Generated from protobuf field <code>optional string objc_class_prefix = 36;</code>
|
||||
* @param string $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setObjcClassPrefix($var)
|
||||
{
|
||||
@ -686,11 +655,10 @@ class FileOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Namespace for generated classes; defaults to the package.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string csharp_namespace = 37;</code>
|
||||
* Generated from protobuf field <code>optional string csharp_namespace = 37;</code>
|
||||
* @return string
|
||||
*/
|
||||
public function getCsharpNamespace()
|
||||
{
|
||||
@ -698,11 +666,11 @@ class FileOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Namespace for generated classes; defaults to the package.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string csharp_namespace = 37;</code>
|
||||
* Generated from protobuf field <code>optional string csharp_namespace = 37;</code>
|
||||
* @param string $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setCsharpNamespace($var)
|
||||
{
|
||||
@ -719,14 +687,13 @@ class FileOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* By default Swift generators will take the proto package and CamelCase it
|
||||
* replacing '.' with underscore and use that to prefix the types/symbols
|
||||
* defined. When this options is provided, they will use this value instead
|
||||
* to prefix the types/symbols defined.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string swift_prefix = 39;</code>
|
||||
* Generated from protobuf field <code>optional string swift_prefix = 39;</code>
|
||||
* @return string
|
||||
*/
|
||||
public function getSwiftPrefix()
|
||||
{
|
||||
@ -734,14 +701,14 @@ class FileOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* By default Swift generators will take the proto package and CamelCase it
|
||||
* replacing '.' with underscore and use that to prefix the types/symbols
|
||||
* defined. When this options is provided, they will use this value instead
|
||||
* to prefix the types/symbols defined.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string swift_prefix = 39;</code>
|
||||
* Generated from protobuf field <code>optional string swift_prefix = 39;</code>
|
||||
* @param string $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setSwiftPrefix($var)
|
||||
{
|
||||
@ -758,12 +725,11 @@ class FileOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Sets the php class prefix which is prepended to all php generated classes
|
||||
* from this .proto. Default is empty.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string php_class_prefix = 40;</code>
|
||||
* Generated from protobuf field <code>optional string php_class_prefix = 40;</code>
|
||||
* @return string
|
||||
*/
|
||||
public function getPhpClassPrefix()
|
||||
{
|
||||
@ -771,12 +737,12 @@ class FileOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Sets the php class prefix which is prepended to all php generated classes
|
||||
* from this .proto. Default is empty.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string php_class_prefix = 40;</code>
|
||||
* Generated from protobuf field <code>optional string php_class_prefix = 40;</code>
|
||||
* @param string $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setPhpClassPrefix($var)
|
||||
{
|
||||
@ -793,13 +759,12 @@ class FileOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Use this option to change the namespace of php generated classes. Default
|
||||
* is empty. When this option is empty, the package name will be used for
|
||||
* determining the namespace.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string php_namespace = 41;</code>
|
||||
* Generated from protobuf field <code>optional string php_namespace = 41;</code>
|
||||
* @return string
|
||||
*/
|
||||
public function getPhpNamespace()
|
||||
{
|
||||
@ -807,13 +772,13 @@ class FileOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Use this option to change the namespace of php generated classes. Default
|
||||
* is empty. When this option is empty, the package name will be used for
|
||||
* determining the namespace.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string php_namespace = 41;</code>
|
||||
* Generated from protobuf field <code>optional string php_namespace = 41;</code>
|
||||
* @param string $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setPhpNamespace($var)
|
||||
{
|
||||
@ -830,11 +795,10 @@ class FileOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* The parser stores options it doesn't recognize here. See above.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
* @return \Google\Protobuf\Internal\RepeatedField
|
||||
*/
|
||||
public function getUninterpretedOption()
|
||||
{
|
||||
@ -842,11 +806,11 @@ class FileOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* The parser stores options it doesn't recognize here. See above.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
* @param \Google\Protobuf\Internal\UninterpretedOption[]|\Google\Protobuf\Internal\RepeatedField $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setUninterpretedOption(&$var)
|
||||
{
|
||||
|
@ -5,36 +5,28 @@
|
||||
namespace Google\Protobuf\Internal;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Generated classes can be optimized for speed or code size.
|
||||
* </pre>
|
||||
*
|
||||
* Protobuf enum <code>google.protobuf.FileOptions.OptimizeMode</code>
|
||||
* Protobuf enum <code>Google\Protobuf\Internal</code>
|
||||
*/
|
||||
class FileOptions_OptimizeMode
|
||||
{
|
||||
/**
|
||||
* <pre>
|
||||
* Generate complete code for parsing, serialization,
|
||||
* </pre>
|
||||
*
|
||||
* <code>SPEED = 1;</code>
|
||||
* Generated from protobuf enum <code>SPEED = 1;</code>
|
||||
*/
|
||||
const SPEED = 1;
|
||||
/**
|
||||
* <pre>
|
||||
* etc.
|
||||
* </pre>
|
||||
*
|
||||
* <code>CODE_SIZE = 2;</code>
|
||||
* Generated from protobuf enum <code>CODE_SIZE = 2;</code>
|
||||
*/
|
||||
const CODE_SIZE = 2;
|
||||
/**
|
||||
* <pre>
|
||||
* Generate code using MessageLite and the lite runtime.
|
||||
* </pre>
|
||||
*
|
||||
* <code>LITE_RUNTIME = 3;</code>
|
||||
* Generated from protobuf enum <code>LITE_RUNTIME = 3;</code>
|
||||
*/
|
||||
const LITE_RUNTIME = 3;
|
||||
}
|
||||
|
285
php/src/Google/Protobuf/Internal/GPBJsonWire.php
Normal file
285
php/src/Google/Protobuf/Internal/GPBJsonWire.php
Normal file
@ -0,0 +1,285 @@
|
||||
<?php
|
||||
|
||||
// Protocol Buffers - Google's data interchange format
|
||||
// Copyright 2008 Google Inc. All rights reserved.
|
||||
// https://developers.google.com/protocol-buffers/
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
// met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright
|
||||
// notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above
|
||||
// copyright notice, this list of conditions and the following disclaimer
|
||||
// in the documentation and/or other materials provided with the
|
||||
// distribution.
|
||||
// * Neither the name of Google Inc. nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from
|
||||
// this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
namespace Google\Protobuf\Internal;
|
||||
|
||||
class GPBJsonWire
|
||||
{
|
||||
|
||||
public static function serializeFieldToStream(
|
||||
$value,
|
||||
$field,
|
||||
&$output)
|
||||
{
|
||||
$output->writeRaw("\"", 1);
|
||||
$field_name = GPBJsonWire::formatFieldName($field);
|
||||
$output->writeRaw($field_name, strlen($field_name));
|
||||
$output->writeRaw("\":", 2);
|
||||
return static::serializeFieldValueToStream($value, $field, $output);
|
||||
}
|
||||
|
||||
private static function serializeFieldValueToStream(
|
||||
$values,
|
||||
$field,
|
||||
&$output)
|
||||
{
|
||||
if ($field->isMap()) {
|
||||
$output->writeRaw("{", 1);
|
||||
$first = true;
|
||||
$map_entry = $field->getMessageType();
|
||||
$key_field = $map_entry->getFieldByNumber(1);
|
||||
$value_field = $map_entry->getFieldByNumber(2);
|
||||
|
||||
switch ($key_field->getType()) {
|
||||
case GPBType::STRING:
|
||||
case GPBType::SFIXED64:
|
||||
case GPBType::INT64:
|
||||
case GPBType::SINT64:
|
||||
case GPBType::FIXED64:
|
||||
case GPBType::UINT64:
|
||||
$additional_quote = false;
|
||||
break;
|
||||
default:
|
||||
$additional_quote = true;
|
||||
}
|
||||
|
||||
foreach ($values as $key => $value) {
|
||||
if ($first) {
|
||||
$first = false;
|
||||
} else {
|
||||
$output->writeRaw(",", 1);
|
||||
}
|
||||
if ($additional_quote) {
|
||||
$output->writeRaw("\"", 1);
|
||||
}
|
||||
if (!static::serializeSingularFieldValueToStream(
|
||||
$key,
|
||||
$key_field,
|
||||
$output)) {
|
||||
return false;
|
||||
}
|
||||
if ($additional_quote) {
|
||||
$output->writeRaw("\"", 1);
|
||||
}
|
||||
$output->writeRaw(":", 1);
|
||||
if (!static::serializeSingularFieldValueToStream(
|
||||
$value,
|
||||
$value_field,
|
||||
$output)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
$output->writeRaw("}", 1);
|
||||
return true;
|
||||
} elseif ($field->isRepeated()) {
|
||||
$output->writeRaw("[", 1);
|
||||
$first = true;
|
||||
foreach ($values as $value) {
|
||||
if ($first) {
|
||||
$first = false;
|
||||
} else {
|
||||
$output->writeRaw(",", 1);
|
||||
}
|
||||
if (!static::serializeSingularFieldValueToStream(
|
||||
$value,
|
||||
$field,
|
||||
$output)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
$output->writeRaw("]", 1);
|
||||
return true;
|
||||
} else {
|
||||
return static::serializeSingularFieldValueToStream(
|
||||
$values,
|
||||
$field,
|
||||
$output);
|
||||
}
|
||||
}
|
||||
|
||||
private static function serializeSingularFieldValueToStream(
|
||||
$value,
|
||||
$field,
|
||||
&$output)
|
||||
{
|
||||
switch ($field->getType()) {
|
||||
case GPBType::SFIXED32:
|
||||
case GPBType::SINT32:
|
||||
case GPBType::INT32:
|
||||
$str_value = strval($value);
|
||||
$output->writeRaw($str_value, strlen($str_value));
|
||||
break;
|
||||
case GPBType::FIXED32:
|
||||
case GPBType::UINT32:
|
||||
if ($value < 0) {
|
||||
$value = bcadd($value, "4294967296");
|
||||
}
|
||||
$str_value = strval($value);
|
||||
$output->writeRaw($str_value, strlen($str_value));
|
||||
break;
|
||||
case GPBType::FIXED64:
|
||||
case GPBType::UINT64:
|
||||
if ($value < 0) {
|
||||
$value = bcadd($value, "18446744073709551616");
|
||||
}
|
||||
// Intentional fall through.
|
||||
case GPBType::SFIXED64:
|
||||
case GPBType::INT64:
|
||||
case GPBType::SINT64:
|
||||
$output->writeRaw("\"", 1);
|
||||
$str_value = strval($value);
|
||||
$output->writeRaw($str_value, strlen($str_value));
|
||||
$output->writeRaw("\"", 1);
|
||||
break;
|
||||
case GPBType::FLOAT:
|
||||
if (is_nan($value)) {
|
||||
$str_value = "\"NaN\"";
|
||||
} elseif ($value === INF) {
|
||||
$str_value = "\"Infinity\"";
|
||||
} elseif ($value === -INF) {
|
||||
$str_value = "\"-Infinity\"";
|
||||
} else {
|
||||
$str_value = sprintf("%.8g", $value);
|
||||
}
|
||||
$output->writeRaw($str_value, strlen($str_value));
|
||||
break;
|
||||
case GPBType::DOUBLE:
|
||||
if (is_nan($value)) {
|
||||
$str_value = "\"NaN\"";
|
||||
} elseif ($value === INF) {
|
||||
$str_value = "\"Infinity\"";
|
||||
} elseif ($value === -INF) {
|
||||
$str_value = "\"-Infinity\"";
|
||||
} else {
|
||||
$str_value = sprintf("%.17g", $value);
|
||||
}
|
||||
$output->writeRaw($str_value, strlen($str_value));
|
||||
break;
|
||||
case GPBType::ENUM:
|
||||
$enum_desc = $field->getEnumType();
|
||||
$enum_value_desc = $enum_desc->getValueByNumber($value);
|
||||
if (!is_null($enum_value_desc)) {
|
||||
$str_value = $enum_value_desc->getName();
|
||||
$output->writeRaw("\"", 1);
|
||||
$output->writeRaw($str_value, strlen($str_value));
|
||||
$output->writeRaw("\"", 1);
|
||||
} else {
|
||||
$str_value = strval($value);
|
||||
$output->writeRaw($str_value, strlen($str_value));
|
||||
}
|
||||
break;
|
||||
case GPBType::BOOL:
|
||||
if ($value) {
|
||||
$output->writeRaw("true", 4);
|
||||
} else {
|
||||
$output->writeRaw("false", 5);
|
||||
}
|
||||
break;
|
||||
case GPBType::BYTES:
|
||||
$value = base64_encode($value);
|
||||
case GPBType::STRING:
|
||||
$value = json_encode($value);
|
||||
$output->writeRaw($value, strlen($value));
|
||||
break;
|
||||
// case GPBType::GROUP:
|
||||
// echo "GROUP\xA";
|
||||
// trigger_error("Not implemented.", E_ERROR);
|
||||
// break;
|
||||
case GPBType::MESSAGE:
|
||||
$value->serializeToJsonStream($output);
|
||||
break;
|
||||
default:
|
||||
user_error("Unsupported type.");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private static function formatFieldName($field)
|
||||
{
|
||||
return $field->getJsonName();
|
||||
}
|
||||
|
||||
// Used for escaping control chars in strings.
|
||||
private static $k_control_char_limit = 0x20;
|
||||
|
||||
private static function jsonNiceEscape($c)
|
||||
{
|
||||
switch ($c) {
|
||||
case '"': return "\\\"";
|
||||
case '\\': return "\\\\";
|
||||
case '/': return "\\/";
|
||||
case '\b': return "\\b";
|
||||
case '\f': return "\\f";
|
||||
case '\n': return "\\n";
|
||||
case '\r': return "\\r";
|
||||
case '\t': return "\\t";
|
||||
default: return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
private static function isJsonEscaped($c)
|
||||
{
|
||||
// See RFC 4627.
|
||||
return $c < chr($k_control_char_limit) || $c === "\"" || $c === "\\";
|
||||
}
|
||||
|
||||
public static function escapedJson($value)
|
||||
{
|
||||
$escaped_value = "";
|
||||
$unescaped_run = "";
|
||||
for ($i = 0; $i < strlen($value); $i++) {
|
||||
$c = $value[$i];
|
||||
// Handle escaping.
|
||||
if (static::isJsonEscaped($c)) {
|
||||
// Use a "nice" escape, like \n, if one exists for this
|
||||
// character.
|
||||
$escape = static::jsonNiceEscape($c);
|
||||
if (is_null($escape)) {
|
||||
$escape = "\\u00" . bin2hex($c);
|
||||
}
|
||||
if ($unescaped_run !== "") {
|
||||
$escaped_value .= $unescaped_run;
|
||||
$unescaped_run = "";
|
||||
}
|
||||
$escaped_value .= $escape;
|
||||
} else {
|
||||
if ($unescaped_run === "") {
|
||||
$unescaped_run .= $c;
|
||||
}
|
||||
}
|
||||
}
|
||||
$escaped_value .= $unescaped_run;
|
||||
return $escaped_value;
|
||||
}
|
||||
|
||||
}
|
@ -45,8 +45,13 @@ class GPBUtil
|
||||
$value = bcsub(0, $value);
|
||||
}
|
||||
|
||||
$high = (int) bcdiv(bcadd($value, 1), 4294967296);
|
||||
$high = bcdiv($value, 4294967296);
|
||||
$low = bcmod($value, 4294967296);
|
||||
if (bccomp($high, 2147483647) > 0) {
|
||||
$high = (int) bcsub($high, 4294967296);
|
||||
} else {
|
||||
$high = (int) $high;
|
||||
}
|
||||
if (bccomp($low, 2147483647) > 0) {
|
||||
$low = (int) bcsub($low, 4294967296);
|
||||
} else {
|
||||
@ -58,7 +63,7 @@ class GPBUtil
|
||||
$low = ~$low;
|
||||
$low++;
|
||||
if (!$low) {
|
||||
$high++;
|
||||
$high = (int)($high + 1);
|
||||
}
|
||||
}
|
||||
|
||||
@ -70,15 +75,13 @@ class GPBUtil
|
||||
public static function checkString(&$var, $check_utf8)
|
||||
{
|
||||
if (is_array($var) || is_object($var)) {
|
||||
trigger_error("Expect string.", E_USER_ERROR);
|
||||
return;
|
||||
throw new \InvalidArgumentException("Expect string.");
|
||||
}
|
||||
if (!is_string($var)) {
|
||||
$var = strval($var);
|
||||
}
|
||||
if ($check_utf8 && !preg_match('//u', $var)) {
|
||||
trigger_error("Expect utf-8 encoding.", E_USER_ERROR);
|
||||
return;
|
||||
throw new \Exception("Expect utf-8 encoding.");
|
||||
}
|
||||
}
|
||||
|
||||
@ -92,7 +95,7 @@ class GPBUtil
|
||||
if (is_numeric($var)) {
|
||||
$var = intval($var);
|
||||
} else {
|
||||
trigger_error("Expect integer.", E_USER_ERROR);
|
||||
throw new \Exception("Expect integer.");
|
||||
}
|
||||
}
|
||||
|
||||
@ -109,7 +112,7 @@ class GPBUtil
|
||||
$var = (int) $var;
|
||||
}
|
||||
} else {
|
||||
trigger_error("Expect integer.", E_USER_ERROR);
|
||||
throw new \Exception("Expect integer.");
|
||||
}
|
||||
}
|
||||
|
||||
@ -119,10 +122,15 @@ class GPBUtil
|
||||
if (PHP_INT_SIZE == 8) {
|
||||
$var = intval($var);
|
||||
} else {
|
||||
$var = bcdiv($var, 1, 0);
|
||||
if (is_float($var) ||
|
||||
is_integer($var) ||
|
||||
(is_string($var) &&
|
||||
bccomp($var, "9223372036854774784") < 0)) {
|
||||
$var = number_format($var, 0, ".", "");
|
||||
}
|
||||
}
|
||||
} else {
|
||||
trigger_error("Expect integer.", E_USER_ERROR);
|
||||
throw new \Exception("Expect integer.");
|
||||
}
|
||||
}
|
||||
|
||||
@ -132,10 +140,10 @@ class GPBUtil
|
||||
if (PHP_INT_SIZE == 8) {
|
||||
$var = intval($var);
|
||||
} else {
|
||||
$var = bcdiv($var, 1, 0);
|
||||
$var = number_format($var, 0, ".", "");
|
||||
}
|
||||
} else {
|
||||
trigger_error("Expect integer.", E_USER_ERROR);
|
||||
throw new \Exception("Expect integer.");
|
||||
}
|
||||
}
|
||||
|
||||
@ -144,7 +152,7 @@ class GPBUtil
|
||||
if (is_float($var) || is_numeric($var)) {
|
||||
$var = floatval($var);
|
||||
} else {
|
||||
trigger_error("Expect float.", E_USER_ERROR);
|
||||
throw new \Exception("Expect float.");
|
||||
}
|
||||
}
|
||||
|
||||
@ -153,15 +161,14 @@ class GPBUtil
|
||||
if (is_float($var) || is_numeric($var)) {
|
||||
$var = floatval($var);
|
||||
} else {
|
||||
trigger_error("Expect float.", E_USER_ERROR);
|
||||
throw new \Exception("Expect float.");
|
||||
}
|
||||
}
|
||||
|
||||
public static function checkBool(&$var)
|
||||
{
|
||||
if (is_array($var) || is_object($var)) {
|
||||
trigger_error("Expect boolean.", E_USER_ERROR);
|
||||
return;
|
||||
throw new \Exception("Expect boolean.");
|
||||
}
|
||||
$var = boolval($var);
|
||||
}
|
||||
@ -169,14 +176,14 @@ class GPBUtil
|
||||
public static function checkMessage(&$var, $klass)
|
||||
{
|
||||
if (!$var instanceof $klass && !is_null($var)) {
|
||||
trigger_error("Expect message.", E_USER_ERROR);
|
||||
throw new \Exception("Expect message.");
|
||||
}
|
||||
}
|
||||
|
||||
public static function checkRepeatedField(&$var, $type, $klass = null)
|
||||
{
|
||||
if (!$var instanceof RepeatedField && !is_array($var)) {
|
||||
trigger_error("Expect array.", E_USER_ERROR);
|
||||
throw new \Exception("Expect array.");
|
||||
}
|
||||
if (is_array($var)) {
|
||||
$tmp = new RepeatedField($type, $klass);
|
||||
@ -186,15 +193,13 @@ class GPBUtil
|
||||
return $tmp;
|
||||
} else {
|
||||
if ($var->getType() != $type) {
|
||||
trigger_error(
|
||||
"Expect repeated field of different type.",
|
||||
E_USER_ERROR);
|
||||
throw new \Exception(
|
||||
"Expect repeated field of different type.");
|
||||
}
|
||||
if ($var->getType() === GPBType::MESSAGE &&
|
||||
$var->getClass() !== $klass) {
|
||||
trigger_error(
|
||||
"Expect repeated field of different message.",
|
||||
E_USER_ERROR);
|
||||
throw new \Exception(
|
||||
"Expect repeated field of different message.");
|
||||
}
|
||||
return $var;
|
||||
}
|
||||
@ -203,7 +208,7 @@ class GPBUtil
|
||||
public static function checkMapField(&$var, $key_type, $value_type, $klass = null)
|
||||
{
|
||||
if (!$var instanceof MapField && !is_array($var)) {
|
||||
trigger_error("Expect dict.", E_USER_ERROR);
|
||||
throw new \Exception("Expect dict.");
|
||||
}
|
||||
if (is_array($var)) {
|
||||
$tmp = new MapField($key_type, $value_type, $klass);
|
||||
@ -213,20 +218,15 @@ class GPBUtil
|
||||
return $tmp;
|
||||
} else {
|
||||
if ($var->getKeyType() != $key_type) {
|
||||
trigger_error(
|
||||
"Expect map field of key type.",
|
||||
E_USER_ERROR);
|
||||
throw new \Exception("Expect map field of key type.");
|
||||
}
|
||||
if ($var->getValueType() != $value_type) {
|
||||
trigger_error(
|
||||
"Expect map field of value type.",
|
||||
E_USER_ERROR);
|
||||
throw new \Exception("Expect map field of value type.");
|
||||
}
|
||||
if ($var->getValueType() === GPBType::MESSAGE &&
|
||||
$var->getValueClass() !== $klass) {
|
||||
trigger_error(
|
||||
"Expect map field of different value message.",
|
||||
E_USER_ERROR);
|
||||
throw new \Exception(
|
||||
"Expect map field of different value message.");
|
||||
}
|
||||
return $var;
|
||||
}
|
||||
@ -328,7 +328,7 @@ class GPBUtil
|
||||
$low = ~$low;
|
||||
$low++;
|
||||
if (!$low) {
|
||||
$high++;
|
||||
$high = (int) ($high + 1);
|
||||
}
|
||||
}
|
||||
$result = bcadd(bcmul($high, 4294967296), $low);
|
||||
|
@ -117,19 +117,12 @@ class GPBWire
|
||||
// << decode <<
|
||||
public static function zigZagEncode32($int32)
|
||||
{
|
||||
// Fill high 32 bits.
|
||||
if (PHP_INT_SIZE === 8) {
|
||||
$int32 |= ((($int32 << 32) >> 31) & (0xFFFFFFFF << 32));
|
||||
if (PHP_INT_SIZE == 8) {
|
||||
$trim_int32 = $int32 & 0xFFFFFFFF;
|
||||
return (($trim_int32 << 1) ^ ($int32 << 32 >> 63)) & 0xFFFFFFFF;
|
||||
} else {
|
||||
return ($int32 << 1) ^ ($int32 >> 31);
|
||||
}
|
||||
|
||||
$uint32 = ($int32 << 1) ^ ($int32 >> 31);
|
||||
|
||||
// Fill high 32 bits.
|
||||
if (PHP_INT_SIZE === 8) {
|
||||
$uint32 |= ((($uint32 << 32) >> 31) & (0xFFFFFFFF << 32));
|
||||
}
|
||||
|
||||
return $uint32;
|
||||
}
|
||||
|
||||
public static function zigZagDecode32($uint32)
|
||||
@ -177,7 +170,11 @@ class GPBWire
|
||||
|
||||
public static function readInt64(&$input, &$value)
|
||||
{
|
||||
return $input->readVarint64($value);
|
||||
$success = $input->readVarint64($value);
|
||||
if (PHP_INT_SIZE == 4 && bccomp($value, "9223372036854775807") > 0) {
|
||||
$value = bcsub($value, "18446744073709551616");
|
||||
}
|
||||
return $success;
|
||||
}
|
||||
|
||||
public static function readUint32(&$input, &$value)
|
||||
@ -231,7 +228,11 @@ class GPBWire
|
||||
|
||||
public static function readSfixed64(&$input, &$value)
|
||||
{
|
||||
return $input->readLittleEndian64($value);
|
||||
$success = $input->readLittleEndian64($value);
|
||||
if (PHP_INT_SIZE == 4 && bccomp($value, "9223372036854775807") > 0) {
|
||||
$value = bcsub($value, "18446744073709551616");
|
||||
}
|
||||
return $success;
|
||||
}
|
||||
|
||||
public static function readFloat(&$input, &$value)
|
||||
@ -298,7 +299,7 @@ class GPBWire
|
||||
|
||||
public static function writeInt32(&$output, $value)
|
||||
{
|
||||
return $output->writeVarint32($value);
|
||||
return $output->writeVarint32($value, false);
|
||||
}
|
||||
|
||||
public static function writeInt64(&$output, $value)
|
||||
@ -308,7 +309,7 @@ class GPBWire
|
||||
|
||||
public static function writeUint32(&$output, $value)
|
||||
{
|
||||
return $output->writeVarint32($value);
|
||||
return $output->writeVarint32($value, true);
|
||||
}
|
||||
|
||||
public static function writeUint64(&$output, $value)
|
||||
@ -319,7 +320,7 @@ class GPBWire
|
||||
public static function writeSint32(&$output, $value)
|
||||
{
|
||||
$value = GPBWire::zigZagEncode32($value);
|
||||
return $output->writeVarint64($value);
|
||||
return $output->writeVarint32($value, true);
|
||||
}
|
||||
|
||||
public static function writeSint64(&$output, $value)
|
||||
@ -351,9 +352,9 @@ class GPBWire
|
||||
public static function writeBool(&$output, $value)
|
||||
{
|
||||
if ($value) {
|
||||
return $output->writeVarint32(1);
|
||||
return $output->writeVarint32(1, true);
|
||||
} else {
|
||||
return $output->writeVarint32(0);
|
||||
return $output->writeVarint32(0, true);
|
||||
}
|
||||
}
|
||||
|
||||
@ -377,7 +378,7 @@ class GPBWire
|
||||
public static function writeBytes(&$output, $value)
|
||||
{
|
||||
$size = strlen($value);
|
||||
if (!$output->writeVarint32($size)) {
|
||||
if (!$output->writeVarint32($size, true)) {
|
||||
return false;
|
||||
}
|
||||
return $output->writeRaw($value, $size);
|
||||
@ -386,7 +387,7 @@ class GPBWire
|
||||
public static function writeMessage(&$output, $value)
|
||||
{
|
||||
$size = $value->byteSize();
|
||||
if (!$output->writeVarint32($size)) {
|
||||
if (!$output->writeVarint32($size, true)) {
|
||||
return false;
|
||||
}
|
||||
return $value->serializeToStream($output);
|
||||
@ -442,7 +443,8 @@ class GPBWire
|
||||
public static function varint64Size($value)
|
||||
{
|
||||
if (PHP_INT_SIZE == 4) {
|
||||
if (bccomp($value, 0) < 0) {
|
||||
if (bccomp($value, 0) < 0 ||
|
||||
bccomp($value, "9223372036854775807") > 0) {
|
||||
return 10;
|
||||
}
|
||||
if (bccomp($value, 1 << 7) < 0) {
|
||||
@ -578,6 +580,9 @@ class GPBWire
|
||||
}
|
||||
break;
|
||||
case GPBType::UINT32:
|
||||
if (PHP_INT_SIZE === 8 && $value < 0) {
|
||||
$value += 4294967296;
|
||||
}
|
||||
if (!GPBWire::writeUint32($output, $value)) {
|
||||
return false;
|
||||
}
|
||||
|
43
php/src/Google/Protobuf/Internal/GPBWireType.php
Normal file
43
php/src/Google/Protobuf/Internal/GPBWireType.php
Normal file
@ -0,0 +1,43 @@
|
||||
<?php
|
||||
|
||||
// Protocol Buffers - Google's data interchange format
|
||||
// Copyright 2008 Google Inc. All rights reserved.
|
||||
// https://developers.google.com/protocol-buffers/
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
// met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright
|
||||
// notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above
|
||||
// copyright notice, this list of conditions and the following disclaimer
|
||||
// in the documentation and/or other materials provided with the
|
||||
// distribution.
|
||||
// * Neither the name of Google Inc. nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from
|
||||
// this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
namespace Google\Protobuf\Internal;
|
||||
|
||||
class GPBWireType
|
||||
{
|
||||
const VARINT = 0;
|
||||
const FIXED64 = 1;
|
||||
const LENGTH_DELIMITED = 2;
|
||||
const START_GROUP = 3;
|
||||
const END_GROUP = 4;
|
||||
const FIXED32 = 5;
|
||||
}
|
@ -12,23 +12,19 @@ use Google\Protobuf\Internal\InputStream;
|
||||
use Google\Protobuf\Internal\GPBUtil;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Describes the relationship between generated code and its original source
|
||||
* file. A GeneratedCodeInfo message is associated with only one generated
|
||||
* source file, but may contain references to different source .proto files.
|
||||
* </pre>
|
||||
*
|
||||
* Protobuf type <code>google.protobuf.GeneratedCodeInfo</code>
|
||||
* Generated from protobuf message <code>google.protobuf.GeneratedCodeInfo</code>
|
||||
*/
|
||||
class GeneratedCodeInfo extends \Google\Protobuf\Internal\Message
|
||||
{
|
||||
/**
|
||||
* <pre>
|
||||
* An Annotation connects some span of text in generated code to an element
|
||||
* of its generating .proto file.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated .google.protobuf.GeneratedCodeInfo.Annotation annotation = 1;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.GeneratedCodeInfo.Annotation annotation = 1;</code>
|
||||
*/
|
||||
private $annotation;
|
||||
private $has_annotation = false;
|
||||
@ -39,12 +35,11 @@ class GeneratedCodeInfo extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* An Annotation connects some span of text in generated code to an element
|
||||
* of its generating .proto file.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated .google.protobuf.GeneratedCodeInfo.Annotation annotation = 1;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.GeneratedCodeInfo.Annotation annotation = 1;</code>
|
||||
* @return \Google\Protobuf\Internal\RepeatedField
|
||||
*/
|
||||
public function getAnnotation()
|
||||
{
|
||||
@ -52,12 +47,12 @@ class GeneratedCodeInfo extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* An Annotation connects some span of text in generated code to an element
|
||||
* of its generating .proto file.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated .google.protobuf.GeneratedCodeInfo.Annotation annotation = 1;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.GeneratedCodeInfo.Annotation annotation = 1;</code>
|
||||
* @param \Google\Protobuf\Internal\GeneratedCodeInfo_Annotation[]|\Google\Protobuf\Internal\RepeatedField $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setAnnotation(&$var)
|
||||
{
|
||||
|
@ -12,47 +12,39 @@ use Google\Protobuf\Internal\InputStream;
|
||||
use Google\Protobuf\Internal\GPBUtil;
|
||||
|
||||
/**
|
||||
* Protobuf type <code>google.protobuf.GeneratedCodeInfo.Annotation</code>
|
||||
* Generated from protobuf message <code>google.protobuf.GeneratedCodeInfo.Annotation</code>
|
||||
*/
|
||||
class GeneratedCodeInfo_Annotation extends \Google\Protobuf\Internal\Message
|
||||
{
|
||||
/**
|
||||
* <pre>
|
||||
* Identifies the element in the original source .proto file. This field
|
||||
* is formatted the same as SourceCodeInfo.Location.path.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated int32 path = 1 [packed = true];</code>
|
||||
* Generated from protobuf field <code>repeated int32 path = 1 [packed = true];</code>
|
||||
*/
|
||||
private $path;
|
||||
private $has_path = false;
|
||||
/**
|
||||
* <pre>
|
||||
* Identifies the filesystem path to the original source .proto.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string source_file = 2;</code>
|
||||
* Generated from protobuf field <code>optional string source_file = 2;</code>
|
||||
*/
|
||||
private $source_file = '';
|
||||
private $has_source_file = false;
|
||||
/**
|
||||
* <pre>
|
||||
* Identifies the starting offset in bytes in the generated code
|
||||
* that relates to the identified object.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional int32 begin = 3;</code>
|
||||
* Generated from protobuf field <code>optional int32 begin = 3;</code>
|
||||
*/
|
||||
private $begin = 0;
|
||||
private $has_begin = false;
|
||||
/**
|
||||
* <pre>
|
||||
* Identifies the ending offset in bytes in the generated code that
|
||||
* relates to the identified offset. The end offset should be one past
|
||||
* the last relevant byte (so the length of the text = end - begin).
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional int32 end = 4;</code>
|
||||
* Generated from protobuf field <code>optional int32 end = 4;</code>
|
||||
*/
|
||||
private $end = 0;
|
||||
private $has_end = false;
|
||||
@ -63,12 +55,11 @@ class GeneratedCodeInfo_Annotation extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Identifies the element in the original source .proto file. This field
|
||||
* is formatted the same as SourceCodeInfo.Location.path.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated int32 path = 1 [packed = true];</code>
|
||||
* Generated from protobuf field <code>repeated int32 path = 1 [packed = true];</code>
|
||||
* @return \Google\Protobuf\Internal\RepeatedField
|
||||
*/
|
||||
public function getPath()
|
||||
{
|
||||
@ -76,12 +67,12 @@ class GeneratedCodeInfo_Annotation extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Identifies the element in the original source .proto file. This field
|
||||
* is formatted the same as SourceCodeInfo.Location.path.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated int32 path = 1 [packed = true];</code>
|
||||
* Generated from protobuf field <code>repeated int32 path = 1 [packed = true];</code>
|
||||
* @param int[]|\Google\Protobuf\Internal\RepeatedField $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setPath(&$var)
|
||||
{
|
||||
@ -98,11 +89,10 @@ class GeneratedCodeInfo_Annotation extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Identifies the filesystem path to the original source .proto.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string source_file = 2;</code>
|
||||
* Generated from protobuf field <code>optional string source_file = 2;</code>
|
||||
* @return string
|
||||
*/
|
||||
public function getSourceFile()
|
||||
{
|
||||
@ -110,11 +100,11 @@ class GeneratedCodeInfo_Annotation extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Identifies the filesystem path to the original source .proto.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string source_file = 2;</code>
|
||||
* Generated from protobuf field <code>optional string source_file = 2;</code>
|
||||
* @param string $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setSourceFile($var)
|
||||
{
|
||||
@ -131,12 +121,11 @@ class GeneratedCodeInfo_Annotation extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Identifies the starting offset in bytes in the generated code
|
||||
* that relates to the identified object.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional int32 begin = 3;</code>
|
||||
* Generated from protobuf field <code>optional int32 begin = 3;</code>
|
||||
* @return int
|
||||
*/
|
||||
public function getBegin()
|
||||
{
|
||||
@ -144,12 +133,12 @@ class GeneratedCodeInfo_Annotation extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Identifies the starting offset in bytes in the generated code
|
||||
* that relates to the identified object.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional int32 begin = 3;</code>
|
||||
* Generated from protobuf field <code>optional int32 begin = 3;</code>
|
||||
* @param int $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setBegin($var)
|
||||
{
|
||||
@ -166,13 +155,12 @@ class GeneratedCodeInfo_Annotation extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Identifies the ending offset in bytes in the generated code that
|
||||
* relates to the identified offset. The end offset should be one past
|
||||
* the last relevant byte (so the length of the text = end - begin).
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional int32 end = 4;</code>
|
||||
* Generated from protobuf field <code>optional int32 end = 4;</code>
|
||||
* @return int
|
||||
*/
|
||||
public function getEnd()
|
||||
{
|
||||
@ -180,13 +168,13 @@ class GeneratedCodeInfo_Annotation extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Identifies the ending offset in bytes in the generated code that
|
||||
* relates to the identified offset. The end offset should be one past
|
||||
* the last relevant byte (so the length of the text = end - begin).
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional int32 end = 4;</code>
|
||||
* Generated from protobuf field <code>optional int32 end = 4;</code>
|
||||
* @param int $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setEnd($var)
|
||||
{
|
||||
|
@ -205,7 +205,7 @@ class MapField implements \ArrayAccess, \IteratorAggregate, \Countable
|
||||
*/
|
||||
public function getIterator()
|
||||
{
|
||||
return new MapFieldIter($this->container);
|
||||
return new MapFieldIter($this->container, $this->key_type);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -54,11 +54,13 @@ class MapFieldIter implements \Iterator
|
||||
*
|
||||
* @param MapField The MapField instance for which this iterator is
|
||||
* created.
|
||||
* @param GPBType Map key type.
|
||||
* @ignore
|
||||
*/
|
||||
public function __construct($container)
|
||||
public function __construct($container, $key_type)
|
||||
{
|
||||
$this->container = $container;
|
||||
$this->key_type = $key_type;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -88,7 +90,13 @@ class MapFieldIter implements \Iterator
|
||||
*/
|
||||
public function key()
|
||||
{
|
||||
return key($this->container);
|
||||
$key = key($this->container);
|
||||
// PHP associative array stores bool as integer for key.
|
||||
if ($this->key_type === GPBType::BOOL) {
|
||||
return boolval($key);
|
||||
} else {
|
||||
return $key;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -110,4 +118,4 @@ class MapFieldIter implements \Iterator
|
||||
{
|
||||
return key($this->container) !== null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -36,8 +36,8 @@
|
||||
|
||||
namespace Google\Protobuf\Internal;
|
||||
|
||||
use Google\Protobuf\Internal\InputStream;
|
||||
use Google\Protobuf\Internal\OutputStream;
|
||||
use Google\Protobuf\Internal\CodedInputStream;
|
||||
use Google\Protobuf\Internal\CodedOutputStream;
|
||||
use Google\Protobuf\Internal\DescriptorPool;
|
||||
use Google\Protobuf\Internal\GPBLabel;
|
||||
use Google\Protobuf\Internal\GPBType;
|
||||
@ -68,6 +68,10 @@ class Message
|
||||
// specific descriptor from the descriptor pool.
|
||||
if (get_class($this) === 'Google\Protobuf\Internal\MapEntry') {
|
||||
$this->desc = $desc;
|
||||
foreach ($desc->getField() as $field) {
|
||||
$setter = $field->getSetter();
|
||||
$this->$setter($this->defaultValue($field));
|
||||
}
|
||||
return;
|
||||
}
|
||||
$pool = DescriptorPool::getGeneratedPool();
|
||||
@ -216,6 +220,58 @@ class Message
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
private static function skipField($input, $tag)
|
||||
{
|
||||
$number = GPBWire::getTagFieldNumber($tag);
|
||||
if ($number === 0) {
|
||||
throw new GPBDecodeException("Illegal field number zero.");
|
||||
}
|
||||
|
||||
switch (GPBWire::getTagWireType($tag)) {
|
||||
case GPBWireType::VARINT:
|
||||
$uint64 = 0;
|
||||
if (!$input->readVarint64($uint64)) {
|
||||
throw new GPBDecodeException(
|
||||
"Unexpected EOF inside varint.");
|
||||
}
|
||||
return;
|
||||
case GPBWireType::FIXED64:
|
||||
$uint64 = 0;
|
||||
if (!$input->readLittleEndian64($uint64)) {
|
||||
throw new GPBDecodeException(
|
||||
"Unexpected EOF inside fixed64.");
|
||||
}
|
||||
return;
|
||||
case GPBWireType::FIXED32:
|
||||
$uint32 = 0;
|
||||
if (!$input->readLittleEndian32($uint32)) {
|
||||
throw new GPBDecodeException(
|
||||
"Unexpected EOF inside fixed32.");
|
||||
}
|
||||
return;
|
||||
case GPBWireType::LENGTH_DELIMITED:
|
||||
$length = 0;
|
||||
if (!$input->readVarint32($length)) {
|
||||
throw new GPBDecodeException(
|
||||
"Unexpected EOF inside length.");
|
||||
}
|
||||
$data = NULL;
|
||||
if (!$input->readRaw($length, $data)) {
|
||||
throw new GPBDecodeException(
|
||||
"Unexpected EOF inside length delimited data.");
|
||||
}
|
||||
return;
|
||||
case GPBWireType::START_GROUP:
|
||||
case GPBWireType::END_GROUP:
|
||||
throw new GPBDecodeException("Unexpected wire type.");
|
||||
default:
|
||||
throw new GPBDecodeException("Unexpected wire type.");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
@ -278,7 +334,6 @@ class Message
|
||||
}
|
||||
break;
|
||||
case GPBType::GROUP:
|
||||
echo "GROUP\xA";
|
||||
trigger_error("Not implemented.", E_ERROR);
|
||||
break;
|
||||
case GPBType::MESSAGE:
|
||||
@ -349,19 +404,25 @@ class Message
|
||||
private function parseFieldFromStream($tag, $input, $field)
|
||||
{
|
||||
$value = null;
|
||||
$field_type = $field->getType();
|
||||
|
||||
$value_format = GPBWire::UNKNOWN;
|
||||
if (GPBWire::getTagWireType($tag) ===
|
||||
GPBWire::getWireType($field_type)) {
|
||||
if (is_null($field)) {
|
||||
$value_format = GPBWire::UNKNOWN;
|
||||
} elseif (GPBWire::getTagWireType($tag) ===
|
||||
GPBWire::getWireType($field->getType())) {
|
||||
$value_format = GPBWire::NORMAL_FORMAT;
|
||||
} elseif ($field->isPackable() &&
|
||||
GPBWire::getTagWireType($tag) ===
|
||||
GPBWire::WIRETYPE_LENGTH_DELIMITED) {
|
||||
$value_format = GPBWire::PACKED_FORMAT;
|
||||
} else {
|
||||
// the wire type doesn't match. Put it in our unknown field set.
|
||||
$value_format = GPBWire::UNKNOWN;
|
||||
}
|
||||
|
||||
if ($value_format === GPBWire::NORMAL_FORMAT) {
|
||||
if ($value_format === GPBWire::UNKNOWN) {
|
||||
self::skipField($input, $tag);
|
||||
return;
|
||||
} elseif ($value_format === GPBWire::NORMAL_FORMAT) {
|
||||
self::parseFieldFromStreamNoTag($input, $field, $value);
|
||||
} elseif ($value_format === GPBWire::PACKED_FORMAT) {
|
||||
$length = 0;
|
||||
@ -378,7 +439,7 @@ class Message
|
||||
$input->popLimit($limit);
|
||||
return;
|
||||
} else {
|
||||
return false;
|
||||
return;
|
||||
}
|
||||
|
||||
if ($field->isMap()) {
|
||||
@ -583,10 +644,28 @@ class Message
|
||||
*/
|
||||
public function mergeFromString($data)
|
||||
{
|
||||
$input = new InputStream($data);
|
||||
$input = new CodedInputStream($data);
|
||||
$this->parseFromStream($input);
|
||||
}
|
||||
|
||||
/**
|
||||
* Parses a json string to protobuf message.
|
||||
*
|
||||
* This function takes a string in the json wire format, matching the
|
||||
* encoding output by serializeToJsonString().
|
||||
* See mergeFrom() for merging behavior, if the field is already set in the
|
||||
* specified message.
|
||||
*
|
||||
* @param string $data Json protobuf data.
|
||||
* @return null.
|
||||
* @throws Exception Invalid data.
|
||||
*/
|
||||
public function mergeFromJsonString($data)
|
||||
{
|
||||
$input = new RawInputStream($data);
|
||||
$this->parseFromJsonStream($input);
|
||||
}
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
@ -602,15 +681,236 @@ class Message
|
||||
$number = GPBWire::getTagFieldNumber($tag);
|
||||
$field = $this->desc->getFieldByNumber($number);
|
||||
|
||||
// Check whether we retrieved a known field
|
||||
if ($field === NULL) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$this->parseFieldFromStream($tag, $input, $field);
|
||||
}
|
||||
}
|
||||
|
||||
private function convertJsonValueToProtoValue(
|
||||
$value,
|
||||
$field,
|
||||
$is_map_key = false)
|
||||
{
|
||||
if (is_null($value)) {
|
||||
return $this->defaultValue($field);
|
||||
}
|
||||
switch ($field->getType()) {
|
||||
case GPBType::MESSAGE:
|
||||
$klass = $field->getMessageType()->getClass();
|
||||
if (!is_object($value) && !is_array($value)) {
|
||||
throw new \Exception("Expect message.");
|
||||
}
|
||||
$submsg = new $klass;
|
||||
if (!is_null($value) &&
|
||||
$klass !== "Google\Protobuf\Any") {
|
||||
$submsg->mergeFromJsonArray($value);
|
||||
}
|
||||
return $submsg;
|
||||
case GPBType::ENUM:
|
||||
if (is_integer($value)) {
|
||||
return $value;
|
||||
} else {
|
||||
$enum_value =
|
||||
$field->getEnumType()->getValueByName($value);
|
||||
}
|
||||
if (!is_null($enum_value)) {
|
||||
return $enum_value->getNumber();
|
||||
}
|
||||
case GPBType::STRING:
|
||||
if (!is_string($value)) {
|
||||
throw new GPBDecodeException("Expect string");
|
||||
}
|
||||
return $value;
|
||||
case GPBType::BYTES:
|
||||
if (!is_string($value)) {
|
||||
throw new GPBDecodeException("Expect string");
|
||||
}
|
||||
$proto_value = base64_decode($value, true);
|
||||
if ($proto_value === false) {
|
||||
throw new GPBDecodeException(
|
||||
"Invalid base64 characters");
|
||||
}
|
||||
return $proto_value;
|
||||
case GPBType::BOOL:
|
||||
if ($is_map_key) {
|
||||
if ($value === "true") {
|
||||
return true;
|
||||
}
|
||||
if ($value === "false") {
|
||||
return false;
|
||||
}
|
||||
throw new GPBDecodeException(
|
||||
"Bool field only accept bool value");
|
||||
}
|
||||
if (!is_bool($value)) {
|
||||
throw new GPBDecodeException(
|
||||
"Bool field only accept bool value");
|
||||
}
|
||||
return $value;
|
||||
case GPBType::FLOAT:
|
||||
if ($value === "Infinity") {
|
||||
return INF;
|
||||
}
|
||||
if ($value === "-Infinity") {
|
||||
return -INF;
|
||||
}
|
||||
if ($value === "NaN") {
|
||||
return NAN;
|
||||
}
|
||||
return $value;
|
||||
case GPBType::DOUBLE:
|
||||
if ($value === "Infinity") {
|
||||
return INF;
|
||||
}
|
||||
if ($value === "-Infinity") {
|
||||
return -INF;
|
||||
}
|
||||
if ($value === "NaN") {
|
||||
return NAN;
|
||||
}
|
||||
return $value;
|
||||
case GPBType::INT32:
|
||||
if (!is_numeric($value)) {
|
||||
throw new GPBDecodeException(
|
||||
"Invalid data type for int32 field");
|
||||
}
|
||||
if (bccomp($value, "2147483647") > 0) {
|
||||
throw new GPBDecodeException(
|
||||
"Int32 too large");
|
||||
}
|
||||
if (bccomp($value, "-2147483648") < 0) {
|
||||
throw new GPBDecodeException(
|
||||
"Int32 too small");
|
||||
}
|
||||
return $value;
|
||||
case GPBType::UINT32:
|
||||
if (!is_numeric($value)) {
|
||||
throw new GPBDecodeException(
|
||||
"Invalid data type for uint32 field");
|
||||
}
|
||||
if (bccomp($value, 4294967295) > 0) {
|
||||
throw new GPBDecodeException(
|
||||
"Uint32 too large");
|
||||
}
|
||||
return $value;
|
||||
case GPBType::INT64:
|
||||
if (!is_numeric($value)) {
|
||||
throw new GPBDecodeException(
|
||||
"Invalid data type for int64 field");
|
||||
}
|
||||
if (bccomp($value, "9223372036854775807") > 0) {
|
||||
throw new GPBDecodeException(
|
||||
"Int64 too large");
|
||||
}
|
||||
if (bccomp($value, "-9223372036854775808") < 0) {
|
||||
throw new GPBDecodeException(
|
||||
"Int64 too small");
|
||||
}
|
||||
return $value;
|
||||
case GPBType::UINT64:
|
||||
if (!is_numeric($value)) {
|
||||
throw new GPBDecodeException(
|
||||
"Invalid data type for int64 field");
|
||||
}
|
||||
if (bccomp($value, "18446744073709551615") > 0) {
|
||||
throw new GPBDecodeException(
|
||||
"Uint64 too large");
|
||||
}
|
||||
if (bccomp($value, "9223372036854775807") > 0) {
|
||||
$value = bcsub($value, "18446744073709551616");
|
||||
}
|
||||
return $value;
|
||||
case GPBType::FIXED64:
|
||||
return $value;
|
||||
default:
|
||||
return $value;
|
||||
}
|
||||
}
|
||||
|
||||
private function mergeFromJsonArray($array)
|
||||
{
|
||||
foreach ($array as $key => $value) {
|
||||
$field = $this->desc->getFieldByJsonName($key);
|
||||
if (is_null($field)) {
|
||||
$field = $this->desc->getFieldByName($key);
|
||||
if (is_null($field)) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
$setter = $field->getSetter();
|
||||
if ($field->isMap()) {
|
||||
if (is_null($value)) {
|
||||
continue;
|
||||
}
|
||||
$getter = $field->getGetter();
|
||||
$key_field = $field->getMessageType()->getFieldByNumber(1);
|
||||
$value_field = $field->getMessageType()->getFieldByNumber(2);
|
||||
foreach ($value as $tmp_key => $tmp_value) {
|
||||
if (is_null($tmp_value)) {
|
||||
throw new \Exception(
|
||||
"Map value field element cannot be null.");
|
||||
}
|
||||
$proto_key =
|
||||
$this->convertJsonValueToProtoValue(
|
||||
$tmp_key,
|
||||
$key_field,
|
||||
true);
|
||||
$proto_value =
|
||||
$this->convertJsonValueToProtoValue(
|
||||
$tmp_value,
|
||||
$value_field);
|
||||
$this->$getter()[$proto_key] = $proto_value;
|
||||
}
|
||||
} else if ($field->isRepeated()) {
|
||||
if (is_null($value)) {
|
||||
continue;
|
||||
}
|
||||
$getter = $field->getGetter();
|
||||
foreach ($value as $tmp) {
|
||||
if (is_null($tmp)) {
|
||||
throw new \Exception(
|
||||
"Repeated field elements cannot be null.");
|
||||
}
|
||||
$proto_value =
|
||||
$this->convertJsonValueToProtoValue($tmp, $field);
|
||||
$this->$getter()[] = $proto_value;
|
||||
}
|
||||
} else {
|
||||
$setter = $field->getSetter();
|
||||
$proto_value =
|
||||
$this->convertJsonValueToProtoValue($value, $field);
|
||||
if ($field->getType() === GPBType::MESSAGE) {
|
||||
if (is_null($proto_value)) {
|
||||
continue;
|
||||
}
|
||||
$getter = $field->getGetter();
|
||||
$submsg = $this->$getter();
|
||||
if (!is_null($submsg)) {
|
||||
$submsg->mergeFrom($proto_value);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
$this->$setter($proto_value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
public function parseFromJsonStream($input)
|
||||
{
|
||||
$array = json_decode($input->getData(), JSON_BIGINT_AS_STRING);
|
||||
if (is_null($array)) {
|
||||
throw new GPBDecodeException(
|
||||
"Cannot decode json string.");
|
||||
}
|
||||
try {
|
||||
$this->mergeFromJsonArray($array);
|
||||
} catch (Exception $e) {
|
||||
throw new GPBDecodeException($e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
@ -650,7 +950,7 @@ class Message
|
||||
foreach ($values as $value) {
|
||||
$size += $this->fieldDataOnlyByteSize($field, $value);
|
||||
}
|
||||
if (!$output->writeVarint32($size)) {
|
||||
if (!$output->writeVarint32($size, true)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@ -708,6 +1008,16 @@ class Message
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
private function serializeFieldToJsonStream(&$output, $field)
|
||||
{
|
||||
$getter = $field->getGetter();
|
||||
$values = $this->$getter();
|
||||
return GPBJsonWire::serializeFieldToStream($values, $field, $output);
|
||||
}
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
@ -722,17 +1032,52 @@ class Message
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
public function serializeToJsonStream(&$output)
|
||||
{
|
||||
$output->writeRaw("{", 1);
|
||||
$fields = $this->desc->getField();
|
||||
$first = true;
|
||||
foreach ($fields as $field) {
|
||||
if ($this->existField($field)) {
|
||||
if ($first) {
|
||||
$first = false;
|
||||
} else {
|
||||
$output->writeRaw(",", 1);
|
||||
}
|
||||
if (!$this->serializeFieldToJsonStream($output, $field)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
$output->writeRaw("}", 1);
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Serialize the message to string.
|
||||
* @return string Serialized binary protobuf data.
|
||||
*/
|
||||
public function serializeToString()
|
||||
{
|
||||
$output = new OutputStream($this->byteSize());
|
||||
$output = new CodedOutputStream($this->byteSize());
|
||||
$this->serializeToStream($output);
|
||||
return $output->getData();
|
||||
}
|
||||
|
||||
/**
|
||||
* Serialize the message to json string.
|
||||
* @return string Serialized json protobuf data.
|
||||
*/
|
||||
public function serializeToJsonString()
|
||||
{
|
||||
$output = new CodedOutputStream($this->jsonByteSize());
|
||||
$this->serializeToJsonStream($output);
|
||||
return $output->getData();
|
||||
}
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
@ -746,8 +1091,14 @@ class Message
|
||||
}
|
||||
|
||||
$getter = $field->getGetter();
|
||||
$value = $this->$getter();
|
||||
return $value !== $this->defaultValue($field);
|
||||
$values = $this->$getter();
|
||||
if ($field->isMap()) {
|
||||
return count($values) !== 0;
|
||||
} elseif ($field->isRepeated()) {
|
||||
return count($values) !== 0;
|
||||
} else {
|
||||
return $values !== $this->defaultValue($field);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -827,6 +1178,101 @@ class Message
|
||||
return $size;
|
||||
}
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
private function fieldDataOnlyJsonByteSize($field, $value)
|
||||
{
|
||||
$size = 0;
|
||||
|
||||
switch ($field->getType()) {
|
||||
case GPBType::SFIXED32:
|
||||
case GPBType::SINT32:
|
||||
case GPBType::INT32:
|
||||
$size += strlen(strval($value));
|
||||
break;
|
||||
case GPBType::FIXED32:
|
||||
case GPBType::UINT32:
|
||||
if ($value < 0) {
|
||||
$value = bcadd($value, "4294967296");
|
||||
}
|
||||
$size += strlen(strval($value));
|
||||
break;
|
||||
case GPBType::FIXED64:
|
||||
case GPBType::UINT64:
|
||||
if ($value < 0) {
|
||||
$value = bcadd($value, "18446744073709551616");
|
||||
}
|
||||
// Intentional fall through.
|
||||
case GPBType::SFIXED64:
|
||||
case GPBType::INT64:
|
||||
case GPBType::SINT64:
|
||||
$size += 2; // size for ""
|
||||
$size += strlen(strval($value));
|
||||
break;
|
||||
case GPBType::FLOAT:
|
||||
if (is_nan($value)) {
|
||||
$size += strlen("NaN") + 2;
|
||||
} elseif ($value === INF) {
|
||||
$size += strlen("Infinity") + 2;
|
||||
} elseif ($value === -INF) {
|
||||
$size += strlen("-Infinity") + 2;
|
||||
} else {
|
||||
$size += strlen(sprintf("%.8g", $value));
|
||||
}
|
||||
break;
|
||||
case GPBType::DOUBLE:
|
||||
if (is_nan($value)) {
|
||||
$size += strlen("NaN") + 2;
|
||||
} elseif ($value === INF) {
|
||||
$size += strlen("Infinity") + 2;
|
||||
} elseif ($value === -INF) {
|
||||
$size += strlen("-Infinity") + 2;
|
||||
} else {
|
||||
$size += strlen(sprintf("%.17g", $value));
|
||||
}
|
||||
break;
|
||||
case GPBType::ENUM:
|
||||
$enum_desc = $field->getEnumType();
|
||||
$enum_value_desc = $enum_desc->getValueByNumber($value);
|
||||
if (!is_null($enum_value_desc)) {
|
||||
$size += 2; // size for ""
|
||||
$size += strlen($enum_value_desc->getName());
|
||||
} else {
|
||||
$str_value = strval($value);
|
||||
$size += strlen($str_value);
|
||||
}
|
||||
break;
|
||||
case GPBType::BOOL:
|
||||
if ($value) {
|
||||
$size += 4;
|
||||
} else {
|
||||
$size += 5;
|
||||
}
|
||||
break;
|
||||
case GPBType::STRING:
|
||||
$value = json_encode($value);
|
||||
$size += strlen($value);
|
||||
break;
|
||||
case GPBType::BYTES:
|
||||
$size += strlen(base64_encode($value));
|
||||
$size += 2; // size for \"\"
|
||||
break;
|
||||
case GPBType::MESSAGE:
|
||||
$size += $value->jsonByteSize();
|
||||
break;
|
||||
# case GPBType::GROUP:
|
||||
# // TODO(teboring): Add support.
|
||||
# user_error("Unsupported type.");
|
||||
# break;
|
||||
default:
|
||||
user_error("Unsupported type " . $field->getType());
|
||||
return 0;
|
||||
}
|
||||
|
||||
return $size;
|
||||
}
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
@ -844,12 +1290,18 @@ class Message
|
||||
$value_field = $message_type->getFieldByNumber(2);
|
||||
foreach ($values as $key => $value) {
|
||||
$data_size = 0;
|
||||
$data_size += $this->fieldDataOnlyByteSize($key_field, $key);
|
||||
$data_size += $this->fieldDataOnlyByteSize(
|
||||
$value_field,
|
||||
$value);
|
||||
$data_size += GPBWire::tagSize($key_field);
|
||||
$data_size += GPBWire::tagSize($value_field);
|
||||
if ($key != $this->defaultValue($key_field)) {
|
||||
$data_size += $this->fieldDataOnlyByteSize(
|
||||
$key_field,
|
||||
$key);
|
||||
$data_size += GPBWire::tagSize($key_field);
|
||||
}
|
||||
if ($value != $this->defaultValue($value_field)) {
|
||||
$data_size += $this->fieldDataOnlyByteSize(
|
||||
$value_field,
|
||||
$value);
|
||||
$data_size += GPBWire::tagSize($value_field);
|
||||
}
|
||||
$size += GPBWire::varint32Size($data_size) + $data_size;
|
||||
}
|
||||
}
|
||||
@ -882,6 +1334,68 @@ class Message
|
||||
return $size;
|
||||
}
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
private function fieldJsonByteSize($field)
|
||||
{
|
||||
$size = 0;
|
||||
if ($field->isMap()) {
|
||||
$getter = $field->getGetter();
|
||||
$values = $this->$getter();
|
||||
$count = count($values);
|
||||
if ($count !== 0) {
|
||||
$size += 5; // size for "\"\":{}".
|
||||
$size += strlen($field->getJsonName()); // size for field name
|
||||
$size += $count - 1; // size for commas
|
||||
$getter = $field->getGetter();
|
||||
$map_entry = $field->getMessageType();
|
||||
$key_field = $map_entry->getFieldByNumber(1);
|
||||
$value_field = $map_entry->getFieldByNumber(2);
|
||||
switch ($key_field->getType()) {
|
||||
case GPBType::STRING:
|
||||
case GPBType::SFIXED64:
|
||||
case GPBType::INT64:
|
||||
case GPBType::SINT64:
|
||||
case GPBType::FIXED64:
|
||||
case GPBType::UINT64:
|
||||
$additional_quote = false;
|
||||
break;
|
||||
default:
|
||||
$additional_quote = true;
|
||||
}
|
||||
foreach ($values as $key => $value) {
|
||||
if ($additional_quote) {
|
||||
$size += 2; // size for ""
|
||||
}
|
||||
$size += $this->fieldDataOnlyJsonByteSize($key_field, $key);
|
||||
$size += $this->fieldDataOnlyJsonByteSize($value_field, $value);
|
||||
$size += 1; // size for :
|
||||
}
|
||||
}
|
||||
} elseif ($field->isRepeated()) {
|
||||
$getter = $field->getGetter();
|
||||
$values = $this->$getter();
|
||||
$count = count($values);
|
||||
if ($count !== 0) {
|
||||
$size += 5; // size for "\"\":[]".
|
||||
$size += strlen($field->getJsonName()); // size for field name
|
||||
$size += $count - 1; // size for commas
|
||||
$getter = $field->getGetter();
|
||||
foreach ($values as $value) {
|
||||
$size += $this->fieldDataOnlyJsonByteSize($field, $value);
|
||||
}
|
||||
}
|
||||
} elseif ($this->existField($field)) {
|
||||
$size += 3; // size for "\"\":".
|
||||
$size += strlen($field->getJsonName()); // size for field name
|
||||
$getter = $field->getGetter();
|
||||
$value = $this->$getter();
|
||||
$size += $this->fieldDataOnlyJsonByteSize($field, $value);
|
||||
}
|
||||
return $size;
|
||||
}
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
@ -921,4 +1435,28 @@ class Message
|
||||
$this->$setter($field_arr_value);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
public function jsonByteSize()
|
||||
{
|
||||
$size = 0;
|
||||
|
||||
// Size for "{}".
|
||||
$size += 2;
|
||||
|
||||
$fields = $this->desc->getField();
|
||||
$count = 0;
|
||||
foreach ($fields as $field) {
|
||||
$field_size = $this->fieldJsonByteSize($field);
|
||||
$size += $field_size;
|
||||
if ($field_size != 0) {
|
||||
$count++;
|
||||
}
|
||||
}
|
||||
// size for comma
|
||||
$size += $count > 0 ? ($count - 1) : 0;
|
||||
return $size;
|
||||
}
|
||||
}
|
||||
|
@ -12,12 +12,11 @@ use Google\Protobuf\Internal\InputStream;
|
||||
use Google\Protobuf\Internal\GPBUtil;
|
||||
|
||||
/**
|
||||
* Protobuf type <code>google.protobuf.MessageOptions</code>
|
||||
* Generated from protobuf message <code>google.protobuf.MessageOptions</code>
|
||||
*/
|
||||
class MessageOptions extends \Google\Protobuf\Internal\Message
|
||||
{
|
||||
/**
|
||||
* <pre>
|
||||
* Set true to use the old proto1 MessageSet wire format for extensions.
|
||||
* This is provided for backwards-compatibility with the MessageSet wire
|
||||
* format. You should not use this for any other reason: It's less
|
||||
@ -33,41 +32,35 @@ class MessageOptions extends \Google\Protobuf\Internal\Message
|
||||
* be int32s, enums, or repeated messages.
|
||||
* Because this is an option, the above two restrictions are not enforced by
|
||||
* the protocol compiler.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool message_set_wire_format = 1 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool message_set_wire_format = 1 [default = false];</code>
|
||||
*/
|
||||
private $message_set_wire_format = false;
|
||||
private $has_message_set_wire_format = false;
|
||||
/**
|
||||
* <pre>
|
||||
* Disables the generation of the standard "descriptor()" accessor, which can
|
||||
* conflict with a field of the same name. This is meant to make migration
|
||||
* from proto1 easier; new code should avoid fields named "descriptor".
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool no_standard_descriptor_accessor = 2 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool no_standard_descriptor_accessor = 2 [default = false];</code>
|
||||
*/
|
||||
private $no_standard_descriptor_accessor = false;
|
||||
private $has_no_standard_descriptor_accessor = false;
|
||||
/**
|
||||
* <pre>
|
||||
* Is this message deprecated?
|
||||
* Depending on the target platform, this can emit Deprecated annotations
|
||||
* for the message, or it will be completely ignored; in the very least,
|
||||
* this is a formalization for deprecating messages.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool deprecated = 3 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool deprecated = 3 [default = false];</code>
|
||||
*/
|
||||
private $deprecated = false;
|
||||
private $has_deprecated = false;
|
||||
/**
|
||||
* <pre>
|
||||
* Whether the message is an automatically generated map entry type for the
|
||||
* maps field.
|
||||
* For maps fields:
|
||||
* map<KeyType, ValueType> map_field = 1;
|
||||
* map<KeyType, ValueType> map_field = 1;
|
||||
* The parsed descriptor looks like:
|
||||
* message MapFieldEntry {
|
||||
* option map_entry = true;
|
||||
@ -82,18 +75,15 @@ class MessageOptions extends \Google\Protobuf\Internal\Message
|
||||
* NOTE: Do not set the option in .proto files. Always use the maps syntax
|
||||
* instead. The option should only be implicitly set by the proto compiler
|
||||
* parser.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool map_entry = 7;</code>
|
||||
* Generated from protobuf field <code>optional bool map_entry = 7;</code>
|
||||
*/
|
||||
private $map_entry = false;
|
||||
private $has_map_entry = false;
|
||||
/**
|
||||
* <pre>
|
||||
* The parser stores options it doesn't recognize here. See above.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
*/
|
||||
private $uninterpreted_option;
|
||||
private $has_uninterpreted_option = false;
|
||||
@ -104,7 +94,6 @@ class MessageOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Set true to use the old proto1 MessageSet wire format for extensions.
|
||||
* This is provided for backwards-compatibility with the MessageSet wire
|
||||
* format. You should not use this for any other reason: It's less
|
||||
@ -120,9 +109,9 @@ class MessageOptions extends \Google\Protobuf\Internal\Message
|
||||
* be int32s, enums, or repeated messages.
|
||||
* Because this is an option, the above two restrictions are not enforced by
|
||||
* the protocol compiler.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool message_set_wire_format = 1 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool message_set_wire_format = 1 [default = false];</code>
|
||||
* @return bool
|
||||
*/
|
||||
public function getMessageSetWireFormat()
|
||||
{
|
||||
@ -130,7 +119,6 @@ class MessageOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Set true to use the old proto1 MessageSet wire format for extensions.
|
||||
* This is provided for backwards-compatibility with the MessageSet wire
|
||||
* format. You should not use this for any other reason: It's less
|
||||
@ -146,9 +134,10 @@ class MessageOptions extends \Google\Protobuf\Internal\Message
|
||||
* be int32s, enums, or repeated messages.
|
||||
* Because this is an option, the above two restrictions are not enforced by
|
||||
* the protocol compiler.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool message_set_wire_format = 1 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool message_set_wire_format = 1 [default = false];</code>
|
||||
* @param bool $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setMessageSetWireFormat($var)
|
||||
{
|
||||
@ -165,13 +154,12 @@ class MessageOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Disables the generation of the standard "descriptor()" accessor, which can
|
||||
* conflict with a field of the same name. This is meant to make migration
|
||||
* from proto1 easier; new code should avoid fields named "descriptor".
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool no_standard_descriptor_accessor = 2 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool no_standard_descriptor_accessor = 2 [default = false];</code>
|
||||
* @return bool
|
||||
*/
|
||||
public function getNoStandardDescriptorAccessor()
|
||||
{
|
||||
@ -179,13 +167,13 @@ class MessageOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Disables the generation of the standard "descriptor()" accessor, which can
|
||||
* conflict with a field of the same name. This is meant to make migration
|
||||
* from proto1 easier; new code should avoid fields named "descriptor".
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool no_standard_descriptor_accessor = 2 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool no_standard_descriptor_accessor = 2 [default = false];</code>
|
||||
* @param bool $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setNoStandardDescriptorAccessor($var)
|
||||
{
|
||||
@ -202,14 +190,13 @@ class MessageOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Is this message deprecated?
|
||||
* Depending on the target platform, this can emit Deprecated annotations
|
||||
* for the message, or it will be completely ignored; in the very least,
|
||||
* this is a formalization for deprecating messages.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool deprecated = 3 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool deprecated = 3 [default = false];</code>
|
||||
* @return bool
|
||||
*/
|
||||
public function getDeprecated()
|
||||
{
|
||||
@ -217,14 +204,14 @@ class MessageOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Is this message deprecated?
|
||||
* Depending on the target platform, this can emit Deprecated annotations
|
||||
* for the message, or it will be completely ignored; in the very least,
|
||||
* this is a formalization for deprecating messages.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool deprecated = 3 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool deprecated = 3 [default = false];</code>
|
||||
* @param bool $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setDeprecated($var)
|
||||
{
|
||||
@ -241,11 +228,10 @@ class MessageOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Whether the message is an automatically generated map entry type for the
|
||||
* maps field.
|
||||
* For maps fields:
|
||||
* map<KeyType, ValueType> map_field = 1;
|
||||
* map<KeyType, ValueType> map_field = 1;
|
||||
* The parsed descriptor looks like:
|
||||
* message MapFieldEntry {
|
||||
* option map_entry = true;
|
||||
@ -260,9 +246,9 @@ class MessageOptions extends \Google\Protobuf\Internal\Message
|
||||
* NOTE: Do not set the option in .proto files. Always use the maps syntax
|
||||
* instead. The option should only be implicitly set by the proto compiler
|
||||
* parser.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool map_entry = 7;</code>
|
||||
* Generated from protobuf field <code>optional bool map_entry = 7;</code>
|
||||
* @return bool
|
||||
*/
|
||||
public function getMapEntry()
|
||||
{
|
||||
@ -270,11 +256,10 @@ class MessageOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Whether the message is an automatically generated map entry type for the
|
||||
* maps field.
|
||||
* For maps fields:
|
||||
* map<KeyType, ValueType> map_field = 1;
|
||||
* map<KeyType, ValueType> map_field = 1;
|
||||
* The parsed descriptor looks like:
|
||||
* message MapFieldEntry {
|
||||
* option map_entry = true;
|
||||
@ -289,9 +274,10 @@ class MessageOptions extends \Google\Protobuf\Internal\Message
|
||||
* NOTE: Do not set the option in .proto files. Always use the maps syntax
|
||||
* instead. The option should only be implicitly set by the proto compiler
|
||||
* parser.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool map_entry = 7;</code>
|
||||
* Generated from protobuf field <code>optional bool map_entry = 7;</code>
|
||||
* @param bool $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setMapEntry($var)
|
||||
{
|
||||
@ -308,11 +294,10 @@ class MessageOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* The parser stores options it doesn't recognize here. See above.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
* @return \Google\Protobuf\Internal\RepeatedField
|
||||
*/
|
||||
public function getUninterpretedOption()
|
||||
{
|
||||
@ -320,11 +305,11 @@ class MessageOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* The parser stores options it doesn't recognize here. See above.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
* @param \Google\Protobuf\Internal\UninterpretedOption[]|\Google\Protobuf\Internal\RepeatedField $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setUninterpretedOption(&$var)
|
||||
{
|
||||
|
@ -12,54 +12,46 @@ use Google\Protobuf\Internal\InputStream;
|
||||
use Google\Protobuf\Internal\GPBUtil;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Describes a method of a service.
|
||||
* </pre>
|
||||
*
|
||||
* Protobuf type <code>google.protobuf.MethodDescriptorProto</code>
|
||||
* Generated from protobuf message <code>google.protobuf.MethodDescriptorProto</code>
|
||||
*/
|
||||
class MethodDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
{
|
||||
/**
|
||||
* <code>optional string name = 1;</code>
|
||||
* Generated from protobuf field <code>optional string name = 1;</code>
|
||||
*/
|
||||
private $name = '';
|
||||
private $has_name = false;
|
||||
/**
|
||||
* <pre>
|
||||
* Input and output type names. These are resolved in the same way as
|
||||
* FieldDescriptorProto.type_name, but must refer to a message type.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string input_type = 2;</code>
|
||||
* Generated from protobuf field <code>optional string input_type = 2;</code>
|
||||
*/
|
||||
private $input_type = '';
|
||||
private $has_input_type = false;
|
||||
/**
|
||||
* <code>optional string output_type = 3;</code>
|
||||
* Generated from protobuf field <code>optional string output_type = 3;</code>
|
||||
*/
|
||||
private $output_type = '';
|
||||
private $has_output_type = false;
|
||||
/**
|
||||
* <code>optional .google.protobuf.MethodOptions options = 4;</code>
|
||||
* Generated from protobuf field <code>optional .google.protobuf.MethodOptions options = 4;</code>
|
||||
*/
|
||||
private $options = null;
|
||||
private $has_options = false;
|
||||
/**
|
||||
* <pre>
|
||||
* Identifies if client streams multiple client messages
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool client_streaming = 5 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool client_streaming = 5 [default = false];</code>
|
||||
*/
|
||||
private $client_streaming = false;
|
||||
private $has_client_streaming = false;
|
||||
/**
|
||||
* <pre>
|
||||
* Identifies if server streams multiple server messages
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool server_streaming = 6 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool server_streaming = 6 [default = false];</code>
|
||||
*/
|
||||
private $server_streaming = false;
|
||||
private $has_server_streaming = false;
|
||||
@ -70,7 +62,8 @@ class MethodDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional string name = 1;</code>
|
||||
* Generated from protobuf field <code>optional string name = 1;</code>
|
||||
* @return string
|
||||
*/
|
||||
public function getName()
|
||||
{
|
||||
@ -78,7 +71,9 @@ class MethodDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional string name = 1;</code>
|
||||
* Generated from protobuf field <code>optional string name = 1;</code>
|
||||
* @param string $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setName($var)
|
||||
{
|
||||
@ -95,12 +90,11 @@ class MethodDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Input and output type names. These are resolved in the same way as
|
||||
* FieldDescriptorProto.type_name, but must refer to a message type.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string input_type = 2;</code>
|
||||
* Generated from protobuf field <code>optional string input_type = 2;</code>
|
||||
* @return string
|
||||
*/
|
||||
public function getInputType()
|
||||
{
|
||||
@ -108,12 +102,12 @@ class MethodDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Input and output type names. These are resolved in the same way as
|
||||
* FieldDescriptorProto.type_name, but must refer to a message type.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string input_type = 2;</code>
|
||||
* Generated from protobuf field <code>optional string input_type = 2;</code>
|
||||
* @param string $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setInputType($var)
|
||||
{
|
||||
@ -130,7 +124,8 @@ class MethodDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional string output_type = 3;</code>
|
||||
* Generated from protobuf field <code>optional string output_type = 3;</code>
|
||||
* @return string
|
||||
*/
|
||||
public function getOutputType()
|
||||
{
|
||||
@ -138,7 +133,9 @@ class MethodDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional string output_type = 3;</code>
|
||||
* Generated from protobuf field <code>optional string output_type = 3;</code>
|
||||
* @param string $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setOutputType($var)
|
||||
{
|
||||
@ -155,7 +152,8 @@ class MethodDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional .google.protobuf.MethodOptions options = 4;</code>
|
||||
* Generated from protobuf field <code>optional .google.protobuf.MethodOptions options = 4;</code>
|
||||
* @return \Google\Protobuf\Internal\MethodOptions
|
||||
*/
|
||||
public function getOptions()
|
||||
{
|
||||
@ -163,7 +161,9 @@ class MethodDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional .google.protobuf.MethodOptions options = 4;</code>
|
||||
* Generated from protobuf field <code>optional .google.protobuf.MethodOptions options = 4;</code>
|
||||
* @param \Google\Protobuf\Internal\MethodOptions $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setOptions(&$var)
|
||||
{
|
||||
@ -180,11 +180,10 @@ class MethodDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Identifies if client streams multiple client messages
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool client_streaming = 5 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool client_streaming = 5 [default = false];</code>
|
||||
* @return bool
|
||||
*/
|
||||
public function getClientStreaming()
|
||||
{
|
||||
@ -192,11 +191,11 @@ class MethodDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Identifies if client streams multiple client messages
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool client_streaming = 5 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool client_streaming = 5 [default = false];</code>
|
||||
* @param bool $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setClientStreaming($var)
|
||||
{
|
||||
@ -213,11 +212,10 @@ class MethodDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Identifies if server streams multiple server messages
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool server_streaming = 6 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool server_streaming = 6 [default = false];</code>
|
||||
* @return bool
|
||||
*/
|
||||
public function getServerStreaming()
|
||||
{
|
||||
@ -225,11 +223,11 @@ class MethodDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Identifies if server streams multiple server messages
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool server_streaming = 6 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool server_streaming = 6 [default = false];</code>
|
||||
* @param bool $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setServerStreaming($var)
|
||||
{
|
||||
|
@ -12,33 +12,29 @@ use Google\Protobuf\Internal\InputStream;
|
||||
use Google\Protobuf\Internal\GPBUtil;
|
||||
|
||||
/**
|
||||
* Protobuf type <code>google.protobuf.MethodOptions</code>
|
||||
* Generated from protobuf message <code>google.protobuf.MethodOptions</code>
|
||||
*/
|
||||
class MethodOptions extends \Google\Protobuf\Internal\Message
|
||||
{
|
||||
/**
|
||||
* <pre>
|
||||
* Is this method deprecated?
|
||||
* Depending on the target platform, this can emit Deprecated annotations
|
||||
* for the method, or it will be completely ignored; in the very least,
|
||||
* this is a formalization for deprecating methods.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool deprecated = 33 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool deprecated = 33 [default = false];</code>
|
||||
*/
|
||||
private $deprecated = false;
|
||||
private $has_deprecated = false;
|
||||
/**
|
||||
* <code>optional .google.protobuf.MethodOptions.IdempotencyLevel idempotency_level = 34 [default = IDEMPOTENCY_UNKNOWN];</code>
|
||||
* Generated from protobuf field <code>optional .google.protobuf.MethodOptions.IdempotencyLevel idempotency_level = 34 [default = IDEMPOTENCY_UNKNOWN];</code>
|
||||
*/
|
||||
private $idempotency_level = 0;
|
||||
private $has_idempotency_level = false;
|
||||
/**
|
||||
* <pre>
|
||||
* The parser stores options it doesn't recognize here. See above.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
*/
|
||||
private $uninterpreted_option;
|
||||
private $has_uninterpreted_option = false;
|
||||
@ -49,14 +45,13 @@ class MethodOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Is this method deprecated?
|
||||
* Depending on the target platform, this can emit Deprecated annotations
|
||||
* for the method, or it will be completely ignored; in the very least,
|
||||
* this is a formalization for deprecating methods.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool deprecated = 33 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool deprecated = 33 [default = false];</code>
|
||||
* @return bool
|
||||
*/
|
||||
public function getDeprecated()
|
||||
{
|
||||
@ -64,14 +59,14 @@ class MethodOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Is this method deprecated?
|
||||
* Depending on the target platform, this can emit Deprecated annotations
|
||||
* for the method, or it will be completely ignored; in the very least,
|
||||
* this is a formalization for deprecating methods.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool deprecated = 33 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool deprecated = 33 [default = false];</code>
|
||||
* @param bool $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setDeprecated($var)
|
||||
{
|
||||
@ -88,7 +83,8 @@ class MethodOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional .google.protobuf.MethodOptions.IdempotencyLevel idempotency_level = 34 [default = IDEMPOTENCY_UNKNOWN];</code>
|
||||
* Generated from protobuf field <code>optional .google.protobuf.MethodOptions.IdempotencyLevel idempotency_level = 34 [default = IDEMPOTENCY_UNKNOWN];</code>
|
||||
* @return int
|
||||
*/
|
||||
public function getIdempotencyLevel()
|
||||
{
|
||||
@ -96,7 +92,9 @@ class MethodOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional .google.protobuf.MethodOptions.IdempotencyLevel idempotency_level = 34 [default = IDEMPOTENCY_UNKNOWN];</code>
|
||||
* Generated from protobuf field <code>optional .google.protobuf.MethodOptions.IdempotencyLevel idempotency_level = 34 [default = IDEMPOTENCY_UNKNOWN];</code>
|
||||
* @param int $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setIdempotencyLevel($var)
|
||||
{
|
||||
@ -113,11 +111,10 @@ class MethodOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* The parser stores options it doesn't recognize here. See above.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
* @return \Google\Protobuf\Internal\RepeatedField
|
||||
*/
|
||||
public function getUninterpretedOption()
|
||||
{
|
||||
@ -125,11 +122,11 @@ class MethodOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* The parser stores options it doesn't recognize here. See above.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
* @param \Google\Protobuf\Internal\UninterpretedOption[]|\Google\Protobuf\Internal\RepeatedField $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setUninterpretedOption(&$var)
|
||||
{
|
||||
|
@ -5,34 +5,28 @@
|
||||
namespace Google\Protobuf\Internal;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Is this method side-effect-free (or safe in HTTP parlance), or idempotent,
|
||||
* or neither? HTTP based RPC implementation may choose GET verb for safe
|
||||
* methods, and PUT verb for idempotent methods instead of the default POST.
|
||||
* </pre>
|
||||
*
|
||||
* Protobuf enum <code>google.protobuf.MethodOptions.IdempotencyLevel</code>
|
||||
* Protobuf enum <code>Google\Protobuf\Internal</code>
|
||||
*/
|
||||
class MethodOptions_IdempotencyLevel
|
||||
{
|
||||
/**
|
||||
* <code>IDEMPOTENCY_UNKNOWN = 0;</code>
|
||||
* Generated from protobuf enum <code>IDEMPOTENCY_UNKNOWN = 0;</code>
|
||||
*/
|
||||
const IDEMPOTENCY_UNKNOWN = 0;
|
||||
/**
|
||||
* <pre>
|
||||
* implies idempotent
|
||||
* </pre>
|
||||
*
|
||||
* <code>NO_SIDE_EFFECTS = 1;</code>
|
||||
* Generated from protobuf enum <code>NO_SIDE_EFFECTS = 1;</code>
|
||||
*/
|
||||
const NO_SIDE_EFFECTS = 1;
|
||||
/**
|
||||
* <pre>
|
||||
* idempotent, but may have side effects
|
||||
* </pre>
|
||||
*
|
||||
* <code>IDEMPOTENT = 2;</code>
|
||||
* Generated from protobuf enum <code>IDEMPOTENT = 2;</code>
|
||||
*/
|
||||
const IDEMPOTENT = 2;
|
||||
}
|
||||
|
@ -12,21 +12,19 @@ use Google\Protobuf\Internal\InputStream;
|
||||
use Google\Protobuf\Internal\GPBUtil;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Describes a oneof.
|
||||
* </pre>
|
||||
*
|
||||
* Protobuf type <code>google.protobuf.OneofDescriptorProto</code>
|
||||
* Generated from protobuf message <code>google.protobuf.OneofDescriptorProto</code>
|
||||
*/
|
||||
class OneofDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
{
|
||||
/**
|
||||
* <code>optional string name = 1;</code>
|
||||
* Generated from protobuf field <code>optional string name = 1;</code>
|
||||
*/
|
||||
private $name = '';
|
||||
private $has_name = false;
|
||||
/**
|
||||
* <code>optional .google.protobuf.OneofOptions options = 2;</code>
|
||||
* Generated from protobuf field <code>optional .google.protobuf.OneofOptions options = 2;</code>
|
||||
*/
|
||||
private $options = null;
|
||||
private $has_options = false;
|
||||
@ -37,7 +35,8 @@ class OneofDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional string name = 1;</code>
|
||||
* Generated from protobuf field <code>optional string name = 1;</code>
|
||||
* @return string
|
||||
*/
|
||||
public function getName()
|
||||
{
|
||||
@ -45,7 +44,9 @@ class OneofDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional string name = 1;</code>
|
||||
* Generated from protobuf field <code>optional string name = 1;</code>
|
||||
* @param string $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setName($var)
|
||||
{
|
||||
@ -62,7 +63,8 @@ class OneofDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional .google.protobuf.OneofOptions options = 2;</code>
|
||||
* Generated from protobuf field <code>optional .google.protobuf.OneofOptions options = 2;</code>
|
||||
* @return \Google\Protobuf\Internal\OneofOptions
|
||||
*/
|
||||
public function getOptions()
|
||||
{
|
||||
@ -70,7 +72,9 @@ class OneofDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional .google.protobuf.OneofOptions options = 2;</code>
|
||||
* Generated from protobuf field <code>optional .google.protobuf.OneofOptions options = 2;</code>
|
||||
* @param \Google\Protobuf\Internal\OneofOptions $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setOptions(&$var)
|
||||
{
|
||||
|
@ -12,16 +12,14 @@ use Google\Protobuf\Internal\InputStream;
|
||||
use Google\Protobuf\Internal\GPBUtil;
|
||||
|
||||
/**
|
||||
* Protobuf type <code>google.protobuf.OneofOptions</code>
|
||||
* Generated from protobuf message <code>google.protobuf.OneofOptions</code>
|
||||
*/
|
||||
class OneofOptions extends \Google\Protobuf\Internal\Message
|
||||
{
|
||||
/**
|
||||
* <pre>
|
||||
* The parser stores options it doesn't recognize here. See above.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
*/
|
||||
private $uninterpreted_option;
|
||||
private $has_uninterpreted_option = false;
|
||||
@ -32,11 +30,10 @@ class OneofOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* The parser stores options it doesn't recognize here. See above.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
* @return \Google\Protobuf\Internal\RepeatedField
|
||||
*/
|
||||
public function getUninterpretedOption()
|
||||
{
|
||||
@ -44,11 +41,11 @@ class OneofOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* The parser stores options it doesn't recognize here. See above.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
* @param \Google\Protobuf\Internal\UninterpretedOption[]|\Google\Protobuf\Internal\RepeatedField $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setUninterpretedOption(&$var)
|
||||
{
|
||||
|
50
php/src/Google/Protobuf/Internal/RawInputStream.php
Normal file
50
php/src/Google/Protobuf/Internal/RawInputStream.php
Normal file
@ -0,0 +1,50 @@
|
||||
<?php
|
||||
|
||||
// Protocol Buffers - Google's data interchange format
|
||||
// Copyright 2008 Google Inc. All rights reserved.
|
||||
// https://developers.google.com/protocol-buffers/
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
// modification, are permitted provided that the following conditions are
|
||||
// met:
|
||||
//
|
||||
// * Redistributions of source code must retain the above copyright
|
||||
// notice, this list of conditions and the following disclaimer.
|
||||
// * Redistributions in binary form must reproduce the above
|
||||
// copyright notice, this list of conditions and the following disclaimer
|
||||
// in the documentation and/or other materials provided with the
|
||||
// distribution.
|
||||
// * Neither the name of Google Inc. nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from
|
||||
// this software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
namespace Google\Protobuf\Internal;
|
||||
|
||||
class RawInputStream
|
||||
{
|
||||
|
||||
private $buffer;
|
||||
|
||||
public function __construct($buffer)
|
||||
{
|
||||
$this->buffer = $buffer;
|
||||
}
|
||||
|
||||
public function getData()
|
||||
{
|
||||
return $this->buffer;
|
||||
}
|
||||
|
||||
}
|
@ -12,26 +12,24 @@ use Google\Protobuf\Internal\InputStream;
|
||||
use Google\Protobuf\Internal\GPBUtil;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Describes a service.
|
||||
* </pre>
|
||||
*
|
||||
* Protobuf type <code>google.protobuf.ServiceDescriptorProto</code>
|
||||
* Generated from protobuf message <code>google.protobuf.ServiceDescriptorProto</code>
|
||||
*/
|
||||
class ServiceDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
{
|
||||
/**
|
||||
* <code>optional string name = 1;</code>
|
||||
* Generated from protobuf field <code>optional string name = 1;</code>
|
||||
*/
|
||||
private $name = '';
|
||||
private $has_name = false;
|
||||
/**
|
||||
* <code>repeated .google.protobuf.MethodDescriptorProto method = 2;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.MethodDescriptorProto method = 2;</code>
|
||||
*/
|
||||
private $method;
|
||||
private $has_method = false;
|
||||
/**
|
||||
* <code>optional .google.protobuf.ServiceOptions options = 3;</code>
|
||||
* Generated from protobuf field <code>optional .google.protobuf.ServiceOptions options = 3;</code>
|
||||
*/
|
||||
private $options = null;
|
||||
private $has_options = false;
|
||||
@ -42,7 +40,8 @@ class ServiceDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional string name = 1;</code>
|
||||
* Generated from protobuf field <code>optional string name = 1;</code>
|
||||
* @return string
|
||||
*/
|
||||
public function getName()
|
||||
{
|
||||
@ -50,7 +49,9 @@ class ServiceDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional string name = 1;</code>
|
||||
* Generated from protobuf field <code>optional string name = 1;</code>
|
||||
* @param string $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setName($var)
|
||||
{
|
||||
@ -67,7 +68,8 @@ class ServiceDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>repeated .google.protobuf.MethodDescriptorProto method = 2;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.MethodDescriptorProto method = 2;</code>
|
||||
* @return \Google\Protobuf\Internal\RepeatedField
|
||||
*/
|
||||
public function getMethod()
|
||||
{
|
||||
@ -75,7 +77,9 @@ class ServiceDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>repeated .google.protobuf.MethodDescriptorProto method = 2;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.MethodDescriptorProto method = 2;</code>
|
||||
* @param \Google\Protobuf\Internal\MethodDescriptorProto[]|\Google\Protobuf\Internal\RepeatedField $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setMethod(&$var)
|
||||
{
|
||||
@ -92,7 +96,8 @@ class ServiceDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional .google.protobuf.ServiceOptions options = 3;</code>
|
||||
* Generated from protobuf field <code>optional .google.protobuf.ServiceOptions options = 3;</code>
|
||||
* @return \Google\Protobuf\Internal\ServiceOptions
|
||||
*/
|
||||
public function getOptions()
|
||||
{
|
||||
@ -100,7 +105,9 @@ class ServiceDescriptorProto extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional .google.protobuf.ServiceOptions options = 3;</code>
|
||||
* Generated from protobuf field <code>optional .google.protobuf.ServiceOptions options = 3;</code>
|
||||
* @param \Google\Protobuf\Internal\ServiceOptions $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setOptions(&$var)
|
||||
{
|
||||
|
@ -12,28 +12,24 @@ use Google\Protobuf\Internal\InputStream;
|
||||
use Google\Protobuf\Internal\GPBUtil;
|
||||
|
||||
/**
|
||||
* Protobuf type <code>google.protobuf.ServiceOptions</code>
|
||||
* Generated from protobuf message <code>google.protobuf.ServiceOptions</code>
|
||||
*/
|
||||
class ServiceOptions extends \Google\Protobuf\Internal\Message
|
||||
{
|
||||
/**
|
||||
* <pre>
|
||||
* Is this service deprecated?
|
||||
* Depending on the target platform, this can emit Deprecated annotations
|
||||
* for the service, or it will be completely ignored; in the very least,
|
||||
* this is a formalization for deprecating services.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool deprecated = 33 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool deprecated = 33 [default = false];</code>
|
||||
*/
|
||||
private $deprecated = false;
|
||||
private $has_deprecated = false;
|
||||
/**
|
||||
* <pre>
|
||||
* The parser stores options it doesn't recognize here. See above.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
*/
|
||||
private $uninterpreted_option;
|
||||
private $has_uninterpreted_option = false;
|
||||
@ -44,14 +40,13 @@ class ServiceOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Is this service deprecated?
|
||||
* Depending on the target platform, this can emit Deprecated annotations
|
||||
* for the service, or it will be completely ignored; in the very least,
|
||||
* this is a formalization for deprecating services.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool deprecated = 33 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool deprecated = 33 [default = false];</code>
|
||||
* @return bool
|
||||
*/
|
||||
public function getDeprecated()
|
||||
{
|
||||
@ -59,14 +54,14 @@ class ServiceOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Is this service deprecated?
|
||||
* Depending on the target platform, this can emit Deprecated annotations
|
||||
* for the service, or it will be completely ignored; in the very least,
|
||||
* this is a formalization for deprecating services.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional bool deprecated = 33 [default = false];</code>
|
||||
* Generated from protobuf field <code>optional bool deprecated = 33 [default = false];</code>
|
||||
* @param bool $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setDeprecated($var)
|
||||
{
|
||||
@ -83,11 +78,10 @@ class ServiceOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* The parser stores options it doesn't recognize here. See above.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
* @return \Google\Protobuf\Internal\RepeatedField
|
||||
*/
|
||||
public function getUninterpretedOption()
|
||||
{
|
||||
@ -95,11 +89,11 @@ class ServiceOptions extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* The parser stores options it doesn't recognize here. See above.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
|
||||
* @param \Google\Protobuf\Internal\UninterpretedOption[]|\Google\Protobuf\Internal\RepeatedField $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setUninterpretedOption(&$var)
|
||||
{
|
||||
|
@ -12,17 +12,14 @@ use Google\Protobuf\Internal\InputStream;
|
||||
use Google\Protobuf\Internal\GPBUtil;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Encapsulates information about the original source file from which a
|
||||
* FileDescriptorProto was generated.
|
||||
* </pre>
|
||||
*
|
||||
* Protobuf type <code>google.protobuf.SourceCodeInfo</code>
|
||||
* Generated from protobuf message <code>google.protobuf.SourceCodeInfo</code>
|
||||
*/
|
||||
class SourceCodeInfo extends \Google\Protobuf\Internal\Message
|
||||
{
|
||||
/**
|
||||
* <pre>
|
||||
* A Location identifies a piece of source code in a .proto file which
|
||||
* corresponds to a particular definition. This information is intended
|
||||
* to be useful to IDEs, code indexers, documentation generators, and similar
|
||||
@ -64,9 +61,8 @@ class SourceCodeInfo extends \Google\Protobuf\Internal\Message
|
||||
* - Code which tries to interpret locations should probably be designed to
|
||||
* ignore those that it doesn't understand, as more types of locations could
|
||||
* be recorded in the future.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated .google.protobuf.SourceCodeInfo.Location location = 1;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.SourceCodeInfo.Location location = 1;</code>
|
||||
*/
|
||||
private $location;
|
||||
private $has_location = false;
|
||||
@ -77,7 +73,6 @@ class SourceCodeInfo extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* A Location identifies a piece of source code in a .proto file which
|
||||
* corresponds to a particular definition. This information is intended
|
||||
* to be useful to IDEs, code indexers, documentation generators, and similar
|
||||
@ -119,9 +114,9 @@ class SourceCodeInfo extends \Google\Protobuf\Internal\Message
|
||||
* - Code which tries to interpret locations should probably be designed to
|
||||
* ignore those that it doesn't understand, as more types of locations could
|
||||
* be recorded in the future.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated .google.protobuf.SourceCodeInfo.Location location = 1;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.SourceCodeInfo.Location location = 1;</code>
|
||||
* @return \Google\Protobuf\Internal\RepeatedField
|
||||
*/
|
||||
public function getLocation()
|
||||
{
|
||||
@ -129,7 +124,6 @@ class SourceCodeInfo extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* A Location identifies a piece of source code in a .proto file which
|
||||
* corresponds to a particular definition. This information is intended
|
||||
* to be useful to IDEs, code indexers, documentation generators, and similar
|
||||
@ -171,9 +165,10 @@ class SourceCodeInfo extends \Google\Protobuf\Internal\Message
|
||||
* - Code which tries to interpret locations should probably be designed to
|
||||
* ignore those that it doesn't understand, as more types of locations could
|
||||
* be recorded in the future.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated .google.protobuf.SourceCodeInfo.Location location = 1;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.SourceCodeInfo.Location location = 1;</code>
|
||||
* @param \Google\Protobuf\Internal\SourceCodeInfo_Location[]|\Google\Protobuf\Internal\RepeatedField $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setLocation(&$var)
|
||||
{
|
||||
|
@ -12,12 +12,11 @@ use Google\Protobuf\Internal\InputStream;
|
||||
use Google\Protobuf\Internal\GPBUtil;
|
||||
|
||||
/**
|
||||
* Protobuf type <code>google.protobuf.SourceCodeInfo.Location</code>
|
||||
* Generated from protobuf message <code>google.protobuf.SourceCodeInfo.Location</code>
|
||||
*/
|
||||
class SourceCodeInfo_Location extends \Google\Protobuf\Internal\Message
|
||||
{
|
||||
/**
|
||||
* <pre>
|
||||
* Identifies which part of the FileDescriptorProto was defined at this
|
||||
* location.
|
||||
* Each element is a field number or an index. They form a path from
|
||||
@ -39,27 +38,23 @@ class SourceCodeInfo_Location extends \Google\Protobuf\Internal\Message
|
||||
* [ 4, 3, 2, 7 ]
|
||||
* this path refers to the whole field declaration (from the beginning
|
||||
* of the label to the terminating semicolon).
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated int32 path = 1 [packed = true];</code>
|
||||
* Generated from protobuf field <code>repeated int32 path = 1 [packed = true];</code>
|
||||
*/
|
||||
private $path;
|
||||
private $has_path = false;
|
||||
/**
|
||||
* <pre>
|
||||
* Always has exactly three or four elements: start line, start column,
|
||||
* end line (optional, otherwise assumed same as start line), end column.
|
||||
* These are packed into a single field for efficiency. Note that line
|
||||
* and column numbers are zero-based -- typically you will want to add
|
||||
* 1 to each before displaying to a user.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated int32 span = 2 [packed = true];</code>
|
||||
* Generated from protobuf field <code>repeated int32 span = 2 [packed = true];</code>
|
||||
*/
|
||||
private $span;
|
||||
private $has_span = false;
|
||||
/**
|
||||
* <pre>
|
||||
* If this SourceCodeInfo represents a complete declaration, these are any
|
||||
* comments appearing before and after the declaration which appear to be
|
||||
* attached to the declaration.
|
||||
@ -96,19 +91,18 @@ class SourceCodeInfo_Location extends \Google\Protobuf\Internal\Message
|
||||
* * grault. */
|
||||
* optional int32 grault = 6;
|
||||
* // ignored detached comments.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string leading_comments = 3;</code>
|
||||
* Generated from protobuf field <code>optional string leading_comments = 3;</code>
|
||||
*/
|
||||
private $leading_comments = '';
|
||||
private $has_leading_comments = false;
|
||||
/**
|
||||
* <code>optional string trailing_comments = 4;</code>
|
||||
* Generated from protobuf field <code>optional string trailing_comments = 4;</code>
|
||||
*/
|
||||
private $trailing_comments = '';
|
||||
private $has_trailing_comments = false;
|
||||
/**
|
||||
* <code>repeated string leading_detached_comments = 6;</code>
|
||||
* Generated from protobuf field <code>repeated string leading_detached_comments = 6;</code>
|
||||
*/
|
||||
private $leading_detached_comments;
|
||||
private $has_leading_detached_comments = false;
|
||||
@ -119,7 +113,6 @@ class SourceCodeInfo_Location extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Identifies which part of the FileDescriptorProto was defined at this
|
||||
* location.
|
||||
* Each element is a field number or an index. They form a path from
|
||||
@ -141,9 +134,9 @@ class SourceCodeInfo_Location extends \Google\Protobuf\Internal\Message
|
||||
* [ 4, 3, 2, 7 ]
|
||||
* this path refers to the whole field declaration (from the beginning
|
||||
* of the label to the terminating semicolon).
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated int32 path = 1 [packed = true];</code>
|
||||
* Generated from protobuf field <code>repeated int32 path = 1 [packed = true];</code>
|
||||
* @return \Google\Protobuf\Internal\RepeatedField
|
||||
*/
|
||||
public function getPath()
|
||||
{
|
||||
@ -151,7 +144,6 @@ class SourceCodeInfo_Location extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Identifies which part of the FileDescriptorProto was defined at this
|
||||
* location.
|
||||
* Each element is a field number or an index. They form a path from
|
||||
@ -173,9 +165,10 @@ class SourceCodeInfo_Location extends \Google\Protobuf\Internal\Message
|
||||
* [ 4, 3, 2, 7 ]
|
||||
* this path refers to the whole field declaration (from the beginning
|
||||
* of the label to the terminating semicolon).
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated int32 path = 1 [packed = true];</code>
|
||||
* Generated from protobuf field <code>repeated int32 path = 1 [packed = true];</code>
|
||||
* @param int[]|\Google\Protobuf\Internal\RepeatedField $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setPath(&$var)
|
||||
{
|
||||
@ -192,15 +185,14 @@ class SourceCodeInfo_Location extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Always has exactly three or four elements: start line, start column,
|
||||
* end line (optional, otherwise assumed same as start line), end column.
|
||||
* These are packed into a single field for efficiency. Note that line
|
||||
* and column numbers are zero-based -- typically you will want to add
|
||||
* 1 to each before displaying to a user.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated int32 span = 2 [packed = true];</code>
|
||||
* Generated from protobuf field <code>repeated int32 span = 2 [packed = true];</code>
|
||||
* @return \Google\Protobuf\Internal\RepeatedField
|
||||
*/
|
||||
public function getSpan()
|
||||
{
|
||||
@ -208,15 +200,15 @@ class SourceCodeInfo_Location extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Always has exactly three or four elements: start line, start column,
|
||||
* end line (optional, otherwise assumed same as start line), end column.
|
||||
* These are packed into a single field for efficiency. Note that line
|
||||
* and column numbers are zero-based -- typically you will want to add
|
||||
* 1 to each before displaying to a user.
|
||||
* </pre>
|
||||
*
|
||||
* <code>repeated int32 span = 2 [packed = true];</code>
|
||||
* Generated from protobuf field <code>repeated int32 span = 2 [packed = true];</code>
|
||||
* @param int[]|\Google\Protobuf\Internal\RepeatedField $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setSpan(&$var)
|
||||
{
|
||||
@ -233,7 +225,6 @@ class SourceCodeInfo_Location extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* If this SourceCodeInfo represents a complete declaration, these are any
|
||||
* comments appearing before and after the declaration which appear to be
|
||||
* attached to the declaration.
|
||||
@ -270,9 +261,9 @@ class SourceCodeInfo_Location extends \Google\Protobuf\Internal\Message
|
||||
* * grault. */
|
||||
* optional int32 grault = 6;
|
||||
* // ignored detached comments.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string leading_comments = 3;</code>
|
||||
* Generated from protobuf field <code>optional string leading_comments = 3;</code>
|
||||
* @return string
|
||||
*/
|
||||
public function getLeadingComments()
|
||||
{
|
||||
@ -280,7 +271,6 @@ class SourceCodeInfo_Location extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* If this SourceCodeInfo represents a complete declaration, these are any
|
||||
* comments appearing before and after the declaration which appear to be
|
||||
* attached to the declaration.
|
||||
@ -317,9 +307,10 @@ class SourceCodeInfo_Location extends \Google\Protobuf\Internal\Message
|
||||
* * grault. */
|
||||
* optional int32 grault = 6;
|
||||
* // ignored detached comments.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string leading_comments = 3;</code>
|
||||
* Generated from protobuf field <code>optional string leading_comments = 3;</code>
|
||||
* @param string $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setLeadingComments($var)
|
||||
{
|
||||
@ -336,7 +327,8 @@ class SourceCodeInfo_Location extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional string trailing_comments = 4;</code>
|
||||
* Generated from protobuf field <code>optional string trailing_comments = 4;</code>
|
||||
* @return string
|
||||
*/
|
||||
public function getTrailingComments()
|
||||
{
|
||||
@ -344,7 +336,9 @@ class SourceCodeInfo_Location extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional string trailing_comments = 4;</code>
|
||||
* Generated from protobuf field <code>optional string trailing_comments = 4;</code>
|
||||
* @param string $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setTrailingComments($var)
|
||||
{
|
||||
@ -361,7 +355,8 @@ class SourceCodeInfo_Location extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>repeated string leading_detached_comments = 6;</code>
|
||||
* Generated from protobuf field <code>repeated string leading_detached_comments = 6;</code>
|
||||
* @return \Google\Protobuf\Internal\RepeatedField
|
||||
*/
|
||||
public function getLeadingDetachedComments()
|
||||
{
|
||||
@ -369,7 +364,9 @@ class SourceCodeInfo_Location extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>repeated string leading_detached_comments = 6;</code>
|
||||
* Generated from protobuf field <code>repeated string leading_detached_comments = 6;</code>
|
||||
* @param string[]|\Google\Protobuf\Internal\RepeatedField $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setLeadingDetachedComments(&$var)
|
||||
{
|
||||
|
@ -12,56 +12,52 @@ use Google\Protobuf\Internal\InputStream;
|
||||
use Google\Protobuf\Internal\GPBUtil;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* A message representing a option the parser does not recognize. This only
|
||||
* appears in options protos created by the compiler::Parser class.
|
||||
* DescriptorPool resolves these when building Descriptor objects. Therefore,
|
||||
* options protos in descriptor objects (e.g. returned by Descriptor::options(),
|
||||
* or produced by Descriptor::CopyTo()) will never have UninterpretedOptions
|
||||
* in them.
|
||||
* </pre>
|
||||
*
|
||||
* Protobuf type <code>google.protobuf.UninterpretedOption</code>
|
||||
* Generated from protobuf message <code>google.protobuf.UninterpretedOption</code>
|
||||
*/
|
||||
class UninterpretedOption extends \Google\Protobuf\Internal\Message
|
||||
{
|
||||
/**
|
||||
* <code>repeated .google.protobuf.UninterpretedOption.NamePart name = 2;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption.NamePart name = 2;</code>
|
||||
*/
|
||||
private $name;
|
||||
private $has_name = false;
|
||||
/**
|
||||
* <pre>
|
||||
* The value of the uninterpreted option, in whatever type the tokenizer
|
||||
* identified it as during parsing. Exactly one of these should be set.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string identifier_value = 3;</code>
|
||||
* Generated from protobuf field <code>optional string identifier_value = 3;</code>
|
||||
*/
|
||||
private $identifier_value = '';
|
||||
private $has_identifier_value = false;
|
||||
/**
|
||||
* <code>optional uint64 positive_int_value = 4;</code>
|
||||
* Generated from protobuf field <code>optional uint64 positive_int_value = 4;</code>
|
||||
*/
|
||||
private $positive_int_value = 0;
|
||||
private $has_positive_int_value = false;
|
||||
/**
|
||||
* <code>optional int64 negative_int_value = 5;</code>
|
||||
* Generated from protobuf field <code>optional int64 negative_int_value = 5;</code>
|
||||
*/
|
||||
private $negative_int_value = 0;
|
||||
private $has_negative_int_value = false;
|
||||
/**
|
||||
* <code>optional double double_value = 6;</code>
|
||||
* Generated from protobuf field <code>optional double double_value = 6;</code>
|
||||
*/
|
||||
private $double_value = 0.0;
|
||||
private $has_double_value = false;
|
||||
/**
|
||||
* <code>optional bytes string_value = 7;</code>
|
||||
* Generated from protobuf field <code>optional bytes string_value = 7;</code>
|
||||
*/
|
||||
private $string_value = '';
|
||||
private $has_string_value = false;
|
||||
/**
|
||||
* <code>optional string aggregate_value = 8;</code>
|
||||
* Generated from protobuf field <code>optional string aggregate_value = 8;</code>
|
||||
*/
|
||||
private $aggregate_value = '';
|
||||
private $has_aggregate_value = false;
|
||||
@ -72,7 +68,8 @@ class UninterpretedOption extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>repeated .google.protobuf.UninterpretedOption.NamePart name = 2;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption.NamePart name = 2;</code>
|
||||
* @return \Google\Protobuf\Internal\RepeatedField
|
||||
*/
|
||||
public function getName()
|
||||
{
|
||||
@ -80,7 +77,9 @@ class UninterpretedOption extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>repeated .google.protobuf.UninterpretedOption.NamePart name = 2;</code>
|
||||
* Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption.NamePart name = 2;</code>
|
||||
* @param \Google\Protobuf\Internal\UninterpretedOption_NamePart[]|\Google\Protobuf\Internal\RepeatedField $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setName(&$var)
|
||||
{
|
||||
@ -97,12 +96,11 @@ class UninterpretedOption extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* The value of the uninterpreted option, in whatever type the tokenizer
|
||||
* identified it as during parsing. Exactly one of these should be set.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string identifier_value = 3;</code>
|
||||
* Generated from protobuf field <code>optional string identifier_value = 3;</code>
|
||||
* @return string
|
||||
*/
|
||||
public function getIdentifierValue()
|
||||
{
|
||||
@ -110,12 +108,12 @@ class UninterpretedOption extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* The value of the uninterpreted option, in whatever type the tokenizer
|
||||
* identified it as during parsing. Exactly one of these should be set.
|
||||
* </pre>
|
||||
*
|
||||
* <code>optional string identifier_value = 3;</code>
|
||||
* Generated from protobuf field <code>optional string identifier_value = 3;</code>
|
||||
* @param string $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setIdentifierValue($var)
|
||||
{
|
||||
@ -132,7 +130,8 @@ class UninterpretedOption extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional uint64 positive_int_value = 4;</code>
|
||||
* Generated from protobuf field <code>optional uint64 positive_int_value = 4;</code>
|
||||
* @return int|string
|
||||
*/
|
||||
public function getPositiveIntValue()
|
||||
{
|
||||
@ -140,7 +139,9 @@ class UninterpretedOption extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional uint64 positive_int_value = 4;</code>
|
||||
* Generated from protobuf field <code>optional uint64 positive_int_value = 4;</code>
|
||||
* @param int|string $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setPositiveIntValue($var)
|
||||
{
|
||||
@ -157,7 +158,8 @@ class UninterpretedOption extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional int64 negative_int_value = 5;</code>
|
||||
* Generated from protobuf field <code>optional int64 negative_int_value = 5;</code>
|
||||
* @return int|string
|
||||
*/
|
||||
public function getNegativeIntValue()
|
||||
{
|
||||
@ -165,7 +167,9 @@ class UninterpretedOption extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional int64 negative_int_value = 5;</code>
|
||||
* Generated from protobuf field <code>optional int64 negative_int_value = 5;</code>
|
||||
* @param int|string $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setNegativeIntValue($var)
|
||||
{
|
||||
@ -182,7 +186,8 @@ class UninterpretedOption extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional double double_value = 6;</code>
|
||||
* Generated from protobuf field <code>optional double double_value = 6;</code>
|
||||
* @return float
|
||||
*/
|
||||
public function getDoubleValue()
|
||||
{
|
||||
@ -190,7 +195,9 @@ class UninterpretedOption extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional double double_value = 6;</code>
|
||||
* Generated from protobuf field <code>optional double double_value = 6;</code>
|
||||
* @param float $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setDoubleValue($var)
|
||||
{
|
||||
@ -207,7 +214,8 @@ class UninterpretedOption extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional bytes string_value = 7;</code>
|
||||
* Generated from protobuf field <code>optional bytes string_value = 7;</code>
|
||||
* @return string
|
||||
*/
|
||||
public function getStringValue()
|
||||
{
|
||||
@ -215,7 +223,9 @@ class UninterpretedOption extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional bytes string_value = 7;</code>
|
||||
* Generated from protobuf field <code>optional bytes string_value = 7;</code>
|
||||
* @param string $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setStringValue($var)
|
||||
{
|
||||
@ -232,7 +242,8 @@ class UninterpretedOption extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional string aggregate_value = 8;</code>
|
||||
* Generated from protobuf field <code>optional string aggregate_value = 8;</code>
|
||||
* @return string
|
||||
*/
|
||||
public function getAggregateValue()
|
||||
{
|
||||
@ -240,7 +251,9 @@ class UninterpretedOption extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>optional string aggregate_value = 8;</code>
|
||||
* Generated from protobuf field <code>optional string aggregate_value = 8;</code>
|
||||
* @param string $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setAggregateValue($var)
|
||||
{
|
||||
|
@ -12,25 +12,23 @@ use Google\Protobuf\Internal\InputStream;
|
||||
use Google\Protobuf\Internal\GPBUtil;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* The name of the uninterpreted option. Each string represents a segment in
|
||||
* a dot-separated name. is_extension is true iff a segment represents an
|
||||
* extension (denoted with parentheses in options specs in .proto files).
|
||||
* E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents
|
||||
* "foo.(bar.baz).qux".
|
||||
* </pre>
|
||||
*
|
||||
* Protobuf type <code>google.protobuf.UninterpretedOption.NamePart</code>
|
||||
* Generated from protobuf message <code>google.protobuf.UninterpretedOption.NamePart</code>
|
||||
*/
|
||||
class UninterpretedOption_NamePart extends \Google\Protobuf\Internal\Message
|
||||
{
|
||||
/**
|
||||
* <code>required string name_part = 1;</code>
|
||||
* Generated from protobuf field <code>required string name_part = 1;</code>
|
||||
*/
|
||||
private $name_part = '';
|
||||
private $has_name_part = false;
|
||||
/**
|
||||
* <code>required bool is_extension = 2;</code>
|
||||
* Generated from protobuf field <code>required bool is_extension = 2;</code>
|
||||
*/
|
||||
private $is_extension = false;
|
||||
private $has_is_extension = false;
|
||||
@ -41,7 +39,8 @@ class UninterpretedOption_NamePart extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>required string name_part = 1;</code>
|
||||
* Generated from protobuf field <code>required string name_part = 1;</code>
|
||||
* @return string
|
||||
*/
|
||||
public function getNamePart()
|
||||
{
|
||||
@ -49,7 +48,9 @@ class UninterpretedOption_NamePart extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>required string name_part = 1;</code>
|
||||
* Generated from protobuf field <code>required string name_part = 1;</code>
|
||||
* @param string $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setNamePart($var)
|
||||
{
|
||||
@ -66,7 +67,8 @@ class UninterpretedOption_NamePart extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>required bool is_extension = 2;</code>
|
||||
* Generated from protobuf field <code>required bool is_extension = 2;</code>
|
||||
* @return bool
|
||||
*/
|
||||
public function getIsExtension()
|
||||
{
|
||||
@ -74,7 +76,9 @@ class UninterpretedOption_NamePart extends \Google\Protobuf\Internal\Message
|
||||
}
|
||||
|
||||
/**
|
||||
* <code>required bool is_extension = 2;</code>
|
||||
* Generated from protobuf field <code>required bool is_extension = 2;</code>
|
||||
* @param bool $var
|
||||
* @return $this
|
||||
*/
|
||||
public function setIsExtension($var)
|
||||
{
|
||||
|
@ -19,23 +19,23 @@ class RepeatedFieldTest extends PHPUnit_Framework_TestCase
|
||||
$arr = new RepeatedField(GPBType::INT32);
|
||||
|
||||
// Test append.
|
||||
$arr []= MAX_INT32;
|
||||
$arr[] = MAX_INT32;
|
||||
$this->assertSame(MAX_INT32, $arr[0]);
|
||||
$arr []= MIN_INT32;
|
||||
$arr[] = MIN_INT32;
|
||||
$this->assertSame(MIN_INT32, $arr[1]);
|
||||
|
||||
$arr []= 1.1;
|
||||
$arr[] = 1.1;
|
||||
$this->assertSame(1, $arr[2]);
|
||||
$arr []= MAX_INT32_FLOAT;
|
||||
$arr[] = MAX_INT32_FLOAT;
|
||||
$this->assertSame(MAX_INT32, $arr[3]);
|
||||
$arr []= MAX_INT32_FLOAT;
|
||||
$arr[] = MAX_INT32_FLOAT;
|
||||
$this->assertSame(MAX_INT32, $arr[4]);
|
||||
|
||||
$arr []= '2';
|
||||
$arr[] = '2';
|
||||
$this->assertSame(2, $arr[5]);
|
||||
$arr []= '3.1';
|
||||
$arr[] = '3.1';
|
||||
$this->assertSame(3, $arr[6]);
|
||||
$arr []= MAX_INT32_STRING;
|
||||
$arr[] = MAX_INT32_STRING;
|
||||
$this->assertSame(MAX_INT32, $arr[7]);
|
||||
|
||||
$this->assertEquals(8, count($arr));
|
||||
@ -46,29 +46,29 @@ class RepeatedFieldTest extends PHPUnit_Framework_TestCase
|
||||
}
|
||||
|
||||
// Test set.
|
||||
$arr [0]= MAX_INT32;
|
||||
$arr[0] = MAX_INT32;
|
||||
$this->assertSame(MAX_INT32, $arr[0]);
|
||||
$arr [1]= MIN_INT32;
|
||||
$arr[1] = MIN_INT32;
|
||||
$this->assertSame(MIN_INT32, $arr[1]);
|
||||
|
||||
$arr [2]= 1.1;
|
||||
$arr[2] = 1.1;
|
||||
$this->assertSame(1, $arr[2]);
|
||||
$arr [3]= MAX_INT32_FLOAT;
|
||||
$arr[3] = MAX_INT32_FLOAT;
|
||||
$this->assertSame(MAX_INT32, $arr[3]);
|
||||
$arr [4]= MAX_INT32_FLOAT;
|
||||
$arr[4] = MAX_INT32_FLOAT;
|
||||
$this->assertSame(MAX_INT32, $arr[4]);
|
||||
|
||||
$arr [5]= '2';
|
||||
$arr[5] = '2';
|
||||
$this->assertSame(2, $arr[5]);
|
||||
$arr [6]= '3.1';
|
||||
$arr[6] = '3.1';
|
||||
$this->assertSame(3, $arr[6]);
|
||||
$arr [7]= MAX_INT32_STRING;
|
||||
$arr[7] = MAX_INT32_STRING;
|
||||
$this->assertSame(MAX_INT32, $arr[7]);
|
||||
|
||||
// Test foreach.
|
||||
$arr = new RepeatedField(GPBType::INT32);
|
||||
for ($i = 0; $i < 3; $i++) {
|
||||
$arr []= $i;
|
||||
$arr[] = $i;
|
||||
}
|
||||
$i = 0;
|
||||
foreach ($arr as $val) {
|
||||
@ -77,44 +77,6 @@ class RepeatedFieldTest extends PHPUnit_Framework_TestCase
|
||||
$this->assertSame(3, $i);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testInt32AppendStringFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::INT32);
|
||||
$arr []= 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testInt32SetStringFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::INT32);
|
||||
$arr []= 0;
|
||||
$arr [0]= 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testInt32AppendMessageFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::INT32);
|
||||
$arr []= new TestMessage_Sub();
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testInt32SetMessageFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::INT32);
|
||||
$arr []= 0;
|
||||
$arr [0]= new TestMessage_Sub();
|
||||
}
|
||||
|
||||
#########################################################
|
||||
# Test uint32 field.
|
||||
#########################################################
|
||||
@ -124,31 +86,31 @@ class RepeatedFieldTest extends PHPUnit_Framework_TestCase
|
||||
$arr = new RepeatedField(GPBType::UINT32);
|
||||
|
||||
// Test append.
|
||||
$arr []= MAX_UINT32;
|
||||
$arr[] = MAX_UINT32;
|
||||
$this->assertSame(-1, $arr[0]);
|
||||
$arr []= -1;
|
||||
$arr[] = -1;
|
||||
$this->assertSame(-1, $arr[1]);
|
||||
$arr []= MIN_UINT32;
|
||||
$arr[] = MIN_UINT32;
|
||||
$this->assertSame(MIN_UINT32, $arr[2]);
|
||||
|
||||
$arr []= 1.1;
|
||||
$arr[] = 1.1;
|
||||
$this->assertSame(1, $arr[3]);
|
||||
$arr []= MAX_UINT32_FLOAT;
|
||||
$arr[] = MAX_UINT32_FLOAT;
|
||||
$this->assertSame(-1, $arr[4]);
|
||||
$arr []= -1.0;
|
||||
$arr[] = -1.0;
|
||||
$this->assertSame(-1, $arr[5]);
|
||||
$arr []= MIN_UINT32_FLOAT;
|
||||
$arr[] = MIN_UINT32_FLOAT;
|
||||
$this->assertSame(MIN_UINT32, $arr[6]);
|
||||
|
||||
$arr []= '2';
|
||||
$arr[] = '2';
|
||||
$this->assertSame(2, $arr[7]);
|
||||
$arr []= '3.1';
|
||||
$arr[] = '3.1';
|
||||
$this->assertSame(3, $arr[8]);
|
||||
$arr []= MAX_UINT32_STRING;
|
||||
$arr[] = MAX_UINT32_STRING;
|
||||
$this->assertSame(-1, $arr[9]);
|
||||
$arr []= '-1.0';
|
||||
$arr[] = '-1.0';
|
||||
$this->assertSame(-1, $arr[10]);
|
||||
$arr []= MIN_UINT32_STRING;
|
||||
$arr[] = MIN_UINT32_STRING;
|
||||
$this->assertSame(MIN_UINT32, $arr[11]);
|
||||
|
||||
$this->assertEquals(12, count($arr));
|
||||
@ -159,72 +121,34 @@ class RepeatedFieldTest extends PHPUnit_Framework_TestCase
|
||||
}
|
||||
|
||||
// Test set.
|
||||
$arr [0]= MAX_UINT32;
|
||||
$arr[0] = MAX_UINT32;
|
||||
$this->assertSame(-1, $arr[0]);
|
||||
$arr [1]= -1;
|
||||
$arr[1] = -1;
|
||||
$this->assertSame(-1, $arr[1]);
|
||||
$arr [2]= MIN_UINT32;
|
||||
$arr[2] = MIN_UINT32;
|
||||
$this->assertSame(MIN_UINT32, $arr[2]);
|
||||
|
||||
$arr [3]= 1.1;
|
||||
$arr[3] = 1.1;
|
||||
$this->assertSame(1, $arr[3]);
|
||||
$arr [4]= MAX_UINT32_FLOAT;
|
||||
$arr[4] = MAX_UINT32_FLOAT;
|
||||
$this->assertSame(-1, $arr[4]);
|
||||
$arr [5]= -1.0;
|
||||
$arr[5] = -1.0;
|
||||
$this->assertSame(-1, $arr[5]);
|
||||
$arr [6]= MIN_UINT32_FLOAT;
|
||||
$arr[6] = MIN_UINT32_FLOAT;
|
||||
$this->assertSame(MIN_UINT32, $arr[6]);
|
||||
|
||||
$arr [7]= '2';
|
||||
$arr[7] = '2';
|
||||
$this->assertSame(2, $arr[7]);
|
||||
$arr [8]= '3.1';
|
||||
$arr[8] = '3.1';
|
||||
$this->assertSame(3, $arr[8]);
|
||||
$arr [9]= MAX_UINT32_STRING;
|
||||
$arr[9] = MAX_UINT32_STRING;
|
||||
$this->assertSame(-1, $arr[9]);
|
||||
$arr [10]= '-1.0';
|
||||
$arr[10] = '-1.0';
|
||||
$this->assertSame(-1, $arr[10]);
|
||||
$arr [11]= MIN_UINT32_STRING;
|
||||
$arr[11] = MIN_UINT32_STRING;
|
||||
$this->assertSame(MIN_UINT32, $arr[11]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testUint32AppendStringFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::UINT32);
|
||||
$arr []= 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testUint32SetStringFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::UINT32);
|
||||
$arr []= 0;
|
||||
$arr [0]= 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testUint32AppendMessageFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::UINT32);
|
||||
$arr []= new TestMessage_Sub();
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testUint32SetMessageFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::UINT32);
|
||||
$arr []= 0;
|
||||
$arr [0]= new TestMessage_Sub();
|
||||
}
|
||||
|
||||
#########################################################
|
||||
# Test int64 field.
|
||||
#########################################################
|
||||
@ -234,13 +158,13 @@ class RepeatedFieldTest extends PHPUnit_Framework_TestCase
|
||||
$arr = new RepeatedField(GPBType::INT64);
|
||||
|
||||
// Test append.
|
||||
$arr []= MAX_INT64;
|
||||
$arr []= MIN_INT64;
|
||||
$arr []= 1.1;
|
||||
$arr []= '2';
|
||||
$arr []= '3.1';
|
||||
$arr []= MAX_INT64_STRING;
|
||||
$arr []= MIN_INT64_STRING;
|
||||
$arr[] = MAX_INT64;
|
||||
$arr[] = MIN_INT64;
|
||||
$arr[] = 1.1;
|
||||
$arr[] = '2';
|
||||
$arr[] = '3.1';
|
||||
$arr[] = MAX_INT64_STRING;
|
||||
$arr[] = MIN_INT64_STRING;
|
||||
if (PHP_INT_SIZE == 4) {
|
||||
$this->assertSame(MAX_INT64, $arr[0]);
|
||||
$this->assertSame(MIN_INT64, $arr[1]);
|
||||
@ -272,13 +196,13 @@ class RepeatedFieldTest extends PHPUnit_Framework_TestCase
|
||||
}
|
||||
|
||||
// Test set.
|
||||
$arr [0]= MAX_INT64;
|
||||
$arr [1]= MIN_INT64;
|
||||
$arr [2]= 1.1;
|
||||
$arr [3]= '2';
|
||||
$arr [4]= '3.1';
|
||||
$arr [5]= MAX_INT64_STRING;
|
||||
$arr [6]= MIN_INT64_STRING;
|
||||
$arr[0] = MAX_INT64;
|
||||
$arr[1] = MIN_INT64;
|
||||
$arr[2] = 1.1;
|
||||
$arr[3] = '2';
|
||||
$arr[4] = '3.1';
|
||||
$arr[5] = MAX_INT64_STRING;
|
||||
$arr[6] = MIN_INT64_STRING;
|
||||
|
||||
if (PHP_INT_SIZE == 4) {
|
||||
$this->assertSame(MAX_INT64_STRING, $arr[0]);
|
||||
@ -299,44 +223,6 @@ class RepeatedFieldTest extends PHPUnit_Framework_TestCase
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testInt64AppendStringFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::INT64);
|
||||
$arr []= 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testInt64SetStringFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::INT64);
|
||||
$arr []= 0;
|
||||
$arr [0]= 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testInt64AppendMessageFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::INT64);
|
||||
$arr []= new TestMessage_Sub();
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testInt64SetMessageFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::INT64);
|
||||
$arr []= 0;
|
||||
$arr [0]= new TestMessage_Sub();
|
||||
}
|
||||
|
||||
#########################################################
|
||||
# Test uint64 field.
|
||||
#########################################################
|
||||
@ -346,11 +232,11 @@ class RepeatedFieldTest extends PHPUnit_Framework_TestCase
|
||||
$arr = new RepeatedField(GPBType::UINT64);
|
||||
|
||||
// Test append.
|
||||
$arr []= MAX_UINT64;
|
||||
$arr []= 1.1;
|
||||
$arr []= '2';
|
||||
$arr []= '3.1';
|
||||
$arr []= MAX_UINT64_STRING;
|
||||
$arr[] = MAX_UINT64;
|
||||
$arr[] = 1.1;
|
||||
$arr[] = '2';
|
||||
$arr[] = '3.1';
|
||||
$arr[] = MAX_UINT64_STRING;
|
||||
|
||||
if (PHP_INT_SIZE == 4) {
|
||||
$this->assertSame(MAX_UINT64_STRING, $arr[0]);
|
||||
@ -379,11 +265,11 @@ class RepeatedFieldTest extends PHPUnit_Framework_TestCase
|
||||
}
|
||||
|
||||
// Test set.
|
||||
$arr [0]= MAX_UINT64;
|
||||
$arr [1]= 1.1;
|
||||
$arr [2]= '2';
|
||||
$arr [3]= '3.1';
|
||||
$arr [4]= MAX_UINT64_STRING;
|
||||
$arr[0] = MAX_UINT64;
|
||||
$arr[1] = 1.1;
|
||||
$arr[2] = '2';
|
||||
$arr[3] = '3.1';
|
||||
$arr[4] = MAX_UINT64_STRING;
|
||||
|
||||
if (PHP_INT_SIZE == 4) {
|
||||
$this->assertSame(MAX_UINT64_STRING, $arr[0]);
|
||||
@ -400,44 +286,6 @@ class RepeatedFieldTest extends PHPUnit_Framework_TestCase
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testUint64AppendStringFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::UINT64);
|
||||
$arr []= 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testUint64SetStringFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::UINT64);
|
||||
$arr []= 0;
|
||||
$arr [0]= 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testUint64AppendMessageFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::UINT64);
|
||||
$arr []= new TestMessage_Sub();
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testUint64SetMessageFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::UINT64);
|
||||
$arr []= 0;
|
||||
$arr [0]= new TestMessage_Sub();
|
||||
}
|
||||
|
||||
#########################################################
|
||||
# Test float field.
|
||||
#########################################################
|
||||
@ -447,15 +295,15 @@ class RepeatedFieldTest extends PHPUnit_Framework_TestCase
|
||||
$arr = new RepeatedField(GPBType::FLOAT);
|
||||
|
||||
// Test append.
|
||||
$arr []= 1;
|
||||
$arr[] = 1;
|
||||
$this->assertEquals(1.0, $arr[0], '', MAX_FLOAT_DIFF);
|
||||
|
||||
$arr []= 1.1;
|
||||
$arr[] = 1.1;
|
||||
$this->assertEquals(1.1, $arr[1], '', MAX_FLOAT_DIFF);
|
||||
|
||||
$arr []= '2';
|
||||
$arr[] = '2';
|
||||
$this->assertEquals(2.0, $arr[2], '', MAX_FLOAT_DIFF);
|
||||
$arr []= '3.1';
|
||||
$arr[] = '3.1';
|
||||
$this->assertEquals(3.1, $arr[3], '', MAX_FLOAT_DIFF);
|
||||
|
||||
$this->assertEquals(4, count($arr));
|
||||
@ -466,56 +314,18 @@ class RepeatedFieldTest extends PHPUnit_Framework_TestCase
|
||||
}
|
||||
|
||||
// Test set.
|
||||
$arr [0]= 1;
|
||||
$arr[0] = 1;
|
||||
$this->assertEquals(1.0, $arr[0], '', MAX_FLOAT_DIFF);
|
||||
|
||||
$arr [1]= 1.1;
|
||||
$arr[1] = 1.1;
|
||||
$this->assertEquals(1.1, $arr[1], '', MAX_FLOAT_DIFF);
|
||||
|
||||
$arr [2]= '2';
|
||||
$arr[2] = '2';
|
||||
$this->assertEquals(2.0, $arr[2], '', MAX_FLOAT_DIFF);
|
||||
$arr [3]= '3.1';
|
||||
$arr[3] = '3.1';
|
||||
$this->assertEquals(3.1, $arr[3], '', MAX_FLOAT_DIFF);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testFloatAppendStringFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::FLOAT);
|
||||
$arr []= 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testFloatSetStringFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::FLOAT);
|
||||
$arr []= 0.0;
|
||||
$arr [0]= 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testFloatAppendMessageFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::FLOAT);
|
||||
$arr []= new TestMessage_Sub();
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testFloatSetMessageFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::FLOAT);
|
||||
$arr []= 0.0;
|
||||
$arr [0]= new TestMessage_Sub();
|
||||
}
|
||||
|
||||
#########################################################
|
||||
# Test double field.
|
||||
#########################################################
|
||||
@ -525,15 +335,15 @@ class RepeatedFieldTest extends PHPUnit_Framework_TestCase
|
||||
$arr = new RepeatedField(GPBType::DOUBLE);
|
||||
|
||||
// Test append.
|
||||
$arr []= 1;
|
||||
$arr[] = 1;
|
||||
$this->assertEquals(1.0, $arr[0], '', MAX_FLOAT_DIFF);
|
||||
|
||||
$arr []= 1.1;
|
||||
$arr[] = 1.1;
|
||||
$this->assertEquals(1.1, $arr[1], '', MAX_FLOAT_DIFF);
|
||||
|
||||
$arr []= '2';
|
||||
$arr[] = '2';
|
||||
$this->assertEquals(2.0, $arr[2], '', MAX_FLOAT_DIFF);
|
||||
$arr []= '3.1';
|
||||
$arr[] = '3.1';
|
||||
$this->assertEquals(3.1, $arr[3], '', MAX_FLOAT_DIFF);
|
||||
|
||||
$this->assertEquals(4, count($arr));
|
||||
@ -544,56 +354,18 @@ class RepeatedFieldTest extends PHPUnit_Framework_TestCase
|
||||
}
|
||||
|
||||
// Test set.
|
||||
$arr [0]= 1;
|
||||
$arr[0] = 1;
|
||||
$this->assertEquals(1.0, $arr[0], '', MAX_FLOAT_DIFF);
|
||||
|
||||
$arr [1]= 1.1;
|
||||
$arr[1] = 1.1;
|
||||
$this->assertEquals(1.1, $arr[1], '', MAX_FLOAT_DIFF);
|
||||
|
||||
$arr [2]= '2';
|
||||
$arr[2] = '2';
|
||||
$this->assertEquals(2.0, $arr[2], '', MAX_FLOAT_DIFF);
|
||||
$arr [3]= '3.1';
|
||||
$arr[3] = '3.1';
|
||||
$this->assertEquals(3.1, $arr[3], '', MAX_FLOAT_DIFF);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testDoubleAppendStringFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::DOUBLE);
|
||||
$arr []= 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testDoubleSetStringFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::DOUBLE);
|
||||
$arr []= 0.0;
|
||||
$arr [0]= 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testDoubleAppendMessageFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::DOUBLE);
|
||||
$arr []= new TestMessage_Sub();
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testDoubleSetMessageFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::DOUBLE);
|
||||
$arr []= 0.0;
|
||||
$arr [0]= new TestMessage_Sub();
|
||||
}
|
||||
|
||||
#########################################################
|
||||
# Test bool field.
|
||||
#########################################################
|
||||
@ -603,16 +375,16 @@ class RepeatedFieldTest extends PHPUnit_Framework_TestCase
|
||||
$arr = new RepeatedField(GPBType::BOOL);
|
||||
|
||||
// Test append.
|
||||
$arr []= true;
|
||||
$arr[] = true;
|
||||
$this->assertSame(true, $arr[0]);
|
||||
|
||||
$arr []= -1;
|
||||
$arr[] = -1;
|
||||
$this->assertSame(true, $arr[1]);
|
||||
|
||||
$arr []= 1.1;
|
||||
$arr[] = 1.1;
|
||||
$this->assertSame(true, $arr[2]);
|
||||
|
||||
$arr []= '';
|
||||
$arr[] = '';
|
||||
$this->assertSame(false, $arr[3]);
|
||||
|
||||
$this->assertEquals(4, count($arr));
|
||||
@ -623,38 +395,19 @@ class RepeatedFieldTest extends PHPUnit_Framework_TestCase
|
||||
}
|
||||
|
||||
// Test set.
|
||||
$arr [0]= true;
|
||||
$arr[0] = true;
|
||||
$this->assertSame(true, $arr[0]);
|
||||
|
||||
$arr [1]= -1;
|
||||
$arr[1] = -1;
|
||||
$this->assertSame(true, $arr[1]);
|
||||
|
||||
$arr [2]= 1.1;
|
||||
$arr[2] = 1.1;
|
||||
$this->assertSame(true, $arr[2]);
|
||||
|
||||
$arr [3]= '';
|
||||
$arr[3] = '';
|
||||
$this->assertSame(false, $arr[3]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testBoolAppendMessageFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::BOOL);
|
||||
$arr []= new TestMessage_Sub();
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testBoolSetMessageFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::BOOL);
|
||||
$arr []= true;
|
||||
$arr [0]= new TestMessage_Sub();
|
||||
}
|
||||
|
||||
#########################################################
|
||||
# Test string field.
|
||||
#########################################################
|
||||
@ -664,16 +417,16 @@ class RepeatedFieldTest extends PHPUnit_Framework_TestCase
|
||||
$arr = new RepeatedField(GPBType::STRING);
|
||||
|
||||
// Test append.
|
||||
$arr []= 'abc';
|
||||
$arr[] = 'abc';
|
||||
$this->assertSame('abc', $arr[0]);
|
||||
|
||||
$arr []= 1;
|
||||
$arr[] = 1;
|
||||
$this->assertSame('1', $arr[1]);
|
||||
|
||||
$arr []= 1.1;
|
||||
$arr[] = 1.1;
|
||||
$this->assertSame('1.1', $arr[2]);
|
||||
|
||||
$arr []= true;
|
||||
$arr[] = true;
|
||||
$this->assertSame('1', $arr[3]);
|
||||
|
||||
$this->assertEquals(4, count($arr));
|
||||
@ -684,59 +437,19 @@ class RepeatedFieldTest extends PHPUnit_Framework_TestCase
|
||||
}
|
||||
|
||||
// Test set.
|
||||
$arr [0]= 'abc';
|
||||
$arr[0] = 'abc';
|
||||
$this->assertSame('abc', $arr[0]);
|
||||
|
||||
$arr [1]= 1;
|
||||
$arr[1] = 1;
|
||||
$this->assertSame('1', $arr[1]);
|
||||
|
||||
$arr [2]= 1.1;
|
||||
$arr[2] = 1.1;
|
||||
$this->assertSame('1.1', $arr[2]);
|
||||
|
||||
$arr [3]= true;
|
||||
$arr[3] = true;
|
||||
$this->assertSame('1', $arr[3]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testStringAppendMessageFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::STRING);
|
||||
$arr []= new TestMessage_Sub();
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testStringSetMessageFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::STRING);
|
||||
$arr []= 'abc';
|
||||
$arr [0]= new TestMessage_Sub();
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testStringAppendInvalidUTF8Fail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::STRING);
|
||||
$hex = hex2bin("ff");
|
||||
$arr []= $hex;
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testStringSetInvalidUTF8Fail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::STRING);
|
||||
$arr []= 'abc';
|
||||
$hex = hex2bin("ff");
|
||||
$arr [0]= $hex;
|
||||
}
|
||||
|
||||
#########################################################
|
||||
# Test message field.
|
||||
#########################################################
|
||||
@ -748,7 +461,7 @@ class RepeatedFieldTest extends PHPUnit_Framework_TestCase
|
||||
// Test append.
|
||||
$sub_m = new TestMessage_Sub();
|
||||
$sub_m->setA(1);
|
||||
$arr []= $sub_m;
|
||||
$arr[] = $sub_m;
|
||||
$this->assertSame(1, $arr[0]->getA());
|
||||
|
||||
$this->assertEquals(1, count($arr));
|
||||
@ -756,78 +469,10 @@ class RepeatedFieldTest extends PHPUnit_Framework_TestCase
|
||||
// Test set.
|
||||
$sub_m = new TestMessage_Sub();
|
||||
$sub_m->setA(2);
|
||||
$arr [0]= $sub_m;
|
||||
$arr[0] = $sub_m;
|
||||
$this->assertSame(2, $arr[0]->getA());
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testMessageAppendIntFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::MESSAGE, TestMessage_Sub::class);
|
||||
$arr []= 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testMessageSetIntFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::MESSAGE, TestMessage_Sub::class);
|
||||
$arr []= new TestMessage_Sub;
|
||||
$arr [0]= 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testMessageAppendStringFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::MESSAGE, TestMessage_Sub::class);
|
||||
$arr []= 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testMessageSetStringFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::MESSAGE, TestMessage_Sub::class);
|
||||
$arr []= new TestMessage_Sub;
|
||||
$arr [0]= 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testMessageAppendOtherMessageFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::MESSAGE, TestMessage_Sub::class);
|
||||
$arr []= new TestMessage;
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testMessageAppendNullFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::MESSAGE, TestMessage_Sub::class);
|
||||
$null = null;
|
||||
$arr []= $null;
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testMessageSetNullFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::MESSAGE, TestMessage_Sub::class);
|
||||
$arr []= new TestMessage_Sub();
|
||||
$null = null;
|
||||
$arr[0] = $null;
|
||||
}
|
||||
|
||||
#########################################################
|
||||
# Test offset type
|
||||
#########################################################
|
||||
@ -835,18 +480,18 @@ class RepeatedFieldTest extends PHPUnit_Framework_TestCase
|
||||
public function testOffset()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::INT32);
|
||||
$arr []= 0;
|
||||
$arr[] = 0;
|
||||
|
||||
$arr [0]= 1;
|
||||
$arr[0] = 1;
|
||||
$this->assertSame(1, $arr[0]);
|
||||
$this->assertSame(1, count($arr));
|
||||
|
||||
$arr ['0']= 2;
|
||||
$arr['0'] = 2;
|
||||
$this->assertSame(2, $arr['0']);
|
||||
$this->assertSame(2, $arr[0]);
|
||||
$this->assertSame(1, count($arr));
|
||||
|
||||
$arr [0.0]= 3;
|
||||
$arr[0.0] = 3;
|
||||
$this->assertSame(3, $arr[0.0]);
|
||||
$this->assertSame(1, count($arr));
|
||||
}
|
||||
@ -855,9 +500,9 @@ class RepeatedFieldTest extends PHPUnit_Framework_TestCase
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::INT32);
|
||||
|
||||
$arr []= 0;
|
||||
$arr []= 1;
|
||||
$arr []= 2;
|
||||
$arr[] = 0;
|
||||
$arr[] = 1;
|
||||
$arr[] = 2;
|
||||
$this->assertSame(3, count($arr));
|
||||
|
||||
unset($arr[2]);
|
||||
@ -865,67 +510,13 @@ class RepeatedFieldTest extends PHPUnit_Framework_TestCase
|
||||
$this->assertSame(0, $arr[0]);
|
||||
$this->assertSame(1, $arr[1]);
|
||||
|
||||
$arr [] = 3;
|
||||
$arr[] = 3;
|
||||
$this->assertSame(3, count($arr));
|
||||
$this->assertSame(0, $arr[0]);
|
||||
$this->assertSame(1, $arr[1]);
|
||||
$this->assertSame(3, $arr[2]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testRemoveMiddleFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::INT32);
|
||||
|
||||
$arr []= 0;
|
||||
$arr []= 1;
|
||||
$arr []= 2;
|
||||
$this->assertSame(3, count($arr));
|
||||
|
||||
unset($arr[1]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testRemoveEmptyFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::INT32);
|
||||
|
||||
unset($arr[0]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testMessageOffsetFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::INT32);
|
||||
$arr []= 0;
|
||||
$arr [new TestMessage_Sub()]= 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testStringOffsetFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::INT32);
|
||||
$arr []= 0;
|
||||
$arr ['abc']= 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testSetNonExistedOffsetFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::INT32);
|
||||
$arr [0]= 0;
|
||||
}
|
||||
|
||||
#########################################################
|
||||
# Test memory leak
|
||||
#########################################################
|
||||
@ -933,7 +524,7 @@ class RepeatedFieldTest extends PHPUnit_Framework_TestCase
|
||||
public function testCycleLeak()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::MESSAGE, TestMessage::class);
|
||||
$arr []= new TestMessage;
|
||||
$arr[] = new TestMessage;
|
||||
$arr[0]->SetRepeatedRecursive($arr);
|
||||
|
||||
// Clean up memory before test.
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
use_php() {
|
||||
function use_php() {
|
||||
VERSION=$1
|
||||
PHP=`which php`
|
||||
PHP_CONFIG=`which php-config`
|
||||
@ -10,7 +10,7 @@ use_php() {
|
||||
ln -sfn "/usr/local/php-${VERSION}/bin/phpize" $PHPIZE
|
||||
}
|
||||
|
||||
generate_proto() {
|
||||
function generate_proto() {
|
||||
PROTOC1=$1
|
||||
PROTOC2=$2
|
||||
|
||||
@ -25,6 +25,27 @@ generate_proto() {
|
||||
popd
|
||||
}
|
||||
|
||||
# Remove tests to expect error. These were added to API tests by mistake.
|
||||
function remove_error_test() {
|
||||
local TEMPFILE=`tempfile`
|
||||
cat $1 | \
|
||||
awk -v file=`basename $1` -v dir=`basename $(dirname $1)` '
|
||||
BEGIN {
|
||||
show = 1
|
||||
}
|
||||
/@expectedException PHPUnit_Framework_Error/ { show = 0; next; }
|
||||
/ *\*\// { print; next; }
|
||||
/ *}/ {
|
||||
if (!show) {
|
||||
show = 1;
|
||||
next;
|
||||
}
|
||||
}
|
||||
show { print }
|
||||
' > $TEMPFILE
|
||||
cp $TEMPFILE $1
|
||||
}
|
||||
|
||||
set -ex
|
||||
|
||||
# Change to the script's directory.
|
||||
@ -81,6 +102,15 @@ OLD_PROTOC=`pwd`/old_protoc
|
||||
cd protobuf/php
|
||||
cp -r /usr/local/vendor-5.5 vendor
|
||||
wget https://phar.phpunit.de/phpunit-4.8.0.phar -O /usr/bin/phpunit
|
||||
|
||||
# Remove implementation detail tests.
|
||||
tests=( array_test.php encode_decode_test.php generated_class_test.php map_field_test.php well_known_test.php )
|
||||
sed -i.bak '/php_implementation_test.php/d' phpunit.xml
|
||||
for t in "${tests[@]}"
|
||||
do
|
||||
remove_error_test tests/$t
|
||||
done
|
||||
|
||||
cd tests
|
||||
|
||||
# Test A.1:
|
||||
|
@ -14,417 +14,432 @@ use Foo\TestUnpackedMessage;
|
||||
class EncodeDecodeTest extends TestBase
|
||||
{
|
||||
|
||||
public function testEncode()
|
||||
{
|
||||
$from = new TestMessage();
|
||||
$this->expectEmptyFields($from);
|
||||
$this->setFields($from);
|
||||
$this->expectFields($from);
|
||||
|
||||
$data = $from->serializeToString();
|
||||
$this->assertSame(bin2hex(TestUtil::getGoldenTestMessage()),
|
||||
bin2hex($data));
|
||||
}
|
||||
|
||||
public function testDecode()
|
||||
{
|
||||
$to = new TestMessage();
|
||||
$to->mergeFromString(TestUtil::getGoldenTestMessage());
|
||||
$this->expectFields($to);
|
||||
}
|
||||
|
||||
public function testEncodeDecode()
|
||||
{
|
||||
$from = new TestMessage();
|
||||
$this->expectEmptyFields($from);
|
||||
$this->setFields($from);
|
||||
$this->expectFields($from);
|
||||
|
||||
$data = $from->serializeToString();
|
||||
|
||||
$to = new TestMessage();
|
||||
$to->mergeFromString($data);
|
||||
$this->expectFields($to);
|
||||
}
|
||||
|
||||
public function testEncodeDecodeEmpty()
|
||||
{
|
||||
$from = new TestMessage();
|
||||
$this->expectEmptyFields($from);
|
||||
|
||||
$data = $from->serializeToString();
|
||||
|
||||
$to = new TestMessage();
|
||||
$to->mergeFromString($data);
|
||||
$this->expectEmptyFields($to);
|
||||
}
|
||||
# public function testEncode()
|
||||
# {
|
||||
# $from = new TestMessage();
|
||||
# $this->expectEmptyFields($from);
|
||||
# $this->setFields($from);
|
||||
# $this->expectFields($from);
|
||||
#
|
||||
# $data = $from->serializeToString();
|
||||
# $this->assertSame(bin2hex(TestUtil::getGoldenTestMessage()),
|
||||
# bin2hex($data));
|
||||
# }
|
||||
#
|
||||
# public function testDecode()
|
||||
# {
|
||||
# $to = new TestMessage();
|
||||
# $to->mergeFromString(TestUtil::getGoldenTestMessage());
|
||||
# $this->expectFields($to);
|
||||
# }
|
||||
#
|
||||
# public function testEncodeDecode()
|
||||
# {
|
||||
# $from = new TestMessage();
|
||||
# $this->expectEmptyFields($from);
|
||||
# $this->setFields($from);
|
||||
# $this->expectFields($from);
|
||||
#
|
||||
# $data = $from->serializeToString();
|
||||
#
|
||||
# $to = new TestMessage();
|
||||
# $to->mergeFromString($data);
|
||||
# $this->expectFields($to);
|
||||
# }
|
||||
#
|
||||
# public function testEncodeDecodeEmpty()
|
||||
# {
|
||||
# $from = new TestMessage();
|
||||
# $this->expectEmptyFields($from);
|
||||
#
|
||||
# $data = $from->serializeToString();
|
||||
#
|
||||
# $to = new TestMessage();
|
||||
# $to->mergeFromString($data);
|
||||
# $this->expectEmptyFields($to);
|
||||
# }
|
||||
|
||||
public function testEncodeDecodeOneof()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
|
||||
$m->setOneofInt32(1);
|
||||
$data = $m->serializeToString();
|
||||
$n = new TestMessage();
|
||||
$n->mergeFromString($data);
|
||||
$this->assertSame(1, $n->getOneofInt32());
|
||||
|
||||
$m->setOneofFloat(2.0);
|
||||
$data = $m->serializeToString();
|
||||
$n = new TestMessage();
|
||||
$n->mergeFromString($data);
|
||||
$this->assertSame(2.0, $n->getOneofFloat());
|
||||
|
||||
$m->setOneofString('abc');
|
||||
$data = $m->serializeToString();
|
||||
$n = new TestMessage();
|
||||
$n->mergeFromString($data);
|
||||
$this->assertSame('abc', $n->getOneofString());
|
||||
|
||||
$sub_m = new TestMessage_Sub();
|
||||
$sub_m->setA(1);
|
||||
$m->setOneofMessage($sub_m);
|
||||
$data = $m->serializeToString();
|
||||
$n = new TestMessage();
|
||||
$n->mergeFromString($data);
|
||||
$this->assertSame(1, $n->getOneofMessage()->getA());
|
||||
# $m->setOneofInt32(1);
|
||||
# $data = $m->serializeToString();
|
||||
# $n = new TestMessage();
|
||||
# $n->mergeFromString($data);
|
||||
# $this->assertSame(1, $n->getOneofInt32());
|
||||
#
|
||||
# $m->setOneofFloat(2.0);
|
||||
# $data = $m->serializeToString();
|
||||
# $n = new TestMessage();
|
||||
# $n->mergeFromString($data);
|
||||
# $this->assertSame(2.0, $n->getOneofFloat());
|
||||
#
|
||||
# $m->setOneofString('abc');
|
||||
# $data = $m->serializeToString();
|
||||
# $n = new TestMessage();
|
||||
# $n->mergeFromString($data);
|
||||
# $this->assertSame('abc', $n->getOneofString());
|
||||
#
|
||||
# $sub_m = new TestMessage_Sub();
|
||||
# $sub_m->setA(1);
|
||||
# $m->setOneofMessage($sub_m);
|
||||
# $data = $m->serializeToString();
|
||||
# $n = new TestMessage();
|
||||
# $n->mergeFromString($data);
|
||||
# $this->assertSame(1, $n->getOneofMessage()->getA());
|
||||
|
||||
// Encode default value
|
||||
$m->setOneofEnum(TestEnum::ZERO);
|
||||
# $m->setOneofEnum(TestEnum::ZERO);
|
||||
# $data = $m->serializeToString();
|
||||
# $n = new TestMessage();
|
||||
# $n->mergeFromString($data);
|
||||
# $this->assertSame("oneof_enum", $n->getMyOneof());
|
||||
# $this->assertSame(TestEnum::ZERO, $n->getOneofEnum());
|
||||
|
||||
$m->setOneofString("");
|
||||
$data = $m->serializeToString();
|
||||
$n = new TestMessage();
|
||||
$n->mergeFromString($data);
|
||||
$this->assertSame("oneof_enum", $n->getMyOneof());
|
||||
$this->assertSame("oneof_string", $n->getMyOneof());
|
||||
$this->assertSame("", $n->getOneofString());
|
||||
|
||||
# $sub_m = new TestMessage_Sub();
|
||||
# $m->setOneofMessage($sub_m);
|
||||
# $data = $m->serializeToString();
|
||||
# $n = new TestMessage();
|
||||
# $n->mergeFromString($data);
|
||||
# $this->assertSame("oneof_message", $n->getMyOneof());
|
||||
# $this->assertFalse(is_null($n->getOneofMessage()));
|
||||
|
||||
}
|
||||
|
||||
public function testPackedEncode()
|
||||
{
|
||||
$from = new TestPackedMessage();
|
||||
TestUtil::setTestPackedMessage($from);
|
||||
$this->assertSame(TestUtil::getGoldenTestPackedMessage(),
|
||||
$from->serializeToString());
|
||||
}
|
||||
|
||||
public function testPackedDecodePacked()
|
||||
{
|
||||
$to = new TestPackedMessage();
|
||||
$to->mergeFromString(TestUtil::getGoldenTestPackedMessage());
|
||||
TestUtil::assertTestPackedMessage($to);
|
||||
}
|
||||
|
||||
public function testPackedDecodeUnpacked()
|
||||
{
|
||||
$to = new TestPackedMessage();
|
||||
$to->mergeFromString(TestUtil::getGoldenTestUnpackedMessage());
|
||||
TestUtil::assertTestPackedMessage($to);
|
||||
}
|
||||
|
||||
public function testUnpackedEncode()
|
||||
{
|
||||
$from = new TestUnpackedMessage();
|
||||
TestUtil::setTestPackedMessage($from);
|
||||
$this->assertSame(TestUtil::getGoldenTestUnpackedMessage(),
|
||||
$from->serializeToString());
|
||||
}
|
||||
|
||||
public function testUnpackedDecodePacked()
|
||||
{
|
||||
$to = new TestUnpackedMessage();
|
||||
$to->mergeFromString(TestUtil::getGoldenTestPackedMessage());
|
||||
TestUtil::assertTestPackedMessage($to);
|
||||
}
|
||||
|
||||
public function testUnpackedDecodeUnpacked()
|
||||
{
|
||||
$to = new TestUnpackedMessage();
|
||||
$to->mergeFromString(TestUtil::getGoldenTestUnpackedMessage());
|
||||
TestUtil::assertTestPackedMessage($to);
|
||||
}
|
||||
|
||||
public function testDecodeInt64()
|
||||
{
|
||||
// Read 64 testing
|
||||
$testVals = array(
|
||||
'10' => '100a',
|
||||
'100' => '1064',
|
||||
'800' => '10a006',
|
||||
'6400' => '108032',
|
||||
'70400' => '1080a604',
|
||||
'774400' => '1080a22f',
|
||||
'9292800' => '108098b704',
|
||||
'74342400' => '1080c0b923',
|
||||
'743424000' => '108080bfe202',
|
||||
'8177664000' => '108080b5bb1e',
|
||||
'65421312000' => '108080a8dbf301',
|
||||
'785055744000' => '108080e0c7ec16',
|
||||
'9420668928000' => '10808080dd969202',
|
||||
'103627358208000' => '10808080fff9c717',
|
||||
'1139900940288000' => '10808080f5bd978302',
|
||||
'13678811283456000' => '10808080fce699a618',
|
||||
'109430490267648000' => '10808080e0b7ceb1c201',
|
||||
'984874412408832000' => '10808080e0f5c1bed50d',
|
||||
);
|
||||
|
||||
$msg = new TestMessage();
|
||||
foreach ($testVals as $original => $encoded) {
|
||||
$msg->setOptionalInt64($original);
|
||||
$data = $msg->serializeToString();
|
||||
$this->assertSame($encoded, bin2hex($data));
|
||||
$msg->setOptionalInt64(0);
|
||||
$msg->mergeFromString($data);
|
||||
$this->assertEquals($original, $msg->getOptionalInt64());
|
||||
}
|
||||
}
|
||||
|
||||
public function testDecodeToExistingMessage()
|
||||
{
|
||||
$m1 = new TestMessage();
|
||||
$this->setFields($m1);
|
||||
$this->expectFields($m1);
|
||||
|
||||
$m2 = new TestMessage();
|
||||
$this->setFields2($m2);
|
||||
$data = $m2->serializeToString();
|
||||
|
||||
$m1->mergeFromString($data);
|
||||
$this->expectFieldsMerged($m1);
|
||||
}
|
||||
|
||||
public function testDecodeFieldNonExist()
|
||||
{
|
||||
$data = hex2bin('c80501');
|
||||
$m = new TestMessage();
|
||||
$m->mergeFromString($data);
|
||||
}
|
||||
|
||||
public function testEncodeNegativeInt32()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->setOptionalInt32(-1);
|
||||
$data = $m->serializeToString();
|
||||
$this->assertSame("08ffffffffffffffffff01", bin2hex($data));
|
||||
}
|
||||
|
||||
public function testDecodeNegativeInt32()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$this->assertEquals(0, $m->getOptionalInt32());
|
||||
$m->mergeFromString(hex2bin("08ffffffffffffffffff01"));
|
||||
$this->assertEquals(-1, $m->getOptionalInt32());
|
||||
|
||||
$m = new TestMessage();
|
||||
$this->assertEquals(0, $m->getOptionalInt32());
|
||||
$m->mergeFromString(hex2bin("08ffffffff0f"));
|
||||
$this->assertEquals(-1, $m->getOptionalInt32());
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException Exception
|
||||
*/
|
||||
public function testDecodeInvalidInt32()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->mergeFromString(hex2bin('08'));
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException Exception
|
||||
*/
|
||||
public function testDecodeInvalidSubMessage()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->mergeFromString(hex2bin('9A010108'));
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException Exception
|
||||
*/
|
||||
public function testDecodeInvalidInt64()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->mergeFromString(hex2bin('10'));
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException Exception
|
||||
*/
|
||||
public function testDecodeInvalidUInt32()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->mergeFromString(hex2bin('18'));
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException Exception
|
||||
*/
|
||||
public function testDecodeInvalidUInt64()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->mergeFromString(hex2bin('20'));
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException Exception
|
||||
*/
|
||||
public function testDecodeInvalidSInt32()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->mergeFromString(hex2bin('28'));
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException Exception
|
||||
*/
|
||||
public function testDecodeInvalidSInt64()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->mergeFromString(hex2bin('30'));
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException Exception
|
||||
*/
|
||||
public function testDecodeInvalidFixed32()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->mergeFromString(hex2bin('3D'));
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException Exception
|
||||
*/
|
||||
public function testDecodeInvalidFixed64()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->mergeFromString(hex2bin('41'));
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException Exception
|
||||
*/
|
||||
public function testDecodeInvalidSFixed32()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->mergeFromString(hex2bin('4D'));
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException Exception
|
||||
*/
|
||||
public function testDecodeInvalidSFixed64()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->mergeFromString(hex2bin('51'));
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException Exception
|
||||
*/
|
||||
public function testDecodeInvalidFloat()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->mergeFromString(hex2bin('5D'));
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException Exception
|
||||
*/
|
||||
public function testDecodeInvalidDouble()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->mergeFromString(hex2bin('61'));
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException Exception
|
||||
*/
|
||||
public function testDecodeInvalidBool()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->mergeFromString(hex2bin('68'));
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException Exception
|
||||
*/
|
||||
public function testDecodeInvalidStringLengthMiss()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->mergeFromString(hex2bin('72'));
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException Exception
|
||||
*/
|
||||
public function testDecodeInvalidStringDataMiss()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->mergeFromString(hex2bin('7201'));
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException Exception
|
||||
*/
|
||||
public function testDecodeInvalidBytesLengthMiss()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->mergeFromString(hex2bin('7A'));
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException Exception
|
||||
*/
|
||||
public function testDecodeInvalidBytesDataMiss()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->mergeFromString(hex2bin('7A01'));
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException Exception
|
||||
*/
|
||||
public function testDecodeInvalidEnum()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->mergeFromString(hex2bin('8001'));
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException Exception
|
||||
*/
|
||||
public function testDecodeInvalidMessageLengthMiss()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->mergeFromString(hex2bin('8A01'));
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException Exception
|
||||
*/
|
||||
public function testDecodeInvalidMessageDataMiss()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->mergeFromString(hex2bin('8A0101'));
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException Exception
|
||||
*/
|
||||
public function testDecodeInvalidPackedMessageLength()
|
||||
{
|
||||
$m = new TestPackedMessage();
|
||||
$m->mergeFromString(hex2bin('D205'));
|
||||
}
|
||||
|
||||
# TODO(teboring): Add test back when php implementation is ready for json
|
||||
# encode/decode.
|
||||
# public function testJsonEncode()
|
||||
# {
|
||||
# $from = new TestMessage();
|
||||
# $this->setFields($from);
|
||||
# $data = $from->jsonEncode();
|
||||
# $to = new TestMessage();
|
||||
# $to->jsonDecode($data);
|
||||
# $this->expectFields($to);
|
||||
# }
|
||||
# public function testPackedEncode()
|
||||
# {
|
||||
# $from = new TestPackedMessage();
|
||||
# TestUtil::setTestPackedMessage($from);
|
||||
# $this->assertSame(TestUtil::getGoldenTestPackedMessage(),
|
||||
# $from->serializeToString());
|
||||
# }
|
||||
#
|
||||
# public function testPackedDecodePacked()
|
||||
# {
|
||||
# $to = new TestPackedMessage();
|
||||
# $to->mergeFromString(TestUtil::getGoldenTestPackedMessage());
|
||||
# TestUtil::assertTestPackedMessage($to);
|
||||
# }
|
||||
#
|
||||
# public function testPackedDecodeUnpacked()
|
||||
# {
|
||||
# $to = new TestPackedMessage();
|
||||
# $to->mergeFromString(TestUtil::getGoldenTestUnpackedMessage());
|
||||
# TestUtil::assertTestPackedMessage($to);
|
||||
# }
|
||||
#
|
||||
# public function testUnpackedEncode()
|
||||
# {
|
||||
# $from = new TestUnpackedMessage();
|
||||
# TestUtil::setTestPackedMessage($from);
|
||||
# $this->assertSame(TestUtil::getGoldenTestUnpackedMessage(),
|
||||
# $from->serializeToString());
|
||||
# }
|
||||
#
|
||||
# public function testUnpackedDecodePacked()
|
||||
# {
|
||||
# $to = new TestUnpackedMessage();
|
||||
# $to->mergeFromString(TestUtil::getGoldenTestPackedMessage());
|
||||
# TestUtil::assertTestPackedMessage($to);
|
||||
# }
|
||||
#
|
||||
# public function testUnpackedDecodeUnpacked()
|
||||
# {
|
||||
# $to = new TestUnpackedMessage();
|
||||
# $to->mergeFromString(TestUtil::getGoldenTestUnpackedMessage());
|
||||
# TestUtil::assertTestPackedMessage($to);
|
||||
# }
|
||||
#
|
||||
# public function testDecodeInt64()
|
||||
# {
|
||||
# // Read 64 testing
|
||||
# $testVals = array(
|
||||
# '10' => '100a',
|
||||
# '100' => '1064',
|
||||
# '800' => '10a006',
|
||||
# '6400' => '108032',
|
||||
# '70400' => '1080a604',
|
||||
# '774400' => '1080a22f',
|
||||
# '9292800' => '108098b704',
|
||||
# '74342400' => '1080c0b923',
|
||||
# '743424000' => '108080bfe202',
|
||||
# '8177664000' => '108080b5bb1e',
|
||||
# '65421312000' => '108080a8dbf301',
|
||||
# '785055744000' => '108080e0c7ec16',
|
||||
# '9420668928000' => '10808080dd969202',
|
||||
# '103627358208000' => '10808080fff9c717',
|
||||
# '1139900940288000' => '10808080f5bd978302',
|
||||
# '13678811283456000' => '10808080fce699a618',
|
||||
# '109430490267648000' => '10808080e0b7ceb1c201',
|
||||
# '984874412408832000' => '10808080e0f5c1bed50d',
|
||||
# );
|
||||
#
|
||||
# $msg = new TestMessage();
|
||||
# foreach ($testVals as $original => $encoded) {
|
||||
# $msg->setOptionalInt64($original);
|
||||
# $data = $msg->serializeToString();
|
||||
# $this->assertSame($encoded, bin2hex($data));
|
||||
# $msg->setOptionalInt64(0);
|
||||
# $msg->mergeFromString($data);
|
||||
# $this->assertEquals($original, $msg->getOptionalInt64());
|
||||
# }
|
||||
# }
|
||||
#
|
||||
# public function testDecodeToExistingMessage()
|
||||
# {
|
||||
# $m1 = new TestMessage();
|
||||
# $this->setFields($m1);
|
||||
# $this->expectFields($m1);
|
||||
#
|
||||
# $m2 = new TestMessage();
|
||||
# $this->setFields2($m2);
|
||||
# $data = $m2->serializeToString();
|
||||
#
|
||||
# $m1->mergeFromString($data);
|
||||
# $this->expectFieldsMerged($m1);
|
||||
# }
|
||||
#
|
||||
# public function testDecodeFieldNonExist()
|
||||
# {
|
||||
# $data = hex2bin('c80501');
|
||||
# $m = new TestMessage();
|
||||
# $m->mergeFromString($data);
|
||||
# }
|
||||
#
|
||||
# public function testEncodeNegativeInt32()
|
||||
# {
|
||||
# $m = new TestMessage();
|
||||
# $m->setOptionalInt32(-1);
|
||||
# $data = $m->serializeToString();
|
||||
# $this->assertSame("08ffffffffffffffffff01", bin2hex($data));
|
||||
# }
|
||||
#
|
||||
# public function testDecodeNegativeInt32()
|
||||
# {
|
||||
# $m = new TestMessage();
|
||||
# $this->assertEquals(0, $m->getOptionalInt32());
|
||||
# $m->mergeFromString(hex2bin("08ffffffffffffffffff01"));
|
||||
# $this->assertEquals(-1, $m->getOptionalInt32());
|
||||
#
|
||||
# $m = new TestMessage();
|
||||
# $this->assertEquals(0, $m->getOptionalInt32());
|
||||
# $m->mergeFromString(hex2bin("08ffffffff0f"));
|
||||
# $this->assertEquals(-1, $m->getOptionalInt32());
|
||||
# }
|
||||
#
|
||||
# /**
|
||||
# * @expectedException Exception
|
||||
# */
|
||||
# public function testDecodeInvalidInt32()
|
||||
# {
|
||||
# $m = new TestMessage();
|
||||
# $m->mergeFromString(hex2bin('08'));
|
||||
# }
|
||||
#
|
||||
# /**
|
||||
# * @expectedException Exception
|
||||
# */
|
||||
# public function testDecodeInvalidSubMessage()
|
||||
# {
|
||||
# $m = new TestMessage();
|
||||
# $m->mergeFromString(hex2bin('9A010108'));
|
||||
# }
|
||||
#
|
||||
# /**
|
||||
# * @expectedException Exception
|
||||
# */
|
||||
# public function testDecodeInvalidInt64()
|
||||
# {
|
||||
# $m = new TestMessage();
|
||||
# $m->mergeFromString(hex2bin('10'));
|
||||
# }
|
||||
#
|
||||
# /**
|
||||
# * @expectedException Exception
|
||||
# */
|
||||
# public function testDecodeInvalidUInt32()
|
||||
# {
|
||||
# $m = new TestMessage();
|
||||
# $m->mergeFromString(hex2bin('18'));
|
||||
# }
|
||||
#
|
||||
# /**
|
||||
# * @expectedException Exception
|
||||
# */
|
||||
# public function testDecodeInvalidUInt64()
|
||||
# {
|
||||
# $m = new TestMessage();
|
||||
# $m->mergeFromString(hex2bin('20'));
|
||||
# }
|
||||
#
|
||||
# /**
|
||||
# * @expectedException Exception
|
||||
# */
|
||||
# public function testDecodeInvalidSInt32()
|
||||
# {
|
||||
# $m = new TestMessage();
|
||||
# $m->mergeFromString(hex2bin('28'));
|
||||
# }
|
||||
#
|
||||
# /**
|
||||
# * @expectedException Exception
|
||||
# */
|
||||
# public function testDecodeInvalidSInt64()
|
||||
# {
|
||||
# $m = new TestMessage();
|
||||
# $m->mergeFromString(hex2bin('30'));
|
||||
# }
|
||||
#
|
||||
# /**
|
||||
# * @expectedException Exception
|
||||
# */
|
||||
# public function testDecodeInvalidFixed32()
|
||||
# {
|
||||
# $m = new TestMessage();
|
||||
# $m->mergeFromString(hex2bin('3D'));
|
||||
# }
|
||||
#
|
||||
# /**
|
||||
# * @expectedException Exception
|
||||
# */
|
||||
# public function testDecodeInvalidFixed64()
|
||||
# {
|
||||
# $m = new TestMessage();
|
||||
# $m->mergeFromString(hex2bin('41'));
|
||||
# }
|
||||
#
|
||||
# /**
|
||||
# * @expectedException Exception
|
||||
# */
|
||||
# public function testDecodeInvalidSFixed32()
|
||||
# {
|
||||
# $m = new TestMessage();
|
||||
# $m->mergeFromString(hex2bin('4D'));
|
||||
# }
|
||||
#
|
||||
# /**
|
||||
# * @expectedException Exception
|
||||
# */
|
||||
# public function testDecodeInvalidSFixed64()
|
||||
# {
|
||||
# $m = new TestMessage();
|
||||
# $m->mergeFromString(hex2bin('51'));
|
||||
# }
|
||||
#
|
||||
# /**
|
||||
# * @expectedException Exception
|
||||
# */
|
||||
# public function testDecodeInvalidFloat()
|
||||
# {
|
||||
# $m = new TestMessage();
|
||||
# $m->mergeFromString(hex2bin('5D'));
|
||||
# }
|
||||
#
|
||||
# /**
|
||||
# * @expectedException Exception
|
||||
# */
|
||||
# public function testDecodeInvalidDouble()
|
||||
# {
|
||||
# $m = new TestMessage();
|
||||
# $m->mergeFromString(hex2bin('61'));
|
||||
# }
|
||||
#
|
||||
# /**
|
||||
# * @expectedException Exception
|
||||
# */
|
||||
# public function testDecodeInvalidBool()
|
||||
# {
|
||||
# $m = new TestMessage();
|
||||
# $m->mergeFromString(hex2bin('68'));
|
||||
# }
|
||||
#
|
||||
# /**
|
||||
# * @expectedException Exception
|
||||
# */
|
||||
# public function testDecodeInvalidStringLengthMiss()
|
||||
# {
|
||||
# $m = new TestMessage();
|
||||
# $m->mergeFromString(hex2bin('72'));
|
||||
# }
|
||||
#
|
||||
# /**
|
||||
# * @expectedException Exception
|
||||
# */
|
||||
# public function testDecodeInvalidStringDataMiss()
|
||||
# {
|
||||
# $m = new TestMessage();
|
||||
# $m->mergeFromString(hex2bin('7201'));
|
||||
# }
|
||||
#
|
||||
# /**
|
||||
# * @expectedException Exception
|
||||
# */
|
||||
# public function testDecodeInvalidBytesLengthMiss()
|
||||
# {
|
||||
# $m = new TestMessage();
|
||||
# $m->mergeFromString(hex2bin('7A'));
|
||||
# }
|
||||
#
|
||||
# /**
|
||||
# * @expectedException Exception
|
||||
# */
|
||||
# public function testDecodeInvalidBytesDataMiss()
|
||||
# {
|
||||
# $m = new TestMessage();
|
||||
# $m->mergeFromString(hex2bin('7A01'));
|
||||
# }
|
||||
#
|
||||
# /**
|
||||
# * @expectedException Exception
|
||||
# */
|
||||
# public function testDecodeInvalidEnum()
|
||||
# {
|
||||
# $m = new TestMessage();
|
||||
# $m->mergeFromString(hex2bin('8001'));
|
||||
# }
|
||||
#
|
||||
# /**
|
||||
# * @expectedException Exception
|
||||
# */
|
||||
# public function testDecodeInvalidMessageLengthMiss()
|
||||
# {
|
||||
# $m = new TestMessage();
|
||||
# $m->mergeFromString(hex2bin('8A01'));
|
||||
# }
|
||||
#
|
||||
# /**
|
||||
# * @expectedException Exception
|
||||
# */
|
||||
# public function testDecodeInvalidMessageDataMiss()
|
||||
# {
|
||||
# $m = new TestMessage();
|
||||
# $m->mergeFromString(hex2bin('8A0101'));
|
||||
# }
|
||||
#
|
||||
# /**
|
||||
# * @expectedException Exception
|
||||
# */
|
||||
# public function testDecodeInvalidPackedMessageLength()
|
||||
# {
|
||||
# $m = new TestPackedMessage();
|
||||
# $m->mergeFromString(hex2bin('D205'));
|
||||
# }
|
||||
#
|
||||
# public function testJsonEncode()
|
||||
# {
|
||||
# $from = new TestMessage();
|
||||
# $this->setFields($from);
|
||||
# $data = $from->serializeToJsonString();
|
||||
# $to = new TestMessage();
|
||||
# $to->mergeFromJsonString($data);
|
||||
# $this->expectFields($to);
|
||||
# }
|
||||
}
|
||||
|
@ -3,7 +3,7 @@
|
||||
# gdb --args php -dextension=../ext/google/protobuf/modules/protobuf.so `which
|
||||
# phpunit` --bootstrap autoload.php tmp_test.php
|
||||
#
|
||||
gdb --args php -dextension=../ext/google/protobuf/modules/protobuf.so `which phpunit` --bootstrap autoload.php well_known_test.php
|
||||
gdb --args php -dextension=../ext/google/protobuf/modules/protobuf.so `which phpunit` --bootstrap autoload.php encode_decode_test.php
|
||||
#
|
||||
# gdb --args php -dextension=../ext/google/protobuf/modules/protobuf.so memory_leak_test.php
|
||||
#
|
||||
|
@ -62,24 +62,6 @@ class GeneratedClassTest extends TestBase
|
||||
$this->assertSame(MIN_INT32, $m->getOptionalInt32());
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testInt32FieldInvalidTypeFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->setOptionalInt32(new TestMessage());
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testInt32FieldInvalidStringFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->setOptionalInt32('abc');
|
||||
}
|
||||
|
||||
#########################################################
|
||||
# Test uint32 field.
|
||||
#########################################################
|
||||
@ -119,24 +101,6 @@ class GeneratedClassTest extends TestBase
|
||||
$this->assertSame(MIN_INT32, $m->getOptionalUint32());
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testUint32FieldInvalidTypeFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->setOptionalUint32(new TestMessage());
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testUint32FieldInvalidStringFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->setOptionalUint32('abc');
|
||||
}
|
||||
|
||||
#########################################################
|
||||
# Test int64 field.
|
||||
#########################################################
|
||||
@ -189,24 +153,6 @@ class GeneratedClassTest extends TestBase
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testInt64FieldInvalidTypeFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->setOptionalInt64(new TestMessage());
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testInt64FieldInvalidStringFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->setOptionalInt64('abc');
|
||||
}
|
||||
|
||||
#########################################################
|
||||
# Test uint64 field.
|
||||
#########################################################
|
||||
@ -254,24 +200,6 @@ class GeneratedClassTest extends TestBase
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testUint64FieldInvalidTypeFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->setOptionalUint64(new TestMessage());
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testUint64FieldInvalidStringFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->setOptionalUint64('abc');
|
||||
}
|
||||
|
||||
#########################################################
|
||||
# Test enum field.
|
||||
#########################################################
|
||||
@ -326,24 +254,6 @@ class GeneratedClassTest extends TestBase
|
||||
$this->assertEquals(3.1, $m->getOptionalFloat(), '', MAX_FLOAT_DIFF);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testFloatFieldInvalidTypeFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->setOptionalFloat(new TestMessage());
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testFloatFieldInvalidStringFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->setOptionalFloat('abc');
|
||||
}
|
||||
|
||||
#########################################################
|
||||
# Test double field.
|
||||
#########################################################
|
||||
@ -367,24 +277,6 @@ class GeneratedClassTest extends TestBase
|
||||
$this->assertEquals(3.1, $m->getOptionalDouble(), '', MAX_FLOAT_DIFF);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testDoubleFieldInvalidTypeFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->setOptionalDouble(new TestMessage());
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testDoubleFieldInvalidStringFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->setOptionalDouble('abc');
|
||||
}
|
||||
|
||||
#########################################################
|
||||
# Test bool field.
|
||||
#########################################################
|
||||
@ -410,15 +302,6 @@ class GeneratedClassTest extends TestBase
|
||||
$this->assertSame(false, $m->getOptionalBool());
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testBoolFieldInvalidStringFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->setOptionalBool(new TestMessage());
|
||||
}
|
||||
|
||||
#########################################################
|
||||
# Test string field.
|
||||
#########################################################
|
||||
@ -444,16 +327,6 @@ class GeneratedClassTest extends TestBase
|
||||
$this->assertSame('1', $m->getOptionalString());
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testStringFieldInvalidUTF8Fail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$hex = hex2bin("ff");
|
||||
$m->setOptionalString($hex);
|
||||
}
|
||||
|
||||
#########################################################
|
||||
# Test bytes field.
|
||||
#########################################################
|
||||
@ -504,25 +377,6 @@ class GeneratedClassTest extends TestBase
|
||||
$this->assertNull($m->getOptionalMessage());
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testMessageFieldWrongTypeFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$a = 1;
|
||||
$m->setOptionalMessage($a);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testMessageFieldWrongClassFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->setOptionalMessage(new TestMessage());
|
||||
}
|
||||
|
||||
#########################################################
|
||||
# Test repeated field.
|
||||
#########################################################
|
||||
@ -556,48 +410,6 @@ class GeneratedClassTest extends TestBase
|
||||
$this->assertFalse($arr instanceof RepeatedField);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testRepeatedFieldWrongTypeFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$a = 1;
|
||||
$m->setRepeatedInt32($a);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testRepeatedFieldWrongObjectFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->setRepeatedInt32($m);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testRepeatedFieldWrongRepeatedTypeFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
|
||||
$repeated_int32 = new RepeatedField(GPBType::UINT32);
|
||||
$m->setRepeatedInt32($repeated_int32);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testRepeatedFieldWrongRepeatedMessageClassFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
|
||||
$repeated_message = new RepeatedField(GPBType::MESSAGE,
|
||||
TestMessage::class);
|
||||
$m->setRepeatedMessage($repeated_message);
|
||||
}
|
||||
|
||||
#########################################################
|
||||
# Test map field.
|
||||
#########################################################
|
||||
@ -629,49 +441,6 @@ class GeneratedClassTest extends TestBase
|
||||
$this->assertFalse($dict instanceof MapField);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testMapFieldWrongTypeFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$a = 1;
|
||||
$m->setMapInt32Int32($a);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testMapFieldWrongObjectFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->setMapInt32Int32($m);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testMapFieldWrongRepeatedTypeFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
|
||||
$map_uint32_uint32 = new MapField(GPBType::UINT32, GPBType::UINT32);
|
||||
$m->setMapInt32Int32($map_uint32_uint32);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testMapFieldWrongRepeatedMessageClassFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
|
||||
$map_int32_message = new MapField(GPBType::INT32,
|
||||
GPBType::MESSAGE,
|
||||
TestMessage::class);
|
||||
$m->setMapInt32Message($map_int32_message);
|
||||
}
|
||||
|
||||
#########################################################
|
||||
# Test oneof field.
|
||||
#########################################################
|
||||
@ -851,16 +620,6 @@ class GeneratedClassTest extends TestBase
|
||||
$this->expectFields($n);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testMessageMergeFromInvalidTypeFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$n = new TestMessage_Sub();
|
||||
$m->mergeFrom($n);
|
||||
}
|
||||
|
||||
#########################################################
|
||||
# Test message/enum without namespace.
|
||||
#########################################################
|
||||
|
337
php/tests/generated_phpdoc_test.php
Normal file
337
php/tests/generated_phpdoc_test.php
Normal file
@ -0,0 +1,337 @@
|
||||
<?php
|
||||
|
||||
require_once('generated/NoNamespaceEnum.php');
|
||||
require_once('generated/NoNamespaceMessage.php');
|
||||
require_once('test_base.php');
|
||||
require_once('test_util.php');
|
||||
|
||||
use Foo\TestMessage;
|
||||
|
||||
class GeneratedPhpdocTest extends TestBase
|
||||
{
|
||||
public function testPhpDocForClass()
|
||||
{
|
||||
$class = new ReflectionClass('Foo\TestMessage');
|
||||
$doc = $class->getDocComment();
|
||||
$this->assertContains('foo.TestMessage', $doc);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider providePhpDocForGettersAndSetters
|
||||
*/
|
||||
public function testPhpDocForIntGetters($methods, $expectedDoc)
|
||||
{
|
||||
$class = new ReflectionClass('Foo\TestMessage');
|
||||
foreach ($methods as $method) {
|
||||
$doc = $class->getMethod($method)->getDocComment();
|
||||
$this->assertContains($expectedDoc, $doc);
|
||||
}
|
||||
}
|
||||
|
||||
public function providePhpDocForGettersAndSetters()
|
||||
{
|
||||
return [
|
||||
[
|
||||
[
|
||||
'setOptionalInt32',
|
||||
'setOptionalUint32',
|
||||
'setOptionalSint32',
|
||||
'setOptionalFixed32',
|
||||
'setOptionalSfixed32',
|
||||
'setOneofInt32',
|
||||
'setOneofUint32',
|
||||
'setOneofSint32',
|
||||
'setOneofFixed32',
|
||||
'setOneofSfixed32',
|
||||
'setOptionalEnum',
|
||||
'setOptionalNoNamespaceEnum',
|
||||
'setOptionalNestedEnum',
|
||||
'setOneofEnum'
|
||||
],
|
||||
'@param int $var'
|
||||
],
|
||||
[
|
||||
[
|
||||
'setOptionalInt64',
|
||||
'setOptionalUint64',
|
||||
'setOptionalSint64',
|
||||
'setOptionalFixed64',
|
||||
'setOptionalSfixed64',
|
||||
'setOneofInt64',
|
||||
'setOneofUint64',
|
||||
'setOneofSint64',
|
||||
'setOneofFixed64',
|
||||
'setOneofSfixed64',
|
||||
],
|
||||
'@param int|string $var'
|
||||
],
|
||||
[
|
||||
[
|
||||
'getOptionalInt32',
|
||||
'getOptionalUint32',
|
||||
'getOptionalSint32',
|
||||
'getOptionalFixed32',
|
||||
'getOptionalSfixed32',
|
||||
'getOneofInt32',
|
||||
'getOneofUint32',
|
||||
'getOneofSint32',
|
||||
'getOneofFixed32',
|
||||
'getOneofSfixed32',
|
||||
'getOptionalEnum',
|
||||
'getOptionalNoNamespaceEnum',
|
||||
'getOptionalNestedEnum',
|
||||
'getOneofEnum',
|
||||
],
|
||||
'@return int'
|
||||
],
|
||||
[
|
||||
[
|
||||
'setOptionalInt64',
|
||||
'setOptionalUint64',
|
||||
'setOptionalSint64',
|
||||
'setOptionalFixed64',
|
||||
'setOptionalSfixed64',
|
||||
'setOneofInt64',
|
||||
'setOneofUint64',
|
||||
'setOneofSint64',
|
||||
'setOneofFixed64',
|
||||
'setOneofSfixed64',
|
||||
],
|
||||
'@param int|string $var'
|
||||
],
|
||||
[
|
||||
[
|
||||
'getRepeatedInt32',
|
||||
'getRepeatedInt64',
|
||||
'getRepeatedUint32',
|
||||
'getRepeatedUint64',
|
||||
'getRepeatedSint32',
|
||||
'getRepeatedSint64',
|
||||
'getRepeatedFixed32',
|
||||
'getRepeatedFixed64',
|
||||
'getRepeatedSfixed32',
|
||||
'getRepeatedSfixed64',
|
||||
'getRepeatedFloat',
|
||||
'getRepeatedDouble',
|
||||
'getRepeatedBool',
|
||||
'getRepeatedString',
|
||||
'getRepeatedBytes',
|
||||
'getRepeatedEnum',
|
||||
'getRepeatedMessage',
|
||||
'getRepeatedRecursive',
|
||||
'getRepeatedNoNamespaceMessage',
|
||||
'getRepeatedNoNamespaceEnum',
|
||||
],
|
||||
'@return \Google\Protobuf\Internal\RepeatedField'
|
||||
],
|
||||
[
|
||||
[
|
||||
'getMapInt32Int32',
|
||||
'getMapInt64Int64',
|
||||
'getMapUint32Uint32',
|
||||
'getMapUint64Uint64',
|
||||
'getMapSint32Sint32',
|
||||
'getMapSint64Sint64',
|
||||
'getMapFixed32Fixed32',
|
||||
'getMapFixed64Fixed64',
|
||||
'getMapSfixed32Sfixed32',
|
||||
'getMapSfixed64Sfixed64',
|
||||
'getMapInt32Float',
|
||||
'getMapInt32Double',
|
||||
'getMapBoolBool',
|
||||
'getMapStringString',
|
||||
'getMapInt32Bytes',
|
||||
'getMapInt32Enum',
|
||||
'getMapInt32Message',
|
||||
'getMapRecursive',
|
||||
],
|
||||
'@return \Google\Protobuf\Internal\MapField'
|
||||
],
|
||||
[
|
||||
[
|
||||
'setRepeatedInt32',
|
||||
'setRepeatedUint32',
|
||||
'setRepeatedSint32',
|
||||
'setRepeatedFixed32',
|
||||
'setRepeatedSfixed32',
|
||||
'setRepeatedEnum',
|
||||
'setRepeatedNoNamespaceEnum',
|
||||
],
|
||||
'@param int[]|\Google\Protobuf\Internal\RepeatedField $var'
|
||||
],
|
||||
[
|
||||
[
|
||||
'setRepeatedInt64',
|
||||
'setRepeatedUint64',
|
||||
'setRepeatedSint64',
|
||||
'setRepeatedFixed64',
|
||||
'setRepeatedSfixed64',
|
||||
],
|
||||
'@param int[]|string[]|\Google\Protobuf\Internal\RepeatedField $var'
|
||||
],
|
||||
[
|
||||
[
|
||||
'setRepeatedFloat',
|
||||
'setRepeatedDouble',
|
||||
],
|
||||
'@param float[]|\Google\Protobuf\Internal\RepeatedField $var'
|
||||
],
|
||||
[
|
||||
[
|
||||
'setRepeatedBool',
|
||||
],
|
||||
'@param bool[]|\Google\Protobuf\Internal\RepeatedField $var'
|
||||
],
|
||||
[
|
||||
[
|
||||
'setRepeatedString',
|
||||
'setRepeatedBytes',
|
||||
],
|
||||
'@param string[]|\Google\Protobuf\Internal\RepeatedField $var'
|
||||
],
|
||||
[
|
||||
[
|
||||
'setRepeatedMessage',
|
||||
],
|
||||
'@param \Foo\TestMessage_Sub[]|\Google\Protobuf\Internal\RepeatedField $var'
|
||||
],
|
||||
[
|
||||
[
|
||||
'setRepeatedRecursive',
|
||||
],
|
||||
'@param \Foo\TestMessage[]|\Google\Protobuf\Internal\RepeatedField $var'
|
||||
],
|
||||
[
|
||||
[
|
||||
'setRepeatedNoNamespaceMessage',
|
||||
],
|
||||
'@param \NoNamespaceMessage[]|\Google\Protobuf\Internal\RepeatedField $var'
|
||||
],
|
||||
[
|
||||
[
|
||||
'setMapInt32Int32',
|
||||
'setMapInt64Int64',
|
||||
'setMapUint32Uint32',
|
||||
'setMapUint64Uint64',
|
||||
'setMapSint32Sint32',
|
||||
'setMapSint64Sint64',
|
||||
'setMapFixed32Fixed32',
|
||||
'setMapFixed64Fixed64',
|
||||
'setMapSfixed32Sfixed32',
|
||||
'setMapSfixed64Sfixed64',
|
||||
'setMapInt32Float',
|
||||
'setMapInt32Double',
|
||||
'setMapBoolBool',
|
||||
'setMapStringString',
|
||||
'setMapInt32Bytes',
|
||||
'setMapInt32Enum',
|
||||
'setMapInt32Message',
|
||||
'setMapRecursive',
|
||||
],
|
||||
'@param array|\Google\Protobuf\Internal\MapField $var'
|
||||
],
|
||||
[
|
||||
[
|
||||
'getOptionalFloat',
|
||||
'getOptionalDouble',
|
||||
'getOneofDouble',
|
||||
'getOneofFloat',
|
||||
],
|
||||
'@return float'
|
||||
],
|
||||
[
|
||||
[
|
||||
'setOptionalFloat',
|
||||
'setOptionalDouble',
|
||||
'setOneofDouble',
|
||||
'setOneofFloat',
|
||||
],
|
||||
'@param float $var'
|
||||
],
|
||||
[
|
||||
[
|
||||
'getOptionalBool',
|
||||
'getOneofBool',
|
||||
],
|
||||
'@return bool'],
|
||||
[
|
||||
[
|
||||
'setOptionalBool',
|
||||
'setOneofBool',
|
||||
],
|
||||
'@param bool $var'
|
||||
],
|
||||
[
|
||||
[
|
||||
'getOptionalString',
|
||||
'getOptionalBytes',
|
||||
'getOneofString',
|
||||
'getOneofBytes',
|
||||
'getMyOneof',
|
||||
],
|
||||
'@return string'
|
||||
],
|
||||
[
|
||||
[
|
||||
'setOptionalString',
|
||||
'setOptionalBytes',
|
||||
'setOneofString',
|
||||
'setOneofBytes',
|
||||
],
|
||||
'@param string $var'
|
||||
],
|
||||
|
||||
[
|
||||
[
|
||||
'getOptionalMessage',
|
||||
'getOneofMessage'
|
||||
],
|
||||
'@return \Foo\TestMessage_Sub'
|
||||
],
|
||||
[
|
||||
[
|
||||
'setOptionalMessage',
|
||||
'setOneofMessage'
|
||||
],
|
||||
'@param \Foo\TestMessage_Sub $var'
|
||||
],
|
||||
[
|
||||
[
|
||||
'getOptionalIncludedMessage'
|
||||
],
|
||||
'@return \Bar\TestInclude'
|
||||
],
|
||||
[
|
||||
[
|
||||
'setOptionalIncludedMessage'
|
||||
],
|
||||
'@param \Bar\TestInclude $var'
|
||||
],
|
||||
[
|
||||
[
|
||||
'getRecursive'
|
||||
],
|
||||
'@return \Foo\TestMessage'
|
||||
],
|
||||
[
|
||||
[
|
||||
'setRecursive'
|
||||
],
|
||||
'@param \Foo\TestMessage $var'
|
||||
],
|
||||
|
||||
[
|
||||
[
|
||||
'getOptionalNoNamespaceMessage'
|
||||
],
|
||||
'@return \NoNamespaceMessage'
|
||||
],
|
||||
[
|
||||
[
|
||||
'setOptionalNoNamespaceMessage'
|
||||
],
|
||||
'@param \NoNamespaceMessage $var'
|
||||
],
|
||||
];
|
||||
}
|
||||
}
|
@ -58,42 +58,6 @@ class MapFieldTest extends PHPUnit_Framework_TestCase {
|
||||
$this->assertEquals(0, count($arr));
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testInt32SetStringKeyFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::INT32, GPBType::INT32);
|
||||
$arr ['abc']= 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testInt32SetStringValueFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::INT32, GPBType::INT32);
|
||||
$arr [0]= 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testInt32SetMessageKeyFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::INT32, GPBType::INT32);
|
||||
$arr [new TestMessage_Sub()]= 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testInt32SetMessageValueFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::INT32, GPBType::INT32);
|
||||
$arr [0]= new TestMessage_Sub();
|
||||
}
|
||||
|
||||
#########################################################
|
||||
# Test uint32 field.
|
||||
#########################################################
|
||||
@ -159,42 +123,6 @@ class MapFieldTest extends PHPUnit_Framework_TestCase {
|
||||
$this->assertEquals(0, count($arr));
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testUint32SetStringKeyFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::UINT32, GPBType::UINT32);
|
||||
$arr ['abc']= 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testUint32SetStringValueFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::UINT32, GPBType::UINT32);
|
||||
$arr [0]= 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testUint32SetMessageKeyFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::UINT32, GPBType::UINT32);
|
||||
$arr [new TestMessage_Sub()]= 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testUint32SetMessageValueFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::UINT32, GPBType::UINT32);
|
||||
$arr [0]= new TestMessage_Sub();
|
||||
}
|
||||
|
||||
#########################################################
|
||||
# Test int64 field.
|
||||
#########################################################
|
||||
@ -252,42 +180,6 @@ class MapFieldTest extends PHPUnit_Framework_TestCase {
|
||||
$this->assertEquals(0, count($arr));
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testInt64SetStringKeyFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::INT64, GPBType::INT64);
|
||||
$arr ['abc']= 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testInt64SetStringValueFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::INT64, GPBType::INT64);
|
||||
$arr [0]= 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testInt64SetMessageKeyFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::INT64, GPBType::INT64);
|
||||
$arr [new TestMessage_Sub()]= 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testInt64SetMessageValueFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::INT64, GPBType::INT64);
|
||||
$arr [0]= new TestMessage_Sub();
|
||||
}
|
||||
|
||||
#########################################################
|
||||
# Test uint64 field.
|
||||
#########################################################
|
||||
@ -339,42 +231,6 @@ class MapFieldTest extends PHPUnit_Framework_TestCase {
|
||||
$this->assertEquals(0, count($arr));
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testUint64SetStringKeyFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::UINT64, GPBType::UINT64);
|
||||
$arr ['abc']= 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testUint64SetStringValueFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::UINT64, GPBType::UINT64);
|
||||
$arr [0]= 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testUint64SetMessageKeyFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::UINT64, GPBType::UINT64);
|
||||
$arr [new TestMessage_Sub()]= 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testUint64SetMessageValueFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::UINT64, GPBType::UINT64);
|
||||
$arr [0]= new TestMessage_Sub();
|
||||
}
|
||||
|
||||
#########################################################
|
||||
# Test float field.
|
||||
#########################################################
|
||||
@ -397,24 +253,6 @@ class MapFieldTest extends PHPUnit_Framework_TestCase {
|
||||
$this->assertEquals(4, count($arr));
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testFloatSetStringValueFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::INT64, GPBType::FLOAT);
|
||||
$arr [0]= 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testFloatSetMessageValueFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::INT64, GPBType::FLOAT);
|
||||
$arr [0]= new TestMessage_Sub();
|
||||
}
|
||||
|
||||
#########################################################
|
||||
# Test double field.
|
||||
#########################################################
|
||||
@ -437,24 +275,6 @@ class MapFieldTest extends PHPUnit_Framework_TestCase {
|
||||
$this->assertEquals(4, count($arr));
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testDoubleSetStringValueFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::INT64, GPBType::DOUBLE);
|
||||
$arr [0]= 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testDoubleSetMessageValueFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::INT64, GPBType::DOUBLE);
|
||||
$arr [0]= new TestMessage_Sub();
|
||||
}
|
||||
|
||||
#########################################################
|
||||
# Test bool field.
|
||||
#########################################################
|
||||
@ -515,24 +335,6 @@ class MapFieldTest extends PHPUnit_Framework_TestCase {
|
||||
$this->assertEquals(0, count($arr));
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testBoolSetMessageKeyFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::BOOL, GPBType::BOOL);
|
||||
$arr [new TestMessage_Sub()]= true;
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testBoolSetMessageValueFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::BOOL, GPBType::BOOL);
|
||||
$arr [true]= new TestMessage_Sub();
|
||||
}
|
||||
|
||||
#########################################################
|
||||
# Test string field.
|
||||
#########################################################
|
||||
@ -566,42 +368,6 @@ class MapFieldTest extends PHPUnit_Framework_TestCase {
|
||||
$this->assertEquals(0, count($arr));
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testStringSetInvalidUTF8KeyFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::STRING, GPBType::STRING);
|
||||
$arr[hex2bin("ff")]= 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testStringSetInvalidUTF8ValueFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::STRING, GPBType::STRING);
|
||||
$arr ['abc']= hex2bin("ff");
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testStringSetMessageKeyFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::STRING, GPBType::STRING);
|
||||
$arr [new TestMessage_Sub()]= 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testStringSetMessageValueFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::STRING, GPBType::STRING);
|
||||
$arr ['abc']= new TestMessage_Sub();
|
||||
}
|
||||
|
||||
#########################################################
|
||||
# Test message field.
|
||||
#########################################################
|
||||
@ -619,47 +385,6 @@ class MapFieldTest extends PHPUnit_Framework_TestCase {
|
||||
$this->assertEquals(1, count($arr));
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testMessageSetIntValueFail()
|
||||
{
|
||||
$arr =
|
||||
new MapField(GPBType::INT32, GPBType::MESSAGE, TestMessage::class);
|
||||
$arr[0] = 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testMessageSetStringValueFail()
|
||||
{
|
||||
$arr =
|
||||
new MapField(GPBType::INT32, GPBType::MESSAGE, TestMessage::class);
|
||||
$arr[0] = 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testMessageSetOtherMessageValueFail()
|
||||
{
|
||||
$arr =
|
||||
new MapField(GPBType::INT32, GPBType::MESSAGE, TestMessage::class);
|
||||
$arr[0] = new TestMessage_Sub();
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testMessageSetNullFail()
|
||||
{
|
||||
$arr =
|
||||
new MapField(GPBType::INT32, GPBType::MESSAGE, TestMessage::class);
|
||||
$null = NULL;
|
||||
$arr[0] = $null;
|
||||
}
|
||||
|
||||
#########################################################
|
||||
# Test memory leak
|
||||
#########################################################
|
||||
@ -669,7 +394,7 @@ class MapFieldTest extends PHPUnit_Framework_TestCase {
|
||||
// {
|
||||
// $arr = new MapField(GPBType::INT32,
|
||||
// GPBType::MESSAGE, TestMessage::class);
|
||||
// $arr [0]= new TestMessage;
|
||||
// $arr[0] = new TestMessage;
|
||||
// $arr[0]->SetMapRecursive($arr);
|
||||
|
||||
// // Clean up memory before test.
|
||||
|
@ -49,7 +49,7 @@ TestUtil::assertTestMessage($to);
|
||||
$from->setRecursive($from);
|
||||
|
||||
$arr = new RepeatedField(GPBType::MESSAGE, TestMessage::class);
|
||||
$arr []= new TestMessage;
|
||||
$arr[] = new TestMessage;
|
||||
$arr[0]->SetRepeatedRecursive($arr);
|
||||
|
||||
// Test oneof fields.
|
||||
|
@ -6,12 +6,12 @@ require_once('test_util.php');
|
||||
use Foo\TestMessage;
|
||||
use Foo\TestMessage_Sub;
|
||||
use Foo\TestPackedMessage;
|
||||
use Google\Protobuf\Internal\InputStream;
|
||||
use Google\Protobuf\Internal\CodedInputStream;
|
||||
use Google\Protobuf\Internal\FileDescriptorSet;
|
||||
use Google\Protobuf\Internal\GPBLabel;
|
||||
use Google\Protobuf\Internal\GPBType;
|
||||
use Google\Protobuf\Internal\GPBWire;
|
||||
use Google\Protobuf\Internal\OutputStream;
|
||||
use Google\Protobuf\Internal\CodedOutputStream;
|
||||
|
||||
class ImplementationTest extends TestBase
|
||||
{
|
||||
@ -21,17 +21,17 @@ class ImplementationTest extends TestBase
|
||||
$value = null;
|
||||
|
||||
// Positive number.
|
||||
$input = new InputStream(hex2bin("01"));
|
||||
$input = new CodedInputStream(hex2bin("01"));
|
||||
GPBWire::readInt32($input, $value);
|
||||
$this->assertSame(1, $value);
|
||||
|
||||
// Negative number.
|
||||
$input = new InputStream(hex2bin("ffffffff0f"));
|
||||
$input = new CodedInputStream(hex2bin("ffffffff0f"));
|
||||
GPBWire::readInt32($input, $value);
|
||||
$this->assertSame(-1, $value);
|
||||
|
||||
// Discard overflow bits.
|
||||
$input = new InputStream(hex2bin("ffffffff7f"));
|
||||
$input = new CodedInputStream(hex2bin("ffffffff7f"));
|
||||
GPBWire::readInt32($input, $value);
|
||||
$this->assertSame(-1, $value);
|
||||
}
|
||||
@ -41,17 +41,17 @@ class ImplementationTest extends TestBase
|
||||
$value = null;
|
||||
|
||||
// Positive number.
|
||||
$input = new InputStream(hex2bin("01"));
|
||||
$input = new CodedInputStream(hex2bin("01"));
|
||||
GPBWire::readUint32($input, $value);
|
||||
$this->assertSame(1, $value);
|
||||
|
||||
// Max uint32.
|
||||
$input = new InputStream(hex2bin("ffffffff0f"));
|
||||
$input = new CodedInputStream(hex2bin("ffffffff0f"));
|
||||
GPBWire::readUint32($input, $value);
|
||||
$this->assertSame(-1, $value);
|
||||
|
||||
// Discard overflow bits.
|
||||
$input = new InputStream(hex2bin("ffffffff7f"));
|
||||
$input = new CodedInputStream(hex2bin("ffffffff7f"));
|
||||
GPBWire::readUint32($input, $value);
|
||||
$this->assertSame(-1, $value);
|
||||
}
|
||||
@ -61,17 +61,17 @@ class ImplementationTest extends TestBase
|
||||
$value = null;
|
||||
|
||||
// Positive number.
|
||||
$input = new InputStream(hex2bin("01"));
|
||||
$input = new CodedInputStream(hex2bin("01"));
|
||||
GPBWire::readInt64($input, $value);
|
||||
$this->assertEquals(1, $value);
|
||||
|
||||
// Negative number.
|
||||
$input = new InputStream(hex2bin("ffffffffffffffffff01"));
|
||||
$input = new CodedInputStream(hex2bin("ffffffffffffffffff01"));
|
||||
GPBWire::readInt64($input, $value);
|
||||
$this->assertEquals(-1, $value);
|
||||
|
||||
// Discard overflow bits.
|
||||
$input = new InputStream(hex2bin("ffffffffffffffffff0f"));
|
||||
$input = new CodedInputStream(hex2bin("ffffffffffffffffff0f"));
|
||||
GPBWire::readInt64($input, $value);
|
||||
$this->assertEquals(-1, $value);
|
||||
}
|
||||
@ -81,17 +81,17 @@ class ImplementationTest extends TestBase
|
||||
$value = null;
|
||||
|
||||
// Positive number.
|
||||
$input = new InputStream(hex2bin("01"));
|
||||
$input = new CodedInputStream(hex2bin("01"));
|
||||
GPBWire::readUint64($input, $value);
|
||||
$this->assertEquals(1, $value);
|
||||
|
||||
// Negative number.
|
||||
$input = new InputStream(hex2bin("FFFFFFFFFFFFFFFFFF01"));
|
||||
$input = new CodedInputStream(hex2bin("FFFFFFFFFFFFFFFFFF01"));
|
||||
GPBWire::readUint64($input, $value);
|
||||
$this->assertEquals(-1, $value);
|
||||
|
||||
// Discard overflow bits.
|
||||
$input = new InputStream(hex2bin("FFFFFFFFFFFFFFFFFF0F"));
|
||||
$input = new CodedInputStream(hex2bin("FFFFFFFFFFFFFFFFFF0F"));
|
||||
GPBWire::readUint64($input, $value);
|
||||
$this->assertEquals(-1, $value);
|
||||
}
|
||||
@ -100,15 +100,15 @@ class ImplementationTest extends TestBase
|
||||
{
|
||||
$value = null;
|
||||
|
||||
$input = new InputStream(hex2bin("00"));
|
||||
$input = new CodedInputStream(hex2bin("00"));
|
||||
GPBWire::readSint32($input, $value);
|
||||
$this->assertSame(0, $value);
|
||||
|
||||
$input = new InputStream(hex2bin("01"));
|
||||
$input = new CodedInputStream(hex2bin("01"));
|
||||
GPBWire::readSint32($input, $value);
|
||||
$this->assertSame(-1, $value);
|
||||
|
||||
$input = new InputStream(hex2bin("02"));
|
||||
$input = new CodedInputStream(hex2bin("02"));
|
||||
GPBWire::readSint32($input, $value);
|
||||
$this->assertSame(1, $value);
|
||||
}
|
||||
@ -117,15 +117,15 @@ class ImplementationTest extends TestBase
|
||||
{
|
||||
$value = null;
|
||||
|
||||
$input = new InputStream(hex2bin("00"));
|
||||
$input = new CodedInputStream(hex2bin("00"));
|
||||
GPBWire::readSint64($input, $value);
|
||||
$this->assertEquals(0, $value);
|
||||
|
||||
$input = new InputStream(hex2bin("01"));
|
||||
$input = new CodedInputStream(hex2bin("01"));
|
||||
GPBWire::readSint64($input, $value);
|
||||
$this->assertEquals(-1, $value);
|
||||
|
||||
$input = new InputStream(hex2bin("02"));
|
||||
$input = new CodedInputStream(hex2bin("02"));
|
||||
GPBWire::readSint64($input, $value);
|
||||
$this->assertEquals(1, $value);
|
||||
}
|
||||
@ -133,7 +133,7 @@ class ImplementationTest extends TestBase
|
||||
public function testReadFixed32()
|
||||
{
|
||||
$value = null;
|
||||
$input = new InputStream(hex2bin("12345678"));
|
||||
$input = new CodedInputStream(hex2bin("12345678"));
|
||||
GPBWire::readFixed32($input, $value);
|
||||
$this->assertSame(0x78563412, $value);
|
||||
}
|
||||
@ -141,7 +141,7 @@ class ImplementationTest extends TestBase
|
||||
public function testReadFixed64()
|
||||
{
|
||||
$value = null;
|
||||
$input = new InputStream(hex2bin("1234567812345678"));
|
||||
$input = new CodedInputStream(hex2bin("1234567812345678"));
|
||||
GPBWire::readFixed64($input, $value);
|
||||
if (PHP_INT_SIZE == 4) {
|
||||
$this->assertSame("8671175386481439762", $value);
|
||||
@ -153,7 +153,7 @@ class ImplementationTest extends TestBase
|
||||
public function testReadSfixed32()
|
||||
{
|
||||
$value = null;
|
||||
$input = new InputStream(hex2bin("12345678"));
|
||||
$input = new CodedInputStream(hex2bin("12345678"));
|
||||
GPBWire::readSfixed32($input, $value);
|
||||
$this->assertSame(0x78563412, $value);
|
||||
}
|
||||
@ -161,7 +161,7 @@ class ImplementationTest extends TestBase
|
||||
public function testReadFloat()
|
||||
{
|
||||
$value = null;
|
||||
$input = new InputStream(hex2bin("0000803F"));
|
||||
$input = new CodedInputStream(hex2bin("0000803F"));
|
||||
GPBWire::readFloat($input, $value);
|
||||
$this->assertSame(1.0, $value);
|
||||
}
|
||||
@ -170,11 +170,11 @@ class ImplementationTest extends TestBase
|
||||
{
|
||||
$value = null;
|
||||
|
||||
$input = new InputStream(hex2bin("00"));
|
||||
$input = new CodedInputStream(hex2bin("00"));
|
||||
GPBWire::readBool($input, $value);
|
||||
$this->assertSame(false, $value);
|
||||
|
||||
$input = new InputStream(hex2bin("01"));
|
||||
$input = new CodedInputStream(hex2bin("01"));
|
||||
GPBWire::readBool($input, $value);
|
||||
$this->assertSame(true, $value);
|
||||
}
|
||||
@ -182,7 +182,7 @@ class ImplementationTest extends TestBase
|
||||
public function testReadDouble()
|
||||
{
|
||||
$value = null;
|
||||
$input = new InputStream(hex2bin("000000000000F03F"));
|
||||
$input = new CodedInputStream(hex2bin("000000000000F03F"));
|
||||
GPBWire::readDouble($input, $value);
|
||||
$this->assertSame(1.0, $value);
|
||||
}
|
||||
@ -190,7 +190,7 @@ class ImplementationTest extends TestBase
|
||||
public function testReadSfixed64()
|
||||
{
|
||||
$value = null;
|
||||
$input = new InputStream(hex2bin("1234567812345678"));
|
||||
$input = new CodedInputStream(hex2bin("1234567812345678"));
|
||||
GPBWire::readSfixed64($input, $value);
|
||||
if (PHP_INT_SIZE == 4) {
|
||||
$this->assertSame("8671175386481439762", $value);
|
||||
@ -207,8 +207,7 @@ class ImplementationTest extends TestBase
|
||||
$this->assertSame(3, GPBWire::zigZagEncode32(-2));
|
||||
$this->assertSame(0x7FFFFFFE, GPBWire::zigZagEncode32(0x3FFFFFFF));
|
||||
$this->assertSame(0x7FFFFFFF, GPBWire::zigZagEncode32(0xC0000000));
|
||||
$this->assertSame(-2, GPBWire::zigZagEncode32(0x7FFFFFFF));
|
||||
$this->assertSame(-1, GPBWire::zigZagEncode32(0x80000000));
|
||||
$this->assertSame(0x7FFFFFFF, GPBWire::zigZagEncode32(-1073741824));
|
||||
|
||||
$this->assertSame(0, GPBWire::zigZagDecode32(0));
|
||||
$this->assertSame(-1, GPBWire::zigZagDecode32(1));
|
||||
@ -220,6 +219,8 @@ class ImplementationTest extends TestBase
|
||||
$this->assertSame((int)-2147483648,GPBWire::zigZagDecode32(0xFFFFFFFF));
|
||||
|
||||
if (PHP_INT_SIZE == 4) {
|
||||
$this->assertSame(-2, GPBWire::zigZagEncode32(0x7FFFFFFF));
|
||||
$this->assertSame(-1, GPBWire::zigZagEncode32(0x80000000));
|
||||
$this->assertSame('0', GPBWire::zigZagEncode64(0));
|
||||
$this->assertSame('1', GPBWire::zigZagEncode64(-1));
|
||||
$this->assertSame('2', GPBWire::zigZagEncode64(1));
|
||||
@ -250,6 +251,8 @@ class ImplementationTest extends TestBase
|
||||
$this->assertSame('1', GPBWire::zigZagDecode64(2));
|
||||
$this->assertSame('-2', GPBWire::zigZagDecode64(3));
|
||||
} else {
|
||||
$this->assertSame(4294967294, GPBWire::zigZagEncode32(0x7FFFFFFF));
|
||||
$this->assertSame(4294967295, GPBWire::zigZagEncode32(0x80000000));
|
||||
$this->assertSame(0, GPBWire::zigZagEncode64(0));
|
||||
$this->assertSame(1, GPBWire::zigZagEncode64(-1));
|
||||
$this->assertSame(2, GPBWire::zigZagEncode64(1));
|
||||
@ -330,19 +333,19 @@ class ImplementationTest extends TestBase
|
||||
$var = 0;
|
||||
|
||||
// Empty buffer.
|
||||
$input = new InputStream(hex2bin(''));
|
||||
$input = new CodedInputStream(hex2bin(''));
|
||||
$this->assertFalse($input->readVarint64($var));
|
||||
|
||||
// The largest varint is 10 bytes long.
|
||||
$input = new InputStream(hex2bin('8080808080808080808001'));
|
||||
$input = new CodedInputStream(hex2bin('8080808080808080808001'));
|
||||
$this->assertFalse($input->readVarint64($var));
|
||||
|
||||
// Corrupted varint.
|
||||
$input = new InputStream(hex2bin('808080'));
|
||||
$input = new CodedInputStream(hex2bin('808080'));
|
||||
$this->assertFalse($input->readVarint64($var));
|
||||
|
||||
// Normal case.
|
||||
$input = new InputStream(hex2bin('808001'));
|
||||
$input = new CodedInputStream(hex2bin('808001'));
|
||||
$this->assertTrue($input->readVarint64($var));
|
||||
if (PHP_INT_SIZE == 4) {
|
||||
$this->assertSame('16384', $var);
|
||||
@ -352,7 +355,7 @@ class ImplementationTest extends TestBase
|
||||
$this->assertFalse($input->readVarint64($var));
|
||||
|
||||
// Read two varint.
|
||||
$input = new InputStream(hex2bin('808001808002'));
|
||||
$input = new CodedInputStream(hex2bin('808001808002'));
|
||||
$this->assertTrue($input->readVarint64($var));
|
||||
if (PHP_INT_SIZE == 4) {
|
||||
$this->assertSame('16384', $var);
|
||||
@ -390,7 +393,7 @@ class ImplementationTest extends TestBase
|
||||
);
|
||||
|
||||
foreach ($testVals as $original => $encoded) {
|
||||
$input = new InputStream(hex2bin($encoded));
|
||||
$input = new CodedInputStream(hex2bin($encoded));
|
||||
$this->assertTrue($input->readVarint64($var));
|
||||
$this->assertEquals($original, $var);
|
||||
}
|
||||
@ -401,25 +404,25 @@ class ImplementationTest extends TestBase
|
||||
$var = 0;
|
||||
|
||||
// Empty buffer.
|
||||
$input = new InputStream(hex2bin(''));
|
||||
$input = new CodedInputStream(hex2bin(''));
|
||||
$this->assertFalse($input->readVarint32($var));
|
||||
|
||||
// The largest varint is 10 bytes long.
|
||||
$input = new InputStream(hex2bin('8080808080808080808001'));
|
||||
$input = new CodedInputStream(hex2bin('8080808080808080808001'));
|
||||
$this->assertFalse($input->readVarint32($var));
|
||||
|
||||
// Corrupted varint.
|
||||
$input = new InputStream(hex2bin('808080'));
|
||||
$input = new CodedInputStream(hex2bin('808080'));
|
||||
$this->assertFalse($input->readVarint32($var));
|
||||
|
||||
// Normal case.
|
||||
$input = new InputStream(hex2bin('808001'));
|
||||
$input = new CodedInputStream(hex2bin('808001'));
|
||||
$this->assertTrue($input->readVarint32($var));
|
||||
$this->assertSame(16384, $var);
|
||||
$this->assertFalse($input->readVarint32($var));
|
||||
|
||||
// Read two varint.
|
||||
$input = new InputStream(hex2bin('808001808002'));
|
||||
$input = new CodedInputStream(hex2bin('808001808002'));
|
||||
$this->assertTrue($input->readVarint32($var));
|
||||
$this->assertSame(16384, $var);
|
||||
$this->assertTrue($input->readVarint32($var));
|
||||
@ -427,7 +430,7 @@ class ImplementationTest extends TestBase
|
||||
$this->assertFalse($input->readVarint32($var));
|
||||
|
||||
// Read a 64-bit integer. High-order bits should be discarded.
|
||||
$input = new InputStream(hex2bin('808081808001'));
|
||||
$input = new CodedInputStream(hex2bin('808081808001'));
|
||||
$this->assertTrue($input->readVarint32($var));
|
||||
$this->assertSame(16384, $var);
|
||||
$this->assertFalse($input->readVarint32($var));
|
||||
@ -435,7 +438,7 @@ class ImplementationTest extends TestBase
|
||||
|
||||
public function testReadTag()
|
||||
{
|
||||
$input = new InputStream(hex2bin('808001'));
|
||||
$input = new CodedInputStream(hex2bin('808001'));
|
||||
$tag = $input->readTag();
|
||||
$this->assertSame(16384, $tag);
|
||||
$tag = $input->readTag();
|
||||
@ -444,7 +447,7 @@ class ImplementationTest extends TestBase
|
||||
|
||||
public function testPushPopLimit()
|
||||
{
|
||||
$input = new InputStream(hex2bin('808001'));
|
||||
$input = new CodedInputStream(hex2bin('808001'));
|
||||
$old_limit = $input->pushLimit(0);
|
||||
$tag = $input->readTag();
|
||||
$this->assertSame(0, $tag);
|
||||
@ -455,7 +458,7 @@ class ImplementationTest extends TestBase
|
||||
|
||||
public function testReadRaw()
|
||||
{
|
||||
$input = new InputStream(hex2bin('808001'));
|
||||
$input = new CodedInputStream(hex2bin('808001'));
|
||||
$buffer = null;
|
||||
|
||||
$this->assertTrue($input->readRaw(3, $buffer));
|
||||
@ -466,33 +469,33 @@ class ImplementationTest extends TestBase
|
||||
|
||||
public function testWriteVarint32()
|
||||
{
|
||||
$output = new OutputStream(3);
|
||||
$output->writeVarint32(16384);
|
||||
$output = new CodedOutputStream(3);
|
||||
$output->writeVarint32(16384, true);
|
||||
$this->assertSame(hex2bin('808001'), $output->getData());
|
||||
|
||||
// Negative numbers are padded to be compatible with int64.
|
||||
$output = new OutputStream(10);
|
||||
$output->writeVarint32(-43);
|
||||
$output = new CodedOutputStream(10);
|
||||
$output->writeVarint32(-43, false);
|
||||
$this->assertSame(hex2bin('D5FFFFFFFFFFFFFFFF01'), $output->getData());
|
||||
}
|
||||
|
||||
public function testWriteVarint64()
|
||||
{
|
||||
$output = new OutputStream(10);
|
||||
$output = new CodedOutputStream(10);
|
||||
$output->writeVarint64(-43);
|
||||
$this->assertSame(hex2bin('D5FFFFFFFFFFFFFFFF01'), $output->getData());
|
||||
}
|
||||
|
||||
public function testWriteLittleEndian32()
|
||||
{
|
||||
$output = new OutputStream(4);
|
||||
$output = new CodedOutputStream(4);
|
||||
$output->writeLittleEndian32(46);
|
||||
$this->assertSame(hex2bin('2E000000'), $output->getData());
|
||||
}
|
||||
|
||||
public function testWriteLittleEndian64()
|
||||
{
|
||||
$output = new OutputStream(8);
|
||||
$output = new CodedOutputStream(8);
|
||||
$output->writeLittleEndian64(47);
|
||||
$this->assertSame(hex2bin('2F00000000000000'), $output->getData());
|
||||
}
|
||||
|
@ -8,7 +8,7 @@ set -e
|
||||
phpize && ./configure CFLAGS='-g -O0' && make
|
||||
popd
|
||||
|
||||
tests=( array_test.php encode_decode_test.php generated_class_test.php map_field_test.php well_known_test.php )
|
||||
tests=( array_test.php encode_decode_test.php generated_class_test.php generated_phpdoc_test.php map_field_test.php well_known_test.php )
|
||||
|
||||
for t in "${tests[@]}"
|
||||
do
|
||||
|
@ -19,6 +19,8 @@ class TestBase extends PHPUnit_Framework_TestCase
|
||||
|
||||
public function expectFields(TestMessage $m)
|
||||
{
|
||||
$this->assertSame(-42, $m->getOptionalInt32());
|
||||
$this->assertSame(42, $m->getOptionalUint32());
|
||||
$this->assertSame(-44, $m->getOptionalSint32());
|
||||
$this->assertSame(46, $m->getOptionalFixed32());
|
||||
$this->assertSame(-46, $m->getOptionalSfixed32());
|
||||
@ -27,6 +29,7 @@ class TestBase extends PHPUnit_Framework_TestCase
|
||||
$this->assertSame(true, $m->getOptionalBool());
|
||||
$this->assertSame('a', $m->getOptionalString());
|
||||
$this->assertSame('b', $m->getOptionalBytes());
|
||||
$this->assertSame(TestEnum::ONE, $m->getOptionalEnum());
|
||||
$this->assertSame(33, $m->getOptionalMessage()->getA());
|
||||
if (PHP_INT_SIZE == 4) {
|
||||
$this->assertSame('-43', $m->getOptionalInt64());
|
||||
|
920
php/tests/undefined_test.php
Normal file
920
php/tests/undefined_test.php
Normal file
@ -0,0 +1,920 @@
|
||||
<?php
|
||||
|
||||
require_once('test_util.php');
|
||||
|
||||
use Google\Protobuf\Internal\RepeatedField;
|
||||
use Google\Protobuf\Internal\GPBType;
|
||||
use Foo\TestMessage;
|
||||
use Foo\TestMessage_Sub;
|
||||
|
||||
class UndefinedTest extends PHPUnit_Framework_TestCase
|
||||
{
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testInt32AppendStringFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::INT32);
|
||||
$arr[] = 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testInt32SetStringFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::INT32);
|
||||
$arr[] = 0;
|
||||
$arr[0] = 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testInt32AppendMessageFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::INT32);
|
||||
$arr[] = new TestMessage_Sub();
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testInt32SetMessageFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::INT32);
|
||||
$arr[] = 0;
|
||||
$arr[0] = new TestMessage_Sub();
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testUint32AppendStringFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::UINT32);
|
||||
$arr[] = 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testUint32SetStringFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::UINT32);
|
||||
$arr[] = 0;
|
||||
$arr[0] = 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testUint32AppendMessageFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::UINT32);
|
||||
$arr[] = new TestMessage_Sub();
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testUint32SetMessageFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::UINT32);
|
||||
$arr[] = 0;
|
||||
$arr[0] = new TestMessage_Sub();
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testInt64AppendStringFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::INT64);
|
||||
$arr[] = 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testInt64SetStringFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::INT64);
|
||||
$arr[] = 0;
|
||||
$arr[0] = 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testInt64AppendMessageFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::INT64);
|
||||
$arr[] = new TestMessage_Sub();
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testInt64SetMessageFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::INT64);
|
||||
$arr[] = 0;
|
||||
$arr[0] = new TestMessage_Sub();
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testUint64AppendStringFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::UINT64);
|
||||
$arr[] = 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testUint64SetStringFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::UINT64);
|
||||
$arr[] = 0;
|
||||
$arr[0] = 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testUint64AppendMessageFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::UINT64);
|
||||
$arr[] = new TestMessage_Sub();
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testUint64SetMessageFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::UINT64);
|
||||
$arr[] = 0;
|
||||
$arr[0] = new TestMessage_Sub();
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testFloatAppendStringFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::FLOAT);
|
||||
$arr[] = 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testFloatSetStringFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::FLOAT);
|
||||
$arr[] = 0.0;
|
||||
$arr[0] = 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testFloatAppendMessageFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::FLOAT);
|
||||
$arr[] = new TestMessage_Sub();
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testFloatSetMessageFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::FLOAT);
|
||||
$arr[] = 0.0;
|
||||
$arr[0] = new TestMessage_Sub();
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testDoubleAppendStringFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::DOUBLE);
|
||||
$arr[] = 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testDoubleSetStringFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::DOUBLE);
|
||||
$arr[] = 0.0;
|
||||
$arr[0] = 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testDoubleAppendMessageFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::DOUBLE);
|
||||
$arr[] = new TestMessage_Sub();
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testDoubleSetMessageFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::DOUBLE);
|
||||
$arr[] = 0.0;
|
||||
$arr[0] = new TestMessage_Sub();
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testBoolAppendMessageFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::BOOL);
|
||||
$arr[] = new TestMessage_Sub();
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testBoolSetMessageFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::BOOL);
|
||||
$arr[] = true;
|
||||
$arr[0] = new TestMessage_Sub();
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testStringAppendMessageFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::STRING);
|
||||
$arr[] = new TestMessage_Sub();
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testStringSetMessageFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::STRING);
|
||||
$arr[] = 'abc';
|
||||
$arr[0] = new TestMessage_Sub();
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testStringAppendInvalidUTF8Fail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::STRING);
|
||||
$hex = hex2bin("ff");
|
||||
$arr[] = $hex;
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testStringSetInvalidUTF8Fail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::STRING);
|
||||
$arr[] = 'abc';
|
||||
$hex = hex2bin("ff");
|
||||
$arr[0] = $hex;
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testMessageAppendIntFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::MESSAGE, TestMessage_Sub::class);
|
||||
$arr[] = 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testMessageSetIntFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::MESSAGE, TestMessage_Sub::class);
|
||||
$arr[] = new TestMessage_Sub;
|
||||
$arr[0] = 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testMessageAppendStringFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::MESSAGE, TestMessage_Sub::class);
|
||||
$arr[] = 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testMessageSetStringFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::MESSAGE, TestMessage_Sub::class);
|
||||
$arr[] = new TestMessage_Sub;
|
||||
$arr[0] = 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testMessageAppendOtherMessageFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::MESSAGE, TestMessage_Sub::class);
|
||||
$arr[] = new TestMessage;
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testMessageAppendNullFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::MESSAGE, TestMessage_Sub::class);
|
||||
$null = null;
|
||||
$arr[] = $null;
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testMessageSetNullFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::MESSAGE, TestMessage_Sub::class);
|
||||
$arr[] = new TestMessage_Sub();
|
||||
$null = null;
|
||||
$arr[0] = $null;
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testRemoveMiddleFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::INT32);
|
||||
|
||||
$arr[] = 0;
|
||||
$arr[] = 1;
|
||||
$arr[] = 2;
|
||||
$this->assertSame(3, count($arr));
|
||||
|
||||
unset($arr[1]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testRemoveEmptyFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::INT32);
|
||||
|
||||
unset($arr[0]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testMessageOffsetFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::INT32);
|
||||
$arr[] = 0;
|
||||
$arr[new TestMessage_Sub()] = 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testStringOffsetFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::INT32);
|
||||
$arr[] = 0;
|
||||
$arr['abc'] = 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testSetNonExistedOffsetFail()
|
||||
{
|
||||
$arr = new RepeatedField(GPBType::INT32);
|
||||
$arr[0] = 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testInt32FieldInvalidTypeFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->setOptionalInt32(new TestMessage());
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testInt32FieldInvalidStringFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->setOptionalInt32('abc');
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testUint32FieldInvalidTypeFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->setOptionalUint32(new TestMessage());
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testUint32FieldInvalidStringFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->setOptionalUint32('abc');
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testInt64FieldInvalidTypeFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->setOptionalInt64(new TestMessage());
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testInt64FieldInvalidStringFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->setOptionalInt64('abc');
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testUint64FieldInvalidTypeFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->setOptionalUint64(new TestMessage());
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testUint64FieldInvalidStringFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->setOptionalUint64('abc');
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testFloatFieldInvalidTypeFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->setOptionalFloat(new TestMessage());
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testFloatFieldInvalidStringFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->setOptionalFloat('abc');
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testDoubleFieldInvalidTypeFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->setOptionalDouble(new TestMessage());
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testDoubleFieldInvalidStringFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->setOptionalDouble('abc');
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testBoolFieldInvalidStringFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->setOptionalBool(new TestMessage());
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testStringFieldInvalidUTF8Fail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$hex = hex2bin("ff");
|
||||
$m->setOptionalString($hex);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testMessageFieldWrongTypeFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$a = 1;
|
||||
$m->setOptionalMessage($a);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testMessageFieldWrongClassFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->setOptionalMessage(new TestMessage());
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testRepeatedFieldWrongTypeFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$a = 1;
|
||||
$m->setRepeatedInt32($a);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testRepeatedFieldWrongObjectFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->setRepeatedInt32($m);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testRepeatedFieldWrongRepeatedTypeFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
|
||||
$repeated_int32 = new RepeatedField(GPBType::UINT32);
|
||||
$m->setRepeatedInt32($repeated_int32);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testRepeatedFieldWrongRepeatedMessageClassFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
|
||||
$repeated_message = new RepeatedField(GPBType::MESSAGE,
|
||||
TestMessage::class);
|
||||
$m->setRepeatedMessage($repeated_message);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testMapFieldWrongTypeFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$a = 1;
|
||||
$m->setMapInt32Int32($a);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testMapFieldWrongObjectFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$m->setMapInt32Int32($m);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testMapFieldWrongRepeatedTypeFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
|
||||
$map_uint32_uint32 = new MapField(GPBType::UINT32, GPBType::UINT32);
|
||||
$m->setMapInt32Int32($map_uint32_uint32);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testMapFieldWrongRepeatedMessageClassFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
|
||||
$map_int32_message = new MapField(GPBType::INT32,
|
||||
GPBType::MESSAGE,
|
||||
TestMessage::class);
|
||||
$m->setMapInt32Message($map_int32_message);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testMessageMergeFromInvalidTypeFail()
|
||||
{
|
||||
$m = new TestMessage();
|
||||
$n = new TestMessage_Sub();
|
||||
$m->mergeFrom($n);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testInt32SetStringKeyFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::INT32, GPBType::INT32);
|
||||
$arr['abc'] = 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testInt32SetStringValueFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::INT32, GPBType::INT32);
|
||||
$arr[0] = 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testInt32SetMessageKeyFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::INT32, GPBType::INT32);
|
||||
$arr[new TestMessage_Sub()] = 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testInt32SetMessageValueFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::INT32, GPBType::INT32);
|
||||
$arr[0] = new TestMessage_Sub();
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testUint32SetStringKeyFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::UINT32, GPBType::UINT32);
|
||||
$arr['abc'] = 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testUint32SetStringValueFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::UINT32, GPBType::UINT32);
|
||||
$arr[0] = 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testUint32SetMessageKeyFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::UINT32, GPBType::UINT32);
|
||||
$arr[new TestMessage_Sub()] = 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testUint32SetMessageValueFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::UINT32, GPBType::UINT32);
|
||||
$arr[0] = new TestMessage_Sub();
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testInt64SetStringKeyFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::INT64, GPBType::INT64);
|
||||
$arr['abc'] = 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testInt64SetStringValueFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::INT64, GPBType::INT64);
|
||||
$arr[0] = 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testInt64SetMessageKeyFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::INT64, GPBType::INT64);
|
||||
$arr[new TestMessage_Sub()] = 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testInt64SetMessageValueFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::INT64, GPBType::INT64);
|
||||
$arr[0] = new TestMessage_Sub();
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testUint64SetStringKeyFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::UINT64, GPBType::UINT64);
|
||||
$arr['abc'] = 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testUint64SetStringValueFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::UINT64, GPBType::UINT64);
|
||||
$arr[0] = 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testUint64SetMessageKeyFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::UINT64, GPBType::UINT64);
|
||||
$arr[new TestMessage_Sub()] = 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testUint64SetMessageValueFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::UINT64, GPBType::UINT64);
|
||||
$arr[0] = new TestMessage_Sub();
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testDoubleSetStringValueFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::INT64, GPBType::DOUBLE);
|
||||
$arr[0] = 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testDoubleSetMessageValueFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::INT64, GPBType::DOUBLE);
|
||||
$arr[0] = new TestMessage_Sub();
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testBoolSetMessageKeyFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::BOOL, GPBType::BOOL);
|
||||
$arr[new TestMessage_Sub()] = true;
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testBoolSetMessageValueFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::BOOL, GPBType::BOOL);
|
||||
$arr[true] = new TestMessage_Sub();
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testStringSetInvalidUTF8KeyFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::STRING, GPBType::STRING);
|
||||
$arr[hex2bin("ff")] = 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testStringSetInvalidUTF8ValueFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::STRING, GPBType::STRING);
|
||||
$arr['abc'] = hex2bin("ff");
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testStringSetMessageKeyFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::STRING, GPBType::STRING);
|
||||
$arr[new TestMessage_Sub()] = 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testStringSetMessageValueFail()
|
||||
{
|
||||
$arr = new MapField(GPBType::STRING, GPBType::STRING);
|
||||
$arr['abc'] = new TestMessage_Sub();
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testMessageSetIntValueFail()
|
||||
{
|
||||
$arr =
|
||||
new MapField(GPBType::INT32, GPBType::MESSAGE, TestMessage::class);
|
||||
$arr[0] = 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testMessageSetStringValueFail()
|
||||
{
|
||||
$arr =
|
||||
new MapField(GPBType::INT32, GPBType::MESSAGE, TestMessage::class);
|
||||
$arr[0] = 'abc';
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testMessageSetOtherMessageValueFail()
|
||||
{
|
||||
$arr =
|
||||
new MapField(GPBType::INT32, GPBType::MESSAGE, TestMessage::class);
|
||||
$arr[0] = new TestMessage_Sub();
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException PHPUnit_Framework_Error
|
||||
*/
|
||||
public function testMessageSetNullFail()
|
||||
{
|
||||
$arr =
|
||||
new MapField(GPBType::INT32, GPBType::MESSAGE, TestMessage::class);
|
||||
$null = NULL;
|
||||
$arr[0] = $null;
|
||||
}
|
||||
|
||||
}
|
@ -30,7 +30,7 @@ RUN wget http://people.centos.org/tru/devtools-1.1/devtools-1.1.repo -P /etc/yum
|
||||
RUN bash -c 'echo "enabled=1" >> /etc/yum.repos.d/devtools-1.1.repo'
|
||||
RUN bash -c "sed -e 's/\$basearch/i386/g' /etc/yum.repos.d/devtools-1.1.repo > /etc/yum.repos.d/devtools-i386-1.1.repo"
|
||||
RUN sed -e 's/testing-/testing-i386-/g' -i /etc/yum.repos.d/devtools-i386-1.1.repo
|
||||
RUN yum install -y devtoolset-1.1 \
|
||||
RUN rpm --rebuilddb && yum install -y devtoolset-1.1 \
|
||||
devtoolset-1.1-libstdc++-devel \
|
||||
devtoolset-1.1-libstdc++-devel.i686
|
||||
|
||||
|
6
python/release/wheel/Dockerfile
Normal file
6
python/release/wheel/Dockerfile
Normal file
@ -0,0 +1,6 @@
|
||||
FROM quay.io/pypa/manylinux1_x86_64
|
||||
|
||||
RUN yum install -y libtool
|
||||
RUN /opt/python/cp27-cp27mu/bin/pip install twine
|
||||
|
||||
COPY protobuf_optimized_pip.sh /
|
17
python/release/wheel/README.md
Normal file
17
python/release/wheel/README.md
Normal file
@ -0,0 +1,17 @@
|
||||
Description
|
||||
------------------------------
|
||||
This directory is used to build released wheels according to PEP513 and upload
|
||||
them to pypi.
|
||||
|
||||
Usage
|
||||
------------------------------
|
||||
For example, to release 3.3.0:
|
||||
./protobuf_optimized_pip.sh 3.3.0 PYPI_USERNAME PYPI_PASSWORD
|
||||
|
||||
Structure
|
||||
------------------------------
|
||||
| Source | Source |
|
||||
|--------------------------------------|---------------------------------------------------|
|
||||
| protobuf_optimized_pip.sh | Entry point. Calling Dockerfile and build_wheel_manylinux.sh |
|
||||
| Dockerfile | Build docker image according to PEP513. |
|
||||
| build_wheel_manylinux.sh | Build wheel packages in the docker container. |
|
27
python/release/wheel/build_wheel_manylinux.sh
Executable file
27
python/release/wheel/build_wheel_manylinux.sh
Executable file
@ -0,0 +1,27 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Print usage and fail.
|
||||
function usage() {
|
||||
echo "Usage: protobuf_optimized_pip.sh PROTOBUF_VERSION PYPI_USERNAME PYPI_PASSWORD" >&2
|
||||
exit 1 # Causes caller to exit because we use -e.
|
||||
}
|
||||
|
||||
# Validate arguments.
|
||||
if [ $0 != ./build_wheel_manylinux.sh ]; then
|
||||
echo "Please run this script from the directory in which it is located." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ $# -lt 3 ]; then
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
PROTOBUF_VERSION=$1
|
||||
PYPI_USERNAME=$2
|
||||
PYPI_PASSWORD=$3
|
||||
|
||||
docker rmi protobuf-python-wheel
|
||||
docker build . -t protobuf-python-wheel
|
||||
docker run --rm protobuf-python-wheel ./protobuf_optimized_pip.sh $PROTOBUF_VERSION $PYPI_USERNAME $PYPI_PASSWORD
|
||||
docker rmi protobuf-python-wheel
|
66
python/release/wheel/protobuf_optimized_pip.sh
Executable file
66
python/release/wheel/protobuf_optimized_pip.sh
Executable file
@ -0,0 +1,66 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# DO NOT use this script manually! Called by docker.
|
||||
|
||||
set -ex
|
||||
|
||||
# Print usage and fail.
|
||||
function usage() {
|
||||
echo "Usage: protobuf_optimized_pip.sh PROTOBUF_VERSION PYPI_USERNAME PYPI_PASSWORD" >&2
|
||||
exit 1 # Causes caller to exit because we use -e.
|
||||
}
|
||||
|
||||
# Build wheel
|
||||
function build_wheel() {
|
||||
PYTHON_VERSION=$1
|
||||
PYTHON_BIN=/opt/python/${PYTHON_VERSION}/bin/python
|
||||
|
||||
$PYTHON_BIN setup.py bdist_wheel --cpp_implementation --compile_static_extension
|
||||
auditwheel repair dist/protobuf-${PROTOBUF_VERSION}-${PYTHON_VERSION}-linux_x86_64.whl
|
||||
}
|
||||
|
||||
# Validate arguments.
|
||||
if [ $0 != ./protobuf_optimized_pip.sh ]; then
|
||||
echo "Please run this script from the directory in which it is located." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ $# -lt 3 ]; then
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
PROTOBUF_VERSION=$1
|
||||
PYPI_USERNAME=$2
|
||||
PYPI_PASSWORD=$3
|
||||
|
||||
DIR=${PWD}/'protobuf-python-build'
|
||||
PYTHON_VERSIONS=('cp27-cp27mu' 'cp33-cp33m' 'cp34-cp34m' 'cp35-cp35m' 'cp36-cp36m')
|
||||
|
||||
mkdir -p ${DIR}
|
||||
cd ${DIR}
|
||||
curl -SsL -O https://github.com/google/protobuf/archive/v${PROTOBUF_VERSION}.tar.gz
|
||||
tar xzf v${PROTOBUF_VERSION}.tar.gz
|
||||
cd $DIR/protobuf-${PROTOBUF_VERSION}
|
||||
|
||||
# Autoconf on centos 5.11 cannot recognize AC_PROG_OBJC.
|
||||
sed -i '/AC_PROG_OBJC/d' configure.ac
|
||||
sed -i 's/conformance\/Makefile//g' configure.ac
|
||||
|
||||
# Build protoc
|
||||
./autogen.sh
|
||||
CXXFLAGS="-fPIC -g -O2" ./configure
|
||||
make -j8
|
||||
export PROTOC=$DIR/src/protoc
|
||||
|
||||
cd python
|
||||
|
||||
for PYTHON_VERSION in "${PYTHON_VERSIONS[@]}"
|
||||
do
|
||||
build_wheel $PYTHON_VERSION
|
||||
done
|
||||
|
||||
/opt/python/cp27-cp27mu/bin/twine upload wheelhouse/* <<!
|
||||
$PYPI_USERNAME
|
||||
$PYPI_PASSWORD
|
||||
!
|
@ -924,7 +924,7 @@ no_warning_test_LDADD = $(PTHREAD_LIBS) libprotobuf.la \
|
||||
../gmock/gtest/lib/libgtest_main.la
|
||||
no_warning_test_CPPFLAGS = -I$(srcdir)/../gmock/gtest/include
|
||||
no_warning_test_CXXFLAGS = $(PTHREAD_CFLAGS) $(PTHREAD_DEF) $(ZLIB_DEF) \
|
||||
-Wall -Werror
|
||||
-Wall -Wconversion -Werror
|
||||
nodist_no_warning_test_SOURCES = no_warning_test.cc $(protoc_outputs)
|
||||
|
||||
TESTS = protobuf-test protobuf-lazy-descriptor-test protobuf-lite-test \
|
||||
|
@ -240,7 +240,7 @@ bool Any::MergePartialFromCodedStream(
|
||||
DO_(::google::protobuf::internal::WireFormatLite::ReadString(
|
||||
input, this->mutable_type_url()));
|
||||
DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
|
||||
this->type_url().data(), this->type_url().length(),
|
||||
this->type_url().data(), static_cast<int>(this->type_url().length()),
|
||||
::google::protobuf::internal::WireFormatLite::PARSE,
|
||||
"google.protobuf.Any.type_url"));
|
||||
} else {
|
||||
@ -291,7 +291,7 @@ void Any::SerializeWithCachedSizes(
|
||||
// string type_url = 1;
|
||||
if (this->type_url().size() > 0) {
|
||||
::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
|
||||
this->type_url().data(), this->type_url().length(),
|
||||
this->type_url().data(), static_cast<int>(this->type_url().length()),
|
||||
::google::protobuf::internal::WireFormatLite::SERIALIZE,
|
||||
"google.protobuf.Any.type_url");
|
||||
::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
|
||||
@ -316,7 +316,7 @@ void Any::SerializeWithCachedSizes(
|
||||
// string type_url = 1;
|
||||
if (this->type_url().size() > 0) {
|
||||
::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
|
||||
this->type_url().data(), this->type_url().length(),
|
||||
this->type_url().data(), static_cast<int>(this->type_url().length()),
|
||||
::google::protobuf::internal::WireFormatLite::SERIALIZE,
|
||||
"google.protobuf.Any.type_url");
|
||||
target =
|
||||
|
@ -240,8 +240,9 @@ Api::Api(const Api& from)
|
||||
void Api::SharedCtor() {
|
||||
name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
|
||||
version_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
|
||||
::memset(&source_context_, 0, reinterpret_cast<char*>(&syntax_) -
|
||||
reinterpret_cast<char*>(&source_context_) + sizeof(syntax_));
|
||||
::memset(&source_context_, 0, static_cast<size_t>(
|
||||
reinterpret_cast<char*>(&syntax_) -
|
||||
reinterpret_cast<char*>(&source_context_)) + sizeof(syntax_));
|
||||
_cached_size_ = 0;
|
||||
}
|
||||
|
||||
@ -312,7 +313,7 @@ bool Api::MergePartialFromCodedStream(
|
||||
DO_(::google::protobuf::internal::WireFormatLite::ReadString(
|
||||
input, this->mutable_name()));
|
||||
DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
|
||||
this->name().data(), this->name().length(),
|
||||
this->name().data(), static_cast<int>(this->name().length()),
|
||||
::google::protobuf::internal::WireFormatLite::PARSE,
|
||||
"google.protobuf.Api.name"));
|
||||
} else {
|
||||
@ -352,7 +353,7 @@ bool Api::MergePartialFromCodedStream(
|
||||
DO_(::google::protobuf::internal::WireFormatLite::ReadString(
|
||||
input, this->mutable_version()));
|
||||
DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
|
||||
this->version().data(), this->version().length(),
|
||||
this->version().data(), static_cast<int>(this->version().length()),
|
||||
::google::protobuf::internal::WireFormatLite::PARSE,
|
||||
"google.protobuf.Api.version"));
|
||||
} else {
|
||||
@ -430,7 +431,7 @@ void Api::SerializeWithCachedSizes(
|
||||
// string name = 1;
|
||||
if (this->name().size() > 0) {
|
||||
::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
|
||||
this->name().data(), this->name().length(),
|
||||
this->name().data(), static_cast<int>(this->name().length()),
|
||||
::google::protobuf::internal::WireFormatLite::SERIALIZE,
|
||||
"google.protobuf.Api.name");
|
||||
::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
|
||||
@ -438,21 +439,23 @@ void Api::SerializeWithCachedSizes(
|
||||
}
|
||||
|
||||
// repeated .google.protobuf.Method methods = 2;
|
||||
for (unsigned int i = 0, n = this->methods_size(); i < n; i++) {
|
||||
for (unsigned int i = 0,
|
||||
n = static_cast<unsigned int>(this->methods_size()); i < n; i++) {
|
||||
::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
|
||||
2, this->methods(i), output);
|
||||
2, this->methods(static_cast<int>(i)), output);
|
||||
}
|
||||
|
||||
// repeated .google.protobuf.Option options = 3;
|
||||
for (unsigned int i = 0, n = this->options_size(); i < n; i++) {
|
||||
for (unsigned int i = 0,
|
||||
n = static_cast<unsigned int>(this->options_size()); i < n; i++) {
|
||||
::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
|
||||
3, this->options(i), output);
|
||||
3, this->options(static_cast<int>(i)), output);
|
||||
}
|
||||
|
||||
// string version = 4;
|
||||
if (this->version().size() > 0) {
|
||||
::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
|
||||
this->version().data(), this->version().length(),
|
||||
this->version().data(), static_cast<int>(this->version().length()),
|
||||
::google::protobuf::internal::WireFormatLite::SERIALIZE,
|
||||
"google.protobuf.Api.version");
|
||||
::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
|
||||
@ -466,9 +469,10 @@ void Api::SerializeWithCachedSizes(
|
||||
}
|
||||
|
||||
// repeated .google.protobuf.Mixin mixins = 6;
|
||||
for (unsigned int i = 0, n = this->mixins_size(); i < n; i++) {
|
||||
for (unsigned int i = 0,
|
||||
n = static_cast<unsigned int>(this->mixins_size()); i < n; i++) {
|
||||
::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
|
||||
6, this->mixins(i), output);
|
||||
6, this->mixins(static_cast<int>(i)), output);
|
||||
}
|
||||
|
||||
// .google.protobuf.Syntax syntax = 7;
|
||||
@ -489,7 +493,7 @@ void Api::SerializeWithCachedSizes(
|
||||
// string name = 1;
|
||||
if (this->name().size() > 0) {
|
||||
::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
|
||||
this->name().data(), this->name().length(),
|
||||
this->name().data(), static_cast<int>(this->name().length()),
|
||||
::google::protobuf::internal::WireFormatLite::SERIALIZE,
|
||||
"google.protobuf.Api.name");
|
||||
target =
|
||||
@ -498,23 +502,25 @@ void Api::SerializeWithCachedSizes(
|
||||
}
|
||||
|
||||
// repeated .google.protobuf.Method methods = 2;
|
||||
for (unsigned int i = 0, n = this->methods_size(); i < n; i++) {
|
||||
for (unsigned int i = 0,
|
||||
n = static_cast<unsigned int>(this->methods_size()); i < n; i++) {
|
||||
target = ::google::protobuf::internal::WireFormatLite::
|
||||
InternalWriteMessageNoVirtualToArray(
|
||||
2, this->methods(i), deterministic, target);
|
||||
2, this->methods(static_cast<int>(i)), deterministic, target);
|
||||
}
|
||||
|
||||
// repeated .google.protobuf.Option options = 3;
|
||||
for (unsigned int i = 0, n = this->options_size(); i < n; i++) {
|
||||
for (unsigned int i = 0,
|
||||
n = static_cast<unsigned int>(this->options_size()); i < n; i++) {
|
||||
target = ::google::protobuf::internal::WireFormatLite::
|
||||
InternalWriteMessageNoVirtualToArray(
|
||||
3, this->options(i), deterministic, target);
|
||||
3, this->options(static_cast<int>(i)), deterministic, target);
|
||||
}
|
||||
|
||||
// string version = 4;
|
||||
if (this->version().size() > 0) {
|
||||
::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
|
||||
this->version().data(), this->version().length(),
|
||||
this->version().data(), static_cast<int>(this->version().length()),
|
||||
::google::protobuf::internal::WireFormatLite::SERIALIZE,
|
||||
"google.protobuf.Api.version");
|
||||
target =
|
||||
@ -530,10 +536,11 @@ void Api::SerializeWithCachedSizes(
|
||||
}
|
||||
|
||||
// repeated .google.protobuf.Mixin mixins = 6;
|
||||
for (unsigned int i = 0, n = this->mixins_size(); i < n; i++) {
|
||||
for (unsigned int i = 0,
|
||||
n = static_cast<unsigned int>(this->mixins_size()); i < n; i++) {
|
||||
target = ::google::protobuf::internal::WireFormatLite::
|
||||
InternalWriteMessageNoVirtualToArray(
|
||||
6, this->mixins(i), deterministic, target);
|
||||
6, this->mixins(static_cast<int>(i)), deterministic, target);
|
||||
}
|
||||
|
||||
// .google.protobuf.Syntax syntax = 7;
|
||||
@ -552,34 +559,34 @@ size_t Api::ByteSizeLong() const {
|
||||
|
||||
// repeated .google.protobuf.Method methods = 2;
|
||||
{
|
||||
unsigned int count = this->methods_size();
|
||||
unsigned int count = static_cast<unsigned int>(this->methods_size());
|
||||
total_size += 1UL * count;
|
||||
for (unsigned int i = 0; i < count; i++) {
|
||||
total_size +=
|
||||
::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
|
||||
this->methods(i));
|
||||
this->methods(static_cast<int>(i)));
|
||||
}
|
||||
}
|
||||
|
||||
// repeated .google.protobuf.Option options = 3;
|
||||
{
|
||||
unsigned int count = this->options_size();
|
||||
unsigned int count = static_cast<unsigned int>(this->options_size());
|
||||
total_size += 1UL * count;
|
||||
for (unsigned int i = 0; i < count; i++) {
|
||||
total_size +=
|
||||
::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
|
||||
this->options(i));
|
||||
this->options(static_cast<int>(i)));
|
||||
}
|
||||
}
|
||||
|
||||
// repeated .google.protobuf.Mixin mixins = 6;
|
||||
{
|
||||
unsigned int count = this->mixins_size();
|
||||
unsigned int count = static_cast<unsigned int>(this->mixins_size());
|
||||
total_size += 1UL * count;
|
||||
for (unsigned int i = 0; i < count; i++) {
|
||||
total_size +=
|
||||
::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
|
||||
this->mixins(i));
|
||||
this->mixins(static_cast<int>(i)));
|
||||
}
|
||||
}
|
||||
|
||||
@ -989,8 +996,8 @@ Method::Method(const Method& from)
|
||||
response_type_url_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.response_type_url_);
|
||||
}
|
||||
::memcpy(&request_streaming_, &from.request_streaming_,
|
||||
reinterpret_cast<char*>(&syntax_) -
|
||||
reinterpret_cast<char*>(&request_streaming_) + sizeof(syntax_));
|
||||
static_cast<size_t>(reinterpret_cast<char*>(&syntax_) -
|
||||
reinterpret_cast<char*>(&request_streaming_)) + sizeof(syntax_));
|
||||
// @@protoc_insertion_point(copy_constructor:google.protobuf.Method)
|
||||
}
|
||||
|
||||
@ -998,8 +1005,9 @@ void Method::SharedCtor() {
|
||||
name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
|
||||
request_type_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
|
||||
response_type_url_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
|
||||
::memset(&request_streaming_, 0, reinterpret_cast<char*>(&syntax_) -
|
||||
reinterpret_cast<char*>(&request_streaming_) + sizeof(syntax_));
|
||||
::memset(&request_streaming_, 0, static_cast<size_t>(
|
||||
reinterpret_cast<char*>(&syntax_) -
|
||||
reinterpret_cast<char*>(&request_streaming_)) + sizeof(syntax_));
|
||||
_cached_size_ = 0;
|
||||
}
|
||||
|
||||
@ -1043,8 +1051,9 @@ void Method::Clear() {
|
||||
name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
|
||||
request_type_url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
|
||||
response_type_url_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
|
||||
::memset(&request_streaming_, 0, reinterpret_cast<char*>(&syntax_) -
|
||||
reinterpret_cast<char*>(&request_streaming_) + sizeof(syntax_));
|
||||
::memset(&request_streaming_, 0, static_cast<size_t>(
|
||||
reinterpret_cast<char*>(&syntax_) -
|
||||
reinterpret_cast<char*>(&request_streaming_)) + sizeof(syntax_));
|
||||
}
|
||||
|
||||
bool Method::MergePartialFromCodedStream(
|
||||
@ -1064,7 +1073,7 @@ bool Method::MergePartialFromCodedStream(
|
||||
DO_(::google::protobuf::internal::WireFormatLite::ReadString(
|
||||
input, this->mutable_name()));
|
||||
DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
|
||||
this->name().data(), this->name().length(),
|
||||
this->name().data(), static_cast<int>(this->name().length()),
|
||||
::google::protobuf::internal::WireFormatLite::PARSE,
|
||||
"google.protobuf.Method.name"));
|
||||
} else {
|
||||
@ -1080,7 +1089,7 @@ bool Method::MergePartialFromCodedStream(
|
||||
DO_(::google::protobuf::internal::WireFormatLite::ReadString(
|
||||
input, this->mutable_request_type_url()));
|
||||
DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
|
||||
this->request_type_url().data(), this->request_type_url().length(),
|
||||
this->request_type_url().data(), static_cast<int>(this->request_type_url().length()),
|
||||
::google::protobuf::internal::WireFormatLite::PARSE,
|
||||
"google.protobuf.Method.request_type_url"));
|
||||
} else {
|
||||
@ -1110,7 +1119,7 @@ bool Method::MergePartialFromCodedStream(
|
||||
DO_(::google::protobuf::internal::WireFormatLite::ReadString(
|
||||
input, this->mutable_response_type_url()));
|
||||
DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
|
||||
this->response_type_url().data(), this->response_type_url().length(),
|
||||
this->response_type_url().data(), static_cast<int>(this->response_type_url().length()),
|
||||
::google::protobuf::internal::WireFormatLite::PARSE,
|
||||
"google.protobuf.Method.response_type_url"));
|
||||
} else {
|
||||
@ -1190,7 +1199,7 @@ void Method::SerializeWithCachedSizes(
|
||||
// string name = 1;
|
||||
if (this->name().size() > 0) {
|
||||
::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
|
||||
this->name().data(), this->name().length(),
|
||||
this->name().data(), static_cast<int>(this->name().length()),
|
||||
::google::protobuf::internal::WireFormatLite::SERIALIZE,
|
||||
"google.protobuf.Method.name");
|
||||
::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
|
||||
@ -1200,7 +1209,7 @@ void Method::SerializeWithCachedSizes(
|
||||
// string request_type_url = 2;
|
||||
if (this->request_type_url().size() > 0) {
|
||||
::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
|
||||
this->request_type_url().data(), this->request_type_url().length(),
|
||||
this->request_type_url().data(), static_cast<int>(this->request_type_url().length()),
|
||||
::google::protobuf::internal::WireFormatLite::SERIALIZE,
|
||||
"google.protobuf.Method.request_type_url");
|
||||
::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
|
||||
@ -1215,7 +1224,7 @@ void Method::SerializeWithCachedSizes(
|
||||
// string response_type_url = 4;
|
||||
if (this->response_type_url().size() > 0) {
|
||||
::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
|
||||
this->response_type_url().data(), this->response_type_url().length(),
|
||||
this->response_type_url().data(), static_cast<int>(this->response_type_url().length()),
|
||||
::google::protobuf::internal::WireFormatLite::SERIALIZE,
|
||||
"google.protobuf.Method.response_type_url");
|
||||
::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
|
||||
@ -1228,9 +1237,10 @@ void Method::SerializeWithCachedSizes(
|
||||
}
|
||||
|
||||
// repeated .google.protobuf.Option options = 6;
|
||||
for (unsigned int i = 0, n = this->options_size(); i < n; i++) {
|
||||
for (unsigned int i = 0,
|
||||
n = static_cast<unsigned int>(this->options_size()); i < n; i++) {
|
||||
::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
|
||||
6, this->options(i), output);
|
||||
6, this->options(static_cast<int>(i)), output);
|
||||
}
|
||||
|
||||
// .google.protobuf.Syntax syntax = 7;
|
||||
@ -1251,7 +1261,7 @@ void Method::SerializeWithCachedSizes(
|
||||
// string name = 1;
|
||||
if (this->name().size() > 0) {
|
||||
::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
|
||||
this->name().data(), this->name().length(),
|
||||
this->name().data(), static_cast<int>(this->name().length()),
|
||||
::google::protobuf::internal::WireFormatLite::SERIALIZE,
|
||||
"google.protobuf.Method.name");
|
||||
target =
|
||||
@ -1262,7 +1272,7 @@ void Method::SerializeWithCachedSizes(
|
||||
// string request_type_url = 2;
|
||||
if (this->request_type_url().size() > 0) {
|
||||
::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
|
||||
this->request_type_url().data(), this->request_type_url().length(),
|
||||
this->request_type_url().data(), static_cast<int>(this->request_type_url().length()),
|
||||
::google::protobuf::internal::WireFormatLite::SERIALIZE,
|
||||
"google.protobuf.Method.request_type_url");
|
||||
target =
|
||||
@ -1278,7 +1288,7 @@ void Method::SerializeWithCachedSizes(
|
||||
// string response_type_url = 4;
|
||||
if (this->response_type_url().size() > 0) {
|
||||
::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
|
||||
this->response_type_url().data(), this->response_type_url().length(),
|
||||
this->response_type_url().data(), static_cast<int>(this->response_type_url().length()),
|
||||
::google::protobuf::internal::WireFormatLite::SERIALIZE,
|
||||
"google.protobuf.Method.response_type_url");
|
||||
target =
|
||||
@ -1292,10 +1302,11 @@ void Method::SerializeWithCachedSizes(
|
||||
}
|
||||
|
||||
// repeated .google.protobuf.Option options = 6;
|
||||
for (unsigned int i = 0, n = this->options_size(); i < n; i++) {
|
||||
for (unsigned int i = 0,
|
||||
n = static_cast<unsigned int>(this->options_size()); i < n; i++) {
|
||||
target = ::google::protobuf::internal::WireFormatLite::
|
||||
InternalWriteMessageNoVirtualToArray(
|
||||
6, this->options(i), deterministic, target);
|
||||
6, this->options(static_cast<int>(i)), deterministic, target);
|
||||
}
|
||||
|
||||
// .google.protobuf.Syntax syntax = 7;
|
||||
@ -1314,12 +1325,12 @@ size_t Method::ByteSizeLong() const {
|
||||
|
||||
// repeated .google.protobuf.Option options = 6;
|
||||
{
|
||||
unsigned int count = this->options_size();
|
||||
unsigned int count = static_cast<unsigned int>(this->options_size());
|
||||
total_size += 1UL * count;
|
||||
for (unsigned int i = 0; i < count; i++) {
|
||||
total_size +=
|
||||
::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
|
||||
this->options(i));
|
||||
this->options(static_cast<int>(i)));
|
||||
}
|
||||
}
|
||||
|
||||
@ -1780,7 +1791,7 @@ bool Mixin::MergePartialFromCodedStream(
|
||||
DO_(::google::protobuf::internal::WireFormatLite::ReadString(
|
||||
input, this->mutable_name()));
|
||||
DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
|
||||
this->name().data(), this->name().length(),
|
||||
this->name().data(), static_cast<int>(this->name().length()),
|
||||
::google::protobuf::internal::WireFormatLite::PARSE,
|
||||
"google.protobuf.Mixin.name"));
|
||||
} else {
|
||||
@ -1796,7 +1807,7 @@ bool Mixin::MergePartialFromCodedStream(
|
||||
DO_(::google::protobuf::internal::WireFormatLite::ReadString(
|
||||
input, this->mutable_root()));
|
||||
DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
|
||||
this->root().data(), this->root().length(),
|
||||
this->root().data(), static_cast<int>(this->root().length()),
|
||||
::google::protobuf::internal::WireFormatLite::PARSE,
|
||||
"google.protobuf.Mixin.root"));
|
||||
} else {
|
||||
@ -1835,7 +1846,7 @@ void Mixin::SerializeWithCachedSizes(
|
||||
// string name = 1;
|
||||
if (this->name().size() > 0) {
|
||||
::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
|
||||
this->name().data(), this->name().length(),
|
||||
this->name().data(), static_cast<int>(this->name().length()),
|
||||
::google::protobuf::internal::WireFormatLite::SERIALIZE,
|
||||
"google.protobuf.Mixin.name");
|
||||
::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
|
||||
@ -1845,7 +1856,7 @@ void Mixin::SerializeWithCachedSizes(
|
||||
// string root = 2;
|
||||
if (this->root().size() > 0) {
|
||||
::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
|
||||
this->root().data(), this->root().length(),
|
||||
this->root().data(), static_cast<int>(this->root().length()),
|
||||
::google::protobuf::internal::WireFormatLite::SERIALIZE,
|
||||
"google.protobuf.Mixin.root");
|
||||
::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
|
||||
@ -1864,7 +1875,7 @@ void Mixin::SerializeWithCachedSizes(
|
||||
// string name = 1;
|
||||
if (this->name().size() > 0) {
|
||||
::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
|
||||
this->name().data(), this->name().length(),
|
||||
this->name().data(), static_cast<int>(this->name().length()),
|
||||
::google::protobuf::internal::WireFormatLite::SERIALIZE,
|
||||
"google.protobuf.Mixin.name");
|
||||
target =
|
||||
@ -1875,7 +1886,7 @@ void Mixin::SerializeWithCachedSizes(
|
||||
// string root = 2;
|
||||
if (this->root().size() > 0) {
|
||||
::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
|
||||
this->root().data(), this->root().length(),
|
||||
this->root().data(), static_cast<int>(this->root().length()),
|
||||
::google::protobuf::internal::WireFormatLite::SERIALIZE,
|
||||
"google.protobuf.Mixin.root");
|
||||
target =
|
||||
|
@ -37,30 +37,12 @@ namespace protobuf {
|
||||
class Api;
|
||||
class ApiDefaultTypeInternal;
|
||||
LIBPROTOBUF_EXPORT extern ApiDefaultTypeInternal _Api_default_instance_;
|
||||
class Enum;
|
||||
class EnumDefaultTypeInternal;
|
||||
LIBPROTOBUF_EXPORT extern EnumDefaultTypeInternal _Enum_default_instance_;
|
||||
class EnumValue;
|
||||
class EnumValueDefaultTypeInternal;
|
||||
LIBPROTOBUF_EXPORT extern EnumValueDefaultTypeInternal _EnumValue_default_instance_;
|
||||
class Field;
|
||||
class FieldDefaultTypeInternal;
|
||||
LIBPROTOBUF_EXPORT extern FieldDefaultTypeInternal _Field_default_instance_;
|
||||
class Method;
|
||||
class MethodDefaultTypeInternal;
|
||||
LIBPROTOBUF_EXPORT extern MethodDefaultTypeInternal _Method_default_instance_;
|
||||
class Mixin;
|
||||
class MixinDefaultTypeInternal;
|
||||
LIBPROTOBUF_EXPORT extern MixinDefaultTypeInternal _Mixin_default_instance_;
|
||||
class Option;
|
||||
class OptionDefaultTypeInternal;
|
||||
LIBPROTOBUF_EXPORT extern OptionDefaultTypeInternal _Option_default_instance_;
|
||||
class SourceContext;
|
||||
class SourceContextDefaultTypeInternal;
|
||||
LIBPROTOBUF_EXPORT extern SourceContextDefaultTypeInternal _SourceContext_default_instance_;
|
||||
class Type;
|
||||
class TypeDefaultTypeInternal;
|
||||
LIBPROTOBUF_EXPORT extern TypeDefaultTypeInternal _Type_default_instance_;
|
||||
} // namespace protobuf
|
||||
} // namespace google
|
||||
|
||||
|
@ -143,12 +143,14 @@ GenerateMergeFromCodedStream(io::Printer* printer) const {
|
||||
if (UseUnknownFieldSet(descriptor_->file(), options_)) {
|
||||
printer->Print(variables_,
|
||||
"} else {\n"
|
||||
" mutable_unknown_fields()->AddVarint($number$, value);\n");
|
||||
" mutable_unknown_fields()->AddVarint(\n"
|
||||
" $number$, static_cast<::google::protobuf::uint64>(value));\n");
|
||||
} else {
|
||||
printer->Print(
|
||||
"} else {\n"
|
||||
" unknown_fields_stream.WriteVarint32($tag$u);\n"
|
||||
" unknown_fields_stream.WriteVarint32(value);\n",
|
||||
" unknown_fields_stream.WriteVarint32(\n"
|
||||
" static_cast<::google::protobuf::uint32>(value));\n",
|
||||
"tag", SimpleItoa(internal::WireFormat::MakeTag(descriptor_)));
|
||||
}
|
||||
printer->Print(variables_,
|
||||
@ -344,12 +346,14 @@ GenerateMergeFromCodedStream(io::Printer* printer) const {
|
||||
if (UseUnknownFieldSet(descriptor_->file(), options_)) {
|
||||
printer->Print(variables_,
|
||||
"} else {\n"
|
||||
" mutable_unknown_fields()->AddVarint($number$, value);\n");
|
||||
" mutable_unknown_fields()->AddVarint(\n"
|
||||
" $number$, static_cast<::google::protobuf::uint64>(value));\n");
|
||||
} else {
|
||||
printer->Print(
|
||||
"} else {\n"
|
||||
" unknown_fields_stream.WriteVarint32(tag);\n"
|
||||
" unknown_fields_stream.WriteVarint32(value);\n");
|
||||
" unknown_fields_stream.WriteVarint32(\n"
|
||||
" static_cast<::google::protobuf::uint32>(value));\n");
|
||||
}
|
||||
printer->Print("}\n");
|
||||
}
|
||||
@ -391,7 +395,7 @@ GenerateMergeFromCodedStreamWithPacking(io::Printer* printer) const {
|
||||
"::google::protobuf::uint32 length;\n"
|
||||
"DO_(input->ReadVarint32(&length));\n"
|
||||
"::google::protobuf::io::CodedInputStream::Limit limit = "
|
||||
"input->PushLimit(length);\n"
|
||||
"input->PushLimit(static_cast<int>(length));\n"
|
||||
"while (input->BytesUntilLimit() > 0) {\n"
|
||||
" int value;\n"
|
||||
" DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<\n"
|
||||
@ -407,11 +411,13 @@ GenerateMergeFromCodedStreamWithPacking(io::Printer* printer) const {
|
||||
" } else {\n");
|
||||
if (UseUnknownFieldSet(descriptor_->file(), options_)) {
|
||||
printer->Print(variables_,
|
||||
" mutable_unknown_fields()->AddVarint($number$, value);\n");
|
||||
" mutable_unknown_fields()->AddVarint(\n"
|
||||
" $number$, static_cast<::google::protobuf::uint64>(value));\n");
|
||||
} else {
|
||||
printer->Print(variables_,
|
||||
" unknown_fields_stream.WriteVarint32(tag);\n"
|
||||
" unknown_fields_stream.WriteVarint32(value);\n");
|
||||
" unknown_fields_stream.WriteVarint32(\n"
|
||||
" static_cast<::google::protobuf::uint32>(value));\n");
|
||||
}
|
||||
printer->Print(
|
||||
" }\n");
|
||||
@ -432,7 +438,8 @@ GenerateSerializeWithCachedSizes(io::Printer* printer) const {
|
||||
" $number$,\n"
|
||||
" ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED,\n"
|
||||
" output);\n"
|
||||
" output->WriteVarint32(_$name$_cached_byte_size_);\n"
|
||||
" output->WriteVarint32(\n"
|
||||
" static_cast<::google::protobuf::uint32>(_$name$_cached_byte_size_));\n"
|
||||
"}\n");
|
||||
}
|
||||
printer->Print(variables_,
|
||||
@ -460,7 +467,8 @@ GenerateSerializeWithCachedSizesToArray(io::Printer* printer) const {
|
||||
" ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED,\n"
|
||||
" target);\n"
|
||||
" target = ::google::protobuf::io::CodedOutputStream::WriteVarint32ToArray("
|
||||
" _$name$_cached_byte_size_, target);\n"
|
||||
" static_cast<::google::protobuf::uint32>(\n"
|
||||
" _$name$_cached_byte_size_), target);\n"
|
||||
" target = ::google::protobuf::internal::WireFormatLite::WriteEnumNoTagToArray(\n"
|
||||
" this->$name$_, target);\n"
|
||||
"}\n");
|
||||
@ -476,19 +484,20 @@ GenerateByteSize(io::Printer* printer) const {
|
||||
printer->Print(variables_,
|
||||
"{\n"
|
||||
" size_t data_size = 0;\n"
|
||||
" unsigned int count = this->$name$_size();");
|
||||
" unsigned int count = static_cast<unsigned int>(this->$name$_size());");
|
||||
printer->Indent();
|
||||
printer->Print(variables_,
|
||||
"for (unsigned int i = 0; i < count; i++) {\n"
|
||||
" data_size += ::google::protobuf::internal::WireFormatLite::EnumSize(\n"
|
||||
" this->$name$(i));\n"
|
||||
" this->$name$(static_cast<int>(i)));\n"
|
||||
"}\n");
|
||||
|
||||
if (descriptor_->is_packed()) {
|
||||
printer->Print(variables_,
|
||||
"if (data_size > 0) {\n"
|
||||
" total_size += $tag_size$ +\n"
|
||||
" ::google::protobuf::internal::WireFormatLite::Int32Size(data_size);\n"
|
||||
" ::google::protobuf::internal::WireFormatLite::Int32Size(\n"
|
||||
" static_cast<google::protobuf::int32>(data_size));\n"
|
||||
"}\n"
|
||||
"int cached_size = ::google::protobuf::internal::ToCachedSize(data_size);\n"
|
||||
"GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();\n"
|
||||
|
@ -925,19 +925,11 @@ void FileGenerator::GenerateNamespaceClosers(io::Printer* printer) {
|
||||
|
||||
void FileGenerator::GenerateForwardDeclarations(io::Printer* printer) {
|
||||
ForwardDeclarations decls;
|
||||
for (int i = 0; i < file_->dependency_count(); i++) {
|
||||
FileGenerator dependency(file_->dependency(i), options_);
|
||||
dependency.FillForwardDeclarations(&decls);
|
||||
}
|
||||
FillForwardDeclarations(&decls);
|
||||
decls.Print(printer, options_);
|
||||
}
|
||||
|
||||
void FileGenerator::FillForwardDeclarations(ForwardDeclarations* decls) {
|
||||
for (int i = 0; i < file_->public_dependency_count(); i++) {
|
||||
FileGenerator dependency(file_->public_dependency(i), options_);
|
||||
dependency.FillForwardDeclarations(decls);
|
||||
}
|
||||
for (int i = 0; i < package_parts_.size(); i++) {
|
||||
decls = decls->AddOrGetNamespace(package_parts_[i]);
|
||||
}
|
||||
|
@ -256,7 +256,8 @@ GenerateMergeFromCodedStream(io::Printer* printer) const {
|
||||
} else {
|
||||
printer->Print(variables_,
|
||||
" unknown_fields_stream.WriteVarint32($tag$u);\n"
|
||||
" unknown_fields_stream.WriteVarint32(data.size());\n"
|
||||
" unknown_fields_stream.WriteVarint32(\n"
|
||||
" static_cast<google::protobuf::uint32>(data.size()));\n"
|
||||
" unknown_fields_stream.WriteString(data);\n");
|
||||
}
|
||||
|
||||
@ -267,12 +268,16 @@ GenerateMergeFromCodedStream(io::Printer* printer) const {
|
||||
|
||||
if (key_field->type() == FieldDescriptor::TYPE_STRING) {
|
||||
GenerateUtf8CheckCodeForString(
|
||||
key_field, options_, true, variables_,
|
||||
StrCat(key, ".data(), ", key, ".length(),\n").data(), printer);
|
||||
key_field, options_, true, variables_,
|
||||
StrCat(key, ".data(), static_cast<int>(", key, ".length()),\n").data(),
|
||||
printer);
|
||||
}
|
||||
if (value_field->type() == FieldDescriptor::TYPE_STRING) {
|
||||
GenerateUtf8CheckCodeForString(value_field, options_, true, variables_,
|
||||
StrCat(value, ".data(), ", value, ".length(),\n").data(), printer);
|
||||
GenerateUtf8CheckCodeForString(
|
||||
value_field, options_, true, variables_,
|
||||
StrCat(value, ".data(), static_cast<int>(", value, ".length()),\n")
|
||||
.data(),
|
||||
printer);
|
||||
}
|
||||
|
||||
// If entry is allocated by arena, its desctructor should be avoided.
|
||||
@ -376,14 +381,14 @@ void MapFieldGenerator::GenerateSerializeWithCachedSizes(
|
||||
printer->Indent();
|
||||
printer->Indent();
|
||||
if (string_key) {
|
||||
GenerateUtf8CheckCodeForString(key_field, options_, false, variables,
|
||||
"p->first.data(), p->first.length(),\n",
|
||||
printer);
|
||||
GenerateUtf8CheckCodeForString(
|
||||
key_field, options_, false, variables,
|
||||
"p->first.data(), static_cast<int>(p->first.length()),\n", printer);
|
||||
}
|
||||
if (string_value) {
|
||||
GenerateUtf8CheckCodeForString(value_field, options_, false, variables,
|
||||
"p->second.data(), p->second.length(),\n",
|
||||
printer);
|
||||
GenerateUtf8CheckCodeForString(
|
||||
value_field, options_, false, variables,
|
||||
"p->second.data(), static_cast<int>(p->second.length()),\n", printer);
|
||||
}
|
||||
printer->Outdent();
|
||||
printer->Outdent();
|
||||
@ -404,13 +409,14 @@ void MapFieldGenerator::GenerateSerializeWithCachedSizes(
|
||||
" for (::google::protobuf::Map< $key_cpp$, $val_cpp$ >::const_iterator\n"
|
||||
" it = this->$name$().begin();\n"
|
||||
" it != this->$name$().end(); ++it, ++n) {\n"
|
||||
" items[n] = SortItem(&*it);\n"
|
||||
" items[static_cast<ptrdiff_t>(n)] = SortItem(&*it);\n"
|
||||
" }\n"
|
||||
" ::std::sort(&items[0], &items[n], Less());\n");
|
||||
" ::std::sort(&items[0], &items[static_cast<ptrdiff_t>(n)], Less());\n");
|
||||
printer->Indent();
|
||||
GenerateSerializationLoop(printer, variables, SupportsArenas(descriptor_),
|
||||
utf8_check, "for (size_type i = 0; i < n; i++)",
|
||||
string_key ? "items[i]" : "items[i].second", false);
|
||||
utf8_check, "for (size_type i = 0; i < n; i++)",
|
||||
string_key ? "items[static_cast<ptrdiff_t>(i)]" :
|
||||
"items[static_cast<ptrdiff_t>(i)].second", false);
|
||||
printer->Outdent();
|
||||
printer->Print(
|
||||
"} else {\n");
|
||||
|
@ -2308,12 +2308,13 @@ void MessageGenerator::GenerateConstructorBody(io::Printer* printer,
|
||||
if (copy_constructor) {
|
||||
pod_template =
|
||||
"::memcpy(&$first$_, &from.$first$_,\n"
|
||||
" reinterpret_cast<char*>(&$last$_) -\n"
|
||||
" reinterpret_cast<char*>(&$first$_) + sizeof($last$_));\n";
|
||||
" static_cast<size_t>(reinterpret_cast<char*>(&$last$_) -\n"
|
||||
" reinterpret_cast<char*>(&$first$_)) + sizeof($last$_));\n";
|
||||
} else {
|
||||
pod_template =
|
||||
"::memset(&$first$_, 0, reinterpret_cast<char*>(&$last$_) -\n"
|
||||
" reinterpret_cast<char*>(&$first$_) + sizeof($last$_));\n";
|
||||
"::memset(&$first$_, 0, static_cast<size_t>(\n"
|
||||
" reinterpret_cast<char*>(&$last$_) -\n"
|
||||
" reinterpret_cast<char*>(&$first$_)) + sizeof($last$_));\n";
|
||||
}
|
||||
|
||||
for (int i = 0; i < optimized_order_.size(); ++i) {
|
||||
@ -2750,8 +2751,9 @@ GenerateClear(io::Printer* printer) {
|
||||
FieldName(optimized_order_[memset_run_end]);
|
||||
|
||||
printer->Print(
|
||||
"::memset(&$first$_, 0, reinterpret_cast<char*>(&$last$_) -\n"
|
||||
" reinterpret_cast<char*>(&$first$_) + sizeof($last$_));\n",
|
||||
"::memset(&$first$_, 0, static_cast<size_t>(\n"
|
||||
" reinterpret_cast<char*>(&$last$_) -\n"
|
||||
" reinterpret_cast<char*>(&$first$_)) + sizeof($last$_));\n",
|
||||
"first", first_field_name,
|
||||
"last", last_field_name);
|
||||
}
|
||||
|
@ -1084,19 +1084,21 @@ GenerateMergeFromCodedStream(io::Printer* printer) const {
|
||||
void RepeatedMessageFieldGenerator::
|
||||
GenerateSerializeWithCachedSizes(io::Printer* printer) const {
|
||||
printer->Print(variables_,
|
||||
"for (unsigned int i = 0, n = this->$name$_size(); i < n; i++) {\n"
|
||||
"for (unsigned int i = 0,\n"
|
||||
" n = static_cast<unsigned int>(this->$name$_size()); i < n; i++) {\n"
|
||||
" ::google::protobuf::internal::WireFormatLite::Write$stream_writer$(\n"
|
||||
" $number$, this->$name$(i), output);\n"
|
||||
" $number$, this->$name$(static_cast<int>(i)), output);\n"
|
||||
"}\n");
|
||||
}
|
||||
|
||||
void RepeatedMessageFieldGenerator::
|
||||
GenerateSerializeWithCachedSizesToArray(io::Printer* printer) const {
|
||||
printer->Print(variables_,
|
||||
"for (unsigned int i = 0, n = this->$name$_size(); i < n; i++) {\n"
|
||||
"for (unsigned int i = 0,\n"
|
||||
" n = static_cast<unsigned int>(this->$name$_size()); i < n; i++) {\n"
|
||||
" target = ::google::protobuf::internal::WireFormatLite::\n"
|
||||
" InternalWrite$declared_type$NoVirtualToArray(\n"
|
||||
" $number$, this->$name$(i), deterministic, target);\n"
|
||||
" $number$, this->$name$(static_cast<int>(i)), deterministic, target);\n"
|
||||
"}\n");
|
||||
}
|
||||
|
||||
@ -1104,14 +1106,14 @@ void RepeatedMessageFieldGenerator::
|
||||
GenerateByteSize(io::Printer* printer) const {
|
||||
printer->Print(variables_,
|
||||
"{\n"
|
||||
" unsigned int count = this->$name$_size();\n");
|
||||
" unsigned int count = static_cast<unsigned int>(this->$name$_size());\n");
|
||||
printer->Indent();
|
||||
printer->Print(variables_,
|
||||
"total_size += $tag_size$UL * count;\n"
|
||||
"for (unsigned int i = 0; i < count; i++) {\n"
|
||||
" total_size +=\n"
|
||||
" ::google::protobuf::internal::WireFormatLite::$declared_type$SizeNoVirtual(\n"
|
||||
" this->$name$(i));\n"
|
||||
" this->$name$(static_cast<int>(i)));\n"
|
||||
"}\n");
|
||||
printer->Outdent();
|
||||
printer->Print("}\n");
|
||||
|
@ -382,7 +382,8 @@ GenerateSerializeWithCachedSizes(io::Printer* printer) const {
|
||||
"$number$, "
|
||||
"::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, "
|
||||
"output);\n"
|
||||
" output->WriteVarint32(_$name$_cached_byte_size_);\n");
|
||||
" output->WriteVarint32(static_cast<::google::protobuf::uint32>(\n"
|
||||
" _$name$_cached_byte_size_));\n");
|
||||
|
||||
if (FixedSize(descriptor_->type()) > 0) {
|
||||
// TODO(ckennelly): Use RepeatedField<T>::unsafe_data() via
|
||||
@ -422,7 +423,8 @@ GenerateSerializeWithCachedSizesToArray(io::Printer* printer) const {
|
||||
" ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED,\n"
|
||||
" target);\n"
|
||||
" target = ::google::protobuf::io::CodedOutputStream::WriteVarint32ToArray(\n"
|
||||
" _$name$_cached_byte_size_, target);\n"
|
||||
" static_cast<::google::protobuf::uint32>(\n"
|
||||
" _$name$_cached_byte_size_), target);\n"
|
||||
" target = ::google::protobuf::internal::WireFormatLite::\n"
|
||||
" Write$declared_type$NoTagToArray(this->$name$_, target);\n"
|
||||
"}\n");
|
||||
@ -444,7 +446,7 @@ GenerateByteSize(io::Printer* printer) const {
|
||||
" $declared_type$Size(this->$name$_);\n");
|
||||
} else {
|
||||
printer->Print(variables_,
|
||||
"unsigned int count = this->$name$_size();\n"
|
||||
"unsigned int count = static_cast<unsigned int>(this->$name$_size());\n"
|
||||
"size_t data_size = $fixed_size$UL * count;\n");
|
||||
}
|
||||
|
||||
@ -452,7 +454,8 @@ GenerateByteSize(io::Printer* printer) const {
|
||||
printer->Print(variables_,
|
||||
"if (data_size > 0) {\n"
|
||||
" total_size += $tag_size$ +\n"
|
||||
" ::google::protobuf::internal::WireFormatLite::Int32Size(data_size);\n"
|
||||
" ::google::protobuf::internal::WireFormatLite::Int32Size(\n"
|
||||
" static_cast<google::protobuf::int32>(data_size));\n"
|
||||
"}\n"
|
||||
"int cached_size = ::google::protobuf::internal::ToCachedSize(data_size);\n"
|
||||
"GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();\n"
|
||||
|
@ -477,7 +477,8 @@ GenerateMergeFromCodedStream(io::Printer* printer) const {
|
||||
if (descriptor_->type() == FieldDescriptor::TYPE_STRING) {
|
||||
GenerateUtf8CheckCodeForString(
|
||||
descriptor_, options_, true, variables_,
|
||||
"this->$name$().data(), this->$name$().length(),\n", printer);
|
||||
"this->$name$().data(), static_cast<int>(this->$name$().length()),\n",
|
||||
printer);
|
||||
}
|
||||
}
|
||||
|
||||
@ -486,7 +487,8 @@ GenerateSerializeWithCachedSizes(io::Printer* printer) const {
|
||||
if (descriptor_->type() == FieldDescriptor::TYPE_STRING) {
|
||||
GenerateUtf8CheckCodeForString(
|
||||
descriptor_, options_, false, variables_,
|
||||
"this->$name$().data(), this->$name$().length(),\n", printer);
|
||||
"this->$name$().data(), static_cast<int>(this->$name$().length()),\n",
|
||||
printer);
|
||||
}
|
||||
printer->Print(variables_,
|
||||
"::google::protobuf::internal::WireFormatLite::Write$declared_type$MaybeAliased(\n"
|
||||
@ -498,7 +500,8 @@ GenerateSerializeWithCachedSizesToArray(io::Printer* printer) const {
|
||||
if (descriptor_->type() == FieldDescriptor::TYPE_STRING) {
|
||||
GenerateUtf8CheckCodeForString(
|
||||
descriptor_, options_, false, variables_,
|
||||
"this->$name$().data(), this->$name$().length(),\n", printer);
|
||||
"this->$name$().data(), static_cast<int>(this->$name$().length()),\n",
|
||||
printer);
|
||||
}
|
||||
printer->Print(variables_,
|
||||
"target =\n"
|
||||
@ -797,7 +800,8 @@ GenerateMergeFromCodedStream(io::Printer* printer) const {
|
||||
if (descriptor_->type() == FieldDescriptor::TYPE_STRING) {
|
||||
GenerateUtf8CheckCodeForString(
|
||||
descriptor_, options_, true, variables_,
|
||||
"this->$name$().data(), this->$name$().length(),\n", printer);
|
||||
"this->$name$().data(), static_cast<int>(this->$name$().length()),\n",
|
||||
printer);
|
||||
}
|
||||
}
|
||||
|
||||
@ -969,7 +973,7 @@ GenerateMergeFromCodedStream(io::Printer* printer) const {
|
||||
GenerateUtf8CheckCodeForString(
|
||||
descriptor_, options_, true, variables_,
|
||||
"this->$name$(this->$name$_size() - 1).data(),\n"
|
||||
"this->$name$(this->$name$_size() - 1).length(),\n",
|
||||
"static_cast<int>(this->$name$(this->$name$_size() - 1).length()),\n",
|
||||
printer);
|
||||
}
|
||||
}
|
||||
@ -982,7 +986,8 @@ GenerateSerializeWithCachedSizes(io::Printer* printer) const {
|
||||
if (descriptor_->type() == FieldDescriptor::TYPE_STRING) {
|
||||
GenerateUtf8CheckCodeForString(
|
||||
descriptor_, options_, false, variables_,
|
||||
"this->$name$(i).data(), this->$name$(i).length(),\n", printer);
|
||||
"this->$name$(i).data(), static_cast<int>(this->$name$(i).length()),\n",
|
||||
printer);
|
||||
}
|
||||
printer->Outdent();
|
||||
printer->Print(variables_,
|
||||
@ -999,7 +1004,8 @@ GenerateSerializeWithCachedSizesToArray(io::Printer* printer) const {
|
||||
if (descriptor_->type() == FieldDescriptor::TYPE_STRING) {
|
||||
GenerateUtf8CheckCodeForString(
|
||||
descriptor_, options_, false, variables_,
|
||||
"this->$name$(i).data(), this->$name$(i).length(),\n", printer);
|
||||
"this->$name$(i).data(), static_cast<int>(this->$name$(i).length()),\n",
|
||||
printer);
|
||||
}
|
||||
printer->Outdent();
|
||||
printer->Print(variables_,
|
||||
|
@ -196,7 +196,7 @@ const char* const kReservedWordList[] = {
|
||||
// method declared in protos. The main cases are methods
|
||||
// that take no arguments, or setFoo:/hasFoo: type methods.
|
||||
"clear", "data", "delimitedData", "descriptor", "extensionRegistry",
|
||||
"extensionsCurrentlySet", "isInitialized", "serializedSize",
|
||||
"extensionsCurrentlySet", "initialized", "isInitialized", "serializedSize",
|
||||
"sortedExtensionsInUse", "unknownFields",
|
||||
|
||||
// MacTypes.h names
|
||||
|
@ -51,6 +51,9 @@ const std::string kDescriptorDirName = "Google/Protobuf/Internal";
|
||||
const std::string kDescriptorPackageName = "Google\\Protobuf\\Internal";
|
||||
const char* const kReservedNames[] = {"ARRAY", "Empty", "ECHO"};
|
||||
const int kReservedNamesSize = 3;
|
||||
const int kFieldSetter = 1;
|
||||
const int kFieldGetter = 2;
|
||||
const int kFieldProperty = 3;
|
||||
|
||||
namespace google {
|
||||
namespace protobuf {
|
||||
@ -71,10 +74,12 @@ std::string EscapeDollor(const string& to_escape);
|
||||
std::string BinaryToHex(const string& binary);
|
||||
void Indent(io::Printer* printer);
|
||||
void Outdent(io::Printer* printer);
|
||||
void GenerateMessageDocComment(io::Printer* printer, const Descriptor* message);
|
||||
void GenerateFieldDocComment(io::Printer* printer,
|
||||
const FieldDescriptor* field);
|
||||
void GenerateEnumDocComment(io::Printer* printer, const EnumDescriptor* enum_);
|
||||
void GenerateMessageDocComment(io::Printer* printer, const Descriptor* message,
|
||||
int is_descriptor);
|
||||
void GenerateFieldDocComment(io::Printer* printer, const FieldDescriptor* field,
|
||||
int is_descriptor, int function_type);
|
||||
void GenerateEnumDocComment(io::Printer* printer, const EnumDescriptor* enum_,
|
||||
int is_descriptor);
|
||||
void GenerateEnumValueDocComment(io::Printer* printer,
|
||||
const EnumValueDescriptor* value);
|
||||
|
||||
@ -306,6 +311,87 @@ std::string TypeName(const FieldDescriptor* field) {
|
||||
}
|
||||
}
|
||||
|
||||
std::string PhpSetterTypeName(const FieldDescriptor* field, bool is_descriptor) {
|
||||
if (field->is_map()) {
|
||||
return "array|\\Google\\Protobuf\\Internal\\MapField";
|
||||
}
|
||||
string type;
|
||||
switch (field->type()) {
|
||||
case FieldDescriptor::TYPE_INT32:
|
||||
case FieldDescriptor::TYPE_UINT32:
|
||||
case FieldDescriptor::TYPE_SINT32:
|
||||
case FieldDescriptor::TYPE_FIXED32:
|
||||
case FieldDescriptor::TYPE_SFIXED32:
|
||||
case FieldDescriptor::TYPE_ENUM:
|
||||
type = "int";
|
||||
break;
|
||||
case FieldDescriptor::TYPE_INT64:
|
||||
case FieldDescriptor::TYPE_UINT64:
|
||||
case FieldDescriptor::TYPE_SINT64:
|
||||
case FieldDescriptor::TYPE_FIXED64:
|
||||
case FieldDescriptor::TYPE_SFIXED64:
|
||||
type = "int|string";
|
||||
break;
|
||||
case FieldDescriptor::TYPE_DOUBLE:
|
||||
case FieldDescriptor::TYPE_FLOAT:
|
||||
type = "float";
|
||||
break;
|
||||
case FieldDescriptor::TYPE_BOOL:
|
||||
type = "bool";
|
||||
break;
|
||||
case FieldDescriptor::TYPE_STRING:
|
||||
case FieldDescriptor::TYPE_BYTES:
|
||||
type = "string";
|
||||
break;
|
||||
case FieldDescriptor::TYPE_MESSAGE:
|
||||
type = "\\" + FullClassName(field->message_type(), is_descriptor);
|
||||
break;
|
||||
case FieldDescriptor::TYPE_GROUP:
|
||||
return "null";
|
||||
default: assert(false); return "";
|
||||
}
|
||||
if (field->is_repeated()) {
|
||||
// accommodate for edge case with multiple types.
|
||||
size_t start_pos = type.find("|");
|
||||
if (start_pos != std::string::npos) {
|
||||
type.replace(start_pos, 1, "[]|");
|
||||
}
|
||||
type += "[]|\\Google\\Protobuf\\Internal\\RepeatedField";
|
||||
}
|
||||
return type;
|
||||
}
|
||||
|
||||
std::string PhpGetterTypeName(const FieldDescriptor* field, bool is_descriptor) {
|
||||
if (field->is_map()) {
|
||||
return "\\Google\\Protobuf\\Internal\\MapField";
|
||||
}
|
||||
if (field->is_repeated()) {
|
||||
return "\\Google\\Protobuf\\Internal\\RepeatedField";
|
||||
}
|
||||
switch (field->type()) {
|
||||
case FieldDescriptor::TYPE_INT32:
|
||||
case FieldDescriptor::TYPE_UINT32:
|
||||
case FieldDescriptor::TYPE_SINT32:
|
||||
case FieldDescriptor::TYPE_FIXED32:
|
||||
case FieldDescriptor::TYPE_SFIXED32:
|
||||
case FieldDescriptor::TYPE_ENUM: return "int";
|
||||
case FieldDescriptor::TYPE_INT64:
|
||||
case FieldDescriptor::TYPE_UINT64:
|
||||
case FieldDescriptor::TYPE_SINT64:
|
||||
case FieldDescriptor::TYPE_FIXED64:
|
||||
case FieldDescriptor::TYPE_SFIXED64: return "int|string";
|
||||
case FieldDescriptor::TYPE_DOUBLE:
|
||||
case FieldDescriptor::TYPE_FLOAT: return "float";
|
||||
case FieldDescriptor::TYPE_BOOL: return "bool";
|
||||
case FieldDescriptor::TYPE_STRING:
|
||||
case FieldDescriptor::TYPE_BYTES: return "string";
|
||||
case FieldDescriptor::TYPE_MESSAGE:
|
||||
return "\\" + FullClassName(field->message_type(), is_descriptor);
|
||||
case FieldDescriptor::TYPE_GROUP: return "null";
|
||||
default: assert(false); return "";
|
||||
}
|
||||
}
|
||||
|
||||
std::string EnumOrMessageSuffix(
|
||||
const FieldDescriptor* field, bool is_descriptor) {
|
||||
if (field->cpp_type() == FieldDescriptor::CPPTYPE_MESSAGE) {
|
||||
@ -390,7 +476,7 @@ void Outdent(io::Printer* printer) {
|
||||
void GenerateField(const FieldDescriptor* field, io::Printer* printer,
|
||||
bool is_descriptor) {
|
||||
if (field->is_repeated()) {
|
||||
GenerateFieldDocComment(printer, field);
|
||||
GenerateFieldDocComment(printer, field, is_descriptor, kFieldProperty);
|
||||
printer->Print(
|
||||
"private $^name^;\n",
|
||||
"name", field->name());
|
||||
@ -398,7 +484,7 @@ void GenerateField(const FieldDescriptor* field, io::Printer* printer,
|
||||
// Oneof fields are handled by GenerateOneofField.
|
||||
return;
|
||||
} else {
|
||||
GenerateFieldDocComment(printer, field);
|
||||
GenerateFieldDocComment(printer, field, is_descriptor, kFieldProperty);
|
||||
printer->Print(
|
||||
"private $^name^ = ^default^;\n",
|
||||
"name", field->name(),
|
||||
@ -426,7 +512,7 @@ void GenerateFieldAccessor(const FieldDescriptor* field, bool is_descriptor,
|
||||
|
||||
// Generate getter.
|
||||
if (oneof != NULL) {
|
||||
GenerateFieldDocComment(printer, field);
|
||||
GenerateFieldDocComment(printer, field, is_descriptor, kFieldGetter);
|
||||
printer->Print(
|
||||
"public function get^camel_name^()\n"
|
||||
"{\n"
|
||||
@ -435,7 +521,7 @@ void GenerateFieldAccessor(const FieldDescriptor* field, bool is_descriptor,
|
||||
"camel_name", UnderscoresToCamelCase(field->name(), true),
|
||||
"number", IntToString(field->number()));
|
||||
} else {
|
||||
GenerateFieldDocComment(printer, field);
|
||||
GenerateFieldDocComment(printer, field, is_descriptor, kFieldGetter);
|
||||
printer->Print(
|
||||
"public function get^camel_name^()\n"
|
||||
"{\n"
|
||||
@ -446,7 +532,7 @@ void GenerateFieldAccessor(const FieldDescriptor* field, bool is_descriptor,
|
||||
}
|
||||
|
||||
// Generate setter.
|
||||
GenerateFieldDocComment(printer, field);
|
||||
GenerateFieldDocComment(printer, field, is_descriptor, kFieldSetter);
|
||||
printer->Print(
|
||||
"public function set^camel_name^(^var^)\n"
|
||||
"{\n",
|
||||
@ -844,7 +930,7 @@ void GenerateEnumFile(const FileDescriptor* file, const EnumDescriptor* en,
|
||||
"name", fullname.substr(0, lastindex));
|
||||
}
|
||||
|
||||
GenerateEnumDocComment(&printer, en);
|
||||
GenerateEnumDocComment(&printer, en, is_descriptor);
|
||||
|
||||
if (lastindex != string::npos) {
|
||||
printer.Print(
|
||||
@ -905,7 +991,7 @@ void GenerateMessageFile(const FileDescriptor* file, const Descriptor* message,
|
||||
|
||||
GenerateUseDeclaration(is_descriptor, &printer);
|
||||
|
||||
GenerateMessageDocComment(&printer, message);
|
||||
GenerateMessageDocComment(&printer, message, is_descriptor);
|
||||
if (lastindex != string::npos) {
|
||||
printer.Print(
|
||||
"class ^name^ extends \\Google\\Protobuf\\Internal\\Message\n"
|
||||
@ -953,6 +1039,9 @@ void GenerateMessageFile(const FileDescriptor* file, const Descriptor* message,
|
||||
for (int i = 0; i < message->oneof_decl_count(); i++) {
|
||||
const OneofDescriptor* oneof = message->oneof_decl(i);
|
||||
printer.Print(
|
||||
"/**\n"
|
||||
" * @return string\n"
|
||||
" */\n"
|
||||
"public function get^camel_name^()\n"
|
||||
"{\n"
|
||||
" return $this->whichOneof(\"^name^\");\n"
|
||||
@ -1019,22 +1108,6 @@ static string EscapePhpdoc(const string& input) {
|
||||
// does not have a corresponding @Deprecated annotation.
|
||||
result.append("@");
|
||||
break;
|
||||
case '<':
|
||||
// Avoid interpretation as HTML.
|
||||
result.append("<");
|
||||
break;
|
||||
case '>':
|
||||
// Avoid interpretation as HTML.
|
||||
result.append(">");
|
||||
break;
|
||||
case '&':
|
||||
// Avoid interpretation as HTML.
|
||||
result.append("&");
|
||||
break;
|
||||
case '\\':
|
||||
// Java interprets Unicode escape sequences anywhere!
|
||||
result.append("\");
|
||||
break;
|
||||
default:
|
||||
result.push_back(c);
|
||||
break;
|
||||
@ -1053,7 +1126,7 @@ static void GenerateDocCommentBodyForLocation(
|
||||
if (!comments.empty()) {
|
||||
// TODO(teboring): Ideally we should parse the comment text as Markdown and
|
||||
// write it back as HTML, but this requires a Markdown parser. For now
|
||||
// we just use <pre> to get fixed-width text formatting.
|
||||
// we just use the proto comments unchanged.
|
||||
|
||||
// If the comment itself contains block comment start or end markers,
|
||||
// HTML-escape them so that they don't accidentally close the doc comment.
|
||||
@ -1064,7 +1137,6 @@ static void GenerateDocCommentBodyForLocation(
|
||||
lines.pop_back();
|
||||
}
|
||||
|
||||
printer->Print(" * <pre>\n");
|
||||
for (int i = 0; i < lines.size(); i++) {
|
||||
// Most lines should start with a space. Watch out for lines that start
|
||||
// with a /, since putting that right after the leading asterisk will
|
||||
@ -1076,7 +1148,6 @@ static void GenerateDocCommentBodyForLocation(
|
||||
}
|
||||
}
|
||||
printer->Print(
|
||||
" * </pre>\n"
|
||||
" *\n");
|
||||
}
|
||||
}
|
||||
@ -1102,17 +1173,18 @@ static string FirstLineOf(const string& value) {
|
||||
}
|
||||
|
||||
void GenerateMessageDocComment(io::Printer* printer,
|
||||
const Descriptor* message) {
|
||||
const Descriptor* message, int is_descriptor) {
|
||||
printer->Print("/**\n");
|
||||
GenerateDocCommentBody(printer, message);
|
||||
printer->Print(
|
||||
" * Protobuf type <code>^fullname^</code>\n"
|
||||
" * Generated from protobuf message <code>^messagename^</code>\n"
|
||||
" */\n",
|
||||
"fullname", EscapePhpdoc(message->full_name()));
|
||||
"fullname", EscapePhpdoc(PhpName(message->full_name(), is_descriptor)),
|
||||
"messagename", EscapePhpdoc(message->full_name()));
|
||||
}
|
||||
|
||||
void GenerateFieldDocComment(io::Printer* printer,
|
||||
const FieldDescriptor* field) {
|
||||
void GenerateFieldDocComment(io::Printer* printer, const FieldDescriptor* field,
|
||||
int is_descriptor, int function_type) {
|
||||
// In theory we should have slightly different comments for setters, getters,
|
||||
// etc., but in practice everyone already knows the difference between these
|
||||
// so it's redundant information.
|
||||
@ -1124,18 +1196,27 @@ void GenerateFieldDocComment(io::Printer* printer,
|
||||
printer->Print("/**\n");
|
||||
GenerateDocCommentBody(printer, field);
|
||||
printer->Print(
|
||||
" * <code>^def^</code>\n",
|
||||
" * Generated from protobuf field <code>^def^</code>\n",
|
||||
"def", EscapePhpdoc(FirstLineOf(field->DebugString())));
|
||||
if (function_type == kFieldSetter) {
|
||||
printer->Print(" * @param ^php_type^ $var\n",
|
||||
"php_type", PhpSetterTypeName(field, is_descriptor));
|
||||
printer->Print(" * @return $this\n");
|
||||
} else if (function_type == kFieldGetter) {
|
||||
printer->Print(" * @return ^php_type^\n",
|
||||
"php_type", PhpGetterTypeName(field, is_descriptor));
|
||||
}
|
||||
printer->Print(" */\n");
|
||||
}
|
||||
|
||||
void GenerateEnumDocComment(io::Printer* printer, const EnumDescriptor* enum_) {
|
||||
void GenerateEnumDocComment(io::Printer* printer, const EnumDescriptor* enum_,
|
||||
int is_descriptor) {
|
||||
printer->Print("/**\n");
|
||||
GenerateDocCommentBody(printer, enum_);
|
||||
printer->Print(
|
||||
" * Protobuf enum <code>^fullname^</code>\n"
|
||||
" */\n",
|
||||
"fullname", EscapePhpdoc(enum_->full_name()));
|
||||
"fullname", EscapePhpdoc(PhpName(enum_->full_name(), is_descriptor)));
|
||||
}
|
||||
|
||||
void GenerateEnumValueDocComment(io::Printer* printer,
|
||||
@ -1143,7 +1224,7 @@ void GenerateEnumValueDocComment(io::Printer* printer,
|
||||
printer->Print("/**\n");
|
||||
GenerateDocCommentBody(printer, value);
|
||||
printer->Print(
|
||||
" * <code>^def^</code>\n"
|
||||
" * Generated from protobuf enum <code>^def^</code>\n"
|
||||
" */\n",
|
||||
"def", EscapePhpdoc(FirstLineOf(value->DebugString())));
|
||||
}
|
||||
|
@ -239,16 +239,17 @@ Version::Version(const Version& from)
|
||||
suffix_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.suffix_);
|
||||
}
|
||||
::memcpy(&major_, &from.major_,
|
||||
reinterpret_cast<char*>(&patch_) -
|
||||
reinterpret_cast<char*>(&major_) + sizeof(patch_));
|
||||
static_cast<size_t>(reinterpret_cast<char*>(&patch_) -
|
||||
reinterpret_cast<char*>(&major_)) + sizeof(patch_));
|
||||
// @@protoc_insertion_point(copy_constructor:google.protobuf.compiler.Version)
|
||||
}
|
||||
|
||||
void Version::SharedCtor() {
|
||||
_cached_size_ = 0;
|
||||
suffix_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
|
||||
::memset(&major_, 0, reinterpret_cast<char*>(&patch_) -
|
||||
reinterpret_cast<char*>(&major_) + sizeof(patch_));
|
||||
::memset(&major_, 0, static_cast<size_t>(
|
||||
reinterpret_cast<char*>(&patch_) -
|
||||
reinterpret_cast<char*>(&major_)) + sizeof(patch_));
|
||||
}
|
||||
|
||||
Version::~Version() {
|
||||
@ -290,8 +291,9 @@ void Version::Clear() {
|
||||
(*suffix_.UnsafeRawStringPointer())->clear();
|
||||
}
|
||||
if (_has_bits_[0 / 32] & 14u) {
|
||||
::memset(&major_, 0, reinterpret_cast<char*>(&patch_) -
|
||||
reinterpret_cast<char*>(&major_) + sizeof(patch_));
|
||||
::memset(&major_, 0, static_cast<size_t>(
|
||||
reinterpret_cast<char*>(&patch_) -
|
||||
reinterpret_cast<char*>(&major_)) + sizeof(patch_));
|
||||
}
|
||||
_has_bits_.Clear();
|
||||
_internal_metadata_.Clear();
|
||||
@ -356,7 +358,7 @@ bool Version::MergePartialFromCodedStream(
|
||||
DO_(::google::protobuf::internal::WireFormatLite::ReadString(
|
||||
input, this->mutable_suffix()));
|
||||
::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
|
||||
this->suffix().data(), this->suffix().length(),
|
||||
this->suffix().data(), static_cast<int>(this->suffix().length()),
|
||||
::google::protobuf::internal::WireFormat::PARSE,
|
||||
"google.protobuf.compiler.Version.suffix");
|
||||
} else {
|
||||
@ -412,7 +414,7 @@ void Version::SerializeWithCachedSizes(
|
||||
// optional string suffix = 4;
|
||||
if (cached_has_bits & 0x00000001u) {
|
||||
::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
|
||||
this->suffix().data(), this->suffix().length(),
|
||||
this->suffix().data(), static_cast<int>(this->suffix().length()),
|
||||
::google::protobuf::internal::WireFormat::SERIALIZE,
|
||||
"google.protobuf.compiler.Version.suffix");
|
||||
::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
|
||||
@ -451,7 +453,7 @@ void Version::SerializeWithCachedSizes(
|
||||
// optional string suffix = 4;
|
||||
if (cached_has_bits & 0x00000001u) {
|
||||
::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
|
||||
this->suffix().data(), this->suffix().length(),
|
||||
this->suffix().data(), static_cast<int>(this->suffix().length()),
|
||||
::google::protobuf::internal::WireFormat::SERIALIZE,
|
||||
"google.protobuf.compiler.Version.suffix");
|
||||
target =
|
||||
@ -845,7 +847,7 @@ bool CodeGeneratorRequest::MergePartialFromCodedStream(
|
||||
input, this->add_file_to_generate()));
|
||||
::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
|
||||
this->file_to_generate(this->file_to_generate_size() - 1).data(),
|
||||
this->file_to_generate(this->file_to_generate_size() - 1).length(),
|
||||
static_cast<int>(this->file_to_generate(this->file_to_generate_size() - 1).length()),
|
||||
::google::protobuf::internal::WireFormat::PARSE,
|
||||
"google.protobuf.compiler.CodeGeneratorRequest.file_to_generate");
|
||||
} else {
|
||||
@ -861,7 +863,7 @@ bool CodeGeneratorRequest::MergePartialFromCodedStream(
|
||||
DO_(::google::protobuf::internal::WireFormatLite::ReadString(
|
||||
input, this->mutable_parameter()));
|
||||
::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
|
||||
this->parameter().data(), this->parameter().length(),
|
||||
this->parameter().data(), static_cast<int>(this->parameter().length()),
|
||||
::google::protobuf::internal::WireFormat::PARSE,
|
||||
"google.protobuf.compiler.CodeGeneratorRequest.parameter");
|
||||
} else {
|
||||
@ -925,7 +927,7 @@ void CodeGeneratorRequest::SerializeWithCachedSizes(
|
||||
// repeated string file_to_generate = 1;
|
||||
for (int i = 0, n = this->file_to_generate_size(); i < n; i++) {
|
||||
::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
|
||||
this->file_to_generate(i).data(), this->file_to_generate(i).length(),
|
||||
this->file_to_generate(i).data(), static_cast<int>(this->file_to_generate(i).length()),
|
||||
::google::protobuf::internal::WireFormat::SERIALIZE,
|
||||
"google.protobuf.compiler.CodeGeneratorRequest.file_to_generate");
|
||||
::google::protobuf::internal::WireFormatLite::WriteString(
|
||||
@ -936,7 +938,7 @@ void CodeGeneratorRequest::SerializeWithCachedSizes(
|
||||
// optional string parameter = 2;
|
||||
if (cached_has_bits & 0x00000001u) {
|
||||
::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
|
||||
this->parameter().data(), this->parameter().length(),
|
||||
this->parameter().data(), static_cast<int>(this->parameter().length()),
|
||||
::google::protobuf::internal::WireFormat::SERIALIZE,
|
||||
"google.protobuf.compiler.CodeGeneratorRequest.parameter");
|
||||
::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
|
||||
@ -950,9 +952,10 @@ void CodeGeneratorRequest::SerializeWithCachedSizes(
|
||||
}
|
||||
|
||||
// repeated .google.protobuf.FileDescriptorProto proto_file = 15;
|
||||
for (unsigned int i = 0, n = this->proto_file_size(); i < n; i++) {
|
||||
for (unsigned int i = 0,
|
||||
n = static_cast<unsigned int>(this->proto_file_size()); i < n; i++) {
|
||||
::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
|
||||
15, this->proto_file(i), output);
|
||||
15, this->proto_file(static_cast<int>(i)), output);
|
||||
}
|
||||
|
||||
if (_internal_metadata_.have_unknown_fields()) {
|
||||
@ -971,7 +974,7 @@ void CodeGeneratorRequest::SerializeWithCachedSizes(
|
||||
// repeated string file_to_generate = 1;
|
||||
for (int i = 0, n = this->file_to_generate_size(); i < n; i++) {
|
||||
::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
|
||||
this->file_to_generate(i).data(), this->file_to_generate(i).length(),
|
||||
this->file_to_generate(i).data(), static_cast<int>(this->file_to_generate(i).length()),
|
||||
::google::protobuf::internal::WireFormat::SERIALIZE,
|
||||
"google.protobuf.compiler.CodeGeneratorRequest.file_to_generate");
|
||||
target = ::google::protobuf::internal::WireFormatLite::
|
||||
@ -982,7 +985,7 @@ void CodeGeneratorRequest::SerializeWithCachedSizes(
|
||||
// optional string parameter = 2;
|
||||
if (cached_has_bits & 0x00000001u) {
|
||||
::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
|
||||
this->parameter().data(), this->parameter().length(),
|
||||
this->parameter().data(), static_cast<int>(this->parameter().length()),
|
||||
::google::protobuf::internal::WireFormat::SERIALIZE,
|
||||
"google.protobuf.compiler.CodeGeneratorRequest.parameter");
|
||||
target =
|
||||
@ -998,10 +1001,11 @@ void CodeGeneratorRequest::SerializeWithCachedSizes(
|
||||
}
|
||||
|
||||
// repeated .google.protobuf.FileDescriptorProto proto_file = 15;
|
||||
for (unsigned int i = 0, n = this->proto_file_size(); i < n; i++) {
|
||||
for (unsigned int i = 0,
|
||||
n = static_cast<unsigned int>(this->proto_file_size()); i < n; i++) {
|
||||
target = ::google::protobuf::internal::WireFormatLite::
|
||||
InternalWriteMessageNoVirtualToArray(
|
||||
15, this->proto_file(i), deterministic, target);
|
||||
15, this->proto_file(static_cast<int>(i)), deterministic, target);
|
||||
}
|
||||
|
||||
if (_internal_metadata_.have_unknown_fields()) {
|
||||
@ -1031,12 +1035,12 @@ size_t CodeGeneratorRequest::ByteSizeLong() const {
|
||||
|
||||
// repeated .google.protobuf.FileDescriptorProto proto_file = 15;
|
||||
{
|
||||
unsigned int count = this->proto_file_size();
|
||||
unsigned int count = static_cast<unsigned int>(this->proto_file_size());
|
||||
total_size += 1UL * count;
|
||||
for (unsigned int i = 0; i < count; i++) {
|
||||
total_size +=
|
||||
::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
|
||||
this->proto_file(i));
|
||||
this->proto_file(static_cast<int>(i)));
|
||||
}
|
||||
}
|
||||
|
||||
@ -1464,7 +1468,7 @@ bool CodeGeneratorResponse_File::MergePartialFromCodedStream(
|
||||
DO_(::google::protobuf::internal::WireFormatLite::ReadString(
|
||||
input, this->mutable_name()));
|
||||
::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
|
||||
this->name().data(), this->name().length(),
|
||||
this->name().data(), static_cast<int>(this->name().length()),
|
||||
::google::protobuf::internal::WireFormat::PARSE,
|
||||
"google.protobuf.compiler.CodeGeneratorResponse.File.name");
|
||||
} else {
|
||||
@ -1480,7 +1484,7 @@ bool CodeGeneratorResponse_File::MergePartialFromCodedStream(
|
||||
DO_(::google::protobuf::internal::WireFormatLite::ReadString(
|
||||
input, this->mutable_insertion_point()));
|
||||
::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
|
||||
this->insertion_point().data(), this->insertion_point().length(),
|
||||
this->insertion_point().data(), static_cast<int>(this->insertion_point().length()),
|
||||
::google::protobuf::internal::WireFormat::PARSE,
|
||||
"google.protobuf.compiler.CodeGeneratorResponse.File.insertion_point");
|
||||
} else {
|
||||
@ -1496,7 +1500,7 @@ bool CodeGeneratorResponse_File::MergePartialFromCodedStream(
|
||||
DO_(::google::protobuf::internal::WireFormatLite::ReadString(
|
||||
input, this->mutable_content()));
|
||||
::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
|
||||
this->content().data(), this->content().length(),
|
||||
this->content().data(), static_cast<int>(this->content().length()),
|
||||
::google::protobuf::internal::WireFormat::PARSE,
|
||||
"google.protobuf.compiler.CodeGeneratorResponse.File.content");
|
||||
} else {
|
||||
@ -1537,7 +1541,7 @@ void CodeGeneratorResponse_File::SerializeWithCachedSizes(
|
||||
// optional string name = 1;
|
||||
if (cached_has_bits & 0x00000001u) {
|
||||
::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
|
||||
this->name().data(), this->name().length(),
|
||||
this->name().data(), static_cast<int>(this->name().length()),
|
||||
::google::protobuf::internal::WireFormat::SERIALIZE,
|
||||
"google.protobuf.compiler.CodeGeneratorResponse.File.name");
|
||||
::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
|
||||
@ -1547,7 +1551,7 @@ void CodeGeneratorResponse_File::SerializeWithCachedSizes(
|
||||
// optional string insertion_point = 2;
|
||||
if (cached_has_bits & 0x00000002u) {
|
||||
::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
|
||||
this->insertion_point().data(), this->insertion_point().length(),
|
||||
this->insertion_point().data(), static_cast<int>(this->insertion_point().length()),
|
||||
::google::protobuf::internal::WireFormat::SERIALIZE,
|
||||
"google.protobuf.compiler.CodeGeneratorResponse.File.insertion_point");
|
||||
::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
|
||||
@ -1557,7 +1561,7 @@ void CodeGeneratorResponse_File::SerializeWithCachedSizes(
|
||||
// optional string content = 15;
|
||||
if (cached_has_bits & 0x00000004u) {
|
||||
::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
|
||||
this->content().data(), this->content().length(),
|
||||
this->content().data(), static_cast<int>(this->content().length()),
|
||||
::google::protobuf::internal::WireFormat::SERIALIZE,
|
||||
"google.protobuf.compiler.CodeGeneratorResponse.File.content");
|
||||
::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
|
||||
@ -1581,7 +1585,7 @@ void CodeGeneratorResponse_File::SerializeWithCachedSizes(
|
||||
// optional string name = 1;
|
||||
if (cached_has_bits & 0x00000001u) {
|
||||
::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
|
||||
this->name().data(), this->name().length(),
|
||||
this->name().data(), static_cast<int>(this->name().length()),
|
||||
::google::protobuf::internal::WireFormat::SERIALIZE,
|
||||
"google.protobuf.compiler.CodeGeneratorResponse.File.name");
|
||||
target =
|
||||
@ -1592,7 +1596,7 @@ void CodeGeneratorResponse_File::SerializeWithCachedSizes(
|
||||
// optional string insertion_point = 2;
|
||||
if (cached_has_bits & 0x00000002u) {
|
||||
::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
|
||||
this->insertion_point().data(), this->insertion_point().length(),
|
||||
this->insertion_point().data(), static_cast<int>(this->insertion_point().length()),
|
||||
::google::protobuf::internal::WireFormat::SERIALIZE,
|
||||
"google.protobuf.compiler.CodeGeneratorResponse.File.insertion_point");
|
||||
target =
|
||||
@ -1603,7 +1607,7 @@ void CodeGeneratorResponse_File::SerializeWithCachedSizes(
|
||||
// optional string content = 15;
|
||||
if (cached_has_bits & 0x00000004u) {
|
||||
::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
|
||||
this->content().data(), this->content().length(),
|
||||
this->content().data(), static_cast<int>(this->content().length()),
|
||||
::google::protobuf::internal::WireFormat::SERIALIZE,
|
||||
"google.protobuf.compiler.CodeGeneratorResponse.File.content");
|
||||
target =
|
||||
@ -2021,7 +2025,7 @@ bool CodeGeneratorResponse::MergePartialFromCodedStream(
|
||||
DO_(::google::protobuf::internal::WireFormatLite::ReadString(
|
||||
input, this->mutable_error()));
|
||||
::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
|
||||
this->error().data(), this->error().length(),
|
||||
this->error().data(), static_cast<int>(this->error().length()),
|
||||
::google::protobuf::internal::WireFormat::PARSE,
|
||||
"google.protobuf.compiler.CodeGeneratorResponse.error");
|
||||
} else {
|
||||
@ -2074,7 +2078,7 @@ void CodeGeneratorResponse::SerializeWithCachedSizes(
|
||||
// optional string error = 1;
|
||||
if (cached_has_bits & 0x00000001u) {
|
||||
::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
|
||||
this->error().data(), this->error().length(),
|
||||
this->error().data(), static_cast<int>(this->error().length()),
|
||||
::google::protobuf::internal::WireFormat::SERIALIZE,
|
||||
"google.protobuf.compiler.CodeGeneratorResponse.error");
|
||||
::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
|
||||
@ -2082,9 +2086,10 @@ void CodeGeneratorResponse::SerializeWithCachedSizes(
|
||||
}
|
||||
|
||||
// repeated .google.protobuf.compiler.CodeGeneratorResponse.File file = 15;
|
||||
for (unsigned int i = 0, n = this->file_size(); i < n; i++) {
|
||||
for (unsigned int i = 0,
|
||||
n = static_cast<unsigned int>(this->file_size()); i < n; i++) {
|
||||
::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
|
||||
15, this->file(i), output);
|
||||
15, this->file(static_cast<int>(i)), output);
|
||||
}
|
||||
|
||||
if (_internal_metadata_.have_unknown_fields()) {
|
||||
@ -2104,7 +2109,7 @@ void CodeGeneratorResponse::SerializeWithCachedSizes(
|
||||
// optional string error = 1;
|
||||
if (cached_has_bits & 0x00000001u) {
|
||||
::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
|
||||
this->error().data(), this->error().length(),
|
||||
this->error().data(), static_cast<int>(this->error().length()),
|
||||
::google::protobuf::internal::WireFormat::SERIALIZE,
|
||||
"google.protobuf.compiler.CodeGeneratorResponse.error");
|
||||
target =
|
||||
@ -2113,10 +2118,11 @@ void CodeGeneratorResponse::SerializeWithCachedSizes(
|
||||
}
|
||||
|
||||
// repeated .google.protobuf.compiler.CodeGeneratorResponse.File file = 15;
|
||||
for (unsigned int i = 0, n = this->file_size(); i < n; i++) {
|
||||
for (unsigned int i = 0,
|
||||
n = static_cast<unsigned int>(this->file_size()); i < n; i++) {
|
||||
target = ::google::protobuf::internal::WireFormatLite::
|
||||
InternalWriteMessageNoVirtualToArray(
|
||||
15, this->file(i), deterministic, target);
|
||||
15, this->file(static_cast<int>(i)), deterministic, target);
|
||||
}
|
||||
|
||||
if (_internal_metadata_.have_unknown_fields()) {
|
||||
@ -2138,12 +2144,12 @@ size_t CodeGeneratorResponse::ByteSizeLong() const {
|
||||
}
|
||||
// repeated .google.protobuf.compiler.CodeGeneratorResponse.File file = 15;
|
||||
{
|
||||
unsigned int count = this->file_size();
|
||||
unsigned int count = static_cast<unsigned int>(this->file_size());
|
||||
total_size += 1UL * count;
|
||||
for (unsigned int i = 0; i < count; i++) {
|
||||
total_size +=
|
||||
::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
|
||||
this->file(i));
|
||||
this->file(static_cast<int>(i)));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -39,81 +39,6 @@
|
||||
#endif
|
||||
namespace google {
|
||||
namespace protobuf {
|
||||
class DescriptorProto;
|
||||
class DescriptorProtoDefaultTypeInternal;
|
||||
LIBPROTOC_EXPORT extern DescriptorProtoDefaultTypeInternal _DescriptorProto_default_instance_;
|
||||
class DescriptorProto_ExtensionRange;
|
||||
class DescriptorProto_ExtensionRangeDefaultTypeInternal;
|
||||
LIBPROTOC_EXPORT extern DescriptorProto_ExtensionRangeDefaultTypeInternal _DescriptorProto_ExtensionRange_default_instance_;
|
||||
class DescriptorProto_ReservedRange;
|
||||
class DescriptorProto_ReservedRangeDefaultTypeInternal;
|
||||
LIBPROTOC_EXPORT extern DescriptorProto_ReservedRangeDefaultTypeInternal _DescriptorProto_ReservedRange_default_instance_;
|
||||
class EnumDescriptorProto;
|
||||
class EnumDescriptorProtoDefaultTypeInternal;
|
||||
LIBPROTOC_EXPORT extern EnumDescriptorProtoDefaultTypeInternal _EnumDescriptorProto_default_instance_;
|
||||
class EnumOptions;
|
||||
class EnumOptionsDefaultTypeInternal;
|
||||
LIBPROTOC_EXPORT extern EnumOptionsDefaultTypeInternal _EnumOptions_default_instance_;
|
||||
class EnumValueDescriptorProto;
|
||||
class EnumValueDescriptorProtoDefaultTypeInternal;
|
||||
LIBPROTOC_EXPORT extern EnumValueDescriptorProtoDefaultTypeInternal _EnumValueDescriptorProto_default_instance_;
|
||||
class EnumValueOptions;
|
||||
class EnumValueOptionsDefaultTypeInternal;
|
||||
LIBPROTOC_EXPORT extern EnumValueOptionsDefaultTypeInternal _EnumValueOptions_default_instance_;
|
||||
class FieldDescriptorProto;
|
||||
class FieldDescriptorProtoDefaultTypeInternal;
|
||||
LIBPROTOC_EXPORT extern FieldDescriptorProtoDefaultTypeInternal _FieldDescriptorProto_default_instance_;
|
||||
class FieldOptions;
|
||||
class FieldOptionsDefaultTypeInternal;
|
||||
LIBPROTOC_EXPORT extern FieldOptionsDefaultTypeInternal _FieldOptions_default_instance_;
|
||||
class FileDescriptorProto;
|
||||
class FileDescriptorProtoDefaultTypeInternal;
|
||||
LIBPROTOC_EXPORT extern FileDescriptorProtoDefaultTypeInternal _FileDescriptorProto_default_instance_;
|
||||
class FileDescriptorSet;
|
||||
class FileDescriptorSetDefaultTypeInternal;
|
||||
LIBPROTOC_EXPORT extern FileDescriptorSetDefaultTypeInternal _FileDescriptorSet_default_instance_;
|
||||
class FileOptions;
|
||||
class FileOptionsDefaultTypeInternal;
|
||||
LIBPROTOC_EXPORT extern FileOptionsDefaultTypeInternal _FileOptions_default_instance_;
|
||||
class GeneratedCodeInfo;
|
||||
class GeneratedCodeInfoDefaultTypeInternal;
|
||||
LIBPROTOC_EXPORT extern GeneratedCodeInfoDefaultTypeInternal _GeneratedCodeInfo_default_instance_;
|
||||
class GeneratedCodeInfo_Annotation;
|
||||
class GeneratedCodeInfo_AnnotationDefaultTypeInternal;
|
||||
LIBPROTOC_EXPORT extern GeneratedCodeInfo_AnnotationDefaultTypeInternal _GeneratedCodeInfo_Annotation_default_instance_;
|
||||
class MessageOptions;
|
||||
class MessageOptionsDefaultTypeInternal;
|
||||
LIBPROTOC_EXPORT extern MessageOptionsDefaultTypeInternal _MessageOptions_default_instance_;
|
||||
class MethodDescriptorProto;
|
||||
class MethodDescriptorProtoDefaultTypeInternal;
|
||||
LIBPROTOC_EXPORT extern MethodDescriptorProtoDefaultTypeInternal _MethodDescriptorProto_default_instance_;
|
||||
class MethodOptions;
|
||||
class MethodOptionsDefaultTypeInternal;
|
||||
LIBPROTOC_EXPORT extern MethodOptionsDefaultTypeInternal _MethodOptions_default_instance_;
|
||||
class OneofDescriptorProto;
|
||||
class OneofDescriptorProtoDefaultTypeInternal;
|
||||
LIBPROTOC_EXPORT extern OneofDescriptorProtoDefaultTypeInternal _OneofDescriptorProto_default_instance_;
|
||||
class OneofOptions;
|
||||
class OneofOptionsDefaultTypeInternal;
|
||||
LIBPROTOC_EXPORT extern OneofOptionsDefaultTypeInternal _OneofOptions_default_instance_;
|
||||
class ServiceDescriptorProto;
|
||||
class ServiceDescriptorProtoDefaultTypeInternal;
|
||||
LIBPROTOC_EXPORT extern ServiceDescriptorProtoDefaultTypeInternal _ServiceDescriptorProto_default_instance_;
|
||||
class ServiceOptions;
|
||||
class ServiceOptionsDefaultTypeInternal;
|
||||
LIBPROTOC_EXPORT extern ServiceOptionsDefaultTypeInternal _ServiceOptions_default_instance_;
|
||||
class SourceCodeInfo;
|
||||
class SourceCodeInfoDefaultTypeInternal;
|
||||
LIBPROTOC_EXPORT extern SourceCodeInfoDefaultTypeInternal _SourceCodeInfo_default_instance_;
|
||||
class SourceCodeInfo_Location;
|
||||
class SourceCodeInfo_LocationDefaultTypeInternal;
|
||||
LIBPROTOC_EXPORT extern SourceCodeInfo_LocationDefaultTypeInternal _SourceCodeInfo_Location_default_instance_;
|
||||
class UninterpretedOption;
|
||||
class UninterpretedOptionDefaultTypeInternal;
|
||||
LIBPROTOC_EXPORT extern UninterpretedOptionDefaultTypeInternal _UninterpretedOption_default_instance_;
|
||||
class UninterpretedOption_NamePart;
|
||||
class UninterpretedOption_NamePartDefaultTypeInternal;
|
||||
LIBPROTOC_EXPORT extern UninterpretedOption_NamePartDefaultTypeInternal _UninterpretedOption_NamePart_default_instance_;
|
||||
namespace compiler {
|
||||
class CodeGeneratorRequest;
|
||||
class CodeGeneratorRequestDefaultTypeInternal;
|
||||
|
@ -205,16 +205,17 @@ FieldAccessInfo::FieldAccessInfo(const FieldAccessInfo& from)
|
||||
name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
|
||||
}
|
||||
::memcpy(&getters_count_, &from.getters_count_,
|
||||
reinterpret_cast<char*>(&configs_count_) -
|
||||
reinterpret_cast<char*>(&getters_count_) + sizeof(configs_count_));
|
||||
static_cast<size_t>(reinterpret_cast<char*>(&configs_count_) -
|
||||
reinterpret_cast<char*>(&getters_count_)) + sizeof(configs_count_));
|
||||
// @@protoc_insertion_point(copy_constructor:google.protobuf.compiler.FieldAccessInfo)
|
||||
}
|
||||
|
||||
void FieldAccessInfo::SharedCtor() {
|
||||
_cached_size_ = 0;
|
||||
name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
|
||||
::memset(&getters_count_, 0, reinterpret_cast<char*>(&configs_count_) -
|
||||
reinterpret_cast<char*>(&getters_count_) + sizeof(configs_count_));
|
||||
::memset(&getters_count_, 0, static_cast<size_t>(
|
||||
reinterpret_cast<char*>(&configs_count_) -
|
||||
reinterpret_cast<char*>(&getters_count_)) + sizeof(configs_count_));
|
||||
}
|
||||
|
||||
FieldAccessInfo::~FieldAccessInfo() {
|
||||
@ -256,8 +257,9 @@ void FieldAccessInfo::Clear() {
|
||||
(*name_.UnsafeRawStringPointer())->clear();
|
||||
}
|
||||
if (_has_bits_[0 / 32] & 14u) {
|
||||
::memset(&getters_count_, 0, reinterpret_cast<char*>(&configs_count_) -
|
||||
reinterpret_cast<char*>(&getters_count_) + sizeof(configs_count_));
|
||||
::memset(&getters_count_, 0, static_cast<size_t>(
|
||||
reinterpret_cast<char*>(&configs_count_) -
|
||||
reinterpret_cast<char*>(&getters_count_)) + sizeof(configs_count_));
|
||||
}
|
||||
_has_bits_.Clear();
|
||||
_internal_metadata_.Clear();
|
||||
@ -280,7 +282,7 @@ bool FieldAccessInfo::MergePartialFromCodedStream(
|
||||
DO_(::google::protobuf::internal::WireFormatLite::ReadString(
|
||||
input, this->mutable_name()));
|
||||
::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
|
||||
this->name().data(), this->name().length(),
|
||||
this->name().data(), static_cast<int>(this->name().length()),
|
||||
::google::protobuf::internal::WireFormat::PARSE,
|
||||
"google.protobuf.compiler.FieldAccessInfo.name");
|
||||
} else {
|
||||
@ -363,7 +365,7 @@ void FieldAccessInfo::SerializeWithCachedSizes(
|
||||
// optional string name = 1;
|
||||
if (cached_has_bits & 0x00000001u) {
|
||||
::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
|
||||
this->name().data(), this->name().length(),
|
||||
this->name().data(), static_cast<int>(this->name().length()),
|
||||
::google::protobuf::internal::WireFormat::SERIALIZE,
|
||||
"google.protobuf.compiler.FieldAccessInfo.name");
|
||||
::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
|
||||
@ -402,7 +404,7 @@ void FieldAccessInfo::SerializeWithCachedSizes(
|
||||
// optional string name = 1;
|
||||
if (cached_has_bits & 0x00000001u) {
|
||||
::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
|
||||
this->name().data(), this->name().length(),
|
||||
this->name().data(), static_cast<int>(this->name().length()),
|
||||
::google::protobuf::internal::WireFormat::SERIALIZE,
|
||||
"google.protobuf.compiler.FieldAccessInfo.name");
|
||||
target =
|
||||
@ -795,7 +797,7 @@ bool MessageAccessInfo::MergePartialFromCodedStream(
|
||||
DO_(::google::protobuf::internal::WireFormatLite::ReadString(
|
||||
input, this->mutable_name()));
|
||||
::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
|
||||
this->name().data(), this->name().length(),
|
||||
this->name().data(), static_cast<int>(this->name().length()),
|
||||
::google::protobuf::internal::WireFormat::PARSE,
|
||||
"google.protobuf.compiler.MessageAccessInfo.name");
|
||||
} else {
|
||||
@ -862,7 +864,7 @@ void MessageAccessInfo::SerializeWithCachedSizes(
|
||||
// optional string name = 1;
|
||||
if (cached_has_bits & 0x00000001u) {
|
||||
::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
|
||||
this->name().data(), this->name().length(),
|
||||
this->name().data(), static_cast<int>(this->name().length()),
|
||||
::google::protobuf::internal::WireFormat::SERIALIZE,
|
||||
"google.protobuf.compiler.MessageAccessInfo.name");
|
||||
::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
|
||||
@ -875,9 +877,10 @@ void MessageAccessInfo::SerializeWithCachedSizes(
|
||||
}
|
||||
|
||||
// repeated .google.protobuf.compiler.FieldAccessInfo field = 3;
|
||||
for (unsigned int i = 0, n = this->field_size(); i < n; i++) {
|
||||
for (unsigned int i = 0,
|
||||
n = static_cast<unsigned int>(this->field_size()); i < n; i++) {
|
||||
::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
|
||||
3, this->field(i), output);
|
||||
3, this->field(static_cast<int>(i)), output);
|
||||
}
|
||||
|
||||
if (_internal_metadata_.have_unknown_fields()) {
|
||||
@ -897,7 +900,7 @@ void MessageAccessInfo::SerializeWithCachedSizes(
|
||||
// optional string name = 1;
|
||||
if (cached_has_bits & 0x00000001u) {
|
||||
::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
|
||||
this->name().data(), this->name().length(),
|
||||
this->name().data(), static_cast<int>(this->name().length()),
|
||||
::google::protobuf::internal::WireFormat::SERIALIZE,
|
||||
"google.protobuf.compiler.MessageAccessInfo.name");
|
||||
target =
|
||||
@ -911,10 +914,11 @@ void MessageAccessInfo::SerializeWithCachedSizes(
|
||||
}
|
||||
|
||||
// repeated .google.protobuf.compiler.FieldAccessInfo field = 3;
|
||||
for (unsigned int i = 0, n = this->field_size(); i < n; i++) {
|
||||
for (unsigned int i = 0,
|
||||
n = static_cast<unsigned int>(this->field_size()); i < n; i++) {
|
||||
target = ::google::protobuf::internal::WireFormatLite::
|
||||
InternalWriteMessageNoVirtualToArray(
|
||||
3, this->field(i), deterministic, target);
|
||||
3, this->field(static_cast<int>(i)), deterministic, target);
|
||||
}
|
||||
|
||||
if (_internal_metadata_.have_unknown_fields()) {
|
||||
@ -936,12 +940,12 @@ size_t MessageAccessInfo::ByteSizeLong() const {
|
||||
}
|
||||
// repeated .google.protobuf.compiler.FieldAccessInfo field = 3;
|
||||
{
|
||||
unsigned int count = this->field_size();
|
||||
unsigned int count = static_cast<unsigned int>(this->field_size());
|
||||
total_size += 1UL * count;
|
||||
for (unsigned int i = 0; i < count; i++) {
|
||||
total_size +=
|
||||
::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
|
||||
this->field(i));
|
||||
this->field(static_cast<int>(i)));
|
||||
}
|
||||
}
|
||||
|
||||
@ -1279,9 +1283,10 @@ void AccessInfo::SerializeWithCachedSizes(
|
||||
(void) cached_has_bits;
|
||||
|
||||
// repeated .google.protobuf.compiler.MessageAccessInfo message = 1;
|
||||
for (unsigned int i = 0, n = this->message_size(); i < n; i++) {
|
||||
for (unsigned int i = 0,
|
||||
n = static_cast<unsigned int>(this->message_size()); i < n; i++) {
|
||||
::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
|
||||
1, this->message(i), output);
|
||||
1, this->message(static_cast<int>(i)), output);
|
||||
}
|
||||
|
||||
if (_internal_metadata_.have_unknown_fields()) {
|
||||
@ -1298,10 +1303,11 @@ void AccessInfo::SerializeWithCachedSizes(
|
||||
(void) cached_has_bits;
|
||||
|
||||
// repeated .google.protobuf.compiler.MessageAccessInfo message = 1;
|
||||
for (unsigned int i = 0, n = this->message_size(); i < n; i++) {
|
||||
for (unsigned int i = 0,
|
||||
n = static_cast<unsigned int>(this->message_size()); i < n; i++) {
|
||||
target = ::google::protobuf::internal::WireFormatLite::
|
||||
InternalWriteMessageNoVirtualToArray(
|
||||
1, this->message(i), deterministic, target);
|
||||
1, this->message(static_cast<int>(i)), deterministic, target);
|
||||
}
|
||||
|
||||
if (_internal_metadata_.have_unknown_fields()) {
|
||||
@ -1323,12 +1329,12 @@ size_t AccessInfo::ByteSizeLong() const {
|
||||
}
|
||||
// repeated .google.protobuf.compiler.MessageAccessInfo message = 1;
|
||||
{
|
||||
unsigned int count = this->message_size();
|
||||
unsigned int count = static_cast<unsigned int>(this->message_size());
|
||||
total_size += 1UL * count;
|
||||
for (unsigned int i = 0; i < count; i++) {
|
||||
total_size +=
|
||||
::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
|
||||
this->message(i));
|
||||
this->message(static_cast<int>(i)));
|
||||
}
|
||||
}
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -164,14 +164,15 @@ Duration::Duration(const Duration& from)
|
||||
_cached_size_(0) {
|
||||
_internal_metadata_.MergeFrom(from._internal_metadata_);
|
||||
::memcpy(&seconds_, &from.seconds_,
|
||||
reinterpret_cast<char*>(&nanos_) -
|
||||
reinterpret_cast<char*>(&seconds_) + sizeof(nanos_));
|
||||
static_cast<size_t>(reinterpret_cast<char*>(&nanos_) -
|
||||
reinterpret_cast<char*>(&seconds_)) + sizeof(nanos_));
|
||||
// @@protoc_insertion_point(copy_constructor:google.protobuf.Duration)
|
||||
}
|
||||
|
||||
void Duration::SharedCtor() {
|
||||
::memset(&seconds_, 0, reinterpret_cast<char*>(&nanos_) -
|
||||
reinterpret_cast<char*>(&seconds_) + sizeof(nanos_));
|
||||
::memset(&seconds_, 0, static_cast<size_t>(
|
||||
reinterpret_cast<char*>(&nanos_) -
|
||||
reinterpret_cast<char*>(&seconds_)) + sizeof(nanos_));
|
||||
_cached_size_ = 0;
|
||||
}
|
||||
|
||||
@ -215,8 +216,9 @@ Duration* Duration::New(::google::protobuf::Arena* arena) const {
|
||||
|
||||
void Duration::Clear() {
|
||||
// @@protoc_insertion_point(message_clear_start:google.protobuf.Duration)
|
||||
::memset(&seconds_, 0, reinterpret_cast<char*>(&nanos_) -
|
||||
reinterpret_cast<char*>(&seconds_) + sizeof(nanos_));
|
||||
::memset(&seconds_, 0, static_cast<size_t>(
|
||||
reinterpret_cast<char*>(&nanos_) -
|
||||
reinterpret_cast<char*>(&seconds_)) + sizeof(nanos_));
|
||||
}
|
||||
|
||||
bool Duration::MergePartialFromCodedStream(
|
||||
|
@ -156,20 +156,20 @@ class LIBPROTOBUF_EXPORT DynamicMapSorter {
|
||||
int map_size,
|
||||
const Reflection* reflection,
|
||||
const FieldDescriptor* field) {
|
||||
std::vector<const Message*> result(map_size);
|
||||
std::vector<const Message*> result(static_cast<size_t>(map_size));
|
||||
const RepeatedPtrField<Message>& map_field =
|
||||
reflection->GetRepeatedPtrField<Message>(message, field);
|
||||
int i = 0;
|
||||
size_t i = 0;
|
||||
for (RepeatedPtrField<Message>::const_pointer_iterator it =
|
||||
map_field.pointer_begin(); it != map_field.pointer_end(); ) {
|
||||
result[i++] = *it++;
|
||||
}
|
||||
GOOGLE_DCHECK_EQ(result.size(), static_cast<size_t>(i));
|
||||
GOOGLE_DCHECK_EQ(result.size(), i);
|
||||
MapEntryMessageComparator comparator(field->message_type());
|
||||
std::sort(result.begin(), result.end(), comparator);
|
||||
// Complain if the keys aren't in ascending order.
|
||||
#ifndef NDEBUG
|
||||
for (int j = 1; j < map_size; j++) {
|
||||
for (size_t j = 1; j < static_cast<size_t>(map_size); j++) {
|
||||
if (!comparator(result[j - 1], result[j])) {
|
||||
GOOGLE_LOG(ERROR) << (comparator(result[j], result[j - 1]) ?
|
||||
"internal error in map key sorting" :
|
||||
|
@ -213,7 +213,7 @@ bool FieldMask::MergePartialFromCodedStream(
|
||||
input, this->add_paths()));
|
||||
DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
|
||||
this->paths(this->paths_size() - 1).data(),
|
||||
this->paths(this->paths_size() - 1).length(),
|
||||
static_cast<int>(this->paths(this->paths_size() - 1).length()),
|
||||
::google::protobuf::internal::WireFormatLite::PARSE,
|
||||
"google.protobuf.FieldMask.paths"));
|
||||
} else {
|
||||
@ -252,7 +252,7 @@ void FieldMask::SerializeWithCachedSizes(
|
||||
// repeated string paths = 1;
|
||||
for (int i = 0, n = this->paths_size(); i < n; i++) {
|
||||
::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
|
||||
this->paths(i).data(), this->paths(i).length(),
|
||||
this->paths(i).data(), static_cast<int>(this->paths(i).length()),
|
||||
::google::protobuf::internal::WireFormatLite::SERIALIZE,
|
||||
"google.protobuf.FieldMask.paths");
|
||||
::google::protobuf::internal::WireFormatLite::WriteString(
|
||||
@ -271,7 +271,7 @@ void FieldMask::SerializeWithCachedSizes(
|
||||
// repeated string paths = 1;
|
||||
for (int i = 0, n = this->paths_size(); i < n; i++) {
|
||||
::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
|
||||
this->paths(i).data(), this->paths(i).length(),
|
||||
this->paths(i).data(), static_cast<int>(this->paths(i).length()),
|
||||
::google::protobuf::internal::WireFormatLite::SERIALIZE,
|
||||
"google.protobuf.FieldMask.paths");
|
||||
target = ::google::protobuf::internal::WireFormatLite::
|
||||
|
@ -129,7 +129,7 @@ class WeakFieldMap; // weak_field_map.h
|
||||
struct ReflectionSchema {
|
||||
public:
|
||||
// Size of a google::protobuf::Message object of this type.
|
||||
uint32 GetObjectSize() const { return object_size_; }
|
||||
uint32 GetObjectSize() const { return static_cast<uint32>(object_size_); }
|
||||
|
||||
// Offset of a non-oneof field. Getting a field offset is slightly more
|
||||
// efficient when we know statically that it is not a oneof field.
|
||||
@ -141,8 +141,9 @@ struct ReflectionSchema {
|
||||
// Offset of any field.
|
||||
uint32 GetFieldOffset(const FieldDescriptor* field) const {
|
||||
if (field->containing_oneof()) {
|
||||
size_t offset = field->containing_type()->field_count() +
|
||||
field->containing_oneof()->index();
|
||||
size_t offset =
|
||||
static_cast<size_t>(field->containing_type()->field_count() +
|
||||
field->containing_oneof()->index());
|
||||
return offsets_[offset];
|
||||
} else {
|
||||
return GetFieldOffsetNonOneof(field);
|
||||
@ -150,7 +151,9 @@ struct ReflectionSchema {
|
||||
}
|
||||
|
||||
uint32 GetOneofCaseOffset(const OneofDescriptor* oneof_descriptor) const {
|
||||
return oneof_case_offset_ + (oneof_descriptor->index() * sizeof(uint32));
|
||||
return static_cast<uint32>(oneof_case_offset_) +
|
||||
static_cast<uint32>(
|
||||
static_cast<size_t>(oneof_descriptor->index()) * sizeof(uint32));
|
||||
}
|
||||
|
||||
bool HasHasbits() const { return has_bits_offset_ != -1; }
|
||||
@ -164,7 +167,7 @@ struct ReflectionSchema {
|
||||
// Byte offset of the hasbits array.
|
||||
uint32 HasBitsOffset() const {
|
||||
GOOGLE_DCHECK(HasHasbits());
|
||||
return has_bits_offset_;
|
||||
return static_cast<uint32>(has_bits_offset_);
|
||||
}
|
||||
|
||||
// The offset of the InternalMetadataWithArena member.
|
||||
@ -172,7 +175,7 @@ struct ReflectionSchema {
|
||||
// The schema doesn't contain enough information to distinguish between
|
||||
// these two cases.
|
||||
uint32 GetMetadataOffset() const {
|
||||
return metadata_offset_;
|
||||
return static_cast<uint32>(metadata_offset_);
|
||||
}
|
||||
|
||||
// Whether this message has an ExtensionSet.
|
||||
@ -181,7 +184,7 @@ struct ReflectionSchema {
|
||||
// The offset of the ExtensionSet in this message.
|
||||
uint32 GetExtensionSetOffset() const {
|
||||
GOOGLE_DCHECK(HasExtensionSet());
|
||||
return extensions_offset_;
|
||||
return static_cast<uint32>(extensions_offset_);
|
||||
}
|
||||
|
||||
// The off set of WeakFieldMap when the message contains weak fields.
|
||||
|
@ -158,7 +158,7 @@ class Map {
|
||||
|
||||
private:
|
||||
void Init() {
|
||||
elements_ = Arena::Create<InnerMap>(arena_, 0, hasher(), Allocator(arena_));
|
||||
elements_ = Arena::Create<InnerMap>(arena_, 0u, hasher(), Allocator(arena_));
|
||||
}
|
||||
|
||||
// re-implement std::allocator to use arena allocator for memory allocation.
|
||||
|
@ -226,8 +226,10 @@ class MapEntryImpl : public Base {
|
||||
|
||||
size_t ByteSizeLong() const {
|
||||
size_t size = 0;
|
||||
size += has_key() ? kTagSize + KeyTypeHandler::ByteSize(key()) : 0;
|
||||
size += has_value() ? kTagSize + ValueTypeHandler::ByteSize(value()) : 0;
|
||||
size += has_key() ?
|
||||
kTagSize + static_cast<size_t>(KeyTypeHandler::ByteSize(key())) : 0;
|
||||
size += has_value() ?
|
||||
kTagSize + static_cast<size_t>(ValueTypeHandler::ByteSize(value())) : 0;
|
||||
return size;
|
||||
}
|
||||
|
||||
@ -250,11 +252,10 @@ class MapEntryImpl : public Base {
|
||||
int GetCachedSize() const {
|
||||
int size = 0;
|
||||
size += has_key()
|
||||
? kTagSize + KeyTypeHandler::GetCachedSize(key())
|
||||
? static_cast<int>(kTagSize) + KeyTypeHandler::GetCachedSize(key())
|
||||
: 0;
|
||||
size += has_value()
|
||||
? kTagSize + ValueTypeHandler::GetCachedSize(
|
||||
value())
|
||||
? static_cast<int>(kTagSize) + ValueTypeHandler::GetCachedSize(value())
|
||||
: 0;
|
||||
return size;
|
||||
}
|
||||
|
@ -168,7 +168,7 @@ template <typename Derived, typename Key, typename T,
|
||||
int MapField<Derived, Key, T, kKeyFieldType, kValueFieldType,
|
||||
default_enum_value>::size() const {
|
||||
MapFieldBase::SyncMapWithRepeatedField();
|
||||
return impl_.GetMap().size();
|
||||
return static_cast<int>(impl_.GetMap().size());
|
||||
}
|
||||
|
||||
template <typename Derived, typename Key, typename T,
|
||||
|
@ -60,7 +60,7 @@ class MapFieldLite {
|
||||
Map<Key, T>* MutableMap() { return &map_; }
|
||||
|
||||
// Convenient methods for generated message implementation.
|
||||
int size() const { return map_.size(); }
|
||||
int size() const { return static_cast<int>(map_.size()); }
|
||||
void Clear() { return map_.clear(); }
|
||||
void MergeFrom(const MapFieldLite& other) {
|
||||
for (typename Map<Key, T>::const_iterator it = other.map_.begin();
|
||||
|
@ -284,7 +284,7 @@ MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::ByteSize(
|
||||
template <typename Type> \
|
||||
inline int MapTypeHandler<WireFormatLite::TYPE_##FieldType, Type>::ByteSize( \
|
||||
const MapEntryAccessorType& value) { \
|
||||
return WireFormatLite::DeclaredType##Size(value); \
|
||||
return static_cast<int>(WireFormatLite::DeclaredType##Size(value)); \
|
||||
}
|
||||
|
||||
GOOGLE_PROTOBUF_BYTE_SIZE(STRING, String)
|
||||
@ -320,7 +320,9 @@ template <typename Type>
|
||||
inline int
|
||||
MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetCachedSize(
|
||||
const MapEntryAccessorType& value) {
|
||||
return WireFormatLite::LengthDelimitedSize(value.GetCachedSize());
|
||||
return static_cast<int>(
|
||||
WireFormatLite::LengthDelimitedSize(
|
||||
static_cast<size_t>(value.GetCachedSize())));
|
||||
}
|
||||
|
||||
#define GET_CACHED_SIZE(FieldType, DeclaredType) \
|
||||
@ -328,7 +330,7 @@ MapTypeHandler<WireFormatLite::TYPE_MESSAGE, Type>::GetCachedSize(
|
||||
inline int \
|
||||
MapTypeHandler<WireFormatLite::TYPE_##FieldType, Type>::GetCachedSize( \
|
||||
const MapEntryAccessorType& value) { \
|
||||
return WireFormatLite::DeclaredType##Size(value); \
|
||||
return static_cast<int>(WireFormatLite::DeclaredType##Size(value)); \
|
||||
}
|
||||
|
||||
GET_CACHED_SIZE(STRING, String)
|
||||
|
@ -1335,7 +1335,7 @@ void RepeatedField<Element>::Reserve(int new_size) {
|
||||
static_cast<size_t>(new_size),
|
||||
(std::numeric_limits<size_t>::max() - kRepHeaderSize) / sizeof(Element))
|
||||
<< "Requested size is too large to fit into size_t.";
|
||||
size_t bytes = kRepHeaderSize + sizeof(Element) * new_size;
|
||||
size_t bytes = kRepHeaderSize + sizeof(Element) * static_cast<size_t>(new_size);
|
||||
if (arena == NULL) {
|
||||
rep_ = static_cast<Rep*>(::operator new(bytes));
|
||||
} else {
|
||||
@ -1399,7 +1399,7 @@ void ElementCopier<Element, HasTrivialCopy>::operator()(
|
||||
template <typename Element>
|
||||
struct ElementCopier<Element, true> {
|
||||
void operator()(Element* to, const Element* from, int array_size) {
|
||||
memcpy(to, from, array_size * sizeof(Element));
|
||||
memcpy(to, from, static_cast<size_t>(array_size) * sizeof(Element));
|
||||
}
|
||||
};
|
||||
|
||||
@ -1651,7 +1651,7 @@ inline void RepeatedPtrFieldBase::SwapElements(int index1, int index2) {
|
||||
|
||||
template <typename TypeHandler>
|
||||
inline size_t RepeatedPtrFieldBase::SpaceUsedExcludingSelfLong() const {
|
||||
size_t allocated_bytes = total_size_ * sizeof(void*);
|
||||
size_t allocated_bytes = static_cast<size_t>(total_size_) * sizeof(void*);
|
||||
if (rep_ != NULL) {
|
||||
for (int i = 0; i < rep_->allocated_size; ++i) {
|
||||
allocated_bytes += TypeHandler::SpaceUsedLong(
|
||||
|
@ -218,7 +218,7 @@ bool SourceContext::MergePartialFromCodedStream(
|
||||
DO_(::google::protobuf::internal::WireFormatLite::ReadString(
|
||||
input, this->mutable_file_name()));
|
||||
DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
|
||||
this->file_name().data(), this->file_name().length(),
|
||||
this->file_name().data(), static_cast<int>(this->file_name().length()),
|
||||
::google::protobuf::internal::WireFormatLite::PARSE,
|
||||
"google.protobuf.SourceContext.file_name"));
|
||||
} else {
|
||||
@ -257,7 +257,7 @@ void SourceContext::SerializeWithCachedSizes(
|
||||
// string file_name = 1;
|
||||
if (this->file_name().size() > 0) {
|
||||
::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
|
||||
this->file_name().data(), this->file_name().length(),
|
||||
this->file_name().data(), static_cast<int>(this->file_name().length()),
|
||||
::google::protobuf::internal::WireFormatLite::SERIALIZE,
|
||||
"google.protobuf.SourceContext.file_name");
|
||||
::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
|
||||
@ -276,7 +276,7 @@ void SourceContext::SerializeWithCachedSizes(
|
||||
// string file_name = 1;
|
||||
if (this->file_name().size() > 0) {
|
||||
::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
|
||||
this->file_name().data(), this->file_name().length(),
|
||||
this->file_name().data(), static_cast<int>(this->file_name().length()),
|
||||
::google::protobuf::internal::WireFormatLite::SERIALIZE,
|
||||
"google.protobuf.SourceContext.file_name");
|
||||
target =
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user