Down integrate to GitHub
diff --git a/java/core/src/test/proto/com/google/protobuf/any_test.proto b/java/core/src/test/proto/com/google/protobuf/any_test.proto
index 80173d8..99d52b7 100644
--- a/java/core/src/test/proto/com/google/protobuf/any_test.proto
+++ b/java/core/src/test/proto/com/google/protobuf/any_test.proto
@@ -32,11 +32,11 @@
package any_test;
+import "google/protobuf/any.proto";
+
option java_package = "any_test";
option java_outer_classname = "AnyTestProto";
-import "google/protobuf/any.proto";
-
message TestAny {
google.protobuf.Any value = 1;
}
diff --git a/java/core/src/test/proto/com/google/protobuf/cached_field_size_test.proto b/java/core/src/test/proto/com/google/protobuf/cached_field_size_test.proto
index ce78b34..9579a0a 100755
--- a/java/core/src/test/proto/com/google/protobuf/cached_field_size_test.proto
+++ b/java/core/src/test/proto/com/google/protobuf/cached_field_size_test.proto
@@ -33,12 +33,12 @@
package protobuf_unittest;
-option optimize_for = CODE_SIZE;
-option java_multiple_files = true;
-
import "google/protobuf/unittest.proto";
import "google/protobuf/unittest_proto3.proto";
+option optimize_for = CODE_SIZE;
+option java_multiple_files = true;
+
message TestCachedFieldSizeMessage {
optional protobuf_unittest.TestPackedTypes proto2_child = 1;
optional proto3_unittest.TestPackedTypes proto3_child = 2;
diff --git a/java/core/src/test/proto/com/google/protobuf/message_lite_extension_util_test.proto b/java/core/src/test/proto/com/google/protobuf/message_lite_extension_util_test.proto
index f985ab0..9baf948 100755
--- a/java/core/src/test/proto/com/google/protobuf/message_lite_extension_util_test.proto
+++ b/java/core/src/test/proto/com/google/protobuf/message_lite_extension_util_test.proto
@@ -43,5 +43,6 @@
extend Car {
optional bool turbo = 1001;
optional bool self_driving = 1002;
+ optional bool flies = 1003;
optional string plate = 9999;
}
diff --git a/java/core/src/test/proto/com/google/protobuf/multiple_files_test.proto b/java/core/src/test/proto/com/google/protobuf/multiple_files_test.proto
index 9279050..fb3a74b 100644
--- a/java/core/src/test/proto/com/google/protobuf/multiple_files_test.proto
+++ b/java/core/src/test/proto/com/google/protobuf/multiple_files_test.proto
@@ -36,24 +36,20 @@
// Some generic_services option(s) added automatically.
// See: http://go/proto2-generic-services-default
-option java_generic_services = true; // auto-added
+package protobuf_unittest;
import "google/protobuf/unittest.proto";
import "google/protobuf/descriptor.proto";
-package protobuf_unittest;
-
+option java_generic_services = true; // auto-added
option java_multiple_files = true;
option java_outer_classname = "MultipleFilesTestProto";
-
message MessageWithNoOuter {
message NestedMessage {
optional int32 i = 1;
}
- enum NestedEnum {
- BAZ = 3;
- }
+ enum NestedEnum { BAZ = 3; }
optional NestedMessage nested = 1;
repeated TestAllTypes foreign = 2;
optional NestedEnum nested_enum = 3;
@@ -70,7 +66,7 @@
}
service ServiceWithNoOuter {
- rpc Foo(MessageWithNoOuter) returns(TestAllTypes);
+ rpc Foo(MessageWithNoOuter) returns (TestAllTypes);
}
extend TestAllExtensions {
diff --git a/java/core/src/test/proto/com/google/protobuf/proto2_message.proto b/java/core/src/test/proto/com/google/protobuf/proto2_message.proto
index 005a911..86c48b0 100755
--- a/java/core/src/test/proto/com/google/protobuf/proto2_message.proto
+++ b/java/core/src/test/proto/com/google/protobuf/proto2_message.proto
@@ -31,9 +31,10 @@
// LINT: ALLOW_GROUPS
syntax = "proto2";
+package protobuf.experimental;
+
option java_package = "com.google.protobuf.testing";
option java_outer_classname = "Proto2Testing";
-package protobuf.experimental;
message Proto2SpecialFieldName {
diff --git a/java/core/src/test/proto/com/google/protobuf/proto2_message_lite.proto b/java/core/src/test/proto/com/google/protobuf/proto2_message_lite.proto
index 8385dfd..7dfd40e 100755
--- a/java/core/src/test/proto/com/google/protobuf/proto2_message_lite.proto
+++ b/java/core/src/test/proto/com/google/protobuf/proto2_message_lite.proto
@@ -31,9 +31,10 @@
// LINT: ALLOW_GROUPS
syntax = "proto2";
+package protobuf.experimental.lite;
+
option java_package = "com.google.protobuf.testing";
option java_outer_classname = "Proto2TestingLite";
-package protobuf.experimental.lite;
message Proto2MessageLite {
diff --git a/java/core/src/test/proto/com/google/protobuf/proto3_message.proto b/java/core/src/test/proto/com/google/protobuf/proto3_message.proto
index 01c7deb..bcf32e1 100755
--- a/java/core/src/test/proto/com/google/protobuf/proto3_message.proto
+++ b/java/core/src/test/proto/com/google/protobuf/proto3_message.proto
@@ -30,9 +30,10 @@
syntax = "proto3";
+package protobuf.experimental;
+
option java_package = "com.google.protobuf.testing";
option java_outer_classname = "Proto3Testing";
-package protobuf.experimental;
message Proto3SpecialFieldName {
double regular_name = 1;
diff --git a/java/core/src/test/proto/com/google/protobuf/proto3_message_lite.proto b/java/core/src/test/proto/com/google/protobuf/proto3_message_lite.proto
index ed364ec..4a378b5 100755
--- a/java/core/src/test/proto/com/google/protobuf/proto3_message_lite.proto
+++ b/java/core/src/test/proto/com/google/protobuf/proto3_message_lite.proto
@@ -30,9 +30,10 @@
syntax = "proto3";
+package protobuf.experimental;
+
option java_package = "com.google.protobuf.testing";
option java_outer_classname = "Proto3TestingLite";
-package protobuf.experimental;
message Proto3MessageLite {
enum TestEnum {
diff --git a/java/core/src/test/proto/com/google/protobuf/test_bad_identifiers.proto b/java/core/src/test/proto/com/google/protobuf/test_bad_identifiers.proto
index ff5bf3a..df43e9b 100644
--- a/java/core/src/test/proto/com/google/protobuf/test_bad_identifiers.proto
+++ b/java/core/src/test/proto/com/google/protobuf/test_bad_identifiers.proto
@@ -37,10 +37,9 @@
// Some generic_services option(s) added automatically.
// See: http://go/proto2-generic-services-default
-option java_generic_services = true; // auto-added
-
package io_protocol_tests;
+option java_generic_services = true; // auto-added
option java_package = "com.google.protobuf";
option java_outer_classname = "TestBadIdentifiersProto";
@@ -52,9 +51,11 @@
message Descriptor {
option no_standard_descriptor_accessor = true;
+
optional string descriptor = 1;
message NestedDescriptor {
option no_standard_descriptor_accessor = true;
+
optional string descriptor = 1;
}
optional NestedDescriptor nested_descriptor = 2;
@@ -78,12 +79,12 @@
FOO = 1;
// Test if @Deprecated annotation conflicts with Deprecated message name.
- BAR = 2 [ deprecated = true ];
+ BAR = 2 [deprecated = true];
}
- optional int32 field1 = 1 [deprecated=true];
- optional TestEnum field2 = 2 [deprecated=true];
- optional TestMessage field3 = 3 [deprecated=true];
+ optional int32 field1 = 1 [deprecated = true];
+ optional TestEnum field2 = 2 [deprecated = true];
+ optional TestMessage field3 = 3 [deprecated = true];
}
message Override {
@@ -124,8 +125,7 @@
UNKNOWN = 0;
FOO = 1;
}
- message TestMessage {
- }
+ message TestMessage {}
repeated int32 int32_field = 1;
repeated TestEnum enum_field = 2;
repeated string string_field = 3;
@@ -138,10 +138,10 @@
optional bytes bytes_field_count = 14;
optional TestMessage message_field_count = 15;
- repeated int32 Int32Field = 21; // NO_PROTO3
- repeated TestEnum EnumField = 22; // NO_PROTO3
- repeated string StringField = 23; // NO_PROTO3
- repeated bytes BytesField = 24; // NO_PROTO3
+ repeated int32 Int32Field = 21; // NO_PROTO3
+ repeated TestEnum EnumField = 22; // NO_PROTO3
+ repeated string StringField = 23; // NO_PROTO3
+ repeated bytes BytesField = 24; // NO_PROTO3
repeated TestMessage MessageField = 25; // NO_PROTO3
// This field conflicts with "int32_field" as they both generate
@@ -149,9 +149,9 @@
required int32 int32_field_list = 31; // NO_PROTO3
// These field pairs have the same Java converted name
- optional string field_name = 32; // NO_PROTO3
- optional string field__name = 33; // NO_PROTO3
- optional int32 _2conflict = 34; // NO_PROTO3
+ optional string field_name = 32; // NO_PROTO3
+ optional string field__name = 33; // NO_PROTO3
+ optional int32 _2conflict = 34; // NO_PROTO3
optional int32 __2conflict = 35;
extensions 1000 to max; // NO_PROTO3
@@ -161,8 +161,8 @@
// We don't generate accessors for extensions so the following extension
// fields don't conflict with the repeated field "int64_field".
optional int64 int64_field_count = 1001; // NO_PROTO3
- optional int64 int64_field_list = 1002; // NO_PROTO3
- } // NO_PROTO3
+ optional int64 int64_field_list = 1002; // NO_PROTO3
+ } // NO_PROTO3
}
message TestMapField {
diff --git a/java/core/src/test/proto/com/google/protobuf/test_custom_options.proto b/java/core/src/test/proto/com/google/protobuf/test_custom_options.proto
index f8efd45..dde4ca5 100644
--- a/java/core/src/test/proto/com/google/protobuf/test_custom_options.proto
+++ b/java/core/src/test/proto/com/google/protobuf/test_custom_options.proto
@@ -36,9 +36,9 @@
package protobuf_unittest;
-
import "google/protobuf/unittest_custom_options.proto";
+
message TestMessageWithCustomOptionsContainer {
optional TestMessageWithCustomOptions field = 1;
}
diff --git a/java/core/src/test/proto/com/google/protobuf/test_extra_interfaces.proto b/java/core/src/test/proto/com/google/protobuf/test_extra_interfaces.proto
index 645f57b..0a51fc4 100644
--- a/java/core/src/test/proto/com/google/protobuf/test_extra_interfaces.proto
+++ b/java/core/src/test/proto/com/google/protobuf/test_extra_interfaces.proto
@@ -36,13 +36,10 @@
message Proto1 {
option experimental_java_message_interface =
"com.google.protobuf.ExtraInterfaces.HasBoolValue";
-
option experimental_java_interface_extends =
"com.google.protobuf.ExtraInterfaces.HasByteValue";
-
option experimental_java_message_interface =
"com.google.protobuf.ExtraInterfaces.HasStringValue<Proto1>";
-
option experimental_java_builder_interface =
"com.google.protobuf.ExtraInterfaces.HasStringValueBuilder"
"<Proto1, Builder>";
diff --git a/java/core/src/test/proto/com/google/protobuf/wrappers_test.proto b/java/core/src/test/proto/com/google/protobuf/wrappers_test.proto
index f151edf..60f49e0 100755
--- a/java/core/src/test/proto/com/google/protobuf/wrappers_test.proto
+++ b/java/core/src/test/proto/com/google/protobuf/wrappers_test.proto
@@ -31,9 +31,11 @@
syntax = "proto3";
package wrappers_test;
+
+import "google/protobuf/wrappers.proto";
+
option java_package = "com.google.protobuf.wrapperstest";
option java_outer_classname = "WrappersTestProto";
-import "google/protobuf/wrappers.proto";
message TopLevelMessage {
int32 field1 = 1;
diff --git a/java/util/src/test/proto/com/google/protobuf/util/json_test.proto b/java/util/src/test/proto/com/google/protobuf/util/json_test.proto
index 26d0624..ba4fe03 100644
--- a/java/util/src/test/proto/com/google/protobuf/util/json_test.proto
+++ b/java/util/src/test/proto/com/google/protobuf/util/json_test.proto
@@ -32,15 +32,15 @@
package json_test;
-option java_package = "com.google.protobuf.util.proto";
-option java_outer_classname = "JsonTestProto";
-
import "google/protobuf/any.proto";
-import "google/protobuf/wrappers.proto";
-import "google/protobuf/timestamp.proto";
import "google/protobuf/duration.proto";
import "google/protobuf/field_mask.proto";
import "google/protobuf/struct.proto";
+import "google/protobuf/timestamp.proto";
+import "google/protobuf/wrappers.proto";
+
+option java_package = "com.google.protobuf.util.proto";
+option java_outer_classname = "JsonTestProto";
message TestAllTypes {
enum NestedEnum {
diff --git a/python/google/protobuf/descriptor.py b/python/google/protobuf/descriptor.py
index 5d8f8a1..2c2a079 100755
--- a/python/google/protobuf/descriptor.py
+++ b/python/google/protobuf/descriptor.py
@@ -657,7 +657,8 @@
for value in self.values:
value.type = self
self.values_by_name = dict((v.name, v) for v in values)
- self.values_by_number = dict((v.number, v) for v in values)
+ # Values are reversed to ensure that the first alias is retained.
+ self.values_by_number = dict((v.number, v) for v in reversed(values))
def CopyToProto(self, proto):
"""Copies this to a descriptor_pb2.EnumDescriptorProto.
diff --git a/python/google/protobuf/internal/generator_test.py b/python/google/protobuf/internal/generator_test.py
index 7f13f9d..ab16d17 100755
--- a/python/google/protobuf/internal/generator_test.py
+++ b/python/google/protobuf/internal/generator_test.py
@@ -306,6 +306,16 @@
else:
self.assertIsNone(field_desc.containing_oneof)
+ def testEnumWithDupValue(self):
+ self.assertEqual('FOO1',
+ unittest_pb2.TestEnumWithDupValue.Name(unittest_pb2.FOO1))
+ self.assertEqual('FOO1',
+ unittest_pb2.TestEnumWithDupValue.Name(unittest_pb2.FOO2))
+ self.assertEqual('BAR1',
+ unittest_pb2.TestEnumWithDupValue.Name(unittest_pb2.BAR1))
+ self.assertEqual('BAR1',
+ unittest_pb2.TestEnumWithDupValue.Name(unittest_pb2.BAR2))
+
class SymbolDatabaseRegistrationTest(unittest.TestCase):
"""Checks that messages, enums and files are correctly registered."""
diff --git a/python/google/protobuf/pyext/descriptor.cc b/python/google/protobuf/pyext/descriptor.cc
index 7102a94..1637f83 100644
--- a/python/google/protobuf/pyext/descriptor.cc
+++ b/python/google/protobuf/pyext/descriptor.cc
@@ -1880,15 +1880,6 @@
&PyMethodDescriptor_Type, method_descriptor, NULL);
}
-const MethodDescriptor* PyMethodDescriptor_AsDescriptor(PyObject* obj) {
- if (!PyObject_TypeCheck(obj, &PyMethodDescriptor_Type)) {
- PyErr_SetString(PyExc_TypeError, "Not a MethodDescriptor");
- return NULL;
- }
- return reinterpret_cast<const MethodDescriptor*>(
- reinterpret_cast<PyBaseDescriptor*>(obj)->descriptor);
-}
-
// Add a enum values to a type dictionary.
static bool AddEnumValues(PyTypeObject *type,
const EnumDescriptor* enum_descriptor) {
diff --git a/python/google/protobuf/pyext/descriptor.h b/python/google/protobuf/pyext/descriptor.h
index c4dde9e..327ba4b 100644
--- a/python/google/protobuf/pyext/descriptor.h
+++ b/python/google/protobuf/pyext/descriptor.h
@@ -81,7 +81,6 @@
const EnumDescriptor* PyEnumDescriptor_AsDescriptor(PyObject* obj);
const FileDescriptor* PyFileDescriptor_AsDescriptor(PyObject* obj);
const ServiceDescriptor* PyServiceDescriptor_AsDescriptor(PyObject* obj);
-const MethodDescriptor* PyMethodDescriptor_AsDescriptor(PyObject* obj);
// Returns the raw C++ pointer.
const void* PyDescriptor_AsVoidPtr(PyObject* obj);
diff --git a/python/google/protobuf/pyext/descriptor_pool.h b/python/google/protobuf/pyext/descriptor_pool.h
index 7ce7513..541fda0 100644
--- a/python/google/protobuf/pyext/descriptor_pool.h
+++ b/python/google/protobuf/pyext/descriptor_pool.h
@@ -84,19 +84,8 @@
namespace cdescriptor_pool {
-// Looks up a message by name.
-// Returns a message Descriptor, or NULL if not found.
-const Descriptor* FindMessageTypeByName(PyDescriptorPool* self,
- const string& name);
-
// The functions below are also exposed as methods of the DescriptorPool type.
-// Looks up a message by name. Returns a PyMessageDescriptor corresponding to
-// the field on success, or NULL on failure.
-//
-// Returns a new reference.
-PyObject* FindMessageByName(PyDescriptorPool* self, PyObject* name);
-
// Looks up a field by name. Returns a PyFieldDescriptor corresponding to
// the field on success, or NULL on failure.
//
diff --git a/python/google/protobuf/pyext/map_container.cc b/python/google/protobuf/pyext/map_container.cc
index bc59ae8..07c94c7 100644
--- a/python/google/protobuf/pyext/map_container.cc
+++ b/python/google/protobuf/pyext/map_container.cc
@@ -100,9 +100,6 @@
// We store this so that if the map is modified during iteration we can throw
// an error.
uint64 version;
- // True if the container is empty. We signal this separately to avoid calling
- // any of the iteration methods, which are non-const.
- bool empty;
};
Message* MapContainer::GetMutableMessage() {
diff --git a/python/google/protobuf/pyext/scoped_pyobject_ptr.h b/python/google/protobuf/pyext/scoped_pyobject_ptr.h
index a2afa7f..9faaa4f 100644
--- a/python/google/protobuf/pyext/scoped_pyobject_ptr.h
+++ b/python/google/protobuf/pyext/scoped_pyobject_ptr.h
@@ -73,11 +73,6 @@
return p;
}
- PyObjectStruct* operator->() const {
- assert(ptr_ != NULL);
- return ptr_;
- }
-
PyObjectStruct* get() const { return ptr_; }
PyObject* as_pyobject() const { return reinterpret_cast<PyObject*>(ptr_); }
diff --git a/src/google/protobuf/any.pb.cc b/src/google/protobuf/any.pb.cc
index 815d20a..eea20a1 100644
--- a/src/google/protobuf/any.pb.cc
+++ b/src/google/protobuf/any.pb.cc
@@ -186,19 +186,19 @@
CHK_(ptr);
switch (tag >> 3) {
// string type_url = 1;
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 10) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_type_url(), ptr, ctx, "google.protobuf.Any.type_url");
- CHK_(ptr);
- break;
- }
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_type_url(), ptr, ctx, "google.protobuf.Any.type_url");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// bytes value = 2;
- case 2: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 18) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(mutable_value(), ptr, ctx);
- CHK_(ptr);
- break;
- }
+ case 2:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(mutable_value(), ptr, ctx);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -207,7 +207,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
diff --git a/src/google/protobuf/api.pb.cc b/src/google/protobuf/api.pb.cc
index 52a2e42..c979b56 100644
--- a/src/google/protobuf/api.pb.cc
+++ b/src/google/protobuf/api.pb.cc
@@ -292,70 +292,70 @@
CHK_(ptr);
switch (tag >> 3) {
// string name = 1;
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 10) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_name(), ptr, ctx, "google.protobuf.Api.name");
- CHK_(ptr);
- break;
- }
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_name(), ptr, ctx, "google.protobuf.Api.name");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// repeated .google.protobuf.Method methods = 2;
- case 2: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 18) goto handle_unusual;
- while (true) {
- ptr = ctx->ParseMessage(add_methods(), ptr);
- CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) != 18) break;
- ptr += 1;
- }
- break;
- }
+ case 2:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
+ ptr -= 1;
+ do {
+ ptr += 1;
+ ptr = ctx->ParseMessage(add_methods(), ptr);
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 18);
+ } else goto handle_unusual;
+ continue;
// repeated .google.protobuf.Option options = 3;
- case 3: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 26) goto handle_unusual;
- while (true) {
- ptr = ctx->ParseMessage(add_options(), ptr);
- CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) != 26) break;
- ptr += 1;
- }
- break;
- }
+ case 3:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
+ ptr -= 1;
+ do {
+ ptr += 1;
+ ptr = ctx->ParseMessage(add_options(), ptr);
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 26);
+ } else goto handle_unusual;
+ continue;
// string version = 4;
- case 4: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 34) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_version(), ptr, ctx, "google.protobuf.Api.version");
- CHK_(ptr);
- break;
- }
- // .google.protobuf.SourceContext source_context = 5;
- case 5: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 42) goto handle_unusual;
- ptr = ctx->ParseMessage(mutable_source_context(), ptr);
- CHK_(ptr);
- break;
- }
- // repeated .google.protobuf.Mixin mixins = 6;
- case 6: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 50) goto handle_unusual;
- while (true) {
- ptr = ctx->ParseMessage(add_mixins(), ptr);
+ case 4:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_version(), ptr, ctx, "google.protobuf.Api.version");
CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) != 50) break;
- ptr += 1;
- }
- break;
- }
+ } else goto handle_unusual;
+ continue;
+ // .google.protobuf.SourceContext source_context = 5;
+ case 5:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
+ ptr = ctx->ParseMessage(mutable_source_context(), ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
+ // repeated .google.protobuf.Mixin mixins = 6;
+ case 6:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
+ ptr -= 1;
+ do {
+ ptr += 1;
+ ptr = ctx->ParseMessage(add_mixins(), ptr);
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 50);
+ } else goto handle_unusual;
+ continue;
// .google.protobuf.Syntax syntax = 7;
- case 7: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 56) goto handle_unusual;
- ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- set_syntax(static_cast<PROTOBUF_NAMESPACE_ID::Syntax>(val));
- break;
- }
+ case 7:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
+ ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ set_syntax(static_cast<PROTOBUF_NAMESPACE_ID::Syntax>(val));
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -364,7 +364,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
@@ -904,60 +904,60 @@
CHK_(ptr);
switch (tag >> 3) {
// string name = 1;
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 10) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_name(), ptr, ctx, "google.protobuf.Method.name");
- CHK_(ptr);
- break;
- }
- // string request_type_url = 2;
- case 2: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 18) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_request_type_url(), ptr, ctx, "google.protobuf.Method.request_type_url");
- CHK_(ptr);
- break;
- }
- // bool request_streaming = 3;
- case 3: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 24) goto handle_unusual;
- request_streaming_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
- // string response_type_url = 4;
- case 4: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 34) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_response_type_url(), ptr, ctx, "google.protobuf.Method.response_type_url");
- CHK_(ptr);
- break;
- }
- // bool response_streaming = 5;
- case 5: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 40) goto handle_unusual;
- response_streaming_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
- // repeated .google.protobuf.Option options = 6;
- case 6: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 50) goto handle_unusual;
- while (true) {
- ptr = ctx->ParseMessage(add_options(), ptr);
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_name(), ptr, ctx, "google.protobuf.Method.name");
CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) != 50) break;
- ptr += 1;
- }
- break;
- }
+ } else goto handle_unusual;
+ continue;
+ // string request_type_url = 2;
+ case 2:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_request_type_url(), ptr, ctx, "google.protobuf.Method.request_type_url");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
+ // bool request_streaming = 3;
+ case 3:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
+ request_streaming_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
+ // string response_type_url = 4;
+ case 4:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_response_type_url(), ptr, ctx, "google.protobuf.Method.response_type_url");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
+ // bool response_streaming = 5;
+ case 5:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
+ response_streaming_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
+ // repeated .google.protobuf.Option options = 6;
+ case 6:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
+ ptr -= 1;
+ do {
+ ptr += 1;
+ ptr = ctx->ParseMessage(add_options(), ptr);
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 50);
+ } else goto handle_unusual;
+ continue;
// .google.protobuf.Syntax syntax = 7;
- case 7: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 56) goto handle_unusual;
- ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- set_syntax(static_cast<PROTOBUF_NAMESPACE_ID::Syntax>(val));
- break;
- }
+ case 7:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
+ ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ set_syntax(static_cast<PROTOBUF_NAMESPACE_ID::Syntax>(val));
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -966,7 +966,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
@@ -1476,19 +1476,19 @@
CHK_(ptr);
switch (tag >> 3) {
// string name = 1;
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 10) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_name(), ptr, ctx, "google.protobuf.Mixin.name");
- CHK_(ptr);
- break;
- }
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_name(), ptr, ctx, "google.protobuf.Mixin.name");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// string root = 2;
- case 2: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 18) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_root(), ptr, ctx, "google.protobuf.Mixin.root");
- CHK_(ptr);
- break;
- }
+ case 2:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_root(), ptr, ctx, "google.protobuf.Mixin.root");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -1497,7 +1497,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
diff --git a/src/google/protobuf/compiler/command_line_interface_unittest.cc b/src/google/protobuf/compiler/command_line_interface_unittest.cc
index c6fad5f..6ab5aff 100644
--- a/src/google/protobuf/compiler/command_line_interface_unittest.cc
+++ b/src/google/protobuf/compiler/command_line_interface_unittest.cc
@@ -143,10 +143,6 @@
// substring.
void ExpectErrorSubstring(const std::string& expected_substring);
- // Like ExpectErrorSubstring, but checks that Run() returned zero.
- void ExpectErrorSubstringWithZeroReturnCode(
- const std::string& expected_substring);
-
// Checks that the captured stdout is the same as the expected_text.
void ExpectCapturedStdout(const std::string& expected_text);
@@ -155,9 +151,11 @@
void ExpectCapturedStdoutSubstringWithZeroReturnCode(
const std::string& expected_substring);
+#if defined(_WIN32) && !defined(__CYGWIN__)
// Returns true if ExpectErrorSubstring(expected_substring) would pass, but
// does not fail otherwise.
bool HasAlternateErrorSubstring(const std::string& expected_substring);
+#endif // _WIN32 && !__CYGWIN__
// Checks that MockCodeGenerator::Generate() was called in the given
// context (or the generator in test_plugin.cc, which produces the same
@@ -189,7 +187,9 @@
void CheckGeneratedAnnotations(const std::string& name,
const std::string& file);
+#if defined(_WIN32)
void ExpectNullCodeGeneratorCalled(const std::string& parameter);
+#endif // _WIN32
void ReadDescriptorSet(const std::string& filename,
@@ -407,17 +407,13 @@
EXPECT_PRED_FORMAT2(testing::IsSubstring, expected_substring, error_text_);
}
-void CommandLineInterfaceTest::ExpectErrorSubstringWithZeroReturnCode(
- const std::string& expected_substring) {
- EXPECT_EQ(0, return_code_);
- EXPECT_PRED_FORMAT2(testing::IsSubstring, expected_substring, error_text_);
-}
-
+#if defined(_WIN32) && !defined(__CYGWIN__)
bool CommandLineInterfaceTest::HasAlternateErrorSubstring(
const std::string& expected_substring) {
EXPECT_NE(0, return_code_);
return error_text_.find(expected_substring) != std::string::npos;
}
+#endif // _WIN32 && !__CYGWIN__
void CommandLineInterfaceTest::ExpectGenerated(
const std::string& generator_name, const std::string& parameter,
@@ -457,11 +453,13 @@
MockCodeGenerator::CheckGeneratedAnnotations(name, file, temp_directory_);
}
+#if defined(_WIN32)
void CommandLineInterfaceTest::ExpectNullCodeGeneratorCalled(
const std::string& parameter) {
EXPECT_TRUE(null_generator_->called_);
EXPECT_EQ(parameter, null_generator_->parameter_);
}
+#endif // _WIN32
void CommandLineInterfaceTest::ReadDescriptorSet(
diff --git a/src/google/protobuf/compiler/cpp/cpp_helpers.cc b/src/google/protobuf/compiler/cpp/cpp_helpers.cc
index 12baf1f..6a32c56 100644
--- a/src/google/protobuf/compiler/cpp/cpp_helpers.cc
+++ b/src/google/protobuf/compiler/cpp/cpp_helpers.cc
@@ -32,6 +32,8 @@
// Based on original Protocol Buffers design by
// Sanjay Ghemawat, Jeff Dean, and others.
+#include <google/protobuf/compiler/cpp/cpp_helpers.h>
+
#include <functional>
#include <limits>
#include <map>
@@ -39,9 +41,8 @@
#include <unordered_set>
#include <vector>
-#include <google/protobuf/stubs/logging.h>
#include <google/protobuf/stubs/common.h>
-#include <google/protobuf/compiler/cpp/cpp_helpers.h>
+#include <google/protobuf/stubs/logging.h>
#include <google/protobuf/descriptor.h>
#include <google/protobuf/compiler/scc.h>
@@ -1340,15 +1341,6 @@
}
}
-bool ShouldRepeat(const FieldDescriptor* descriptor,
- internal::WireFormatLite::WireType wiretype) {
- constexpr int kMaxTwoByteFieldNumber = 16 * 128;
- return descriptor->number() < kMaxTwoByteFieldNumber &&
- descriptor->is_repeated() &&
- (!descriptor->is_packable() ||
- wiretype != internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED);
-}
-
class ParseLoopGenerator {
public:
ParseLoopGenerator(int num_hasbits, const Options& options,
@@ -1584,12 +1576,25 @@
}
}
- void GenerateCaseBody(internal::WireFormatLite::WireType wiretype,
- const FieldDescriptor* field) {
- if (ShouldRepeat(field, wiretype)) {
- format_("while (true) {\n");
- format_.Indent();
- }
+ // Convert a 1 or 2 byte varint into the equivalent value upon a direct load.
+ static uint32 SmallVarintValue(uint32 x) {
+ GOOGLE_DCHECK(x < 128 * 128);
+ if (x >= 128) x += (x & 0xFF80) + 128;
+ return x;
+ }
+
+ static bool ShouldRepeat(const FieldDescriptor* descriptor,
+ internal::WireFormatLite::WireType wiretype) {
+ constexpr int kMaxTwoByteFieldNumber = 16 * 128;
+ return descriptor->number() < kMaxTwoByteFieldNumber &&
+ descriptor->is_repeated() &&
+ (!descriptor->is_packable() ||
+ wiretype != internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED);
+ }
+
+ void GenerateFieldBody(internal::WireFormatLite::WireType wiretype,
+ const FieldDescriptor* field) {
+ uint32 tag = WireFormatLite::MakeTag(field->number(), wiretype);
switch (wiretype) {
case WireFormatLite::WIRETYPE_VARINT: {
std::string type = PrimitiveTypeName(options_, field->cpp_type());
@@ -1599,17 +1604,20 @@
"$uint64$ val = $pi_ns$::ReadVarint(&ptr);\n"
"CHK_(ptr);\n");
if (!HasPreservingUnknownEnumSemantics(field)) {
- format_(
- "if (!$1$_IsValid(val)) {\n"
- " $pi_ns$::WriteVarint($2$, val, "
- "mutable_unknown_fields());\n"
- " break;\n"
- "}\n",
- QualifiedClassName(field->enum_type(), options_),
- field->number());
+ format_("if (PROTOBUF_PREDICT_TRUE($1$_IsValid(val))) {\n",
+ QualifiedClassName(field->enum_type(), options_));
+ format_.Indent();
}
format_("$1$_$2$(static_cast<$3$>(val));\n", prefix, FieldName(field),
QualifiedClassName(field->enum_type(), options_));
+ if (!HasPreservingUnknownEnumSemantics(field)) {
+ format_.Outdent();
+ format_(
+ "} else {\n"
+ " $pi_ns$::WriteVarint($1$, val, mutable_unknown_fields());\n"
+ "}\n",
+ field->number());
+ }
} else {
int size = field->type() == FieldDescriptor::TYPE_SINT32 ? 32 : 64;
std::string zigzag;
@@ -1664,9 +1672,9 @@
}
case WireFormatLite::WIRETYPE_START_GROUP: {
format_(
- "ptr = ctx->ParseGroup($1$_$2$(), ptr, tag);\n"
+ "ptr = ctx->ParseGroup($1$_$2$(), ptr, $3$);\n"
"CHK_(ptr);\n",
- field->is_repeated() ? "add" : "mutable", FieldName(field));
+ field->is_repeated() ? "add" : "mutable", FieldName(field), tag);
break;
}
case WireFormatLite::WIRETYPE_END_GROUP: {
@@ -1674,56 +1682,30 @@
break;
}
} // switch (wire_type)
-
- if (ShouldRepeat(field, wiretype)) {
- uint32 x = field->number() * 8 + wiretype;
- int cnt = 1;
- string type = "uint8";
- if (x >= 128) {
- x += (x & 0xFF80) + 128;
- cnt = 2;
- type = "uint16";
- }
- format_(
- "if (!ctx->DataAvailable(ptr)) break;\n"
- "if ($pi_ns$::UnalignedLoad<$1$>(ptr) != $2$) break;\n"
- "ptr += $3$;\n",
- IntTypeName(options_, type), x, cnt);
- format_.Outdent();
- format_("}\n");
- }
- format_("break;\n");
}
- void GenerateCaseBody(const FieldDescriptor* field) {
+ // Returns the tag for this field and in case of repeated packable fields,
+ // sets a fallback tag in fallback_tag_ptr.
+ static uint32 ExpectedTag(const FieldDescriptor* field,
+ uint32* fallback_tag_ptr) {
+ uint32 expected_tag;
if (field->is_packable()) {
auto expected_wiretype = WireFormat::WireTypeForFieldType(field->type());
- GOOGLE_CHECK(expected_wiretype != WireFormatLite::WIRETYPE_LENGTH_DELIMITED);
- uint32 expected_tag =
+ expected_tag =
WireFormatLite::MakeTag(field->number(), expected_wiretype);
+ GOOGLE_CHECK(expected_wiretype != WireFormatLite::WIRETYPE_LENGTH_DELIMITED);
auto fallback_wiretype = WireFormatLite::WIRETYPE_LENGTH_DELIMITED;
uint32 fallback_tag =
WireFormatLite::MakeTag(field->number(), fallback_wiretype);
- if (field->is_packed()) {
- std::swap(expected_tag, fallback_tag);
- std::swap(expected_wiretype, fallback_wiretype);
- }
-
- format_("if (static_cast<$uint8$>(tag) == $1$) {\n", expected_tag & 0xFF);
- format_.Indent();
- GenerateCaseBody(expected_wiretype, field);
- format_.Outdent();
- format_(
- "} else if (static_cast<$uint8$>(tag) != $1$) goto handle_unusual;\n",
- fallback_tag & 0xFF);
- GenerateCaseBody(fallback_wiretype, field);
+ if (field->is_packed()) std::swap(expected_tag, fallback_tag);
+ *fallback_tag_ptr = fallback_tag;
} else {
- auto wiretype = WireFormat::WireTypeForField(field);
- format_("if (static_cast<$uint8$>(tag) != $1$) goto handle_unusual;\n",
- WireFormat::MakeTag(field) & 0xFF);
- GenerateCaseBody(wiretype, field);
+ auto expected_wiretype = WireFormat::WireTypeForField(field);
+ expected_tag =
+ WireFormatLite::MakeTag(field->number(), expected_wiretype);
}
+ return expected_tag;
}
void GenerateParseLoop(
@@ -1753,13 +1735,49 @@
}
format_(
"// $1$\n"
- "case $2$: {\n",
+ "case $2$:\n",
def, field->number());
format_.Indent();
- GenerateCaseBody(field);
+ uint32 fallback_tag = 0;
+ uint32 expected_tag = ExpectedTag(field, &fallback_tag);
+ format_(
+ "if (PROTOBUF_PREDICT_TRUE(static_cast<$uint8$>(tag) == $1$)) {\n",
+ expected_tag & 0xFF);
+ format_.Indent();
+ auto wiretype = WireFormatLite::GetTagWireType(expected_tag);
+ uint32 tag = WireFormatLite::MakeTag(field->number(), wiretype);
+ int tag_size = io::CodedOutputStream::VarintSize32(tag);
+ bool is_repeat = ShouldRepeat(field, wiretype);
+ if (is_repeat) {
+ format_(
+ "ptr -= $1$;\n"
+ "do {\n"
+ " ptr += $1$;\n",
+ tag_size);
+ format_.Indent();
+ }
+ GenerateFieldBody(wiretype, field);
+ if (is_repeat) {
+ string type = tag_size == 2 ? "uint16" : "uint8";
+ format_.Outdent();
+ format_(
+ " if (!ctx->DataAvailable(ptr)) break;\n"
+ "} while ($pi_ns$::UnalignedLoad<$1$>(ptr) == $2$);\n",
+ IntTypeName(options_, type), SmallVarintValue(tag));
+ }
format_.Outdent();
- format_("}\n"); // case
- } // for fields
+ if (fallback_tag) {
+ format_("} else if (static_cast<$uint8$>(tag) == $1$) {\n",
+ fallback_tag & 0xFF);
+ format_.Indent();
+ GenerateFieldBody(WireFormatLite::GetTagWireType(fallback_tag), field);
+ format_.Outdent();
+ }
+ format_.Outdent();
+ format_(
+ " } else goto handle_unusual;\n"
+ " continue;\n");
+ } // for loop over ordered fields
// Default case
format_("default: {\n");
@@ -1770,7 +1788,7 @@
" goto success;\n"
" }\n");
if (IsMapEntryMessage(descriptor)) {
- format_(" break;\n");
+ format_(" continue;\n");
} else {
if (descriptor->extension_range_count() > 0) {
format_("if (");
@@ -1792,17 +1810,16 @@
}
format_(") {\n");
format_(
- " ptr = _extensions_.ParseField(tag, ptr, \n"
- " internal_default_instance(), &_internal_metadata_, "
- "ctx);\n"
+ " ptr = _extensions_.ParseField(tag, ptr,\n"
+ " internal_default_instance(), &_internal_metadata_, ctx);\n"
" CHK_(ptr != nullptr);\n"
- " break;\n"
+ " continue;\n"
"}\n");
}
format_(
" ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);\n"
" CHK_(ptr != nullptr);\n"
- " break;\n");
+ " continue;\n");
}
format_("}\n"); // default case
format_.Outdent();
diff --git a/src/google/protobuf/compiler/cpp/cpp_unittest.inc b/src/google/protobuf/compiler/cpp/cpp_unittest.inc
index 6917a23..0b18662 100644
--- a/src/google/protobuf/compiler/cpp/cpp_unittest.inc
+++ b/src/google/protobuf/compiler/cpp/cpp_unittest.inc
@@ -1141,7 +1141,7 @@
#ifndef PROTOBUF_TEST_NO_DESCRIPTORS
TEST(GENERATED_ENUM_TEST_NAME, Name) {
- // "Names" in the presence of dup values are a bit arbitrary.
+ // "Names" in the presence of dup values map to the first alias.
EXPECT_EQ("FOO1", UNITTEST::TestEnumWithDupValue_Name(UNITTEST::FOO1));
EXPECT_EQ("FOO1", UNITTEST::TestEnumWithDupValue_Name(UNITTEST::FOO2));
diff --git a/src/google/protobuf/compiler/importer_unittest.cc b/src/google/protobuf/compiler/importer_unittest.cc
index 6d22e85..82ffc0f 100644
--- a/src/google/protobuf/compiler/importer_unittest.cc
+++ b/src/google/protobuf/compiler/importer_unittest.cc
@@ -124,7 +124,6 @@
}
// Return the collected error text
- std::string error() const { return error_collector_.text_; }
std::string warning() const { return error_collector_.warning_text_; }
MockErrorCollector error_collector_;
diff --git a/src/google/protobuf/compiler/java/java_helpers.cc b/src/google/protobuf/compiler/java/java_helpers.cc
index 97934ac..ac0e9cd 100644
--- a/src/google/protobuf/compiler/java/java_helpers.cc
+++ b/src/google/protobuf/compiler/java/java_helpers.cc
@@ -158,6 +158,7 @@
std::string UnderscoresToCamelCase(const std::string& input,
bool cap_next_letter) {
+ GOOGLE_CHECK(!input.empty());
std::string result;
// Note: I distrust ctype.h due to locales.
for (int i = 0; i < input.size(); i++) {
diff --git a/src/google/protobuf/compiler/parser_unittest.cc b/src/google/protobuf/compiler/parser_unittest.cc
index b62e720..80e01a5 100644
--- a/src/google/protobuf/compiler/parser_unittest.cc
+++ b/src/google/protobuf/compiler/parser_unittest.cc
@@ -2584,11 +2584,6 @@
return HasSpan('\0', '\0', descriptor_proto, field_name, -1);
}
- bool HasSpan(const Message& descriptor_proto, const std::string& field_name,
- int index) {
- return HasSpan('\0', '\0', descriptor_proto, field_name, index);
- }
-
bool HasSpanWithComment(char start_marker, char end_marker,
const Message& descriptor_proto,
const FieldDescriptor* field, int index,
diff --git a/src/google/protobuf/compiler/plugin.pb.cc b/src/google/protobuf/compiler/plugin.pb.cc
index 33c5ec1..4cb497f 100644
--- a/src/google/protobuf/compiler/plugin.pb.cc
+++ b/src/google/protobuf/compiler/plugin.pb.cc
@@ -307,36 +307,36 @@
CHK_(ptr);
switch (tag >> 3) {
// optional int32 major = 1;
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 8) goto handle_unusual;
- HasBitSetters::set_has_major(&has_bits);
- major_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
+ HasBitSetters::set_has_major(&has_bits);
+ major_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// optional int32 minor = 2;
- case 2: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 16) goto handle_unusual;
- HasBitSetters::set_has_minor(&has_bits);
- minor_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
+ case 2:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
+ HasBitSetters::set_has_minor(&has_bits);
+ minor_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// optional int32 patch = 3;
- case 3: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 24) goto handle_unusual;
- HasBitSetters::set_has_patch(&has_bits);
- patch_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
+ case 3:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
+ HasBitSetters::set_has_patch(&has_bits);
+ patch_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// optional string suffix = 4;
- case 4: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 34) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_suffix(), ptr, ctx, "google.protobuf.compiler.Version.suffix");
- CHK_(ptr);
- break;
- }
+ case 4:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_suffix(), ptr, ctx, "google.protobuf.compiler.Version.suffix");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -345,7 +345,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
@@ -764,43 +764,43 @@
CHK_(ptr);
switch (tag >> 3) {
// repeated string file_to_generate = 1;
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 10) goto handle_unusual;
- while (true) {
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(add_file_to_generate(), ptr, ctx, "google.protobuf.compiler.CodeGeneratorRequest.file_to_generate");
- CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) != 10) break;
- ptr += 1;
- }
- break;
- }
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
+ ptr -= 1;
+ do {
+ ptr += 1;
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(add_file_to_generate(), ptr, ctx, "google.protobuf.compiler.CodeGeneratorRequest.file_to_generate");
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 10);
+ } else goto handle_unusual;
+ continue;
// optional string parameter = 2;
- case 2: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 18) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_parameter(), ptr, ctx, "google.protobuf.compiler.CodeGeneratorRequest.parameter");
- CHK_(ptr);
- break;
- }
- // optional .google.protobuf.compiler.Version compiler_version = 3;
- case 3: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 26) goto handle_unusual;
- ptr = ctx->ParseMessage(mutable_compiler_version(), ptr);
- CHK_(ptr);
- break;
- }
- // repeated .google.protobuf.FileDescriptorProto proto_file = 15;
- case 15: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 122) goto handle_unusual;
- while (true) {
- ptr = ctx->ParseMessage(add_proto_file(), ptr);
+ case 2:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_parameter(), ptr, ctx, "google.protobuf.compiler.CodeGeneratorRequest.parameter");
CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) != 122) break;
- ptr += 1;
- }
- break;
- }
+ } else goto handle_unusual;
+ continue;
+ // optional .google.protobuf.compiler.Version compiler_version = 3;
+ case 3:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
+ ptr = ctx->ParseMessage(mutable_compiler_version(), ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
+ // repeated .google.protobuf.FileDescriptorProto proto_file = 15;
+ case 15:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 122)) {
+ ptr -= 1;
+ do {
+ ptr += 1;
+ ptr = ctx->ParseMessage(add_proto_file(), ptr);
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 122);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -809,7 +809,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
@@ -1243,26 +1243,26 @@
CHK_(ptr);
switch (tag >> 3) {
// optional string name = 1;
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 10) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_name(), ptr, ctx, "google.protobuf.compiler.CodeGeneratorResponse.File.name");
- CHK_(ptr);
- break;
- }
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_name(), ptr, ctx, "google.protobuf.compiler.CodeGeneratorResponse.File.name");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// optional string insertion_point = 2;
- case 2: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 18) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_insertion_point(), ptr, ctx, "google.protobuf.compiler.CodeGeneratorResponse.File.insertion_point");
- CHK_(ptr);
- break;
- }
+ case 2:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_insertion_point(), ptr, ctx, "google.protobuf.compiler.CodeGeneratorResponse.File.insertion_point");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// optional string content = 15;
- case 15: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 122) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_content(), ptr, ctx, "google.protobuf.compiler.CodeGeneratorResponse.File.content");
- CHK_(ptr);
- break;
- }
+ case 15:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 122)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_content(), ptr, ctx, "google.protobuf.compiler.CodeGeneratorResponse.File.content");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -1271,7 +1271,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
@@ -1655,24 +1655,24 @@
CHK_(ptr);
switch (tag >> 3) {
// optional string error = 1;
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 10) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_error(), ptr, ctx, "google.protobuf.compiler.CodeGeneratorResponse.error");
- CHK_(ptr);
- break;
- }
- // repeated .google.protobuf.compiler.CodeGeneratorResponse.File file = 15;
- case 15: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 122) goto handle_unusual;
- while (true) {
- ptr = ctx->ParseMessage(add_file(), ptr);
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_error(), ptr, ctx, "google.protobuf.compiler.CodeGeneratorResponse.error");
CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) != 122) break;
- ptr += 1;
- }
- break;
- }
+ } else goto handle_unusual;
+ continue;
+ // repeated .google.protobuf.compiler.CodeGeneratorResponse.File file = 15;
+ case 15:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 122)) {
+ ptr -= 1;
+ do {
+ ptr += 1;
+ ptr = ctx->ParseMessage(add_file(), ptr);
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 122);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -1681,7 +1681,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
diff --git a/src/google/protobuf/descriptor.pb.cc b/src/google/protobuf/descriptor.pb.cc
index 1564ebc..6924023 100644
--- a/src/google/protobuf/descriptor.pb.cc
+++ b/src/google/protobuf/descriptor.pb.cc
@@ -1461,17 +1461,17 @@
CHK_(ptr);
switch (tag >> 3) {
// repeated .google.protobuf.FileDescriptorProto file = 1;
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 10) goto handle_unusual;
- while (true) {
- ptr = ctx->ParseMessage(add_file(), ptr);
- CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) != 10) break;
- ptr += 1;
- }
- break;
- }
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
+ ptr -= 1;
+ do {
+ ptr += 1;
+ ptr = ctx->ParseMessage(add_file(), ptr);
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 10);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -1480,7 +1480,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
@@ -1907,132 +1907,130 @@
CHK_(ptr);
switch (tag >> 3) {
// optional string name = 1;
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 10) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_name(), ptr, ctx, "google.protobuf.FileDescriptorProto.name");
- CHK_(ptr);
- break;
- }
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_name(), ptr, ctx, "google.protobuf.FileDescriptorProto.name");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// optional string package = 2;
- case 2: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 18) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_package(), ptr, ctx, "google.protobuf.FileDescriptorProto.package");
- CHK_(ptr);
- break;
- }
+ case 2:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_package(), ptr, ctx, "google.protobuf.FileDescriptorProto.package");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// repeated string dependency = 3;
- case 3: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 26) goto handle_unusual;
- while (true) {
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(add_dependency(), ptr, ctx, "google.protobuf.FileDescriptorProto.dependency");
- CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) != 26) break;
- ptr += 1;
- }
- break;
- }
+ case 3:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
+ ptr -= 1;
+ do {
+ ptr += 1;
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(add_dependency(), ptr, ctx, "google.protobuf.FileDescriptorProto.dependency");
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 26);
+ } else goto handle_unusual;
+ continue;
// repeated .google.protobuf.DescriptorProto message_type = 4;
- case 4: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 34) goto handle_unusual;
- while (true) {
- ptr = ctx->ParseMessage(add_message_type(), ptr);
- CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) != 34) break;
- ptr += 1;
- }
- break;
- }
+ case 4:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
+ ptr -= 1;
+ do {
+ ptr += 1;
+ ptr = ctx->ParseMessage(add_message_type(), ptr);
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 34);
+ } else goto handle_unusual;
+ continue;
// repeated .google.protobuf.EnumDescriptorProto enum_type = 5;
- case 5: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 42) goto handle_unusual;
- while (true) {
- ptr = ctx->ParseMessage(add_enum_type(), ptr);
- CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) != 42) break;
- ptr += 1;
- }
- break;
- }
+ case 5:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
+ ptr -= 1;
+ do {
+ ptr += 1;
+ ptr = ctx->ParseMessage(add_enum_type(), ptr);
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 42);
+ } else goto handle_unusual;
+ continue;
// repeated .google.protobuf.ServiceDescriptorProto service = 6;
- case 6: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 50) goto handle_unusual;
- while (true) {
- ptr = ctx->ParseMessage(add_service(), ptr);
- CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) != 50) break;
- ptr += 1;
- }
- break;
- }
+ case 6:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
+ ptr -= 1;
+ do {
+ ptr += 1;
+ ptr = ctx->ParseMessage(add_service(), ptr);
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 50);
+ } else goto handle_unusual;
+ continue;
// repeated .google.protobuf.FieldDescriptorProto extension = 7;
- case 7: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 58) goto handle_unusual;
- while (true) {
- ptr = ctx->ParseMessage(add_extension(), ptr);
- CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) != 58) break;
- ptr += 1;
- }
- break;
- }
+ case 7:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
+ ptr -= 1;
+ do {
+ ptr += 1;
+ ptr = ctx->ParseMessage(add_extension(), ptr);
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 58);
+ } else goto handle_unusual;
+ continue;
// optional .google.protobuf.FileOptions options = 8;
- case 8: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 66) goto handle_unusual;
- ptr = ctx->ParseMessage(mutable_options(), ptr);
- CHK_(ptr);
- break;
- }
+ case 8:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
+ ptr = ctx->ParseMessage(mutable_options(), ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// optional .google.protobuf.SourceCodeInfo source_code_info = 9;
- case 9: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 74) goto handle_unusual;
- ptr = ctx->ParseMessage(mutable_source_code_info(), ptr);
- CHK_(ptr);
- break;
- }
+ case 9:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 74)) {
+ ptr = ctx->ParseMessage(mutable_source_code_info(), ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// repeated int32 public_dependency = 10;
- case 10: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 80) {
- while (true) {
+ case 10:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 80)) {
+ ptr -= 1;
+ do {
+ ptr += 1;
add_public_dependency(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr));
CHK_(ptr);
if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) != 80) break;
- ptr += 1;
- }
- break;
- } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 82) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(mutable_public_dependency(), ptr, ctx);
- CHK_(ptr);
- break;
- }
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 80);
+ } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 82) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(mutable_public_dependency(), ptr, ctx);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// repeated int32 weak_dependency = 11;
- case 11: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 88) {
- while (true) {
+ case 11:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 88)) {
+ ptr -= 1;
+ do {
+ ptr += 1;
add_weak_dependency(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr));
CHK_(ptr);
if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) != 88) break;
- ptr += 1;
- }
- break;
- } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 90) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(mutable_weak_dependency(), ptr, ctx);
- CHK_(ptr);
- break;
- }
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 88);
+ } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 90) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(mutable_weak_dependency(), ptr, ctx);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// optional string syntax = 12;
- case 12: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 98) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_syntax(), ptr, ctx, "google.protobuf.FileDescriptorProto.syntax");
- CHK_(ptr);
- break;
- }
+ case 12:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 98)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_syntax(), ptr, ctx, "google.protobuf.FileDescriptorProto.syntax");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -2041,7 +2039,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
@@ -2850,28 +2848,28 @@
CHK_(ptr);
switch (tag >> 3) {
// optional int32 start = 1;
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 8) goto handle_unusual;
- HasBitSetters::set_has_start(&has_bits);
- start_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
+ HasBitSetters::set_has_start(&has_bits);
+ start_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// optional int32 end = 2;
- case 2: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 16) goto handle_unusual;
- HasBitSetters::set_has_end(&has_bits);
- end_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
+ case 2:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
+ HasBitSetters::set_has_end(&has_bits);
+ end_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// optional .google.protobuf.ExtensionRangeOptions options = 3;
- case 3: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 26) goto handle_unusual;
- ptr = ctx->ParseMessage(mutable_options(), ptr);
- CHK_(ptr);
- break;
- }
+ case 3:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
+ ptr = ctx->ParseMessage(mutable_options(), ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -2880,7 +2878,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
@@ -3256,21 +3254,21 @@
CHK_(ptr);
switch (tag >> 3) {
// optional int32 start = 1;
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 8) goto handle_unusual;
- HasBitSetters::set_has_start(&has_bits);
- start_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
+ HasBitSetters::set_has_start(&has_bits);
+ start_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// optional int32 end = 2;
- case 2: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 16) goto handle_unusual;
- HasBitSetters::set_has_end(&has_bits);
- end_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
+ case 2:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
+ HasBitSetters::set_has_end(&has_bits);
+ end_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -3279,7 +3277,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
@@ -3682,115 +3680,115 @@
CHK_(ptr);
switch (tag >> 3) {
// optional string name = 1;
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 10) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_name(), ptr, ctx, "google.protobuf.DescriptorProto.name");
- CHK_(ptr);
- break;
- }
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_name(), ptr, ctx, "google.protobuf.DescriptorProto.name");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// repeated .google.protobuf.FieldDescriptorProto field = 2;
- case 2: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 18) goto handle_unusual;
- while (true) {
- ptr = ctx->ParseMessage(add_field(), ptr);
- CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) != 18) break;
- ptr += 1;
- }
- break;
- }
+ case 2:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
+ ptr -= 1;
+ do {
+ ptr += 1;
+ ptr = ctx->ParseMessage(add_field(), ptr);
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 18);
+ } else goto handle_unusual;
+ continue;
// repeated .google.protobuf.DescriptorProto nested_type = 3;
- case 3: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 26) goto handle_unusual;
- while (true) {
- ptr = ctx->ParseMessage(add_nested_type(), ptr);
- CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) != 26) break;
- ptr += 1;
- }
- break;
- }
+ case 3:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
+ ptr -= 1;
+ do {
+ ptr += 1;
+ ptr = ctx->ParseMessage(add_nested_type(), ptr);
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 26);
+ } else goto handle_unusual;
+ continue;
// repeated .google.protobuf.EnumDescriptorProto enum_type = 4;
- case 4: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 34) goto handle_unusual;
- while (true) {
- ptr = ctx->ParseMessage(add_enum_type(), ptr);
- CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) != 34) break;
- ptr += 1;
- }
- break;
- }
+ case 4:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
+ ptr -= 1;
+ do {
+ ptr += 1;
+ ptr = ctx->ParseMessage(add_enum_type(), ptr);
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 34);
+ } else goto handle_unusual;
+ continue;
// repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;
- case 5: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 42) goto handle_unusual;
- while (true) {
- ptr = ctx->ParseMessage(add_extension_range(), ptr);
- CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) != 42) break;
- ptr += 1;
- }
- break;
- }
+ case 5:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
+ ptr -= 1;
+ do {
+ ptr += 1;
+ ptr = ctx->ParseMessage(add_extension_range(), ptr);
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 42);
+ } else goto handle_unusual;
+ continue;
// repeated .google.protobuf.FieldDescriptorProto extension = 6;
- case 6: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 50) goto handle_unusual;
- while (true) {
- ptr = ctx->ParseMessage(add_extension(), ptr);
- CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) != 50) break;
- ptr += 1;
- }
- break;
- }
+ case 6:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
+ ptr -= 1;
+ do {
+ ptr += 1;
+ ptr = ctx->ParseMessage(add_extension(), ptr);
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 50);
+ } else goto handle_unusual;
+ continue;
// optional .google.protobuf.MessageOptions options = 7;
- case 7: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 58) goto handle_unusual;
- ptr = ctx->ParseMessage(mutable_options(), ptr);
- CHK_(ptr);
- break;
- }
+ case 7:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
+ ptr = ctx->ParseMessage(mutable_options(), ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// repeated .google.protobuf.OneofDescriptorProto oneof_decl = 8;
- case 8: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 66) goto handle_unusual;
- while (true) {
- ptr = ctx->ParseMessage(add_oneof_decl(), ptr);
- CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) != 66) break;
- ptr += 1;
- }
- break;
- }
+ case 8:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
+ ptr -= 1;
+ do {
+ ptr += 1;
+ ptr = ctx->ParseMessage(add_oneof_decl(), ptr);
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 66);
+ } else goto handle_unusual;
+ continue;
// repeated .google.protobuf.DescriptorProto.ReservedRange reserved_range = 9;
- case 9: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 74) goto handle_unusual;
- while (true) {
- ptr = ctx->ParseMessage(add_reserved_range(), ptr);
- CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) != 74) break;
- ptr += 1;
- }
- break;
- }
+ case 9:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 74)) {
+ ptr -= 1;
+ do {
+ ptr += 1;
+ ptr = ctx->ParseMessage(add_reserved_range(), ptr);
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 74);
+ } else goto handle_unusual;
+ continue;
// repeated string reserved_name = 10;
- case 10: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 82) goto handle_unusual;
- while (true) {
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(add_reserved_name(), ptr, ctx, "google.protobuf.DescriptorProto.reserved_name");
- CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) != 82) break;
- ptr += 1;
- }
- break;
- }
+ case 10:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 82)) {
+ ptr -= 1;
+ do {
+ ptr += 1;
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(add_reserved_name(), ptr, ctx, "google.protobuf.DescriptorProto.reserved_name");
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 82);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -3799,7 +3797,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
@@ -4480,17 +4478,17 @@
CHK_(ptr);
switch (tag >> 3) {
// repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
- case 999: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 58) goto handle_unusual;
- while (true) {
- ptr = ctx->ParseMessage(add_uninterpreted_option(), ptr);
- CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint16>(ptr) != 16058) break;
- ptr += 2;
- }
- break;
- }
+ case 999:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
+ ptr -= 2;
+ do {
+ ptr += 2;
+ ptr = ctx->ParseMessage(add_uninterpreted_option(), ptr);
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint16>(ptr) == 16058);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -4498,14 +4496,14 @@
goto success;
}
if ((8000u <= tag)) {
- ptr = _extensions_.ParseField(tag, ptr,
+ ptr = _extensions_.ParseField(tag, ptr,
internal_default_instance(), &_internal_metadata_, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
@@ -4949,87 +4947,87 @@
CHK_(ptr);
switch (tag >> 3) {
// optional string name = 1;
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 10) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_name(), ptr, ctx, "google.protobuf.FieldDescriptorProto.name");
- CHK_(ptr);
- break;
- }
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_name(), ptr, ctx, "google.protobuf.FieldDescriptorProto.name");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// optional string extendee = 2;
- case 2: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 18) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_extendee(), ptr, ctx, "google.protobuf.FieldDescriptorProto.extendee");
- CHK_(ptr);
- break;
- }
+ case 2:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_extendee(), ptr, ctx, "google.protobuf.FieldDescriptorProto.extendee");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// optional int32 number = 3;
- case 3: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 24) goto handle_unusual;
- HasBitSetters::set_has_number(&has_bits);
- number_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
+ case 3:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
+ HasBitSetters::set_has_number(&has_bits);
+ number_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// optional .google.protobuf.FieldDescriptorProto.Label label = 4;
- case 4: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 32) goto handle_unusual;
- ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- if (!PROTOBUF_NAMESPACE_ID::FieldDescriptorProto_Label_IsValid(val)) {
- ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(4, val, mutable_unknown_fields());
- break;
- }
- set_label(static_cast<PROTOBUF_NAMESPACE_ID::FieldDescriptorProto_Label>(val));
- break;
- }
+ case 4:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
+ ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ if (PROTOBUF_PREDICT_TRUE(PROTOBUF_NAMESPACE_ID::FieldDescriptorProto_Label_IsValid(val))) {
+ set_label(static_cast<PROTOBUF_NAMESPACE_ID::FieldDescriptorProto_Label>(val));
+ } else {
+ ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(4, val, mutable_unknown_fields());
+ }
+ } else goto handle_unusual;
+ continue;
// optional .google.protobuf.FieldDescriptorProto.Type type = 5;
- case 5: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 40) goto handle_unusual;
- ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- if (!PROTOBUF_NAMESPACE_ID::FieldDescriptorProto_Type_IsValid(val)) {
- ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(5, val, mutable_unknown_fields());
- break;
- }
- set_type(static_cast<PROTOBUF_NAMESPACE_ID::FieldDescriptorProto_Type>(val));
- break;
- }
+ case 5:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
+ ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ if (PROTOBUF_PREDICT_TRUE(PROTOBUF_NAMESPACE_ID::FieldDescriptorProto_Type_IsValid(val))) {
+ set_type(static_cast<PROTOBUF_NAMESPACE_ID::FieldDescriptorProto_Type>(val));
+ } else {
+ ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(5, val, mutable_unknown_fields());
+ }
+ } else goto handle_unusual;
+ continue;
// optional string type_name = 6;
- case 6: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 50) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_type_name(), ptr, ctx, "google.protobuf.FieldDescriptorProto.type_name");
- CHK_(ptr);
- break;
- }
+ case 6:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_type_name(), ptr, ctx, "google.protobuf.FieldDescriptorProto.type_name");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// optional string default_value = 7;
- case 7: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 58) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_default_value(), ptr, ctx, "google.protobuf.FieldDescriptorProto.default_value");
- CHK_(ptr);
- break;
- }
+ case 7:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_default_value(), ptr, ctx, "google.protobuf.FieldDescriptorProto.default_value");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// optional .google.protobuf.FieldOptions options = 8;
- case 8: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 66) goto handle_unusual;
- ptr = ctx->ParseMessage(mutable_options(), ptr);
- CHK_(ptr);
- break;
- }
+ case 8:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
+ ptr = ctx->ParseMessage(mutable_options(), ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// optional int32 oneof_index = 9;
- case 9: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 72) goto handle_unusual;
- HasBitSetters::set_has_oneof_index(&has_bits);
- oneof_index_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
+ case 9:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 72)) {
+ HasBitSetters::set_has_oneof_index(&has_bits);
+ oneof_index_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// optional string json_name = 10;
- case 10: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 82) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_json_name(), ptr, ctx, "google.protobuf.FieldDescriptorProto.json_name");
- CHK_(ptr);
- break;
- }
+ case 10:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 82)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_json_name(), ptr, ctx, "google.protobuf.FieldDescriptorProto.json_name");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -5038,7 +5036,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
@@ -5774,19 +5772,19 @@
CHK_(ptr);
switch (tag >> 3) {
// optional string name = 1;
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 10) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_name(), ptr, ctx, "google.protobuf.OneofDescriptorProto.name");
- CHK_(ptr);
- break;
- }
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_name(), ptr, ctx, "google.protobuf.OneofDescriptorProto.name");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// optional .google.protobuf.OneofOptions options = 2;
- case 2: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 18) goto handle_unusual;
- ptr = ctx->ParseMessage(mutable_options(), ptr);
- CHK_(ptr);
- break;
- }
+ case 2:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
+ ptr = ctx->ParseMessage(mutable_options(), ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -5795,7 +5793,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
@@ -6150,21 +6148,21 @@
CHK_(ptr);
switch (tag >> 3) {
// optional int32 start = 1;
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 8) goto handle_unusual;
- HasBitSetters::set_has_start(&has_bits);
- start_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
+ HasBitSetters::set_has_start(&has_bits);
+ start_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// optional int32 end = 2;
- case 2: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 16) goto handle_unusual;
- HasBitSetters::set_has_end(&has_bits);
- end_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
+ case 2:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
+ HasBitSetters::set_has_end(&has_bits);
+ end_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -6173,7 +6171,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
@@ -6556,55 +6554,55 @@
CHK_(ptr);
switch (tag >> 3) {
// optional string name = 1;
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 10) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_name(), ptr, ctx, "google.protobuf.EnumDescriptorProto.name");
- CHK_(ptr);
- break;
- }
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_name(), ptr, ctx, "google.protobuf.EnumDescriptorProto.name");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// repeated .google.protobuf.EnumValueDescriptorProto value = 2;
- case 2: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 18) goto handle_unusual;
- while (true) {
- ptr = ctx->ParseMessage(add_value(), ptr);
- CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) != 18) break;
- ptr += 1;
- }
- break;
- }
+ case 2:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
+ ptr -= 1;
+ do {
+ ptr += 1;
+ ptr = ctx->ParseMessage(add_value(), ptr);
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 18);
+ } else goto handle_unusual;
+ continue;
// optional .google.protobuf.EnumOptions options = 3;
- case 3: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 26) goto handle_unusual;
- ptr = ctx->ParseMessage(mutable_options(), ptr);
- CHK_(ptr);
- break;
- }
+ case 3:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
+ ptr = ctx->ParseMessage(mutable_options(), ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// repeated .google.protobuf.EnumDescriptorProto.EnumReservedRange reserved_range = 4;
- case 4: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 34) goto handle_unusual;
- while (true) {
- ptr = ctx->ParseMessage(add_reserved_range(), ptr);
- CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) != 34) break;
- ptr += 1;
- }
- break;
- }
+ case 4:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
+ ptr -= 1;
+ do {
+ ptr += 1;
+ ptr = ctx->ParseMessage(add_reserved_range(), ptr);
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 34);
+ } else goto handle_unusual;
+ continue;
// repeated string reserved_name = 5;
- case 5: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 42) goto handle_unusual;
- while (true) {
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(add_reserved_name(), ptr, ctx, "google.protobuf.EnumDescriptorProto.reserved_name");
- CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) != 42) break;
- ptr += 1;
- }
- break;
- }
+ case 5:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
+ ptr -= 1;
+ do {
+ ptr += 1;
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(add_reserved_name(), ptr, ctx, "google.protobuf.EnumDescriptorProto.reserved_name");
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 42);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -6613,7 +6611,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
@@ -7138,27 +7136,27 @@
CHK_(ptr);
switch (tag >> 3) {
// optional string name = 1;
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 10) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_name(), ptr, ctx, "google.protobuf.EnumValueDescriptorProto.name");
- CHK_(ptr);
- break;
- }
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_name(), ptr, ctx, "google.protobuf.EnumValueDescriptorProto.name");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// optional int32 number = 2;
- case 2: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 16) goto handle_unusual;
- HasBitSetters::set_has_number(&has_bits);
- number_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
+ case 2:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
+ HasBitSetters::set_has_number(&has_bits);
+ number_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// optional .google.protobuf.EnumValueOptions options = 3;
- case 3: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 26) goto handle_unusual;
- ptr = ctx->ParseMessage(mutable_options(), ptr);
- CHK_(ptr);
- break;
- }
+ case 3:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
+ ptr = ctx->ParseMessage(mutable_options(), ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -7167,7 +7165,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
@@ -7594,31 +7592,31 @@
CHK_(ptr);
switch (tag >> 3) {
// optional string name = 1;
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 10) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_name(), ptr, ctx, "google.protobuf.ServiceDescriptorProto.name");
- CHK_(ptr);
- break;
- }
- // repeated .google.protobuf.MethodDescriptorProto method = 2;
- case 2: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 18) goto handle_unusual;
- while (true) {
- ptr = ctx->ParseMessage(add_method(), ptr);
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_name(), ptr, ctx, "google.protobuf.ServiceDescriptorProto.name");
CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) != 18) break;
- ptr += 1;
- }
- break;
- }
+ } else goto handle_unusual;
+ continue;
+ // repeated .google.protobuf.MethodDescriptorProto method = 2;
+ case 2:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
+ ptr -= 1;
+ do {
+ ptr += 1;
+ ptr = ctx->ParseMessage(add_method(), ptr);
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 18);
+ } else goto handle_unusual;
+ continue;
// optional .google.protobuf.ServiceOptions options = 3;
- case 3: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 26) goto handle_unusual;
- ptr = ctx->ParseMessage(mutable_options(), ptr);
- CHK_(ptr);
- break;
- }
+ case 3:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
+ ptr = ctx->ParseMessage(mutable_options(), ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -7627,7 +7625,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
@@ -8101,49 +8099,49 @@
CHK_(ptr);
switch (tag >> 3) {
// optional string name = 1;
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 10) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_name(), ptr, ctx, "google.protobuf.MethodDescriptorProto.name");
- CHK_(ptr);
- break;
- }
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_name(), ptr, ctx, "google.protobuf.MethodDescriptorProto.name");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// optional string input_type = 2;
- case 2: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 18) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_input_type(), ptr, ctx, "google.protobuf.MethodDescriptorProto.input_type");
- CHK_(ptr);
- break;
- }
+ case 2:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_input_type(), ptr, ctx, "google.protobuf.MethodDescriptorProto.input_type");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// optional string output_type = 3;
- case 3: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 26) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_output_type(), ptr, ctx, "google.protobuf.MethodDescriptorProto.output_type");
- CHK_(ptr);
- break;
- }
+ case 3:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_output_type(), ptr, ctx, "google.protobuf.MethodDescriptorProto.output_type");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// optional .google.protobuf.MethodOptions options = 4;
- case 4: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 34) goto handle_unusual;
- ptr = ctx->ParseMessage(mutable_options(), ptr);
- CHK_(ptr);
- break;
- }
+ case 4:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
+ ptr = ctx->ParseMessage(mutable_options(), ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// optional bool client_streaming = 5 [default = false];
- case 5: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 40) goto handle_unusual;
- HasBitSetters::set_has_client_streaming(&has_bits);
- client_streaming_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
+ case 5:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
+ HasBitSetters::set_has_client_streaming(&has_bits);
+ client_streaming_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// optional bool server_streaming = 6 [default = false];
- case 6: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 48) goto handle_unusual;
- HasBitSetters::set_has_server_streaming(&has_bits);
- server_streaming_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
+ case 6:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
+ HasBitSetters::set_has_server_streaming(&has_bits);
+ server_streaming_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -8152,7 +8150,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
@@ -8859,171 +8857,171 @@
CHK_(ptr);
switch (tag >> 3) {
// optional string java_package = 1;
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 10) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_java_package(), ptr, ctx, "google.protobuf.FileOptions.java_package");
- CHK_(ptr);
- break;
- }
- // optional string java_outer_classname = 8;
- case 8: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 66) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_java_outer_classname(), ptr, ctx, "google.protobuf.FileOptions.java_outer_classname");
- CHK_(ptr);
- break;
- }
- // optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
- case 9: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 72) goto handle_unusual;
- ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- if (!PROTOBUF_NAMESPACE_ID::FileOptions_OptimizeMode_IsValid(val)) {
- ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(9, val, mutable_unknown_fields());
- break;
- }
- set_optimize_for(static_cast<PROTOBUF_NAMESPACE_ID::FileOptions_OptimizeMode>(val));
- break;
- }
- // optional bool java_multiple_files = 10 [default = false];
- case 10: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 80) goto handle_unusual;
- HasBitSetters::set_has_java_multiple_files(&has_bits);
- java_multiple_files_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
- // optional string go_package = 11;
- case 11: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 90) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_go_package(), ptr, ctx, "google.protobuf.FileOptions.go_package");
- CHK_(ptr);
- break;
- }
- // optional bool cc_generic_services = 16 [default = false];
- case 16: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 128) goto handle_unusual;
- HasBitSetters::set_has_cc_generic_services(&has_bits);
- cc_generic_services_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
- // optional bool java_generic_services = 17 [default = false];
- case 17: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 136) goto handle_unusual;
- HasBitSetters::set_has_java_generic_services(&has_bits);
- java_generic_services_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
- // optional bool py_generic_services = 18 [default = false];
- case 18: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 144) goto handle_unusual;
- HasBitSetters::set_has_py_generic_services(&has_bits);
- py_generic_services_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
- // optional bool java_generate_equals_and_hash = 20 [deprecated = true];
- case 20: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 160) goto handle_unusual;
- HasBitSetters::set_has_java_generate_equals_and_hash(&has_bits);
- java_generate_equals_and_hash_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
- // optional bool deprecated = 23 [default = false];
- case 23: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 184) goto handle_unusual;
- HasBitSetters::set_has_deprecated(&has_bits);
- deprecated_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
- // optional bool java_string_check_utf8 = 27 [default = false];
- case 27: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 216) goto handle_unusual;
- HasBitSetters::set_has_java_string_check_utf8(&has_bits);
- java_string_check_utf8_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
- // optional bool cc_enable_arenas = 31 [default = false];
- case 31: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 248) goto handle_unusual;
- HasBitSetters::set_has_cc_enable_arenas(&has_bits);
- cc_enable_arenas_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
- // optional string objc_class_prefix = 36;
- case 36: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 34) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_objc_class_prefix(), ptr, ctx, "google.protobuf.FileOptions.objc_class_prefix");
- CHK_(ptr);
- break;
- }
- // optional string csharp_namespace = 37;
- case 37: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 42) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_csharp_namespace(), ptr, ctx, "google.protobuf.FileOptions.csharp_namespace");
- CHK_(ptr);
- break;
- }
- // optional string swift_prefix = 39;
- case 39: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 58) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_swift_prefix(), ptr, ctx, "google.protobuf.FileOptions.swift_prefix");
- CHK_(ptr);
- break;
- }
- // optional string php_class_prefix = 40;
- case 40: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 66) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_php_class_prefix(), ptr, ctx, "google.protobuf.FileOptions.php_class_prefix");
- CHK_(ptr);
- break;
- }
- // optional string php_namespace = 41;
- case 41: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 74) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_php_namespace(), ptr, ctx, "google.protobuf.FileOptions.php_namespace");
- CHK_(ptr);
- break;
- }
- // optional bool php_generic_services = 42 [default = false];
- case 42: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 80) goto handle_unusual;
- HasBitSetters::set_has_php_generic_services(&has_bits);
- php_generic_services_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
- // optional string php_metadata_namespace = 44;
- case 44: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 98) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_php_metadata_namespace(), ptr, ctx, "google.protobuf.FileOptions.php_metadata_namespace");
- CHK_(ptr);
- break;
- }
- // optional string ruby_package = 45;
- case 45: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 106) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_ruby_package(), ptr, ctx, "google.protobuf.FileOptions.ruby_package");
- CHK_(ptr);
- break;
- }
- // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
- case 999: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 58) goto handle_unusual;
- while (true) {
- ptr = ctx->ParseMessage(add_uninterpreted_option(), ptr);
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_java_package(), ptr, ctx, "google.protobuf.FileOptions.java_package");
CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint16>(ptr) != 16058) break;
- ptr += 2;
- }
- break;
- }
+ } else goto handle_unusual;
+ continue;
+ // optional string java_outer_classname = 8;
+ case 8:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_java_outer_classname(), ptr, ctx, "google.protobuf.FileOptions.java_outer_classname");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
+ // optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
+ case 9:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 72)) {
+ ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ if (PROTOBUF_PREDICT_TRUE(PROTOBUF_NAMESPACE_ID::FileOptions_OptimizeMode_IsValid(val))) {
+ set_optimize_for(static_cast<PROTOBUF_NAMESPACE_ID::FileOptions_OptimizeMode>(val));
+ } else {
+ ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(9, val, mutable_unknown_fields());
+ }
+ } else goto handle_unusual;
+ continue;
+ // optional bool java_multiple_files = 10 [default = false];
+ case 10:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 80)) {
+ HasBitSetters::set_has_java_multiple_files(&has_bits);
+ java_multiple_files_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
+ // optional string go_package = 11;
+ case 11:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 90)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_go_package(), ptr, ctx, "google.protobuf.FileOptions.go_package");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
+ // optional bool cc_generic_services = 16 [default = false];
+ case 16:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 128)) {
+ HasBitSetters::set_has_cc_generic_services(&has_bits);
+ cc_generic_services_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
+ // optional bool java_generic_services = 17 [default = false];
+ case 17:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 136)) {
+ HasBitSetters::set_has_java_generic_services(&has_bits);
+ java_generic_services_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
+ // optional bool py_generic_services = 18 [default = false];
+ case 18:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 144)) {
+ HasBitSetters::set_has_py_generic_services(&has_bits);
+ py_generic_services_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
+ // optional bool java_generate_equals_and_hash = 20 [deprecated = true];
+ case 20:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 160)) {
+ HasBitSetters::set_has_java_generate_equals_and_hash(&has_bits);
+ java_generate_equals_and_hash_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
+ // optional bool deprecated = 23 [default = false];
+ case 23:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 184)) {
+ HasBitSetters::set_has_deprecated(&has_bits);
+ deprecated_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
+ // optional bool java_string_check_utf8 = 27 [default = false];
+ case 27:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 216)) {
+ HasBitSetters::set_has_java_string_check_utf8(&has_bits);
+ java_string_check_utf8_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
+ // optional bool cc_enable_arenas = 31 [default = false];
+ case 31:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 248)) {
+ HasBitSetters::set_has_cc_enable_arenas(&has_bits);
+ cc_enable_arenas_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
+ // optional string objc_class_prefix = 36;
+ case 36:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_objc_class_prefix(), ptr, ctx, "google.protobuf.FileOptions.objc_class_prefix");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
+ // optional string csharp_namespace = 37;
+ case 37:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_csharp_namespace(), ptr, ctx, "google.protobuf.FileOptions.csharp_namespace");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
+ // optional string swift_prefix = 39;
+ case 39:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_swift_prefix(), ptr, ctx, "google.protobuf.FileOptions.swift_prefix");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
+ // optional string php_class_prefix = 40;
+ case 40:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_php_class_prefix(), ptr, ctx, "google.protobuf.FileOptions.php_class_prefix");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
+ // optional string php_namespace = 41;
+ case 41:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 74)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_php_namespace(), ptr, ctx, "google.protobuf.FileOptions.php_namespace");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
+ // optional bool php_generic_services = 42 [default = false];
+ case 42:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 80)) {
+ HasBitSetters::set_has_php_generic_services(&has_bits);
+ php_generic_services_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
+ // optional string php_metadata_namespace = 44;
+ case 44:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 98)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_php_metadata_namespace(), ptr, ctx, "google.protobuf.FileOptions.php_metadata_namespace");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
+ // optional string ruby_package = 45;
+ case 45:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 106)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_ruby_package(), ptr, ctx, "google.protobuf.FileOptions.ruby_package");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
+ // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
+ case 999:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
+ ptr -= 2;
+ do {
+ ptr += 2;
+ ptr = ctx->ParseMessage(add_uninterpreted_option(), ptr);
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint16>(ptr) == 16058);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -9031,14 +9029,14 @@
goto success;
}
if ((8000u <= tag)) {
- ptr = _extensions_.ParseField(tag, ptr,
+ ptr = _extensions_.ParseField(tag, ptr,
internal_default_instance(), &_internal_metadata_, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
@@ -10202,49 +10200,49 @@
CHK_(ptr);
switch (tag >> 3) {
// optional bool message_set_wire_format = 1 [default = false];
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 8) goto handle_unusual;
- HasBitSetters::set_has_message_set_wire_format(&has_bits);
- message_set_wire_format_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
- // optional bool no_standard_descriptor_accessor = 2 [default = false];
- case 2: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 16) goto handle_unusual;
- HasBitSetters::set_has_no_standard_descriptor_accessor(&has_bits);
- no_standard_descriptor_accessor_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
- // optional bool deprecated = 3 [default = false];
- case 3: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 24) goto handle_unusual;
- HasBitSetters::set_has_deprecated(&has_bits);
- deprecated_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
- // optional bool map_entry = 7;
- case 7: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 56) goto handle_unusual;
- HasBitSetters::set_has_map_entry(&has_bits);
- map_entry_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
- // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
- case 999: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 58) goto handle_unusual;
- while (true) {
- ptr = ctx->ParseMessage(add_uninterpreted_option(), ptr);
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
+ HasBitSetters::set_has_message_set_wire_format(&has_bits);
+ message_set_wire_format_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint16>(ptr) != 16058) break;
- ptr += 2;
- }
- break;
- }
+ } else goto handle_unusual;
+ continue;
+ // optional bool no_standard_descriptor_accessor = 2 [default = false];
+ case 2:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
+ HasBitSetters::set_has_no_standard_descriptor_accessor(&has_bits);
+ no_standard_descriptor_accessor_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
+ // optional bool deprecated = 3 [default = false];
+ case 3:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
+ HasBitSetters::set_has_deprecated(&has_bits);
+ deprecated_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
+ // optional bool map_entry = 7;
+ case 7:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
+ HasBitSetters::set_has_map_entry(&has_bits);
+ map_entry_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
+ // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
+ case 999:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
+ ptr -= 2;
+ do {
+ ptr += 2;
+ ptr = ctx->ParseMessage(add_uninterpreted_option(), ptr);
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint16>(ptr) == 16058);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -10252,14 +10250,14 @@
goto success;
}
if ((8000u <= tag)) {
- ptr = _extensions_.ParseField(tag, ptr,
+ ptr = _extensions_.ParseField(tag, ptr,
internal_default_instance(), &_internal_metadata_, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
@@ -10744,73 +10742,73 @@
CHK_(ptr);
switch (tag >> 3) {
// optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 8) goto handle_unusual;
- ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- if (!PROTOBUF_NAMESPACE_ID::FieldOptions_CType_IsValid(val)) {
- ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(1, val, mutable_unknown_fields());
- break;
- }
- set_ctype(static_cast<PROTOBUF_NAMESPACE_ID::FieldOptions_CType>(val));
- break;
- }
- // optional bool packed = 2;
- case 2: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 16) goto handle_unusual;
- HasBitSetters::set_has_packed(&has_bits);
- packed_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
- // optional bool deprecated = 3 [default = false];
- case 3: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 24) goto handle_unusual;
- HasBitSetters::set_has_deprecated(&has_bits);
- deprecated_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
- // optional bool lazy = 5 [default = false];
- case 5: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 40) goto handle_unusual;
- HasBitSetters::set_has_lazy(&has_bits);
- lazy_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
- // optional .google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL];
- case 6: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 48) goto handle_unusual;
- ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- if (!PROTOBUF_NAMESPACE_ID::FieldOptions_JSType_IsValid(val)) {
- ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(6, val, mutable_unknown_fields());
- break;
- }
- set_jstype(static_cast<PROTOBUF_NAMESPACE_ID::FieldOptions_JSType>(val));
- break;
- }
- // optional bool weak = 10 [default = false];
- case 10: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 80) goto handle_unusual;
- HasBitSetters::set_has_weak(&has_bits);
- weak_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
- // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
- case 999: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 58) goto handle_unusual;
- while (true) {
- ptr = ctx->ParseMessage(add_uninterpreted_option(), ptr);
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
+ ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint16>(ptr) != 16058) break;
- ptr += 2;
- }
- break;
- }
+ if (PROTOBUF_PREDICT_TRUE(PROTOBUF_NAMESPACE_ID::FieldOptions_CType_IsValid(val))) {
+ set_ctype(static_cast<PROTOBUF_NAMESPACE_ID::FieldOptions_CType>(val));
+ } else {
+ ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(1, val, mutable_unknown_fields());
+ }
+ } else goto handle_unusual;
+ continue;
+ // optional bool packed = 2;
+ case 2:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
+ HasBitSetters::set_has_packed(&has_bits);
+ packed_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
+ // optional bool deprecated = 3 [default = false];
+ case 3:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
+ HasBitSetters::set_has_deprecated(&has_bits);
+ deprecated_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
+ // optional bool lazy = 5 [default = false];
+ case 5:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
+ HasBitSetters::set_has_lazy(&has_bits);
+ lazy_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
+ // optional .google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL];
+ case 6:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
+ ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ if (PROTOBUF_PREDICT_TRUE(PROTOBUF_NAMESPACE_ID::FieldOptions_JSType_IsValid(val))) {
+ set_jstype(static_cast<PROTOBUF_NAMESPACE_ID::FieldOptions_JSType>(val));
+ } else {
+ ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(6, val, mutable_unknown_fields());
+ }
+ } else goto handle_unusual;
+ continue;
+ // optional bool weak = 10 [default = false];
+ case 10:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 80)) {
+ HasBitSetters::set_has_weak(&has_bits);
+ weak_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
+ // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
+ case 999:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
+ ptr -= 2;
+ do {
+ ptr += 2;
+ ptr = ctx->ParseMessage(add_uninterpreted_option(), ptr);
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint16>(ptr) == 16058);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -10818,14 +10816,14 @@
goto success;
}
if ((8000u <= tag)) {
- ptr = _extensions_.ParseField(tag, ptr,
+ ptr = _extensions_.ParseField(tag, ptr,
internal_default_instance(), &_internal_metadata_, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
@@ -11355,17 +11353,17 @@
CHK_(ptr);
switch (tag >> 3) {
// repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
- case 999: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 58) goto handle_unusual;
- while (true) {
- ptr = ctx->ParseMessage(add_uninterpreted_option(), ptr);
- CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint16>(ptr) != 16058) break;
- ptr += 2;
- }
- break;
- }
+ case 999:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
+ ptr -= 2;
+ do {
+ ptr += 2;
+ ptr = ctx->ParseMessage(add_uninterpreted_option(), ptr);
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint16>(ptr) == 16058);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -11373,14 +11371,14 @@
goto success;
}
if ((8000u <= tag)) {
- ptr = _extensions_.ParseField(tag, ptr,
+ ptr = _extensions_.ParseField(tag, ptr,
internal_default_instance(), &_internal_metadata_, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
@@ -11708,33 +11706,33 @@
CHK_(ptr);
switch (tag >> 3) {
// optional bool allow_alias = 2;
- case 2: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 16) goto handle_unusual;
- HasBitSetters::set_has_allow_alias(&has_bits);
- allow_alias_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
- // optional bool deprecated = 3 [default = false];
- case 3: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 24) goto handle_unusual;
- HasBitSetters::set_has_deprecated(&has_bits);
- deprecated_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
- // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
- case 999: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 58) goto handle_unusual;
- while (true) {
- ptr = ctx->ParseMessage(add_uninterpreted_option(), ptr);
+ case 2:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
+ HasBitSetters::set_has_allow_alias(&has_bits);
+ allow_alias_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint16>(ptr) != 16058) break;
- ptr += 2;
- }
- break;
- }
+ } else goto handle_unusual;
+ continue;
+ // optional bool deprecated = 3 [default = false];
+ case 3:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
+ HasBitSetters::set_has_deprecated(&has_bits);
+ deprecated_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
+ // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
+ case 999:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
+ ptr -= 2;
+ do {
+ ptr += 2;
+ ptr = ctx->ParseMessage(add_uninterpreted_option(), ptr);
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint16>(ptr) == 16058);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -11742,14 +11740,14 @@
goto success;
}
if ((8000u <= tag)) {
- ptr = _extensions_.ParseField(tag, ptr,
+ ptr = _extensions_.ParseField(tag, ptr,
internal_default_instance(), &_internal_metadata_, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
@@ -12141,25 +12139,25 @@
CHK_(ptr);
switch (tag >> 3) {
// optional bool deprecated = 1 [default = false];
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 8) goto handle_unusual;
- HasBitSetters::set_has_deprecated(&has_bits);
- deprecated_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
- // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
- case 999: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 58) goto handle_unusual;
- while (true) {
- ptr = ctx->ParseMessage(add_uninterpreted_option(), ptr);
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
+ HasBitSetters::set_has_deprecated(&has_bits);
+ deprecated_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint16>(ptr) != 16058) break;
- ptr += 2;
- }
- break;
- }
+ } else goto handle_unusual;
+ continue;
+ // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
+ case 999:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
+ ptr -= 2;
+ do {
+ ptr += 2;
+ ptr = ctx->ParseMessage(add_uninterpreted_option(), ptr);
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint16>(ptr) == 16058);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -12167,14 +12165,14 @@
goto success;
}
if ((8000u <= tag)) {
- ptr = _extensions_.ParseField(tag, ptr,
+ ptr = _extensions_.ParseField(tag, ptr,
internal_default_instance(), &_internal_metadata_, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
@@ -12528,25 +12526,25 @@
CHK_(ptr);
switch (tag >> 3) {
// optional bool deprecated = 33 [default = false];
- case 33: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 8) goto handle_unusual;
- HasBitSetters::set_has_deprecated(&has_bits);
- deprecated_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
- // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
- case 999: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 58) goto handle_unusual;
- while (true) {
- ptr = ctx->ParseMessage(add_uninterpreted_option(), ptr);
+ case 33:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
+ HasBitSetters::set_has_deprecated(&has_bits);
+ deprecated_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint16>(ptr) != 16058) break;
- ptr += 2;
- }
- break;
- }
+ } else goto handle_unusual;
+ continue;
+ // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
+ case 999:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
+ ptr -= 2;
+ do {
+ ptr += 2;
+ ptr = ctx->ParseMessage(add_uninterpreted_option(), ptr);
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint16>(ptr) == 16058);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -12554,14 +12552,14 @@
goto success;
}
if ((8000u <= tag)) {
- ptr = _extensions_.ParseField(tag, ptr,
+ ptr = _extensions_.ParseField(tag, ptr,
internal_default_instance(), &_internal_metadata_, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
@@ -12928,37 +12926,37 @@
CHK_(ptr);
switch (tag >> 3) {
// optional bool deprecated = 33 [default = false];
- case 33: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 8) goto handle_unusual;
- HasBitSetters::set_has_deprecated(&has_bits);
- deprecated_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
- // optional .google.protobuf.MethodOptions.IdempotencyLevel idempotency_level = 34 [default = IDEMPOTENCY_UNKNOWN];
- case 34: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 16) goto handle_unusual;
- ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- if (!PROTOBUF_NAMESPACE_ID::MethodOptions_IdempotencyLevel_IsValid(val)) {
- ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(34, val, mutable_unknown_fields());
- break;
- }
- set_idempotency_level(static_cast<PROTOBUF_NAMESPACE_ID::MethodOptions_IdempotencyLevel>(val));
- break;
- }
- // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
- case 999: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 58) goto handle_unusual;
- while (true) {
- ptr = ctx->ParseMessage(add_uninterpreted_option(), ptr);
+ case 33:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
+ HasBitSetters::set_has_deprecated(&has_bits);
+ deprecated_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint16>(ptr) != 16058) break;
- ptr += 2;
- }
- break;
- }
+ } else goto handle_unusual;
+ continue;
+ // optional .google.protobuf.MethodOptions.IdempotencyLevel idempotency_level = 34 [default = IDEMPOTENCY_UNKNOWN];
+ case 34:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
+ ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ if (PROTOBUF_PREDICT_TRUE(PROTOBUF_NAMESPACE_ID::MethodOptions_IdempotencyLevel_IsValid(val))) {
+ set_idempotency_level(static_cast<PROTOBUF_NAMESPACE_ID::MethodOptions_IdempotencyLevel>(val));
+ } else {
+ ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(34, val, mutable_unknown_fields());
+ }
+ } else goto handle_unusual;
+ continue;
+ // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
+ case 999:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
+ ptr -= 2;
+ do {
+ ptr += 2;
+ ptr = ctx->ParseMessage(add_uninterpreted_option(), ptr);
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint16>(ptr) == 16058);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -12966,14 +12964,14 @@
goto success;
}
if ((8000u <= tag)) {
- ptr = _extensions_.ParseField(tag, ptr,
+ ptr = _extensions_.ParseField(tag, ptr,
internal_default_instance(), &_internal_metadata_, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
@@ -13382,20 +13380,20 @@
CHK_(ptr);
switch (tag >> 3) {
// required string name_part = 1;
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 10) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_name_part(), ptr, ctx, "google.protobuf.UninterpretedOption.NamePart.name_part");
- CHK_(ptr);
- break;
- }
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_name_part(), ptr, ctx, "google.protobuf.UninterpretedOption.NamePart.name_part");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// required bool is_extension = 2;
- case 2: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 16) goto handle_unusual;
- HasBitSetters::set_has_is_extension(&has_bits);
- is_extension_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
+ case 2:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
+ HasBitSetters::set_has_is_extension(&has_bits);
+ is_extension_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -13404,7 +13402,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
@@ -13823,62 +13821,62 @@
CHK_(ptr);
switch (tag >> 3) {
// repeated .google.protobuf.UninterpretedOption.NamePart name = 2;
- case 2: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 18) goto handle_unusual;
- while (true) {
- ptr = ctx->ParseMessage(add_name(), ptr);
- CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) != 18) break;
- ptr += 1;
- }
- break;
- }
+ case 2:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
+ ptr -= 1;
+ do {
+ ptr += 1;
+ ptr = ctx->ParseMessage(add_name(), ptr);
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 18);
+ } else goto handle_unusual;
+ continue;
// optional string identifier_value = 3;
- case 3: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 26) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_identifier_value(), ptr, ctx, "google.protobuf.UninterpretedOption.identifier_value");
- CHK_(ptr);
- break;
- }
+ case 3:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_identifier_value(), ptr, ctx, "google.protobuf.UninterpretedOption.identifier_value");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// optional uint64 positive_int_value = 4;
- case 4: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 32) goto handle_unusual;
- HasBitSetters::set_has_positive_int_value(&has_bits);
- positive_int_value_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
+ case 4:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
+ HasBitSetters::set_has_positive_int_value(&has_bits);
+ positive_int_value_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// optional int64 negative_int_value = 5;
- case 5: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 40) goto handle_unusual;
- HasBitSetters::set_has_negative_int_value(&has_bits);
- negative_int_value_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
+ case 5:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
+ HasBitSetters::set_has_negative_int_value(&has_bits);
+ negative_int_value_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// optional double double_value = 6;
- case 6: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 49) goto handle_unusual;
- HasBitSetters::set_has_double_value(&has_bits);
- double_value_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
- ptr += sizeof(double);
- break;
- }
+ case 6:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 49)) {
+ HasBitSetters::set_has_double_value(&has_bits);
+ double_value_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
+ ptr += sizeof(double);
+ } else goto handle_unusual;
+ continue;
// optional bytes string_value = 7;
- case 7: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 58) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(mutable_string_value(), ptr, ctx);
- CHK_(ptr);
- break;
- }
+ case 7:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(mutable_string_value(), ptr, ctx);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// optional string aggregate_value = 8;
- case 8: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 66) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_aggregate_value(), ptr, ctx, "google.protobuf.UninterpretedOption.aggregate_value");
- CHK_(ptr);
- break;
- }
+ case 8:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_aggregate_value(), ptr, ctx, "google.protobuf.UninterpretedOption.aggregate_value");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -13887,7 +13885,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
@@ -14455,63 +14453,51 @@
CHK_(ptr);
switch (tag >> 3) {
// repeated int32 path = 1 [packed = true];
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10) {
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(mutable_path(), ptr, ctx);
CHK_(ptr);
- break;
- } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 8) goto handle_unusual;
- while (true) {
+ } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8) {
add_path(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr));
CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) != 8) break;
- ptr += 1;
- }
- break;
- }
+ } else goto handle_unusual;
+ continue;
// repeated int32 span = 2 [packed = true];
- case 2: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18) {
+ case 2:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(mutable_span(), ptr, ctx);
CHK_(ptr);
- break;
- } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 16) goto handle_unusual;
- while (true) {
+ } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16) {
add_span(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr));
CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) != 16) break;
- ptr += 1;
- }
- break;
- }
+ } else goto handle_unusual;
+ continue;
// optional string leading_comments = 3;
- case 3: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 26) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_leading_comments(), ptr, ctx, "google.protobuf.SourceCodeInfo.Location.leading_comments");
- CHK_(ptr);
- break;
- }
- // optional string trailing_comments = 4;
- case 4: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 34) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_trailing_comments(), ptr, ctx, "google.protobuf.SourceCodeInfo.Location.trailing_comments");
- CHK_(ptr);
- break;
- }
- // repeated string leading_detached_comments = 6;
- case 6: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 50) goto handle_unusual;
- while (true) {
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(add_leading_detached_comments(), ptr, ctx, "google.protobuf.SourceCodeInfo.Location.leading_detached_comments");
+ case 3:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_leading_comments(), ptr, ctx, "google.protobuf.SourceCodeInfo.Location.leading_comments");
CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) != 50) break;
- ptr += 1;
- }
- break;
- }
+ } else goto handle_unusual;
+ continue;
+ // optional string trailing_comments = 4;
+ case 4:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_trailing_comments(), ptr, ctx, "google.protobuf.SourceCodeInfo.Location.trailing_comments");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
+ // repeated string leading_detached_comments = 6;
+ case 6:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
+ ptr -= 1;
+ do {
+ ptr += 1;
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(add_leading_detached_comments(), ptr, ctx, "google.protobuf.SourceCodeInfo.Location.leading_detached_comments");
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 50);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -14520,7 +14506,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
@@ -15029,17 +15015,17 @@
CHK_(ptr);
switch (tag >> 3) {
// repeated .google.protobuf.SourceCodeInfo.Location location = 1;
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 10) goto handle_unusual;
- while (true) {
- ptr = ctx->ParseMessage(add_location(), ptr);
- CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) != 10) break;
- ptr += 1;
- }
- break;
- }
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
+ ptr -= 1;
+ do {
+ ptr += 1;
+ ptr = ctx->ParseMessage(add_location(), ptr);
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 10);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -15048,7 +15034,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
@@ -15368,44 +15354,38 @@
CHK_(ptr);
switch (tag >> 3) {
// repeated int32 path = 1 [packed = true];
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10) {
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(mutable_path(), ptr, ctx);
CHK_(ptr);
- break;
- } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 8) goto handle_unusual;
- while (true) {
+ } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8) {
add_path(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr));
CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) != 8) break;
- ptr += 1;
- }
- break;
- }
+ } else goto handle_unusual;
+ continue;
// optional string source_file = 2;
- case 2: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 18) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_source_file(), ptr, ctx, "google.protobuf.GeneratedCodeInfo.Annotation.source_file");
- CHK_(ptr);
- break;
- }
+ case 2:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8Verify(mutable_source_file(), ptr, ctx, "google.protobuf.GeneratedCodeInfo.Annotation.source_file");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// optional int32 begin = 3;
- case 3: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 24) goto handle_unusual;
- HasBitSetters::set_has_begin(&has_bits);
- begin_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
+ case 3:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
+ HasBitSetters::set_has_begin(&has_bits);
+ begin_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// optional int32 end = 4;
- case 4: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 32) goto handle_unusual;
- HasBitSetters::set_has_end(&has_bits);
- end_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
+ case 4:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
+ HasBitSetters::set_has_end(&has_bits);
+ end_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -15414,7 +15394,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
@@ -15841,17 +15821,17 @@
CHK_(ptr);
switch (tag >> 3) {
// repeated .google.protobuf.GeneratedCodeInfo.Annotation annotation = 1;
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 10) goto handle_unusual;
- while (true) {
- ptr = ctx->ParseMessage(add_annotation(), ptr);
- CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) != 10) break;
- ptr += 1;
- }
- break;
- }
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
+ ptr -= 1;
+ do {
+ ptr += 1;
+ ptr = ctx->ParseMessage(add_annotation(), ptr);
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 10);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -15860,7 +15840,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
diff --git a/src/google/protobuf/descriptor_database.cc b/src/google/protobuf/descriptor_database.cc
index dbd0f4a..4f2a766 100644
--- a/src/google/protobuf/descriptor_database.cc
+++ b/src/google/protobuf/descriptor_database.cc
@@ -45,8 +45,70 @@
namespace google {
namespace protobuf {
+namespace {
+void RecordMessageNames(const DescriptorProto& desc_proto,
+ const std::string& prefix,
+ std::set<std::string>* output) {
+ GOOGLE_CHECK(desc_proto.has_name());
+ std::string full_name = prefix.empty()
+ ? desc_proto.name()
+ : StrCat(prefix, ".", desc_proto.name());
+ output->insert(full_name);
+
+ for (const auto& d : desc_proto.nested_type()) {
+ RecordMessageNames(d, full_name, output);
+ }
+}
+
+void RecordMessageNames(const FileDescriptorProto& file_proto,
+ std::set<std::string>* output) {
+ for (const auto& d : file_proto.message_type()) {
+ RecordMessageNames(d, file_proto.package(), output);
+ }
+}
+
+template <typename Fn>
+bool ForAllFileProtos(DescriptorDatabase* db, Fn callback,
+ std::vector<std::string>* output) {
+ std::vector<std::string> file_names;
+ if (!db->FindAllFileNames(&file_names)) {
+ return false;
+ }
+ std::set<std::string> set;
+ FileDescriptorProto file_proto;
+ for (const auto& f : file_names) {
+ file_proto.Clear();
+ if (!db->FindFileByName(f, &file_proto)) {
+ GOOGLE_LOG(ERROR) << "File not found in database (unexpected): " << f;
+ return false;
+ }
+ callback(file_proto, &set);
+ }
+ output->insert(output->end(), set.begin(), set.end());
+ return true;
+}
+} // namespace
+
DescriptorDatabase::~DescriptorDatabase() {}
+bool DescriptorDatabase::FindAllPackageNames(std::vector<std::string>* output) {
+ return ForAllFileProtos(
+ this,
+ [](const FileDescriptorProto& file_proto, std::set<std::string>* set) {
+ set->insert(file_proto.package());
+ },
+ output);
+}
+
+bool DescriptorDatabase::FindAllMessageNames(std::vector<std::string>* output) {
+ return ForAllFileProtos(
+ this,
+ [](const FileDescriptorProto& file_proto, std::set<std::string>* set) {
+ RecordMessageNames(file_proto, set);
+ },
+ output);
+}
+
// ===================================================================
template <typename Value>
diff --git a/src/google/protobuf/descriptor_database.h b/src/google/protobuf/descriptor_database.h
index 8fc8ae3..b79cfad 100644
--- a/src/google/protobuf/descriptor_database.h
+++ b/src/google/protobuf/descriptor_database.h
@@ -120,6 +120,20 @@
return false;
}
+ // Finds the package names and appends them to the output in an
+ // undefined order. This method is best-effort: it's not guaranteed that the
+ // database will find all packages. Returns true if the database supports
+ // searching all package names, otherwise returns false and leaves output
+ // unchanged.
+ bool FindAllPackageNames(std::vector<std::string>* output);
+
+ // Finds the message names and appends them to the output in an
+ // undefined order. This method is best-effort: it's not guaranteed that the
+ // database will find all messages. Returns true if the database supports
+ // searching all message names, otherwise returns false and leaves output
+ // unchanged.
+ bool FindAllMessageNames(std::vector<std::string>* output);
+
private:
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(DescriptorDatabase);
};
diff --git a/src/google/protobuf/descriptor_database_unittest.cc b/src/google/protobuf/descriptor_database_unittest.cc
index 58ccf4e..8653193 100644
--- a/src/google/protobuf/descriptor_database_unittest.cc
+++ b/src/google/protobuf/descriptor_database_unittest.cc
@@ -531,6 +531,46 @@
EXPECT_THAT(all_files, testing::ElementsAre("foo.proto"));
}
+TEST(SimpleDescriptorDatabaseExtraTest, FindAllPackageNames) {
+ FileDescriptorProto f;
+ f.set_name("foo.proto");
+ f.set_package("foo");
+ f.add_message_type()->set_name("Foo");
+
+ FileDescriptorProto b;
+ b.set_name("bar.proto");
+ b.set_package("");
+ b.add_message_type()->set_name("Bar");
+
+ SimpleDescriptorDatabase db;
+ db.Add(f);
+ db.Add(b);
+
+ std::vector<string> packages;
+ EXPECT_TRUE(db.FindAllPackageNames(&packages));
+ EXPECT_THAT(packages, ::testing::UnorderedElementsAre("foo", ""));
+}
+
+TEST(SimpleDescriptorDatabaseExtraTest, FindAllMessageNames) {
+ FileDescriptorProto f;
+ f.set_name("foo.proto");
+ f.set_package("foo");
+ f.add_message_type()->set_name("Foo");
+
+ FileDescriptorProto b;
+ b.set_name("bar.proto");
+ b.set_package("");
+ b.add_message_type()->set_name("Bar");
+
+ SimpleDescriptorDatabase db;
+ db.Add(f);
+ db.Add(b);
+
+ std::vector<string> messages;
+ EXPECT_TRUE(db.FindAllMessageNames(&messages));
+ EXPECT_THAT(messages, ::testing::UnorderedElementsAre("foo.Foo", "Bar"));
+}
+
// ===================================================================
class MergedDescriptorDatabaseTest : public testing::Test {
diff --git a/src/google/protobuf/duration.pb.cc b/src/google/protobuf/duration.pb.cc
index b4e41a3..ae476de 100644
--- a/src/google/protobuf/duration.pb.cc
+++ b/src/google/protobuf/duration.pb.cc
@@ -169,19 +169,19 @@
CHK_(ptr);
switch (tag >> 3) {
// int64 seconds = 1;
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 8) goto handle_unusual;
- seconds_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
+ seconds_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// int32 nanos = 2;
- case 2: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 16) goto handle_unusual;
- nanos_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
+ case 2:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
+ nanos_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -190,7 +190,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
diff --git a/src/google/protobuf/empty.pb.cc b/src/google/protobuf/empty.pb.cc
index ca3b631..eb1e466 100644
--- a/src/google/protobuf/empty.pb.cc
+++ b/src/google/protobuf/empty.pb.cc
@@ -161,7 +161,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
diff --git a/src/google/protobuf/field_mask.pb.cc b/src/google/protobuf/field_mask.pb.cc
index 06841d7..482bffa 100644
--- a/src/google/protobuf/field_mask.pb.cc
+++ b/src/google/protobuf/field_mask.pb.cc
@@ -162,17 +162,17 @@
CHK_(ptr);
switch (tag >> 3) {
// repeated string paths = 1;
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 10) goto handle_unusual;
- while (true) {
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(add_paths(), ptr, ctx, "google.protobuf.FieldMask.paths");
- CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) != 10) break;
- ptr += 1;
- }
- break;
- }
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
+ ptr -= 1;
+ do {
+ ptr += 1;
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(add_paths(), ptr, ctx, "google.protobuf.FieldMask.paths");
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 10);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -181,7 +181,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
diff --git a/src/google/protobuf/source_context.pb.cc b/src/google/protobuf/source_context.pb.cc
index 98d0559..50a5c0e 100644
--- a/src/google/protobuf/source_context.pb.cc
+++ b/src/google/protobuf/source_context.pb.cc
@@ -152,12 +152,12 @@
CHK_(ptr);
switch (tag >> 3) {
// string file_name = 1;
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 10) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_file_name(), ptr, ctx, "google.protobuf.SourceContext.file_name");
- CHK_(ptr);
- break;
- }
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_file_name(), ptr, ctx, "google.protobuf.SourceContext.file_name");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -166,7 +166,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
diff --git a/src/google/protobuf/struct.pb.cc b/src/google/protobuf/struct.pb.cc
index 7de9c61..b7028f0 100644
--- a/src/google/protobuf/struct.pb.cc
+++ b/src/google/protobuf/struct.pb.cc
@@ -272,17 +272,17 @@
CHK_(ptr);
switch (tag >> 3) {
// map<string, .google.protobuf.Value> fields = 1;
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 10) goto handle_unusual;
- while (true) {
- ptr = ctx->ParseMessage(&fields_, ptr);
- CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) != 10) break;
- ptr += 1;
- }
- break;
- }
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
+ ptr -= 1;
+ do {
+ ptr += 1;
+ ptr = ctx->ParseMessage(&fields_, ptr);
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 10);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -291,7 +291,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
@@ -778,48 +778,48 @@
CHK_(ptr);
switch (tag >> 3) {
// .google.protobuf.NullValue null_value = 1;
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 8) goto handle_unusual;
- ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- set_null_value(static_cast<PROTOBUF_NAMESPACE_ID::NullValue>(val));
- break;
- }
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
+ ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ set_null_value(static_cast<PROTOBUF_NAMESPACE_ID::NullValue>(val));
+ } else goto handle_unusual;
+ continue;
// double number_value = 2;
- case 2: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 17) goto handle_unusual;
- set_number_value(::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr));
- ptr += sizeof(double);
- break;
- }
+ case 2:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 17)) {
+ set_number_value(::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr));
+ ptr += sizeof(double);
+ } else goto handle_unusual;
+ continue;
// string string_value = 3;
- case 3: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 26) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_string_value(), ptr, ctx, "google.protobuf.Value.string_value");
- CHK_(ptr);
- break;
- }
+ case 3:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_string_value(), ptr, ctx, "google.protobuf.Value.string_value");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// bool bool_value = 4;
- case 4: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 32) goto handle_unusual;
- set_bool_value(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr));
- CHK_(ptr);
- break;
- }
+ case 4:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
+ set_bool_value(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr));
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// .google.protobuf.Struct struct_value = 5;
- case 5: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 42) goto handle_unusual;
- ptr = ctx->ParseMessage(mutable_struct_value(), ptr);
- CHK_(ptr);
- break;
- }
+ case 5:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
+ ptr = ctx->ParseMessage(mutable_struct_value(), ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// .google.protobuf.ListValue list_value = 6;
- case 6: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 50) goto handle_unusual;
- ptr = ctx->ParseMessage(mutable_list_value(), ptr);
- CHK_(ptr);
- break;
- }
+ case 6:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
+ ptr = ctx->ParseMessage(mutable_list_value(), ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -828,7 +828,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
@@ -1299,17 +1299,17 @@
CHK_(ptr);
switch (tag >> 3) {
// repeated .google.protobuf.Value values = 1;
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 10) goto handle_unusual;
- while (true) {
- ptr = ctx->ParseMessage(add_values(), ptr);
- CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) != 10) break;
- ptr += 1;
- }
- break;
- }
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
+ ptr -= 1;
+ do {
+ ptr += 1;
+ ptr = ctx->ParseMessage(add_values(), ptr);
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 10);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -1318,7 +1318,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
diff --git a/src/google/protobuf/stubs/mutex.h b/src/google/protobuf/stubs/mutex.h
index 29bcd21..a311889 100644
--- a/src/google/protobuf/stubs/mutex.h
+++ b/src/google/protobuf/stubs/mutex.h
@@ -52,9 +52,11 @@
__attribute__((acquire_capability(__VA_ARGS__)))
#define GOOGLE_PROTOBUF_RELEASE(...) \
__attribute__((release_capability(__VA_ARGS__)))
+#define GOOGLE_PROTOBUF_CAPABILITY(x) __attribute__((capability(x)))
#else
#define GOOGLE_PROTOBUF_ACQUIRE(...)
#define GOOGLE_PROTOBUF_RELEASE(...)
+#define GOOGLE_PROTOBUF_CAPABILITY(x)
#endif
#include <google/protobuf/port_def.inc>
@@ -91,7 +93,7 @@
// Mutex is a natural type to wrap. As both google and other organization have
// specialized mutexes. gRPC also provides an injection mechanism for custom
// mutexes.
-class PROTOBUF_EXPORT WrappedMutex {
+class PROTOBUF_EXPORT GOOGLE_PROTOBUF_CAPABILITY("mutex") WrappedMutex {
public:
WrappedMutex() = default;
void Lock() GOOGLE_PROTOBUF_ACQUIRE() { mu_.lock(); }
diff --git a/src/google/protobuf/timestamp.pb.cc b/src/google/protobuf/timestamp.pb.cc
index 19de019..65849a3 100644
--- a/src/google/protobuf/timestamp.pb.cc
+++ b/src/google/protobuf/timestamp.pb.cc
@@ -169,19 +169,19 @@
CHK_(ptr);
switch (tag >> 3) {
// int64 seconds = 1;
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 8) goto handle_unusual;
- seconds_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
+ seconds_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// int32 nanos = 2;
- case 2: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 16) goto handle_unusual;
- nanos_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
+ case 2:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
+ nanos_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -190,7 +190,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
diff --git a/src/google/protobuf/type.pb.cc b/src/google/protobuf/type.pb.cc
index 066851e..66f7d07 100644
--- a/src/google/protobuf/type.pb.cc
+++ b/src/google/protobuf/type.pb.cc
@@ -495,63 +495,63 @@
CHK_(ptr);
switch (tag >> 3) {
// string name = 1;
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 10) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_name(), ptr, ctx, "google.protobuf.Type.name");
- CHK_(ptr);
- break;
- }
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_name(), ptr, ctx, "google.protobuf.Type.name");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// repeated .google.protobuf.Field fields = 2;
- case 2: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 18) goto handle_unusual;
- while (true) {
- ptr = ctx->ParseMessage(add_fields(), ptr);
- CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) != 18) break;
- ptr += 1;
- }
- break;
- }
+ case 2:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
+ ptr -= 1;
+ do {
+ ptr += 1;
+ ptr = ctx->ParseMessage(add_fields(), ptr);
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 18);
+ } else goto handle_unusual;
+ continue;
// repeated string oneofs = 3;
- case 3: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 26) goto handle_unusual;
- while (true) {
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(add_oneofs(), ptr, ctx, "google.protobuf.Type.oneofs");
- CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) != 26) break;
- ptr += 1;
- }
- break;
- }
+ case 3:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
+ ptr -= 1;
+ do {
+ ptr += 1;
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(add_oneofs(), ptr, ctx, "google.protobuf.Type.oneofs");
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 26);
+ } else goto handle_unusual;
+ continue;
// repeated .google.protobuf.Option options = 4;
- case 4: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 34) goto handle_unusual;
- while (true) {
- ptr = ctx->ParseMessage(add_options(), ptr);
- CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) != 34) break;
- ptr += 1;
- }
- break;
- }
+ case 4:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
+ ptr -= 1;
+ do {
+ ptr += 1;
+ ptr = ctx->ParseMessage(add_options(), ptr);
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 34);
+ } else goto handle_unusual;
+ continue;
// .google.protobuf.SourceContext source_context = 5;
- case 5: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 42) goto handle_unusual;
- ptr = ctx->ParseMessage(mutable_source_context(), ptr);
- CHK_(ptr);
- break;
- }
+ case 5:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
+ ptr = ctx->ParseMessage(mutable_source_context(), ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// .google.protobuf.Syntax syntax = 6;
- case 6: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 48) goto handle_unusual;
- ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- set_syntax(static_cast<PROTOBUF_NAMESPACE_ID::Syntax>(val));
- break;
- }
+ case 6:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
+ ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ set_syntax(static_cast<PROTOBUF_NAMESPACE_ID::Syntax>(val));
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -560,7 +560,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
@@ -1097,82 +1097,82 @@
CHK_(ptr);
switch (tag >> 3) {
// .google.protobuf.Field.Kind kind = 1;
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 8) goto handle_unusual;
- ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- set_kind(static_cast<PROTOBUF_NAMESPACE_ID::Field_Kind>(val));
- break;
- }
- // .google.protobuf.Field.Cardinality cardinality = 2;
- case 2: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 16) goto handle_unusual;
- ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- set_cardinality(static_cast<PROTOBUF_NAMESPACE_ID::Field_Cardinality>(val));
- break;
- }
- // int32 number = 3;
- case 3: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 24) goto handle_unusual;
- number_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
- // string name = 4;
- case 4: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 34) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_name(), ptr, ctx, "google.protobuf.Field.name");
- CHK_(ptr);
- break;
- }
- // string type_url = 6;
- case 6: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 50) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_type_url(), ptr, ctx, "google.protobuf.Field.type_url");
- CHK_(ptr);
- break;
- }
- // int32 oneof_index = 7;
- case 7: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 56) goto handle_unusual;
- oneof_index_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
- // bool packed = 8;
- case 8: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 64) goto handle_unusual;
- packed_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
- // repeated .google.protobuf.Option options = 9;
- case 9: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 74) goto handle_unusual;
- while (true) {
- ptr = ctx->ParseMessage(add_options(), ptr);
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
+ ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) != 74) break;
- ptr += 1;
- }
- break;
- }
+ set_kind(static_cast<PROTOBUF_NAMESPACE_ID::Field_Kind>(val));
+ } else goto handle_unusual;
+ continue;
+ // .google.protobuf.Field.Cardinality cardinality = 2;
+ case 2:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
+ ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ set_cardinality(static_cast<PROTOBUF_NAMESPACE_ID::Field_Cardinality>(val));
+ } else goto handle_unusual;
+ continue;
+ // int32 number = 3;
+ case 3:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
+ number_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
+ // string name = 4;
+ case 4:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_name(), ptr, ctx, "google.protobuf.Field.name");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
+ // string type_url = 6;
+ case 6:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_type_url(), ptr, ctx, "google.protobuf.Field.type_url");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
+ // int32 oneof_index = 7;
+ case 7:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
+ oneof_index_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
+ // bool packed = 8;
+ case 8:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 64)) {
+ packed_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
+ // repeated .google.protobuf.Option options = 9;
+ case 9:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 74)) {
+ ptr -= 1;
+ do {
+ ptr += 1;
+ ptr = ctx->ParseMessage(add_options(), ptr);
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 74);
+ } else goto handle_unusual;
+ continue;
// string json_name = 10;
- case 10: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 82) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_json_name(), ptr, ctx, "google.protobuf.Field.json_name");
- CHK_(ptr);
- break;
- }
+ case 10:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 82)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_json_name(), ptr, ctx, "google.protobuf.Field.json_name");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// string default_value = 11;
- case 11: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 90) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_default_value(), ptr, ctx, "google.protobuf.Field.default_value");
- CHK_(ptr);
- break;
- }
+ case 11:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 90)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_default_value(), ptr, ctx, "google.protobuf.Field.default_value");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -1181,7 +1181,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
@@ -1882,51 +1882,51 @@
CHK_(ptr);
switch (tag >> 3) {
// string name = 1;
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 10) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_name(), ptr, ctx, "google.protobuf.Enum.name");
- CHK_(ptr);
- break;
- }
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_name(), ptr, ctx, "google.protobuf.Enum.name");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// repeated .google.protobuf.EnumValue enumvalue = 2;
- case 2: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 18) goto handle_unusual;
- while (true) {
- ptr = ctx->ParseMessage(add_enumvalue(), ptr);
- CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) != 18) break;
- ptr += 1;
- }
- break;
- }
+ case 2:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
+ ptr -= 1;
+ do {
+ ptr += 1;
+ ptr = ctx->ParseMessage(add_enumvalue(), ptr);
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 18);
+ } else goto handle_unusual;
+ continue;
// repeated .google.protobuf.Option options = 3;
- case 3: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 26) goto handle_unusual;
- while (true) {
- ptr = ctx->ParseMessage(add_options(), ptr);
- CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) != 26) break;
- ptr += 1;
- }
- break;
- }
+ case 3:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
+ ptr -= 1;
+ do {
+ ptr += 1;
+ ptr = ctx->ParseMessage(add_options(), ptr);
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 26);
+ } else goto handle_unusual;
+ continue;
// .google.protobuf.SourceContext source_context = 4;
- case 4: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 34) goto handle_unusual;
- ptr = ctx->ParseMessage(mutable_source_context(), ptr);
- CHK_(ptr);
- break;
- }
+ case 4:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
+ ptr = ctx->ParseMessage(mutable_source_context(), ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// .google.protobuf.Syntax syntax = 5;
- case 5: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 40) goto handle_unusual;
- ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- set_syntax(static_cast<PROTOBUF_NAMESPACE_ID::Syntax>(val));
- break;
- }
+ case 5:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
+ ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ set_syntax(static_cast<PROTOBUF_NAMESPACE_ID::Syntax>(val));
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -1935,7 +1935,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
@@ -2389,31 +2389,31 @@
CHK_(ptr);
switch (tag >> 3) {
// string name = 1;
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 10) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_name(), ptr, ctx, "google.protobuf.EnumValue.name");
- CHK_(ptr);
- break;
- }
- // int32 number = 2;
- case 2: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 16) goto handle_unusual;
- number_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
- // repeated .google.protobuf.Option options = 3;
- case 3: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 26) goto handle_unusual;
- while (true) {
- ptr = ctx->ParseMessage(add_options(), ptr);
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_name(), ptr, ctx, "google.protobuf.EnumValue.name");
CHK_(ptr);
- if (!ctx->DataAvailable(ptr)) break;
- if (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) != 26) break;
- ptr += 1;
- }
- break;
- }
+ } else goto handle_unusual;
+ continue;
+ // int32 number = 2;
+ case 2:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
+ number_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
+ // repeated .google.protobuf.Option options = 3;
+ case 3:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
+ ptr -= 1;
+ do {
+ ptr += 1;
+ ptr = ctx->ParseMessage(add_options(), ptr);
+ CHK_(ptr);
+ if (!ctx->DataAvailable(ptr)) break;
+ } while (::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<::PROTOBUF_NAMESPACE_ID::uint8>(ptr) == 26);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -2422,7 +2422,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
@@ -2828,19 +2828,19 @@
CHK_(ptr);
switch (tag >> 3) {
// string name = 1;
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 10) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_name(), ptr, ctx, "google.protobuf.Option.name");
- CHK_(ptr);
- break;
- }
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_name(), ptr, ctx, "google.protobuf.Option.name");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
// .google.protobuf.Any value = 2;
- case 2: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 18) goto handle_unusual;
- ptr = ctx->ParseMessage(mutable_value(), ptr);
- CHK_(ptr);
- break;
- }
+ case 2:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
+ ptr = ctx->ParseMessage(mutable_value(), ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -2849,7 +2849,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
diff --git a/src/google/protobuf/util/internal/protostream_objectsource.cc b/src/google/protobuf/util/internal/protostream_objectsource.cc
index a4e7f34..db66c0a 100644
--- a/src/google/protobuf/util/internal/protostream_objectsource.cc
+++ b/src/google/protobuf/util/internal/protostream_objectsource.cc
@@ -41,6 +41,7 @@
#include <google/protobuf/io/zero_copy_stream_impl.h>
#include <google/protobuf/descriptor.h>
#include <google/protobuf/stubs/once.h>
+#include <google/protobuf/unknown_field_set.h>
#include <google/protobuf/wire_format.h>
#include <google/protobuf/wire_format_lite.h>
#include <google/protobuf/util/internal/field_mask_utility.h>
diff --git a/src/google/protobuf/util/internal/protostream_objectwriter.h b/src/google/protobuf/util/internal/protostream_objectwriter.h
index b03bd90..acbf5cc 100644
--- a/src/google/protobuf/util/internal/protostream_objectwriter.h
+++ b/src/google/protobuf/util/internal/protostream_objectwriter.h
@@ -102,8 +102,7 @@
ignore_unknown_fields(false),
ignore_unknown_enum_values(false),
use_lower_camel_for_enums(false),
- // TODO(haon): Change this to false by default.
- case_insensitive_enum_parsing(true),
+ case_insensitive_enum_parsing(false),
ignore_null_value_map_entry(false) {}
// Default instance of Options with all options set to defaults.
diff --git a/src/google/protobuf/util/internal/protostream_objectwriter_test.cc b/src/google/protobuf/util/internal/protostream_objectwriter_test.cc
index 006e85b..c4baaed 100644
--- a/src/google/protobuf/util/internal/protostream_objectwriter_test.cc
+++ b/src/google/protobuf/util/internal/protostream_objectwriter_test.cc
@@ -159,10 +159,6 @@
void CheckOutput(const Message& expected) { CheckOutput(expected, -1); }
- const google::protobuf::Type* GetType(const Descriptor* descriptor) {
- return helper_.GetTypeInfo()->GetTypeByTypeUrl(GetTypeUrl(descriptor));
- }
-
testing::TypeInfoTestHelper helper_;
MockErrorListener listener_;
std::unique_ptr<GrowingArrayByteSink> output_;
diff --git a/src/google/protobuf/util/json_util.h b/src/google/protobuf/util/json_util.h
index 39b6b5a..9954587 100644
--- a/src/google/protobuf/util/json_util.h
+++ b/src/google/protobuf/util/json_util.h
@@ -61,8 +61,7 @@
JsonParseOptions()
: ignore_unknown_fields(false),
- // TODO(haon): Change this to false by default.
- case_insensitive_enum_parsing(true) {}
+ case_insensitive_enum_parsing(false) {}
};
struct JsonPrintOptions {
diff --git a/src/google/protobuf/util/json_util_test.cc b/src/google/protobuf/util/json_util_test.cc
index e5964d8..7258b72 100644
--- a/src/google/protobuf/util/json_util_test.cc
+++ b/src/google/protobuf/util/json_util_test.cc
@@ -462,10 +462,9 @@
" \"enum_value\":\"bar\"\n"
"}";
m.set_enum_value(proto3::FOO);
- EXPECT_TRUE(FromJson(input, &m, options));
- // Default behavior is case-insensitive.
- // TODO(haon): Change the default behavior to case-sensitive.
- ASSERT_EQ(proto3::BAR, m.enum_value());
+ EXPECT_FALSE(FromJson(input, &m, options));
+ // Default behavior is case-sensitive, so keep previous value.
+ ASSERT_EQ(proto3::FOO, m.enum_value());
}
{
JsonParseOptions options;
diff --git a/src/google/protobuf/wrappers.pb.cc b/src/google/protobuf/wrappers.pb.cc
index 695db15..af6a90c 100644
--- a/src/google/protobuf/wrappers.pb.cc
+++ b/src/google/protobuf/wrappers.pb.cc
@@ -383,12 +383,12 @@
CHK_(ptr);
switch (tag >> 3) {
// double value = 1;
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 9) goto handle_unusual;
- value_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
- ptr += sizeof(double);
- break;
- }
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 9)) {
+ value_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
+ ptr += sizeof(double);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -397,7 +397,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
@@ -668,12 +668,12 @@
CHK_(ptr);
switch (tag >> 3) {
// float value = 1;
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 13) goto handle_unusual;
- value_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
- ptr += sizeof(float);
- break;
- }
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 13)) {
+ value_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
+ ptr += sizeof(float);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -682,7 +682,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
@@ -953,12 +953,12 @@
CHK_(ptr);
switch (tag >> 3) {
// int64 value = 1;
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 8) goto handle_unusual;
- value_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
+ value_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -967,7 +967,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
@@ -1240,12 +1240,12 @@
CHK_(ptr);
switch (tag >> 3) {
// uint64 value = 1;
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 8) goto handle_unusual;
- value_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
+ value_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -1254,7 +1254,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
@@ -1527,12 +1527,12 @@
CHK_(ptr);
switch (tag >> 3) {
// int32 value = 1;
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 8) goto handle_unusual;
- value_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
+ value_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -1541,7 +1541,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
@@ -1814,12 +1814,12 @@
CHK_(ptr);
switch (tag >> 3) {
// uint32 value = 1;
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 8) goto handle_unusual;
- value_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
+ value_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -1828,7 +1828,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
@@ -2101,12 +2101,12 @@
CHK_(ptr);
switch (tag >> 3) {
// bool value = 1;
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 8) goto handle_unusual;
- value_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
- CHK_(ptr);
- break;
- }
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
+ value_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint(&ptr);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -2115,7 +2115,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
@@ -2392,12 +2392,12 @@
CHK_(ptr);
switch (tag >> 3) {
// string value = 1;
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 10) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_value(), ptr, ctx, "google.protobuf.StringValue.value");
- CHK_(ptr);
- break;
- }
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParserUTF8(mutable_value(), ptr, ctx, "google.protobuf.StringValue.value");
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -2406,7 +2406,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while
@@ -2699,12 +2699,12 @@
CHK_(ptr);
switch (tag >> 3) {
// bytes value = 1;
- case 1: {
- if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) != 10) goto handle_unusual;
- ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(mutable_value(), ptr, ctx);
- CHK_(ptr);
- break;
- }
+ case 1:
+ if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
+ ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(mutable_value(), ptr, ctx);
+ CHK_(ptr);
+ } else goto handle_unusual;
+ continue;
default: {
handle_unusual:
if ((tag & 7) == 4 || tag == 0) {
@@ -2713,7 +2713,7 @@
}
ptr = UnknownFieldParse(tag, &_internal_metadata_, ptr, ctx);
CHK_(ptr != nullptr);
- break;
+ continue;
}
} // switch
} // while