Index: src/google/protobuf/descriptor.pb.cc =================================================================== --- src/google/protobuf/descriptor.pb.cc (revision 69) +++ src/google/protobuf/descriptor.pb.cc (revision 70) @@ -76,11 +76,14 @@ void protobuf_BuildDesc_google_2fprotobuf_2fdescriptor_2eproto_AssignGlobalDescriptors(const ::google::protobuf::FileDescriptor* file) { FileDescriptorSet_descriptor_ = file->message_type(0); FileDescriptorSet::default_instance_ = new FileDescriptorSet(); + static const int FileDescriptorSet_offsets_[1] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorSet, file_), + }; FileDescriptorSet_reflection_ = new ::google::protobuf::internal::GeneratedMessageReflection( FileDescriptorSet_descriptor_, FileDescriptorSet::default_instance_, - FileDescriptorSet::_offsets_, + FileDescriptorSet_offsets_, GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorSet, _has_bits_[0]), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorSet, _unknown_fields_), -1, @@ -89,11 +92,21 @@ FileDescriptorSet_descriptor_, FileDescriptorSet::default_instance_); FileDescriptorProto_descriptor_ = file->message_type(1); FileDescriptorProto::default_instance_ = new FileDescriptorProto(); + static const int FileDescriptorProto_offsets_[8] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, name_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, package_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, dependency_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, message_type_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, enum_type_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, service_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, extension_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, options_), + }; FileDescriptorProto_reflection_ = new ::google::protobuf::internal::GeneratedMessageReflection( FileDescriptorProto_descriptor_, FileDescriptorProto::default_instance_, - FileDescriptorProto::_offsets_, + FileDescriptorProto_offsets_, GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, _has_bits_[0]), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, _unknown_fields_), -1, @@ -102,22 +115,35 @@ FileDescriptorProto_descriptor_, FileDescriptorProto::default_instance_); DescriptorProto_descriptor_ = file->message_type(2); DescriptorProto::default_instance_ = new DescriptorProto(); + static const int DescriptorProto_offsets_[7] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, name_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, field_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, extension_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, nested_type_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, enum_type_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, extension_range_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, options_), + }; DescriptorProto_reflection_ = new ::google::protobuf::internal::GeneratedMessageReflection( DescriptorProto_descriptor_, DescriptorProto::default_instance_, - DescriptorProto::_offsets_, + DescriptorProto_offsets_, GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, _has_bits_[0]), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, _unknown_fields_), -1, ::google::protobuf::DescriptorPool::generated_pool()); DescriptorProto_ExtensionRange_descriptor_ = DescriptorProto_descriptor_->nested_type(0); DescriptorProto_ExtensionRange::default_instance_ = new DescriptorProto_ExtensionRange(); + static const int DescriptorProto_ExtensionRange_offsets_[2] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto_ExtensionRange, start_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto_ExtensionRange, end_), + }; DescriptorProto_ExtensionRange_reflection_ = new ::google::protobuf::internal::GeneratedMessageReflection( DescriptorProto_ExtensionRange_descriptor_, DescriptorProto_ExtensionRange::default_instance_, - DescriptorProto_ExtensionRange::_offsets_, + DescriptorProto_ExtensionRange_offsets_, GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto_ExtensionRange, _has_bits_[0]), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto_ExtensionRange, _unknown_fields_), -1, @@ -128,11 +154,21 @@ DescriptorProto_descriptor_, DescriptorProto::default_instance_); FieldDescriptorProto_descriptor_ = file->message_type(3); FieldDescriptorProto::default_instance_ = new FieldDescriptorProto(); + static const int FieldDescriptorProto_offsets_[8] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, name_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, number_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, label_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, type_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, type_name_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, extendee_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, default_value_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, options_), + }; FieldDescriptorProto_reflection_ = new ::google::protobuf::internal::GeneratedMessageReflection( FieldDescriptorProto_descriptor_, FieldDescriptorProto::default_instance_, - FieldDescriptorProto::_offsets_, + FieldDescriptorProto_offsets_, GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, _has_bits_[0]), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, _unknown_fields_), -1, @@ -143,11 +179,16 @@ FieldDescriptorProto_descriptor_, FieldDescriptorProto::default_instance_); EnumDescriptorProto_descriptor_ = file->message_type(4); EnumDescriptorProto::default_instance_ = new EnumDescriptorProto(); + static const int EnumDescriptorProto_offsets_[3] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumDescriptorProto, name_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumDescriptorProto, value_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumDescriptorProto, options_), + }; EnumDescriptorProto_reflection_ = new ::google::protobuf::internal::GeneratedMessageReflection( EnumDescriptorProto_descriptor_, EnumDescriptorProto::default_instance_, - EnumDescriptorProto::_offsets_, + EnumDescriptorProto_offsets_, GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumDescriptorProto, _has_bits_[0]), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumDescriptorProto, _unknown_fields_), -1, @@ -156,11 +197,16 @@ EnumDescriptorProto_descriptor_, EnumDescriptorProto::default_instance_); EnumValueDescriptorProto_descriptor_ = file->message_type(5); EnumValueDescriptorProto::default_instance_ = new EnumValueDescriptorProto(); + static const int EnumValueDescriptorProto_offsets_[3] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueDescriptorProto, name_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueDescriptorProto, number_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueDescriptorProto, options_), + }; EnumValueDescriptorProto_reflection_ = new ::google::protobuf::internal::GeneratedMessageReflection( EnumValueDescriptorProto_descriptor_, EnumValueDescriptorProto::default_instance_, - EnumValueDescriptorProto::_offsets_, + EnumValueDescriptorProto_offsets_, GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueDescriptorProto, _has_bits_[0]), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueDescriptorProto, _unknown_fields_), -1, @@ -169,11 +215,16 @@ EnumValueDescriptorProto_descriptor_, EnumValueDescriptorProto::default_instance_); ServiceDescriptorProto_descriptor_ = file->message_type(6); ServiceDescriptorProto::default_instance_ = new ServiceDescriptorProto(); + static const int ServiceDescriptorProto_offsets_[3] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceDescriptorProto, name_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceDescriptorProto, method_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceDescriptorProto, options_), + }; ServiceDescriptorProto_reflection_ = new ::google::protobuf::internal::GeneratedMessageReflection( ServiceDescriptorProto_descriptor_, ServiceDescriptorProto::default_instance_, - ServiceDescriptorProto::_offsets_, + ServiceDescriptorProto_offsets_, GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceDescriptorProto, _has_bits_[0]), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceDescriptorProto, _unknown_fields_), -1, @@ -182,11 +233,17 @@ ServiceDescriptorProto_descriptor_, ServiceDescriptorProto::default_instance_); MethodDescriptorProto_descriptor_ = file->message_type(7); MethodDescriptorProto::default_instance_ = new MethodDescriptorProto(); + static const int MethodDescriptorProto_offsets_[4] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, name_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, input_type_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, output_type_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, options_), + }; MethodDescriptorProto_reflection_ = new ::google::protobuf::internal::GeneratedMessageReflection( MethodDescriptorProto_descriptor_, MethodDescriptorProto::default_instance_, - MethodDescriptorProto::_offsets_, + MethodDescriptorProto_offsets_, GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, _has_bits_[0]), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, _unknown_fields_), -1, @@ -195,11 +252,18 @@ MethodDescriptorProto_descriptor_, MethodDescriptorProto::default_instance_); FileOptions_descriptor_ = file->message_type(8); FileOptions::default_instance_ = new FileOptions(); + static const int FileOptions_offsets_[5] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, java_package_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, java_outer_classname_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, java_multiple_files_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, optimize_for_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, uninterpreted_option_), + }; FileOptions_reflection_ = new ::google::protobuf::internal::GeneratedMessageReflection( FileOptions_descriptor_, FileOptions::default_instance_, - FileOptions::_offsets_, + FileOptions_offsets_, GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, _has_bits_[0]), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, _unknown_fields_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, _extensions_), @@ -209,11 +273,15 @@ FileOptions_descriptor_, FileOptions::default_instance_); MessageOptions_descriptor_ = file->message_type(9); MessageOptions::default_instance_ = new MessageOptions(); + static const int MessageOptions_offsets_[2] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, message_set_wire_format_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, uninterpreted_option_), + }; MessageOptions_reflection_ = new ::google::protobuf::internal::GeneratedMessageReflection( MessageOptions_descriptor_, MessageOptions::default_instance_, - MessageOptions::_offsets_, + MessageOptions_offsets_, GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, _has_bits_[0]), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, _unknown_fields_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, _extensions_), @@ -222,11 +290,16 @@ MessageOptions_descriptor_, MessageOptions::default_instance_); FieldOptions_descriptor_ = file->message_type(10); FieldOptions::default_instance_ = new FieldOptions(); + static const int FieldOptions_offsets_[3] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, ctype_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, experimental_map_key_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, uninterpreted_option_), + }; FieldOptions_reflection_ = new ::google::protobuf::internal::GeneratedMessageReflection( FieldOptions_descriptor_, FieldOptions::default_instance_, - FieldOptions::_offsets_, + FieldOptions_offsets_, GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, _has_bits_[0]), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, _unknown_fields_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, _extensions_), @@ -236,11 +309,14 @@ FieldOptions_descriptor_, FieldOptions::default_instance_); EnumOptions_descriptor_ = file->message_type(11); EnumOptions::default_instance_ = new EnumOptions(); + static const int EnumOptions_offsets_[1] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumOptions, uninterpreted_option_), + }; EnumOptions_reflection_ = new ::google::protobuf::internal::GeneratedMessageReflection( EnumOptions_descriptor_, EnumOptions::default_instance_, - EnumOptions::_offsets_, + EnumOptions_offsets_, GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumOptions, _has_bits_[0]), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumOptions, _unknown_fields_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumOptions, _extensions_), @@ -249,11 +325,14 @@ EnumOptions_descriptor_, EnumOptions::default_instance_); EnumValueOptions_descriptor_ = file->message_type(12); EnumValueOptions::default_instance_ = new EnumValueOptions(); + static const int EnumValueOptions_offsets_[1] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueOptions, uninterpreted_option_), + }; EnumValueOptions_reflection_ = new ::google::protobuf::internal::GeneratedMessageReflection( EnumValueOptions_descriptor_, EnumValueOptions::default_instance_, - EnumValueOptions::_offsets_, + EnumValueOptions_offsets_, GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueOptions, _has_bits_[0]), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueOptions, _unknown_fields_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueOptions, _extensions_), @@ -262,11 +341,14 @@ EnumValueOptions_descriptor_, EnumValueOptions::default_instance_); ServiceOptions_descriptor_ = file->message_type(13); ServiceOptions::default_instance_ = new ServiceOptions(); + static const int ServiceOptions_offsets_[1] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceOptions, uninterpreted_option_), + }; ServiceOptions_reflection_ = new ::google::protobuf::internal::GeneratedMessageReflection( ServiceOptions_descriptor_, ServiceOptions::default_instance_, - ServiceOptions::_offsets_, + ServiceOptions_offsets_, GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceOptions, _has_bits_[0]), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceOptions, _unknown_fields_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceOptions, _extensions_), @@ -275,11 +357,14 @@ ServiceOptions_descriptor_, ServiceOptions::default_instance_); MethodOptions_descriptor_ = file->message_type(14); MethodOptions::default_instance_ = new MethodOptions(); + static const int MethodOptions_offsets_[1] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodOptions, uninterpreted_option_), + }; MethodOptions_reflection_ = new ::google::protobuf::internal::GeneratedMessageReflection( MethodOptions_descriptor_, MethodOptions::default_instance_, - MethodOptions::_offsets_, + MethodOptions_offsets_, GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodOptions, _has_bits_[0]), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodOptions, _unknown_fields_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodOptions, _extensions_), @@ -288,22 +373,34 @@ MethodOptions_descriptor_, MethodOptions::default_instance_); UninterpretedOption_descriptor_ = file->message_type(15); UninterpretedOption::default_instance_ = new UninterpretedOption(); + static const int UninterpretedOption_offsets_[6] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, name_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, identifier_value_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, positive_int_value_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, negative_int_value_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, double_value_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, string_value_), + }; UninterpretedOption_reflection_ = new ::google::protobuf::internal::GeneratedMessageReflection( UninterpretedOption_descriptor_, UninterpretedOption::default_instance_, - UninterpretedOption::_offsets_, + UninterpretedOption_offsets_, GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, _has_bits_[0]), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, _unknown_fields_), -1, ::google::protobuf::DescriptorPool::generated_pool()); UninterpretedOption_NamePart_descriptor_ = UninterpretedOption_descriptor_->nested_type(0); UninterpretedOption_NamePart::default_instance_ = new UninterpretedOption_NamePart(); + static const int UninterpretedOption_NamePart_offsets_[2] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption_NamePart, name_part_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption_NamePart, is_extension_), + }; UninterpretedOption_NamePart_reflection_ = new ::google::protobuf::internal::GeneratedMessageReflection( UninterpretedOption_NamePart_descriptor_, UninterpretedOption_NamePart::default_instance_, - UninterpretedOption_NamePart::_offsets_, + UninterpretedOption_NamePart_offsets_, GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption_NamePart, _has_bits_[0]), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption_NamePart, _unknown_fields_), -1, @@ -442,10 +539,6 @@ // =================================================================== -const int FileDescriptorSet::_offsets_[1] = { - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorSet, file_), -}; - FileDescriptorSet::FileDescriptorSet() : ::google::protobuf::Message(), _cached_size_(0) { @@ -617,17 +710,6 @@ -const int FileDescriptorProto::_offsets_[8] = { - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, name_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, package_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, dependency_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, message_type_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, enum_type_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, service_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, extension_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, options_), -}; - FileDescriptorProto::FileDescriptorProto() : ::google::protobuf::Message(), _cached_size_(0), @@ -1032,11 +1114,6 @@ -const int DescriptorProto_ExtensionRange::_offsets_[2] = { - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto_ExtensionRange, start_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto_ExtensionRange, end_), -}; - DescriptorProto_ExtensionRange::DescriptorProto_ExtensionRange() : ::google::protobuf::Message(), _cached_size_(0), @@ -1244,16 +1321,6 @@ -const int DescriptorProto::_offsets_[7] = { - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, name_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, field_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, extension_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, nested_type_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, enum_type_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, extension_range_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, options_), -}; - DescriptorProto::DescriptorProto() : ::google::protobuf::Message(), _cached_size_(0), @@ -1703,17 +1770,6 @@ const ::std::string FieldDescriptorProto::_default_extendee_; const ::std::string FieldDescriptorProto::_default_default_value_; -const int FieldDescriptorProto::_offsets_[8] = { - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, name_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, number_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, label_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, type_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, type_name_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, extendee_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, default_value_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, options_), -}; - FieldDescriptorProto::FieldDescriptorProto() : ::google::protobuf::Message(), _cached_size_(0), @@ -2137,12 +2193,6 @@ const ::std::string EnumDescriptorProto::_default_name_; -const int EnumDescriptorProto::_offsets_[3] = { - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumDescriptorProto, name_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumDescriptorProto, value_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumDescriptorProto, options_), -}; - EnumDescriptorProto::EnumDescriptorProto() : ::google::protobuf::Message(), _cached_size_(0), @@ -2388,12 +2438,6 @@ const ::std::string EnumValueDescriptorProto::_default_name_; -const int EnumValueDescriptorProto::_offsets_[3] = { - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueDescriptorProto, name_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueDescriptorProto, number_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueDescriptorProto, options_), -}; - EnumValueDescriptorProto::EnumValueDescriptorProto() : ::google::protobuf::Message(), _cached_size_(0), @@ -2639,12 +2683,6 @@ const ::std::string ServiceDescriptorProto::_default_name_; -const int ServiceDescriptorProto::_offsets_[3] = { - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceDescriptorProto, name_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceDescriptorProto, method_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceDescriptorProto, options_), -}; - ServiceDescriptorProto::ServiceDescriptorProto() : ::google::protobuf::Message(), _cached_size_(0), @@ -2891,13 +2929,6 @@ const ::std::string MethodDescriptorProto::_default_input_type_; const ::std::string MethodDescriptorProto::_default_output_type_; -const int MethodDescriptorProto::_offsets_[4] = { - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, name_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, input_type_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, output_type_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, options_), -}; - MethodDescriptorProto::MethodDescriptorProto() : ::google::protobuf::Message(), _cached_size_(0), @@ -3205,14 +3236,6 @@ -const int FileOptions::_offsets_[5] = { - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, java_package_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, java_outer_classname_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, java_multiple_files_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, optimize_for_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, uninterpreted_option_), -}; - FileOptions::FileOptions() : ::google::protobuf::Message(), _extensions_(&FileOptions_descriptor_, @@ -3539,11 +3562,6 @@ -const int MessageOptions::_offsets_[2] = { - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, message_set_wire_format_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, uninterpreted_option_), -}; - MessageOptions::MessageOptions() : ::google::protobuf::Message(), _extensions_(&MessageOptions_descriptor_, @@ -3784,12 +3802,6 @@ const ::std::string FieldOptions::_default_experimental_map_key_; -const int FieldOptions::_offsets_[3] = { - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, ctype_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, experimental_map_key_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, uninterpreted_option_), -}; - FieldOptions::FieldOptions() : ::google::protobuf::Message(), _extensions_(&FieldOptions_descriptor_, @@ -4049,10 +4061,6 @@ // =================================================================== -const int EnumOptions::_offsets_[1] = { - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumOptions, uninterpreted_option_), -}; - EnumOptions::EnumOptions() : ::google::protobuf::Message(), _extensions_(&EnumOptions_descriptor_, @@ -4236,10 +4244,6 @@ // =================================================================== -const int EnumValueOptions::_offsets_[1] = { - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueOptions, uninterpreted_option_), -}; - EnumValueOptions::EnumValueOptions() : ::google::protobuf::Message(), _extensions_(&EnumValueOptions_descriptor_, @@ -4423,10 +4427,6 @@ // =================================================================== -const int ServiceOptions::_offsets_[1] = { - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceOptions, uninterpreted_option_), -}; - ServiceOptions::ServiceOptions() : ::google::protobuf::Message(), _extensions_(&ServiceOptions_descriptor_, @@ -4610,10 +4610,6 @@ // =================================================================== -const int MethodOptions::_offsets_[1] = { - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodOptions, uninterpreted_option_), -}; - MethodOptions::MethodOptions() : ::google::protobuf::Message(), _extensions_(&MethodOptions_descriptor_, @@ -4798,11 +4794,6 @@ const ::std::string UninterpretedOption_NamePart::_default_name_part_; -const int UninterpretedOption_NamePart::_offsets_[2] = { - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption_NamePart, name_part_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption_NamePart, is_extension_), -}; - UninterpretedOption_NamePart::UninterpretedOption_NamePart() : ::google::protobuf::Message(), _cached_size_(0), @@ -5012,15 +5003,6 @@ const ::std::string UninterpretedOption::_default_string_value_; -const int UninterpretedOption::_offsets_[6] = { - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, name_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, identifier_value_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, positive_int_value_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, negative_int_value_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, double_value_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, string_value_), -}; - UninterpretedOption::UninterpretedOption() : ::google::protobuf::Message(), _cached_size_(0), Index: src/google/protobuf/compiler/cpp/cpp_message.cc =================================================================== --- src/google/protobuf/compiler/cpp/cpp_message.cc (revision 69) +++ src/google/protobuf/compiler/cpp/cpp_message.cc (revision 70) @@ -508,8 +508,6 @@ if (descriptor_->field_count() > 0) { printer->Print(vars, - "static const int _offsets_[$field_count$];\n" - "\n" "::google::protobuf::uint32 _has_bits_[($field_count$ + 31) / 32];\n"); } else { // Zero-size arrays aren't technically allowed, and MSVC in particular @@ -517,8 +515,6 @@ // other code compile. Since this is an uncommon case, we'll just declare // them with size 1 and waste some space. Oh well. printer->Print( - "static const int _offsets_[1];\n" - "\n" "::google::protobuf::uint32 _has_bits_[1];\n"); } @@ -598,13 +594,16 @@ printer->Print(vars, "$classname$::default_instance_ = new $classname$();\n"); + // Generate the offsets. + GenerateOffsets(printer); + // Construct the reflection object. printer->Print(vars, "$classname$_reflection_ =\n" " new ::google::protobuf::internal::GeneratedMessageReflection(\n" " $classname$_descriptor_,\n" " $classname$::default_instance_,\n" - " $classname$::_offsets_,\n" + " $classname$_offsets_,\n" " GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET($classname$, _has_bits_[0]),\n" " GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(" "$classname$, _unknown_fields_),\n"); @@ -672,9 +671,6 @@ extension_generators_[i]->GenerateDefinition(printer); } - GenerateOffsets(printer); - printer->Print("\n"); - GenerateStructors(printer); printer->Print("\n"); @@ -718,7 +714,7 @@ void MessageGenerator:: GenerateOffsets(io::Printer* printer) { printer->Print( - "const int $classname$::_offsets_[$field_count$] = {\n", + "static const int $classname$_offsets_[$field_count$] = {\n", "classname", classname_, "field_count", SimpleItoa(max(1, descriptor_->field_count()))); printer->Indent(); Index: src/google/protobuf/descriptor.pb.h =================================================================== --- src/google/protobuf/descriptor.pb.h (revision 69) +++ src/google/protobuf/descriptor.pb.h (revision 70) @@ -169,8 +169,6 @@ ::google::protobuf::RepeatedPtrField< ::google::protobuf::FileDescriptorProto > file_; friend void protobuf_BuildDesc_google_2fprotobuf_2fdescriptor_2eproto_AssignGlobalDescriptors( const ::google::protobuf::FileDescriptor* file); - static const int _offsets_[1]; - ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32]; // WHY DOES & HAVE LOWER PRECEDENCE THAN != !? @@ -325,8 +323,6 @@ ::google::protobuf::FileOptions* options_; friend void protobuf_BuildDesc_google_2fprotobuf_2fdescriptor_2eproto_AssignGlobalDescriptors( const ::google::protobuf::FileDescriptor* file); - static const int _offsets_[8]; - ::google::protobuf::uint32 _has_bits_[(8 + 31) / 32]; // WHY DOES & HAVE LOWER PRECEDENCE THAN != !? @@ -414,8 +410,6 @@ ::google::protobuf::int32 end_; friend void protobuf_BuildDesc_google_2fprotobuf_2fdescriptor_2eproto_AssignGlobalDescriptors( const ::google::protobuf::FileDescriptor* file); - static const int _offsets_[2]; - ::google::protobuf::uint32 _has_bits_[(2 + 31) / 32]; // WHY DOES & HAVE LOWER PRECEDENCE THAN != !? @@ -558,8 +552,6 @@ ::google::protobuf::MessageOptions* options_; friend void protobuf_BuildDesc_google_2fprotobuf_2fdescriptor_2eproto_AssignGlobalDescriptors( const ::google::protobuf::FileDescriptor* file); - static const int _offsets_[7]; - ::google::protobuf::uint32 _has_bits_[(7 + 31) / 32]; // WHY DOES & HAVE LOWER PRECEDENCE THAN != !? @@ -748,8 +740,6 @@ ::google::protobuf::FieldOptions* options_; friend void protobuf_BuildDesc_google_2fprotobuf_2fdescriptor_2eproto_AssignGlobalDescriptors( const ::google::protobuf::FileDescriptor* file); - static const int _offsets_[8]; - ::google::protobuf::uint32 _has_bits_[(8 + 31) / 32]; // WHY DOES & HAVE LOWER PRECEDENCE THAN != !? @@ -850,8 +840,6 @@ ::google::protobuf::EnumOptions* options_; friend void protobuf_BuildDesc_google_2fprotobuf_2fdescriptor_2eproto_AssignGlobalDescriptors( const ::google::protobuf::FileDescriptor* file); - static const int _offsets_[3]; - ::google::protobuf::uint32 _has_bits_[(3 + 31) / 32]; // WHY DOES & HAVE LOWER PRECEDENCE THAN != !? @@ -949,8 +937,6 @@ ::google::protobuf::EnumValueOptions* options_; friend void protobuf_BuildDesc_google_2fprotobuf_2fdescriptor_2eproto_AssignGlobalDescriptors( const ::google::protobuf::FileDescriptor* file); - static const int _offsets_[3]; - ::google::protobuf::uint32 _has_bits_[(3 + 31) / 32]; // WHY DOES & HAVE LOWER PRECEDENCE THAN != !? @@ -1051,8 +1037,6 @@ ::google::protobuf::ServiceOptions* options_; friend void protobuf_BuildDesc_google_2fprotobuf_2fdescriptor_2eproto_AssignGlobalDescriptors( const ::google::protobuf::FileDescriptor* file); - static const int _offsets_[3]; - ::google::protobuf::uint32 _has_bits_[(3 + 31) / 32]; // WHY DOES & HAVE LOWER PRECEDENCE THAN != !? @@ -1163,8 +1147,6 @@ ::google::protobuf::MethodOptions* options_; friend void protobuf_BuildDesc_google_2fprotobuf_2fdescriptor_2eproto_AssignGlobalDescriptors( const ::google::protobuf::FileDescriptor* file); - static const int _offsets_[4]; - ::google::protobuf::uint32 _has_bits_[(4 + 31) / 32]; // WHY DOES & HAVE LOWER PRECEDENCE THAN != !? @@ -1379,8 +1361,6 @@ ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_; friend void protobuf_BuildDesc_google_2fprotobuf_2fdescriptor_2eproto_AssignGlobalDescriptors( const ::google::protobuf::FileDescriptor* file); - static const int _offsets_[5]; - ::google::protobuf::uint32 _has_bits_[(5 + 31) / 32]; // WHY DOES & HAVE LOWER PRECEDENCE THAN != !? @@ -1553,8 +1533,6 @@ ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_; friend void protobuf_BuildDesc_google_2fprotobuf_2fdescriptor_2eproto_AssignGlobalDescriptors( const ::google::protobuf::FileDescriptor* file); - static const int _offsets_[2]; - ::google::protobuf::uint32 _has_bits_[(2 + 31) / 32]; // WHY DOES & HAVE LOWER PRECEDENCE THAN != !? @@ -1752,8 +1730,6 @@ ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_; friend void protobuf_BuildDesc_google_2fprotobuf_2fdescriptor_2eproto_AssignGlobalDescriptors( const ::google::protobuf::FileDescriptor* file); - static const int _offsets_[3]; - ::google::protobuf::uint32 _has_bits_[(3 + 31) / 32]; // WHY DOES & HAVE LOWER PRECEDENCE THAN != !? @@ -1919,8 +1895,6 @@ ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_; friend void protobuf_BuildDesc_google_2fprotobuf_2fdescriptor_2eproto_AssignGlobalDescriptors( const ::google::protobuf::FileDescriptor* file); - static const int _offsets_[1]; - ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32]; // WHY DOES & HAVE LOWER PRECEDENCE THAN != !? @@ -2086,8 +2060,6 @@ ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_; friend void protobuf_BuildDesc_google_2fprotobuf_2fdescriptor_2eproto_AssignGlobalDescriptors( const ::google::protobuf::FileDescriptor* file); - static const int _offsets_[1]; - ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32]; // WHY DOES & HAVE LOWER PRECEDENCE THAN != !? @@ -2253,8 +2225,6 @@ ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_; friend void protobuf_BuildDesc_google_2fprotobuf_2fdescriptor_2eproto_AssignGlobalDescriptors( const ::google::protobuf::FileDescriptor* file); - static const int _offsets_[1]; - ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32]; // WHY DOES & HAVE LOWER PRECEDENCE THAN != !? @@ -2420,8 +2390,6 @@ ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_; friend void protobuf_BuildDesc_google_2fprotobuf_2fdescriptor_2eproto_AssignGlobalDescriptors( const ::google::protobuf::FileDescriptor* file); - static const int _offsets_[1]; - ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32]; // WHY DOES & HAVE LOWER PRECEDENCE THAN != !? @@ -2512,8 +2480,6 @@ bool is_extension_; friend void protobuf_BuildDesc_google_2fprotobuf_2fdescriptor_2eproto_AssignGlobalDescriptors( const ::google::protobuf::FileDescriptor* file); - static const int _offsets_[2]; - ::google::protobuf::uint32 _has_bits_[(2 + 31) / 32]; // WHY DOES & HAVE LOWER PRECEDENCE THAN != !? @@ -2641,8 +2607,6 @@ static const ::std::string _default_string_value_; friend void protobuf_BuildDesc_google_2fprotobuf_2fdescriptor_2eproto_AssignGlobalDescriptors( const ::google::protobuf::FileDescriptor* file); - static const int _offsets_[6]; - ::google::protobuf::uint32 _has_bits_[(6 + 31) / 32]; // WHY DOES & HAVE LOWER PRECEDENCE THAN != !?