diff --git a/src/google/protobuf/descriptor.pb.cc b/src/google/protobuf/descriptor.pb.cc index edba5596c0..48d14d35f3 100644 --- a/src/google/protobuf/descriptor.pb.cc +++ b/src/google/protobuf/descriptor.pb.cc @@ -118,6 +118,35 @@ struct GeneratedCodeInfo_AnnotationDefaultTypeInternal { PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GeneratedCodeInfo_AnnotationDefaultTypeInternal _GeneratedCodeInfo_Annotation_default_instance_; +inline constexpr FieldOptions_FeatureSupport::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + deprecation_warning_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + edition_introduced_{static_cast< ::google::protobuf::Edition >(0)}, + edition_deprecated_{static_cast< ::google::protobuf::Edition >(0)}, + edition_removed_{static_cast< ::google::protobuf::Edition >(0)} {} + +template +PROTOBUF_CONSTEXPR FieldOptions_FeatureSupport::FieldOptions_FeatureSupport(::_pbi::ConstantInitialized) + : _impl_(::_pbi::ConstantInitialized()) {} +struct FieldOptions_FeatureSupportDefaultTypeInternal { +#if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES) + constexpr FieldOptions_FeatureSupportDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} +#else // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES) + FieldOptions_FeatureSupportDefaultTypeInternal() {} + void Init() { ::new (&_instance) FieldOptions_FeatureSupport(); }; +#endif // defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES) + ~FieldOptions_FeatureSupportDefaultTypeInternal() {} + union { + FieldOptions_FeatureSupport _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FieldOptions_FeatureSupportDefaultTypeInternal _FieldOptions_FeatureSupport_default_instance_; + inline constexpr FieldOptions_EditionDefault::Impl_::Impl_( ::_pbi::ConstantInitialized) noexcept : _cached_size_{0}, @@ -344,6 +373,8 @@ inline constexpr FeatureSetDefaults_FeatureSetEditionDefault::Impl_::Impl_( ::_pbi::ConstantInitialized) noexcept : _cached_size_{0}, features_{nullptr}, + overridable_features_{nullptr}, + fixed_features_{nullptr}, edition_{static_cast< ::google::protobuf::Edition >(0)} {} template @@ -544,6 +575,7 @@ inline constexpr FieldOptions::Impl_::Impl_( edition_defaults_{}, uninterpreted_option_{}, features_{nullptr}, + feature_support_{nullptr}, ctype_{static_cast< ::google::protobuf::FieldOptions_CType >(0)}, jstype_{static_cast< ::google::protobuf::FieldOptions_JSType >(0)}, packed_{false}, @@ -1342,6 +1374,22 @@ const ::uint32_t PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions_EditionDefault, _impl_.value_), 1, 0, + PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions_FeatureSupport, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions_FeatureSupport, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions_FeatureSupport, _impl_.edition_introduced_), + PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions_FeatureSupport, _impl_.edition_deprecated_), + PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions_FeatureSupport, _impl_.deprecation_warning_), + PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions_FeatureSupport, _impl_.edition_removed_), + 1, + 2, + 0, + 3, PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_._has_bits_), PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _internal_metadata_), PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_._extensions_), @@ -1362,19 +1410,21 @@ const ::uint32_t PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_.targets_), PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_.edition_defaults_), PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_.features_), + PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_.feature_support_), PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_.uninterpreted_option_), - 1, - 3, 2, 4, + 3, 5, 6, 7, 8, 9, + 10, ~0u, ~0u, 0, + 1, ~0u, PROTOBUF_FIELD_OFFSET(::google::protobuf::OneofOptions, _impl_._has_bits_), PROTOBUF_FIELD_OFFSET(::google::protobuf::OneofOptions, _internal_metadata_), @@ -1515,8 +1565,12 @@ const ::uint32_t ~0u, // no _split_ ~0u, // no sizeof(Split) PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault, _impl_.edition_), + PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault, _impl_.overridable_features_), + PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault, _impl_.fixed_features_), PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault, _impl_.features_), + 3, 1, + 2, 0, PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSetDefaults, _impl_._has_bits_), PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSetDefaults, _internal_metadata_), @@ -1607,21 +1661,22 @@ static const ::_pbi::MigrationSchema {251, 280, -1, sizeof(::google::protobuf::FileOptions)}, {301, 316, -1, sizeof(::google::protobuf::MessageOptions)}, {323, 333, -1, sizeof(::google::protobuf::FieldOptions_EditionDefault)}, - {335, 356, -1, sizeof(::google::protobuf::FieldOptions)}, - {369, 379, -1, sizeof(::google::protobuf::OneofOptions)}, - {381, 394, -1, sizeof(::google::protobuf::EnumOptions)}, - {399, 411, -1, sizeof(::google::protobuf::EnumValueOptions)}, - {415, 426, -1, sizeof(::google::protobuf::ServiceOptions)}, - {429, 441, -1, sizeof(::google::protobuf::MethodOptions)}, - {445, 455, -1, sizeof(::google::protobuf::UninterpretedOption_NamePart)}, - {457, 472, -1, sizeof(::google::protobuf::UninterpretedOption)}, - {479, 493, -1, sizeof(::google::protobuf::FeatureSet)}, - {499, 509, -1, sizeof(::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault)}, - {511, 522, -1, sizeof(::google::protobuf::FeatureSetDefaults)}, - {525, 538, -1, sizeof(::google::protobuf::SourceCodeInfo_Location)}, - {543, -1, -1, sizeof(::google::protobuf::SourceCodeInfo)}, - {552, 565, -1, sizeof(::google::protobuf::GeneratedCodeInfo_Annotation)}, - {570, -1, -1, sizeof(::google::protobuf::GeneratedCodeInfo)}, + {335, 347, -1, sizeof(::google::protobuf::FieldOptions_FeatureSupport)}, + {351, 373, -1, sizeof(::google::protobuf::FieldOptions)}, + {387, 397, -1, sizeof(::google::protobuf::OneofOptions)}, + {399, 412, -1, sizeof(::google::protobuf::EnumOptions)}, + {417, 429, -1, sizeof(::google::protobuf::EnumValueOptions)}, + {433, 444, -1, sizeof(::google::protobuf::ServiceOptions)}, + {447, 459, -1, sizeof(::google::protobuf::MethodOptions)}, + {463, 473, -1, sizeof(::google::protobuf::UninterpretedOption_NamePart)}, + {475, 490, -1, sizeof(::google::protobuf::UninterpretedOption)}, + {497, 511, -1, sizeof(::google::protobuf::FeatureSet)}, + {517, 529, -1, sizeof(::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault)}, + {533, 544, -1, sizeof(::google::protobuf::FeatureSetDefaults)}, + {547, 560, -1, sizeof(::google::protobuf::SourceCodeInfo_Location)}, + {565, -1, -1, sizeof(::google::protobuf::SourceCodeInfo)}, + {574, 587, -1, sizeof(::google::protobuf::GeneratedCodeInfo_Annotation)}, + {592, -1, -1, sizeof(::google::protobuf::GeneratedCodeInfo)}, }; static const ::_pb::Message* const file_default_instances[] = { &::google::protobuf::_FileDescriptorSet_default_instance_._instance, @@ -1641,6 +1696,7 @@ static const ::_pb::Message* const file_default_instances[] = { &::google::protobuf::_FileOptions_default_instance_._instance, &::google::protobuf::_MessageOptions_default_instance_._instance, &::google::protobuf::_FieldOptions_EditionDefault_default_instance_._instance, + &::google::protobuf::_FieldOptions_FeatureSupport_default_instance_._instance, &::google::protobuf::_FieldOptions_default_instance_._instance, &::google::protobuf::_OneofOptions_default_instance_._instance, &::google::protobuf::_EnumOptions_default_instance_._instance, @@ -1773,7 +1829,7 @@ const char descriptor_table_protodef_google_2fprotobuf_2fdescriptor_2eproto[] AB "obuf.FeatureSet\022C\n\024uninterpreted_option\030" "\347\007 \003(\0132$.google.protobuf.UninterpretedOp" "tion*\t\010\350\007\020\200\200\200\200\002J\004\010\004\020\005J\004\010\005\020\006J\004\010\006\020\007J\004\010\010\020\tJ" - "\004\010\t\020\n\"\215\t\n\014FieldOptions\022:\n\005ctype\030\001 \001(\0162#." + "\004\010\t\020\n\"\243\013\n\014FieldOptions\022:\n\005ctype\030\001 \001(\0162#." "google.protobuf.FieldOptions.CType:\006STRI" "NG\022\016\n\006packed\030\002 \001(\010\022\?\n\006jstype\030\006 \001(\0162$.goo" "gle.protobuf.FieldOptions.JSType:\tJS_NOR" @@ -1786,131 +1842,141 @@ const char descriptor_table_protodef_google_2fprotobuf_2fdescriptor_2eproto[] AB "Options.OptionTargetType\022F\n\020edition_defa" "ults\030\024 \003(\0132,.google.protobuf.FieldOption" "s.EditionDefault\022-\n\010features\030\025 \001(\0132\033.goo" - "gle.protobuf.FeatureSet\022C\n\024uninterpreted" - "_option\030\347\007 \003(\0132$.google.protobuf.Uninter" - "pretedOption\032J\n\016EditionDefault\022)\n\007editio" - "n\030\003 \001(\0162\030.google.protobuf.Edition\022\r\n\005val" - "ue\030\002 \001(\t\"/\n\005CType\022\n\n\006STRING\020\000\022\010\n\004CORD\020\001\022" - "\020\n\014STRING_PIECE\020\002\"5\n\006JSType\022\r\n\tJS_NORMAL" - "\020\000\022\r\n\tJS_STRING\020\001\022\r\n\tJS_NUMBER\020\002\"U\n\017Opti" - "onRetention\022\025\n\021RETENTION_UNKNOWN\020\000\022\025\n\021RE" - "TENTION_RUNTIME\020\001\022\024\n\020RETENTION_SOURCE\020\002\"" - "\214\002\n\020OptionTargetType\022\027\n\023TARGET_TYPE_UNKN" - "OWN\020\000\022\024\n\020TARGET_TYPE_FILE\020\001\022\037\n\033TARGET_TY" - "PE_EXTENSION_RANGE\020\002\022\027\n\023TARGET_TYPE_MESS" - "AGE\020\003\022\025\n\021TARGET_TYPE_FIELD\020\004\022\025\n\021TARGET_T" - "YPE_ONEOF\020\005\022\024\n\020TARGET_TYPE_ENUM\020\006\022\032\n\026TAR" - "GET_TYPE_ENUM_ENTRY\020\007\022\027\n\023TARGET_TYPE_SER" - "VICE\020\010\022\026\n\022TARGET_TYPE_METHOD\020\t*\t\010\350\007\020\200\200\200\200" - "\002J\004\010\004\020\005J\004\010\022\020\023\"\215\001\n\014OneofOptions\022-\n\010featur" - "es\030\001 \001(\0132\033.google.protobuf.FeatureSet\022C\n" - "\024uninterpreted_option\030\347\007 \003(\0132$.google.pr" - "otobuf.UninterpretedOption*\t\010\350\007\020\200\200\200\200\002\"\366\001" - "\n\013EnumOptions\022\023\n\013allow_alias\030\002 \001(\010\022\031\n\nde" - "precated\030\003 \001(\010:\005false\0222\n&deprecated_lega" - "cy_json_field_conflicts\030\006 \001(\010B\002\030\001\022-\n\010fea" - "tures\030\007 \001(\0132\033.google.protobuf.FeatureSet" - "\022C\n\024uninterpreted_option\030\347\007 \003(\0132$.google" - ".protobuf.UninterpretedOption*\t\010\350\007\020\200\200\200\200\002" - "J\004\010\005\020\006\"\311\001\n\020EnumValueOptions\022\031\n\ndeprecate" - "d\030\001 \001(\010:\005false\022-\n\010features\030\002 \001(\0132\033.googl" - "e.protobuf.FeatureSet\022\033\n\014debug_redact\030\003 " - "\001(\010:\005false\022C\n\024uninterpreted_option\030\347\007 \003(" - "\0132$.google.protobuf.UninterpretedOption*" - "\t\010\350\007\020\200\200\200\200\002\"\252\001\n\016ServiceOptions\022-\n\010feature" - "s\030\" \001(\0132\033.google.protobuf.FeatureSet\022\031\n\n" - "deprecated\030! \001(\010:\005false\022C\n\024uninterpreted" - "_option\030\347\007 \003(\0132$.google.protobuf.Uninter" - "pretedOption*\t\010\350\007\020\200\200\200\200\002\"\334\002\n\rMethodOption" - "s\022\031\n\ndeprecated\030! \001(\010:\005false\022_\n\021idempote" - "ncy_level\030\" \001(\0162/.google.protobuf.Method" - "Options.IdempotencyLevel:\023IDEMPOTENCY_UN" - "KNOWN\022-\n\010features\030# \001(\0132\033.google.protobu" - "f.FeatureSet\022C\n\024uninterpreted_option\030\347\007 " - "\003(\0132$.google.protobuf.UninterpretedOptio" - "n\"P\n\020IdempotencyLevel\022\027\n\023IDEMPOTENCY_UNK" - "NOWN\020\000\022\023\n\017NO_SIDE_EFFECTS\020\001\022\016\n\nIDEMPOTEN" - "T\020\002*\t\010\350\007\020\200\200\200\200\002\"\236\002\n\023UninterpretedOption\022;" - "\n\004name\030\002 \003(\0132-.google.protobuf.Uninterpr" - "etedOption.NamePart\022\030\n\020identifier_value\030" - "\003 \001(\t\022\032\n\022positive_int_value\030\004 \001(\004\022\032\n\022neg" - "ative_int_value\030\005 \001(\003\022\024\n\014double_value\030\006 " - "\001(\001\022\024\n\014string_value\030\007 \001(\014\022\027\n\017aggregate_v" - "alue\030\010 \001(\t\0323\n\010NamePart\022\021\n\tname_part\030\001 \002(" - "\t\022\024\n\014is_extension\030\002 \002(\010\"\265\t\n\nFeatureSet\022|" - "\n\016field_presence\030\001 \001(\0162).google.protobuf" - ".FeatureSet.FieldPresenceB9\210\001\001\230\001\004\230\001\001\242\001\r\022" - "\010EXPLICIT\030\346\007\242\001\r\022\010IMPLICIT\030\347\007\242\001\r\022\010EXPLICI" - "T\030\350\007\022\\\n\tenum_type\030\002 \001(\0162$.google.protobu" - "f.FeatureSet.EnumTypeB#\210\001\001\230\001\006\230\001\001\242\001\013\022\006CLO" - "SED\030\346\007\242\001\t\022\004OPEN\030\347\007\022{\n\027repeated_field_enc" - "oding\030\003 \001(\01621.google.protobuf.FeatureSet" - ".RepeatedFieldEncodingB\'\210\001\001\230\001\004\230\001\001\242\001\r\022\010EX" - "PANDED\030\346\007\242\001\013\022\006PACKED\030\347\007\022h\n\017utf8_validati" - "on\030\004 \001(\0162*.google.protobuf.FeatureSet.Ut" - "f8ValidationB#\210\001\001\230\001\004\230\001\001\242\001\t\022\004NONE\030\346\007\242\001\013\022\006" - "VERIFY\030\347\007\022g\n\020message_encoding\030\005 \001(\0162+.go" - "ogle.protobuf.FeatureSet.MessageEncoding" - "B \210\001\001\230\001\004\230\001\001\242\001\024\022\017LENGTH_PREFIXED\030\346\007\022p\n\013js" - "on_format\030\006 \001(\0162&.google.protobuf.Featur" - "eSet.JsonFormatB3\210\001\001\230\001\003\230\001\006\230\001\001\242\001\027\022\022LEGACY" - "_BEST_EFFORT\030\346\007\242\001\n\022\005ALLOW\030\347\007\"\\\n\rFieldPre" - "sence\022\032\n\026FIELD_PRESENCE_UNKNOWN\020\000\022\014\n\010EXP" - "LICIT\020\001\022\014\n\010IMPLICIT\020\002\022\023\n\017LEGACY_REQUIRED" - "\020\003\"7\n\010EnumType\022\025\n\021ENUM_TYPE_UNKNOWN\020\000\022\010\n" - "\004OPEN\020\001\022\n\n\006CLOSED\020\002\"V\n\025RepeatedFieldEnco" - "ding\022#\n\037REPEATED_FIELD_ENCODING_UNKNOWN\020" - "\000\022\n\n\006PACKED\020\001\022\014\n\010EXPANDED\020\002\"C\n\016Utf8Valid" - "ation\022\033\n\027UTF8_VALIDATION_UNKNOWN\020\000\022\n\n\006VE" - "RIFY\020\002\022\010\n\004NONE\020\003\"S\n\017MessageEncoding\022\034\n\030M" - "ESSAGE_ENCODING_UNKNOWN\020\000\022\023\n\017LENGTH_PREF" - "IXED\020\001\022\r\n\tDELIMITED\020\002\"H\n\nJsonFormat\022\027\n\023J" - "SON_FORMAT_UNKNOWN\020\000\022\t\n\005ALLOW\020\001\022\026\n\022LEGAC" - "Y_BEST_EFFORT\020\002*\006\010\350\007\020\351\007*\006\010\351\007\020\352\007*\006\010\352\007\020\353\007*" - "\006\010\206N\020\207N*\006\010\213N\020\220N*\006\010\220N\020\221NJ\006\010\347\007\020\350\007\"\300\002\n\022Feat" - "ureSetDefaults\022N\n\010defaults\030\001 \003(\0132<.googl" - "e.protobuf.FeatureSetDefaults.FeatureSet" - "EditionDefault\0221\n\017minimum_edition\030\004 \001(\0162" - "\030.google.protobuf.Edition\0221\n\017maximum_edi" - "tion\030\005 \001(\0162\030.google.protobuf.Edition\032t\n\030" - "FeatureSetEditionDefault\022)\n\007edition\030\003 \001(" - "\0162\030.google.protobuf.Edition\022-\n\010features\030" - "\002 \001(\0132\033.google.protobuf.FeatureSet\"\325\001\n\016S" - "ourceCodeInfo\022:\n\010location\030\001 \003(\0132(.google" - ".protobuf.SourceCodeInfo.Location\032\206\001\n\010Lo" - "cation\022\020\n\004path\030\001 \003(\005B\002\020\001\022\020\n\004span\030\002 \003(\005B\002" - "\020\001\022\030\n\020leading_comments\030\003 \001(\t\022\031\n\021trailing" - "_comments\030\004 \001(\t\022!\n\031leading_detached_comm" - "ents\030\006 \003(\t\"\234\002\n\021GeneratedCodeInfo\022A\n\nanno" - "tation\030\001 \003(\0132-.google.protobuf.Generated" - "CodeInfo.Annotation\032\303\001\n\nAnnotation\022\020\n\004pa" - "th\030\001 \003(\005B\002\020\001\022\023\n\013source_file\030\002 \001(\t\022\r\n\005beg" - "in\030\003 \001(\005\022\013\n\003end\030\004 \001(\005\022H\n\010semantic\030\005 \001(\0162" - "6.google.protobuf.GeneratedCodeInfo.Anno" - "tation.Semantic\"(\n\010Semantic\022\010\n\004NONE\020\000\022\007\n" - "\003SET\020\001\022\t\n\005ALIAS\020\002*\222\002\n\007Edition\022\023\n\017EDITION" - "_UNKNOWN\020\000\022\023\n\016EDITION_PROTO2\020\346\007\022\023\n\016EDITI" - "ON_PROTO3\020\347\007\022\021\n\014EDITION_2023\020\350\007\022\021\n\014EDITI" - "ON_2024\020\351\007\022\027\n\023EDITION_1_TEST_ONLY\020\001\022\027\n\023E" - "DITION_2_TEST_ONLY\020\002\022\035\n\027EDITION_99997_TE" - "ST_ONLY\020\235\215\006\022\035\n\027EDITION_99998_TEST_ONLY\020\236" - "\215\006\022\035\n\027EDITION_99999_TEST_ONLY\020\237\215\006\022\023\n\013EDI" - "TION_MAX\020\377\377\377\377\007B~\n\023com.google.protobufB\020D" - "escriptorProtosH\001Z-google.golang.org/pro" - "tobuf/types/descriptorpb\370\001\001\242\002\003GPB\252\002\032Goog" - "le.Protobuf.Reflection" + "gle.protobuf.FeatureSet\022E\n\017feature_suppo" + "rt\030\026 \001(\0132,.google.protobuf.FieldOptions." + "FeatureSupport\022C\n\024uninterpreted_option\030\347" + "\007 \003(\0132$.google.protobuf.UninterpretedOpt" + "ion\032J\n\016EditionDefault\022)\n\007edition\030\003 \001(\0162\030" + ".google.protobuf.Edition\022\r\n\005value\030\002 \001(\t\032" + "\314\001\n\016FeatureSupport\0224\n\022edition_introduced" + "\030\001 \001(\0162\030.google.protobuf.Edition\0224\n\022edit" + "ion_deprecated\030\002 \001(\0162\030.google.protobuf.E" + "dition\022\033\n\023deprecation_warning\030\003 \001(\t\0221\n\017e" + "dition_removed\030\004 \001(\0162\030.google.protobuf.E" + "dition\"/\n\005CType\022\n\n\006STRING\020\000\022\010\n\004CORD\020\001\022\020\n" + "\014STRING_PIECE\020\002\"5\n\006JSType\022\r\n\tJS_NORMAL\020\000" + "\022\r\n\tJS_STRING\020\001\022\r\n\tJS_NUMBER\020\002\"U\n\017Option" + "Retention\022\025\n\021RETENTION_UNKNOWN\020\000\022\025\n\021RETE" + "NTION_RUNTIME\020\001\022\024\n\020RETENTION_SOURCE\020\002\"\214\002" + "\n\020OptionTargetType\022\027\n\023TARGET_TYPE_UNKNOW" + "N\020\000\022\024\n\020TARGET_TYPE_FILE\020\001\022\037\n\033TARGET_TYPE" + "_EXTENSION_RANGE\020\002\022\027\n\023TARGET_TYPE_MESSAG" + "E\020\003\022\025\n\021TARGET_TYPE_FIELD\020\004\022\025\n\021TARGET_TYP" + "E_ONEOF\020\005\022\024\n\020TARGET_TYPE_ENUM\020\006\022\032\n\026TARGE" + "T_TYPE_ENUM_ENTRY\020\007\022\027\n\023TARGET_TYPE_SERVI" + "CE\020\010\022\026\n\022TARGET_TYPE_METHOD\020\t*\t\010\350\007\020\200\200\200\200\002J" + "\004\010\004\020\005J\004\010\022\020\023\"\215\001\n\014OneofOptions\022-\n\010features" + "\030\001 \001(\0132\033.google.protobuf.FeatureSet\022C\n\024u" + "ninterpreted_option\030\347\007 \003(\0132$.google.prot" + "obuf.UninterpretedOption*\t\010\350\007\020\200\200\200\200\002\"\366\001\n\013" + "EnumOptions\022\023\n\013allow_alias\030\002 \001(\010\022\031\n\ndepr" + "ecated\030\003 \001(\010:\005false\0222\n&deprecated_legacy" + "_json_field_conflicts\030\006 \001(\010B\002\030\001\022-\n\010featu" + "res\030\007 \001(\0132\033.google.protobuf.FeatureSet\022C" + "\n\024uninterpreted_option\030\347\007 \003(\0132$.google.p" + "rotobuf.UninterpretedOption*\t\010\350\007\020\200\200\200\200\002J\004" + "\010\005\020\006\"\311\001\n\020EnumValueOptions\022\031\n\ndeprecated\030" + "\001 \001(\010:\005false\022-\n\010features\030\002 \001(\0132\033.google." + "protobuf.FeatureSet\022\033\n\014debug_redact\030\003 \001(" + "\010:\005false\022C\n\024uninterpreted_option\030\347\007 \003(\0132" + "$.google.protobuf.UninterpretedOption*\t\010" + "\350\007\020\200\200\200\200\002\"\252\001\n\016ServiceOptions\022-\n\010features\030" + "\" \001(\0132\033.google.protobuf.FeatureSet\022\031\n\nde" + "precated\030! \001(\010:\005false\022C\n\024uninterpreted_o" + "ption\030\347\007 \003(\0132$.google.protobuf.Uninterpr" + "etedOption*\t\010\350\007\020\200\200\200\200\002\"\334\002\n\rMethodOptions\022" + "\031\n\ndeprecated\030! \001(\010:\005false\022_\n\021idempotenc" + "y_level\030\" \001(\0162/.google.protobuf.MethodOp" + "tions.IdempotencyLevel:\023IDEMPOTENCY_UNKN" + "OWN\022-\n\010features\030# \001(\0132\033.google.protobuf." + "FeatureSet\022C\n\024uninterpreted_option\030\347\007 \003(" + "\0132$.google.protobuf.UninterpretedOption\"" + "P\n\020IdempotencyLevel\022\027\n\023IDEMPOTENCY_UNKNO" + "WN\020\000\022\023\n\017NO_SIDE_EFFECTS\020\001\022\016\n\nIDEMPOTENT\020" + "\002*\t\010\350\007\020\200\200\200\200\002\"\236\002\n\023UninterpretedOption\022;\n\004" + "name\030\002 \003(\0132-.google.protobuf.Uninterpret" + "edOption.NamePart\022\030\n\020identifier_value\030\003 " + "\001(\t\022\032\n\022positive_int_value\030\004 \001(\004\022\032\n\022negat" + "ive_int_value\030\005 \001(\003\022\024\n\014double_value\030\006 \001(" + "\001\022\024\n\014string_value\030\007 \001(\014\022\027\n\017aggregate_val" + "ue\030\010 \001(\t\0323\n\010NamePart\022\021\n\tname_part\030\001 \002(\t\022" + "\024\n\014is_extension\030\002 \002(\010\"\265\t\n\nFeatureSet\022|\n\016" + "field_presence\030\001 \001(\0162).google.protobuf.F" + "eatureSet.FieldPresenceB9\210\001\001\230\001\004\230\001\001\242\001\r\022\010E" + "XPLICIT\030\346\007\242\001\r\022\010IMPLICIT\030\347\007\242\001\r\022\010EXPLICIT\030" + "\350\007\022\\\n\tenum_type\030\002 \001(\0162$.google.protobuf." + "FeatureSet.EnumTypeB#\210\001\001\230\001\006\230\001\001\242\001\013\022\006CLOSE" + "D\030\346\007\242\001\t\022\004OPEN\030\347\007\022{\n\027repeated_field_encod" + "ing\030\003 \001(\01621.google.protobuf.FeatureSet.R" + "epeatedFieldEncodingB\'\210\001\001\230\001\004\230\001\001\242\001\r\022\010EXPA" + "NDED\030\346\007\242\001\013\022\006PACKED\030\347\007\022h\n\017utf8_validation" + "\030\004 \001(\0162*.google.protobuf.FeatureSet.Utf8" + "ValidationB#\210\001\001\230\001\004\230\001\001\242\001\t\022\004NONE\030\346\007\242\001\013\022\006VE" + "RIFY\030\347\007\022g\n\020message_encoding\030\005 \001(\0162+.goog" + "le.protobuf.FeatureSet.MessageEncodingB " + "\210\001\001\230\001\004\230\001\001\242\001\024\022\017LENGTH_PREFIXED\030\346\007\022p\n\013json" + "_format\030\006 \001(\0162&.google.protobuf.FeatureS" + "et.JsonFormatB3\210\001\001\230\001\003\230\001\006\230\001\001\242\001\027\022\022LEGACY_B" + "EST_EFFORT\030\346\007\242\001\n\022\005ALLOW\030\347\007\"\\\n\rFieldPrese" + "nce\022\032\n\026FIELD_PRESENCE_UNKNOWN\020\000\022\014\n\010EXPLI" + "CIT\020\001\022\014\n\010IMPLICIT\020\002\022\023\n\017LEGACY_REQUIRED\020\003" + "\"7\n\010EnumType\022\025\n\021ENUM_TYPE_UNKNOWN\020\000\022\010\n\004O" + "PEN\020\001\022\n\n\006CLOSED\020\002\"V\n\025RepeatedFieldEncodi" + "ng\022#\n\037REPEATED_FIELD_ENCODING_UNKNOWN\020\000\022" + "\n\n\006PACKED\020\001\022\014\n\010EXPANDED\020\002\"C\n\016Utf8Validat" + "ion\022\033\n\027UTF8_VALIDATION_UNKNOWN\020\000\022\n\n\006VERI" + "FY\020\002\022\010\n\004NONE\020\003\"S\n\017MessageEncoding\022\034\n\030MES" + "SAGE_ENCODING_UNKNOWN\020\000\022\023\n\017LENGTH_PREFIX" + "ED\020\001\022\r\n\tDELIMITED\020\002\"H\n\nJsonFormat\022\027\n\023JSO" + "N_FORMAT_UNKNOWN\020\000\022\t\n\005ALLOW\020\001\022\026\n\022LEGACY_" + "BEST_EFFORT\020\002*\006\010\350\007\020\351\007*\006\010\351\007\020\352\007*\006\010\352\007\020\353\007*\006\010" + "\206N\020\207N*\006\010\213N\020\220N*\006\010\220N\020\221NJ\006\010\347\007\020\350\007\"\261\003\n\022Featur" + "eSetDefaults\022N\n\010defaults\030\001 \003(\0132<.google." + "protobuf.FeatureSetDefaults.FeatureSetEd" + "itionDefault\0221\n\017minimum_edition\030\004 \001(\0162\030." + "google.protobuf.Edition\0221\n\017maximum_editi" + "on\030\005 \001(\0162\030.google.protobuf.Edition\032\344\001\n\030F" + "eatureSetEditionDefault\022)\n\007edition\030\003 \001(\016" + "2\030.google.protobuf.Edition\0229\n\024overridabl" + "e_features\030\004 \001(\0132\033.google.protobuf.Featu" + "reSet\0223\n\016fixed_features\030\005 \001(\0132\033.google.p" + "rotobuf.FeatureSet\022-\n\010features\030\002 \001(\0132\033.g" + "oogle.protobuf.FeatureSet\"\325\001\n\016SourceCode" + "Info\022:\n\010location\030\001 \003(\0132(.google.protobuf" + ".SourceCodeInfo.Location\032\206\001\n\010Location\022\020\n" + "\004path\030\001 \003(\005B\002\020\001\022\020\n\004span\030\002 \003(\005B\002\020\001\022\030\n\020lea" + "ding_comments\030\003 \001(\t\022\031\n\021trailing_comments" + "\030\004 \001(\t\022!\n\031leading_detached_comments\030\006 \003(" + "\t\"\234\002\n\021GeneratedCodeInfo\022A\n\nannotation\030\001 " + "\003(\0132-.google.protobuf.GeneratedCodeInfo." + "Annotation\032\303\001\n\nAnnotation\022\020\n\004path\030\001 \003(\005B" + "\002\020\001\022\023\n\013source_file\030\002 \001(\t\022\r\n\005begin\030\003 \001(\005\022" + "\013\n\003end\030\004 \001(\005\022H\n\010semantic\030\005 \001(\01626.google." + "protobuf.GeneratedCodeInfo.Annotation.Se" + "mantic\"(\n\010Semantic\022\010\n\004NONE\020\000\022\007\n\003SET\020\001\022\t\n" + "\005ALIAS\020\002*\222\002\n\007Edition\022\023\n\017EDITION_UNKNOWN\020" + "\000\022\023\n\016EDITION_PROTO2\020\346\007\022\023\n\016EDITION_PROTO3" + "\020\347\007\022\021\n\014EDITION_2023\020\350\007\022\021\n\014EDITION_2024\020\351" + "\007\022\027\n\023EDITION_1_TEST_ONLY\020\001\022\027\n\023EDITION_2_" + "TEST_ONLY\020\002\022\035\n\027EDITION_99997_TEST_ONLY\020\235" + "\215\006\022\035\n\027EDITION_99998_TEST_ONLY\020\236\215\006\022\035\n\027EDI" + "TION_99999_TEST_ONLY\020\237\215\006\022\023\n\013EDITION_MAX\020" + "\377\377\377\377\007B~\n\023com.google.protobufB\020Descriptor" + "ProtosH\001Z-google.golang.org/protobuf/typ" + "es/descriptorpb\370\001\001\242\002\003GPB\252\002\032Google.Protob" + "uf.Reflection" }; static ::absl::once_flag descriptor_table_google_2fprotobuf_2fdescriptor_2eproto_once; PROTOBUF_CONSTINIT const ::_pbi::DescriptorTable descriptor_table_google_2fprotobuf_2fdescriptor_2eproto = { false, false, - 9582, + 9973, descriptor_table_protodef_google_2fprotobuf_2fdescriptor_2eproto, "google/protobuf/descriptor.proto", &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto_once, nullptr, 0, - 32, + 33, schemas, file_default_instances, TableStruct_google_2fprotobuf_2fdescriptor_2eproto::offsets, @@ -1939,6 +2005,7 @@ _MethodDescriptorProto_default_instance_.Init(); _FileOptions_default_instance_.Init(); _MessageOptions_default_instance_.Init(); _FieldOptions_EditionDefault_default_instance_.Init(); +_FieldOptions_FeatureSupport_default_instance_.Init(); _FieldOptions_default_instance_.Init(); _OneofOptions_default_instance_.Init(); _EnumOptions_default_instance_.Init(); @@ -8582,6 +8649,312 @@ void FieldOptions_EditionDefault::InternalSwap(FieldOptions_EditionDefault* PROT } // =================================================================== +class FieldOptions_FeatureSupport::_Internal { + public: + using HasBits = decltype(std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(FieldOptions_FeatureSupport, _impl_._has_bits_); +}; + +FieldOptions_FeatureSupport::FieldOptions_FeatureSupport(::google::protobuf::Arena* arena) + : ::google::protobuf::Message(arena) { + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:google.protobuf.FieldOptions.FeatureSupport) +} +inline PROTOBUF_NDEBUG_INLINE FieldOptions_FeatureSupport::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, + const Impl_& from, const ::google::protobuf::FieldOptions_FeatureSupport& from_msg) + : _has_bits_{from._has_bits_}, + _cached_size_{0}, + deprecation_warning_(arena, from.deprecation_warning_) {} + +FieldOptions_FeatureSupport::FieldOptions_FeatureSupport( + ::google::protobuf::Arena* arena, + const FieldOptions_FeatureSupport& from) + : ::google::protobuf::Message(arena) { + FieldOptions_FeatureSupport* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + ::memcpy(reinterpret_cast(&_impl_) + + offsetof(Impl_, edition_introduced_), + reinterpret_cast(&from._impl_) + + offsetof(Impl_, edition_introduced_), + offsetof(Impl_, edition_removed_) - + offsetof(Impl_, edition_introduced_) + + sizeof(Impl_::edition_removed_)); + + // @@protoc_insertion_point(copy_constructor:google.protobuf.FieldOptions.FeatureSupport) +} +inline PROTOBUF_NDEBUG_INLINE FieldOptions_FeatureSupport::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : _cached_size_{0}, + deprecation_warning_(arena) {} + +inline void FieldOptions_FeatureSupport::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + ::memset(reinterpret_cast(&_impl_) + + offsetof(Impl_, edition_introduced_), + 0, + offsetof(Impl_, edition_removed_) - + offsetof(Impl_, edition_introduced_) + + sizeof(Impl_::edition_removed_)); +} +FieldOptions_FeatureSupport::~FieldOptions_FeatureSupport() { + // @@protoc_insertion_point(destructor:google.protobuf.FieldOptions.FeatureSupport) + _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + SharedDtor(); +} +inline void FieldOptions_FeatureSupport::SharedDtor() { + ABSL_DCHECK(GetArena() == nullptr); + _impl_.deprecation_warning_.Destroy(); + _impl_.~Impl_(); +} + +const ::google::protobuf::MessageLite::ClassData* +FieldOptions_FeatureSupport::GetClassData() const { + PROTOBUF_CONSTINIT static const ::google::protobuf::MessageLite:: + ClassDataFull _data_ = { + { + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + PROTOBUF_FIELD_OFFSET(FieldOptions_FeatureSupport, _impl_._cached_size_), + false, + }, + &FieldOptions_FeatureSupport::MergeImpl, + &FieldOptions_FeatureSupport::kDescriptorMethods, + &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, + nullptr, // tracker + }; + return _data_.base(); +} +constexpr ::_pbi::TcParseTable<2, 4, 3, 71, 2> FieldOptions_FeatureSupport::_table_ = { + { + PROTOBUF_FIELD_OFFSET(FieldOptions_FeatureSupport, _impl_._has_bits_), + 0, // no _extensions_ + 4, 24, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967280, // skipmap + offsetof(decltype(_table_), field_entries), + 4, // num_field_entries + 3, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + &_FieldOptions_FeatureSupport_default_instance_._instance, + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::google::protobuf::FieldOptions_FeatureSupport>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // optional .google.protobuf.Edition edition_removed = 4; + {::_pbi::TcParser::FastEvS1, + {32, 3, 2, PROTOBUF_FIELD_OFFSET(FieldOptions_FeatureSupport, _impl_.edition_removed_)}}, + // optional .google.protobuf.Edition edition_introduced = 1; + {::_pbi::TcParser::FastEvS1, + {8, 1, 0, PROTOBUF_FIELD_OFFSET(FieldOptions_FeatureSupport, _impl_.edition_introduced_)}}, + // optional .google.protobuf.Edition edition_deprecated = 2; + {::_pbi::TcParser::FastEvS1, + {16, 2, 1, PROTOBUF_FIELD_OFFSET(FieldOptions_FeatureSupport, _impl_.edition_deprecated_)}}, + // optional string deprecation_warning = 3; + {::_pbi::TcParser::FastSS1, + {26, 0, 0, PROTOBUF_FIELD_OFFSET(FieldOptions_FeatureSupport, _impl_.deprecation_warning_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // optional .google.protobuf.Edition edition_introduced = 1; + {PROTOBUF_FIELD_OFFSET(FieldOptions_FeatureSupport, _impl_.edition_introduced_), _Internal::kHasBitsOffset + 1, 0, + (0 | ::_fl::kFcOptional | ::_fl::kEnum)}, + // optional .google.protobuf.Edition edition_deprecated = 2; + {PROTOBUF_FIELD_OFFSET(FieldOptions_FeatureSupport, _impl_.edition_deprecated_), _Internal::kHasBitsOffset + 2, 1, + (0 | ::_fl::kFcOptional | ::_fl::kEnum)}, + // optional string deprecation_warning = 3; + {PROTOBUF_FIELD_OFFSET(FieldOptions_FeatureSupport, _impl_.deprecation_warning_), _Internal::kHasBitsOffset + 0, 0, + (0 | ::_fl::kFcOptional | ::_fl::kRawString | ::_fl::kRepAString)}, + // optional .google.protobuf.Edition edition_removed = 4; + {PROTOBUF_FIELD_OFFSET(FieldOptions_FeatureSupport, _impl_.edition_removed_), _Internal::kHasBitsOffset + 3, 2, + (0 | ::_fl::kFcOptional | ::_fl::kEnum)}, + }}, {{ + {::_pbi::FieldAuxEnumData{}, ::google::protobuf::Edition_internal_data_}, + {::_pbi::FieldAuxEnumData{}, ::google::protobuf::Edition_internal_data_}, + {::_pbi::FieldAuxEnumData{}, ::google::protobuf::Edition_internal_data_}, + }}, {{ + "\53\0\0\23\0\0\0\0" + "google.protobuf.FieldOptions.FeatureSupport" + "deprecation_warning" + }}, +}; + +PROTOBUF_NOINLINE void FieldOptions_FeatureSupport::Clear() { +// @@protoc_insertion_point(message_clear_start:google.protobuf.FieldOptions.FeatureSupport) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + cached_has_bits = _impl_._has_bits_[0]; + if (cached_has_bits & 0x00000001u) { + _impl_.deprecation_warning_.ClearNonDefaultToEmpty(); + } + if (cached_has_bits & 0x0000000eu) { + ::memset(&_impl_.edition_introduced_, 0, static_cast<::size_t>( + reinterpret_cast(&_impl_.edition_removed_) - + reinterpret_cast(&_impl_.edition_introduced_)) + sizeof(_impl_.edition_removed_)); + } + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +const char* FieldOptions_FeatureSupport::_InternalParse(const char* ptr, + ::_pbi::ParseContext* ctx) { + return ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header); +} + +::uint8_t* FieldOptions_FeatureSupport::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.FieldOptions.FeatureSupport) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + cached_has_bits = _impl_._has_bits_[0]; + // optional .google.protobuf.Edition edition_introduced = 1; + if (cached_has_bits & 0x00000002u) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteEnumToArray( + 1, this->_internal_edition_introduced(), target); + } + + // optional .google.protobuf.Edition edition_deprecated = 2; + if (cached_has_bits & 0x00000004u) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteEnumToArray( + 2, this->_internal_edition_deprecated(), target); + } + + // optional string deprecation_warning = 3; + if (cached_has_bits & 0x00000001u) { + const std::string& _s = this->_internal_deprecation_warning(); + ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(_s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormat::SERIALIZE, + "google.protobuf.FieldOptions.FeatureSupport.deprecation_warning"); + target = stream->WriteStringMaybeAliased(3, _s, target); + } + + // optional .google.protobuf.Edition edition_removed = 4; + if (cached_has_bits & 0x00000008u) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteEnumToArray( + 4, this->_internal_edition_removed(), target); + } + + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.FieldOptions.FeatureSupport) + return target; +} + +::size_t FieldOptions_FeatureSupport::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:google.protobuf.FieldOptions.FeatureSupport) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(reinterpret_cast(this)); + cached_has_bits = _impl_._has_bits_[0]; + if (cached_has_bits & 0x0000000fu) { + // optional string deprecation_warning = 3; + if (cached_has_bits & 0x00000001u) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this->_internal_deprecation_warning()); + } + + // optional .google.protobuf.Edition edition_introduced = 1; + if (cached_has_bits & 0x00000002u) { + total_size += 1 + + ::_pbi::WireFormatLite::EnumSize(this->_internal_edition_introduced()); + } + + // optional .google.protobuf.Edition edition_deprecated = 2; + if (cached_has_bits & 0x00000004u) { + total_size += 1 + + ::_pbi::WireFormatLite::EnumSize(this->_internal_edition_deprecated()); + } + + // optional .google.protobuf.Edition edition_removed = 4; + if (cached_has_bits & 0x00000008u) { + total_size += 1 + + ::_pbi::WireFormatLite::EnumSize(this->_internal_edition_removed()); + } + + } + return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_); +} + + +void FieldOptions_FeatureSupport::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.FieldOptions.FeatureSupport) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + cached_has_bits = from._impl_._has_bits_[0]; + if (cached_has_bits & 0x0000000fu) { + if (cached_has_bits & 0x00000001u) { + _this->_internal_set_deprecation_warning(from._internal_deprecation_warning()); + } + if (cached_has_bits & 0x00000002u) { + _this->_impl_.edition_introduced_ = from._impl_.edition_introduced_; + } + if (cached_has_bits & 0x00000004u) { + _this->_impl_.edition_deprecated_ = from._impl_.edition_deprecated_; + } + if (cached_has_bits & 0x00000008u) { + _this->_impl_.edition_removed_ = from._impl_.edition_removed_; + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); +} + +void FieldOptions_FeatureSupport::CopyFrom(const FieldOptions_FeatureSupport& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.FieldOptions.FeatureSupport) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +PROTOBUF_NOINLINE bool FieldOptions_FeatureSupport::IsInitialized() const { + return true; +} + +void FieldOptions_FeatureSupport::InternalSwap(FieldOptions_FeatureSupport* PROTOBUF_RESTRICT other) { + using std::swap; + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.deprecation_warning_, &other->_impl_.deprecation_warning_, arena); + ::google::protobuf::internal::memswap< + PROTOBUF_FIELD_OFFSET(FieldOptions_FeatureSupport, _impl_.edition_removed_) + + sizeof(FieldOptions_FeatureSupport::_impl_.edition_removed_) + - PROTOBUF_FIELD_OFFSET(FieldOptions_FeatureSupport, _impl_.edition_introduced_)>( + reinterpret_cast(&_impl_.edition_introduced_), + reinterpret_cast(&other->_impl_.edition_introduced_)); +} + +::google::protobuf::Metadata FieldOptions_FeatureSupport::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + class FieldOptions::_Internal { public: using HasBits = decltype(std::declval()._impl_._has_bits_); @@ -8618,6 +8991,9 @@ FieldOptions::FieldOptions( _impl_.features_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::FeatureSet>( arena, *from._impl_.features_) : nullptr; + _impl_.feature_support_ = (cached_has_bits & 0x00000002u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::FieldOptions_FeatureSupport>( + arena, *from._impl_.feature_support_) + : nullptr; ::memcpy(reinterpret_cast(&_impl_) + offsetof(Impl_, ctype_), reinterpret_cast(&from._impl_) + @@ -8654,6 +9030,7 @@ FieldOptions::~FieldOptions() { inline void FieldOptions::SharedDtor() { ABSL_DCHECK(GetArena() == nullptr); delete _impl_.features_; + delete _impl_.feature_support_; _impl_.~Impl_(); } @@ -8674,16 +9051,16 @@ FieldOptions::GetClassData() const { }; return _data_.base(); } -constexpr ::_pbi::TcParseTable<4, 13, 7, 0, 7> FieldOptions::_table_ = { +constexpr ::_pbi::TcParseTable<4, 14, 8, 0, 7> FieldOptions::_table_ = { { PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_._has_bits_), PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_._extensions_), 999, 120, // max_field_number, fast_idx_mask offsetof(decltype(_table_), field_lookup_table), - 4293017032, // skipmap + 4290919880, // skipmap offsetof(decltype(_table_), field_entries), - 13, // num_field_entries - 7, // num_aux_entries + 14, // num_field_entries + 8, // num_aux_entries offsetof(decltype(_table_), aux_entries), &_FieldOptions_default_instance_._instance, nullptr, // post_loop_handler @@ -8694,74 +9071,74 @@ constexpr ::_pbi::TcParseTable<4, 13, 7, 0, 7> FieldOptions::_table_ = { }, {{ // optional bool debug_redact = 16 [default = false]; {::_pbi::TcParser::FastV8S2, - {384, 8, 0, PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.debug_redact_)}}, + {384, 9, 0, PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.debug_redact_)}}, // optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING]; {::_pbi::TcParser::FastEr0S1, - {8, 1, 2, PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.ctype_)}}, + {8, 2, 2, PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.ctype_)}}, // optional bool packed = 2; - {::_pbi::TcParser::SingularVarintNoZag1(), - {16, 3, 0, PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.packed_)}}, + {::_pbi::TcParser::SingularVarintNoZag1(), + {16, 4, 0, PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.packed_)}}, // optional bool deprecated = 3 [default = false]; - {::_pbi::TcParser::SingularVarintNoZag1(), - {24, 6, 0, PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.deprecated_)}}, + {::_pbi::TcParser::SingularVarintNoZag1(), + {24, 7, 0, PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.deprecated_)}}, // repeated .google.protobuf.FieldOptions.EditionDefault edition_defaults = 20; {::_pbi::TcParser::FastMtR2, {418, 63, 0, PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.edition_defaults_)}}, // optional bool lazy = 5 [default = false]; - {::_pbi::TcParser::SingularVarintNoZag1(), - {40, 4, 0, PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.lazy_)}}, + {::_pbi::TcParser::SingularVarintNoZag1(), + {40, 5, 0, PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.lazy_)}}, // optional .google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL]; {::_pbi::TcParser::FastEr0S1, - {48, 2, 2, PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.jstype_)}}, + {48, 3, 2, PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.jstype_)}}, // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999; {::_pbi::TcParser::FastMtR2, - {16058, 63, 2, PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.uninterpreted_option_)}}, + {16058, 63, 3, PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.uninterpreted_option_)}}, {::_pbi::TcParser::MiniParse, {}}, {::_pbi::TcParser::MiniParse, {}}, // optional bool weak = 10 [default = false]; - {::_pbi::TcParser::SingularVarintNoZag1(), - {80, 7, 0, PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.weak_)}}, + {::_pbi::TcParser::SingularVarintNoZag1(), + {80, 8, 0, PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.weak_)}}, {::_pbi::TcParser::MiniParse, {}}, {::_pbi::TcParser::MiniParse, {}}, {::_pbi::TcParser::MiniParse, {}}, {::_pbi::TcParser::MiniParse, {}}, // optional bool unverified_lazy = 15 [default = false]; - {::_pbi::TcParser::SingularVarintNoZag1(), - {120, 5, 0, PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.unverified_lazy_)}}, + {::_pbi::TcParser::SingularVarintNoZag1(), + {120, 6, 0, PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.unverified_lazy_)}}, }}, {{ 999, 0, 1, - 65534, 12, + 65534, 13, 65535, 65535 }}, {{ // optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING]; - {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.ctype_), _Internal::kHasBitsOffset + 1, 3, + {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.ctype_), _Internal::kHasBitsOffset + 2, 4, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)}, // optional bool packed = 2; - {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.packed_), _Internal::kHasBitsOffset + 3, 0, + {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.packed_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)}, // optional bool deprecated = 3 [default = false]; - {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.deprecated_), _Internal::kHasBitsOffset + 6, 0, + {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.deprecated_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)}, // optional bool lazy = 5 [default = false]; - {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.lazy_), _Internal::kHasBitsOffset + 4, 0, + {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.lazy_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)}, // optional .google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL]; - {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.jstype_), _Internal::kHasBitsOffset + 2, 4, + {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.jstype_), _Internal::kHasBitsOffset + 3, 5, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)}, // optional bool weak = 10 [default = false]; - {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.weak_), _Internal::kHasBitsOffset + 7, 0, + {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.weak_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)}, // optional bool unverified_lazy = 15 [default = false]; - {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.unverified_lazy_), _Internal::kHasBitsOffset + 5, 0, + {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.unverified_lazy_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)}, // optional bool debug_redact = 16 [default = false]; - {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.debug_redact_), _Internal::kHasBitsOffset + 8, 0, + {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.debug_redact_), _Internal::kHasBitsOffset + 9, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)}, // optional .google.protobuf.FieldOptions.OptionRetention retention = 17; - {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.retention_), _Internal::kHasBitsOffset + 9, 5, + {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.retention_), _Internal::kHasBitsOffset + 10, 6, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)}, // repeated .google.protobuf.FieldOptions.OptionTargetType targets = 19; - {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.targets_), -1, 6, + {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.targets_), -1, 7, (0 | ::_fl::kFcRepeated | ::_fl::kEnumRange)}, // repeated .google.protobuf.FieldOptions.EditionDefault edition_defaults = 20; {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.edition_defaults_), -1, 0, @@ -8769,12 +9146,16 @@ constexpr ::_pbi::TcParseTable<4, 13, 7, 0, 7> FieldOptions::_table_ = { // optional .google.protobuf.FeatureSet features = 21; {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.features_), _Internal::kHasBitsOffset + 0, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + // optional .google.protobuf.FieldOptions.FeatureSupport feature_support = 22; + {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.feature_support_), _Internal::kHasBitsOffset + 1, 2, + (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999; - {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.uninterpreted_option_), -1, 2, + {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.uninterpreted_option_), -1, 3, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)}, }}, {{ {::_pbi::TcParser::GetTable<::google::protobuf::FieldOptions_EditionDefault>()}, {::_pbi::TcParser::GetTable<::google::protobuf::FeatureSet>()}, + {::_pbi::TcParser::GetTable<::google::protobuf::FieldOptions_FeatureSupport>()}, {::_pbi::TcParser::GetTable<::google::protobuf::UninterpretedOption>()}, {0, 3}, {0, 3}, @@ -8796,19 +9177,25 @@ PROTOBUF_NOINLINE void FieldOptions::Clear() { _impl_.edition_defaults_.Clear(); _impl_.uninterpreted_option_.Clear(); cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x00000001u) { - ABSL_DCHECK(_impl_.features_ != nullptr); - _impl_.features_->Clear(); + if (cached_has_bits & 0x00000003u) { + if (cached_has_bits & 0x00000001u) { + ABSL_DCHECK(_impl_.features_ != nullptr); + _impl_.features_->Clear(); + } + if (cached_has_bits & 0x00000002u) { + ABSL_DCHECK(_impl_.feature_support_ != nullptr); + _impl_.feature_support_->Clear(); + } } - if (cached_has_bits & 0x000000feu) { + if (cached_has_bits & 0x000000fcu) { ::memset(&_impl_.ctype_, 0, static_cast<::size_t>( - reinterpret_cast(&_impl_.weak_) - - reinterpret_cast(&_impl_.ctype_)) + sizeof(_impl_.weak_)); + reinterpret_cast(&_impl_.deprecated_) - + reinterpret_cast(&_impl_.ctype_)) + sizeof(_impl_.deprecated_)); } - if (cached_has_bits & 0x00000300u) { - ::memset(&_impl_.debug_redact_, 0, static_cast<::size_t>( + if (cached_has_bits & 0x00000700u) { + ::memset(&_impl_.weak_, 0, static_cast<::size_t>( reinterpret_cast(&_impl_.retention_) - - reinterpret_cast(&_impl_.debug_redact_)) + sizeof(_impl_.retention_)); + reinterpret_cast(&_impl_.weak_)) + sizeof(_impl_.retention_)); } _impl_._has_bits_.Clear(); _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); @@ -8828,63 +9215,63 @@ const char* FieldOptions::_InternalParse(const char* ptr, cached_has_bits = _impl_._has_bits_[0]; // optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING]; - if (cached_has_bits & 0x00000002u) { + if (cached_has_bits & 0x00000004u) { target = stream->EnsureSpace(target); target = ::_pbi::WireFormatLite::WriteEnumToArray( 1, this->_internal_ctype(), target); } // optional bool packed = 2; - if (cached_has_bits & 0x00000008u) { + if (cached_has_bits & 0x00000010u) { target = stream->EnsureSpace(target); target = ::_pbi::WireFormatLite::WriteBoolToArray( 2, this->_internal_packed(), target); } // optional bool deprecated = 3 [default = false]; - if (cached_has_bits & 0x00000040u) { + if (cached_has_bits & 0x00000080u) { target = stream->EnsureSpace(target); target = ::_pbi::WireFormatLite::WriteBoolToArray( 3, this->_internal_deprecated(), target); } // optional bool lazy = 5 [default = false]; - if (cached_has_bits & 0x00000010u) { + if (cached_has_bits & 0x00000020u) { target = stream->EnsureSpace(target); target = ::_pbi::WireFormatLite::WriteBoolToArray( 5, this->_internal_lazy(), target); } // optional .google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL]; - if (cached_has_bits & 0x00000004u) { + if (cached_has_bits & 0x00000008u) { target = stream->EnsureSpace(target); target = ::_pbi::WireFormatLite::WriteEnumToArray( 6, this->_internal_jstype(), target); } // optional bool weak = 10 [default = false]; - if (cached_has_bits & 0x00000080u) { + if (cached_has_bits & 0x00000100u) { target = stream->EnsureSpace(target); target = ::_pbi::WireFormatLite::WriteBoolToArray( 10, this->_internal_weak(), target); } // optional bool unverified_lazy = 15 [default = false]; - if (cached_has_bits & 0x00000020u) { + if (cached_has_bits & 0x00000040u) { target = stream->EnsureSpace(target); target = ::_pbi::WireFormatLite::WriteBoolToArray( 15, this->_internal_unverified_lazy(), target); } // optional bool debug_redact = 16 [default = false]; - if (cached_has_bits & 0x00000100u) { + if (cached_has_bits & 0x00000200u) { target = stream->EnsureSpace(target); target = ::_pbi::WireFormatLite::WriteBoolToArray( 16, this->_internal_debug_redact(), target); } // optional .google.protobuf.FieldOptions.OptionRetention retention = 17; - if (cached_has_bits & 0x00000200u) { + if (cached_has_bits & 0x00000400u) { target = stream->EnsureSpace(target); target = ::_pbi::WireFormatLite::WriteEnumToArray( 17, this->_internal_retention(), target); @@ -8915,6 +9302,12 @@ const char* FieldOptions::_InternalParse(const char* ptr, 21, *_impl_.features_, _impl_.features_->GetCachedSize(), target, stream); } + // optional .google.protobuf.FieldOptions.FeatureSupport feature_support = 22; + if (cached_has_bits & 0x00000002u) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 22, *_impl_.feature_support_, _impl_.feature_support_->GetCachedSize(), target, stream); + } + // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999; for (unsigned i = 0, n = static_cast( this->_internal_uninterpreted_option_size()); @@ -8979,52 +9372,58 @@ const char* FieldOptions::_InternalParse(const char* ptr, 2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.features_); } - // optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING]; + // optional .google.protobuf.FieldOptions.FeatureSupport feature_support = 22; if (cached_has_bits & 0x00000002u) { + total_size += + 2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.feature_support_); + } + + // optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING]; + if (cached_has_bits & 0x00000004u) { total_size += 1 + ::_pbi::WireFormatLite::EnumSize(this->_internal_ctype()); } // optional .google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL]; - if (cached_has_bits & 0x00000004u) { + if (cached_has_bits & 0x00000008u) { total_size += 1 + ::_pbi::WireFormatLite::EnumSize(this->_internal_jstype()); } // optional bool packed = 2; - if (cached_has_bits & 0x00000008u) { + if (cached_has_bits & 0x00000010u) { total_size += 2; } // optional bool lazy = 5 [default = false]; - if (cached_has_bits & 0x00000010u) { + if (cached_has_bits & 0x00000020u) { total_size += 2; } // optional bool unverified_lazy = 15 [default = false]; - if (cached_has_bits & 0x00000020u) { + if (cached_has_bits & 0x00000040u) { total_size += 2; } // optional bool deprecated = 3 [default = false]; - if (cached_has_bits & 0x00000040u) { + if (cached_has_bits & 0x00000080u) { total_size += 2; } + } + if (cached_has_bits & 0x00000700u) { // optional bool weak = 10 [default = false]; - if (cached_has_bits & 0x00000080u) { + if (cached_has_bits & 0x00000100u) { total_size += 2; } - } - if (cached_has_bits & 0x00000300u) { // optional bool debug_redact = 16 [default = false]; - if (cached_has_bits & 0x00000100u) { + if (cached_has_bits & 0x00000200u) { total_size += 3; } // optional .google.protobuf.FieldOptions.OptionRetention retention = 17; - if (cached_has_bits & 0x00000200u) { + if (cached_has_bits & 0x00000400u) { total_size += 2 + ::_pbi::WireFormatLite::EnumSize(this->_internal_retention()); } @@ -9060,32 +9459,41 @@ void FieldOptions::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::go } } if (cached_has_bits & 0x00000002u) { - _this->_impl_.ctype_ = from._impl_.ctype_; + ABSL_DCHECK(from._impl_.feature_support_ != nullptr); + if (_this->_impl_.feature_support_ == nullptr) { + _this->_impl_.feature_support_ = + ::google::protobuf::Message::CopyConstruct<::google::protobuf::FieldOptions_FeatureSupport>(arena, *from._impl_.feature_support_); + } else { + _this->_impl_.feature_support_->MergeFrom(*from._impl_.feature_support_); + } } if (cached_has_bits & 0x00000004u) { - _this->_impl_.jstype_ = from._impl_.jstype_; + _this->_impl_.ctype_ = from._impl_.ctype_; } if (cached_has_bits & 0x00000008u) { - _this->_impl_.packed_ = from._impl_.packed_; + _this->_impl_.jstype_ = from._impl_.jstype_; } if (cached_has_bits & 0x00000010u) { - _this->_impl_.lazy_ = from._impl_.lazy_; + _this->_impl_.packed_ = from._impl_.packed_; } if (cached_has_bits & 0x00000020u) { - _this->_impl_.unverified_lazy_ = from._impl_.unverified_lazy_; + _this->_impl_.lazy_ = from._impl_.lazy_; } if (cached_has_bits & 0x00000040u) { - _this->_impl_.deprecated_ = from._impl_.deprecated_; + _this->_impl_.unverified_lazy_ = from._impl_.unverified_lazy_; } if (cached_has_bits & 0x00000080u) { - _this->_impl_.weak_ = from._impl_.weak_; + _this->_impl_.deprecated_ = from._impl_.deprecated_; } } - if (cached_has_bits & 0x00000300u) { + if (cached_has_bits & 0x00000700u) { if (cached_has_bits & 0x00000100u) { - _this->_impl_.debug_redact_ = from._impl_.debug_redact_; + _this->_impl_.weak_ = from._impl_.weak_; } if (cached_has_bits & 0x00000200u) { + _this->_impl_.debug_redact_ = from._impl_.debug_redact_; + } + if (cached_has_bits & 0x00000400u) { _this->_impl_.retention_ = from._impl_.retention_; } } @@ -11748,6 +12156,12 @@ FeatureSetDefaults_FeatureSetEditionDefault::FeatureSetDefaults_FeatureSetEditio _impl_.features_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::FeatureSet>( arena, *from._impl_.features_) : nullptr; + _impl_.overridable_features_ = (cached_has_bits & 0x00000002u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::FeatureSet>( + arena, *from._impl_.overridable_features_) + : nullptr; + _impl_.fixed_features_ = (cached_has_bits & 0x00000004u) ? ::google::protobuf::Message::CopyConstruct<::google::protobuf::FeatureSet>( + arena, *from._impl_.fixed_features_) + : nullptr; _impl_.edition_ = from._impl_.edition_; // @@protoc_insertion_point(copy_constructor:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault) @@ -11774,6 +12188,8 @@ FeatureSetDefaults_FeatureSetEditionDefault::~FeatureSetDefaults_FeatureSetEditi inline void FeatureSetDefaults_FeatureSetEditionDefault::SharedDtor() { ABSL_DCHECK(GetArena() == nullptr); delete _impl_.features_; + delete _impl_.overridable_features_; + delete _impl_.fixed_features_; _impl_.~Impl_(); } @@ -11794,16 +12210,16 @@ FeatureSetDefaults_FeatureSetEditionDefault::GetClassData() const { }; return _data_.base(); } -constexpr ::_pbi::TcParseTable<1, 2, 2, 0, 2> FeatureSetDefaults_FeatureSetEditionDefault::_table_ = { +constexpr ::_pbi::TcParseTable<2, 4, 4, 0, 2> FeatureSetDefaults_FeatureSetEditionDefault::_table_ = { { PROTOBUF_FIELD_OFFSET(FeatureSetDefaults_FeatureSetEditionDefault, _impl_._has_bits_), 0, // no _extensions_ - 3, 8, // max_field_number, fast_idx_mask + 5, 24, // max_field_number, fast_idx_mask offsetof(decltype(_table_), field_lookup_table), - 4294967289, // skipmap + 4294967265, // skipmap offsetof(decltype(_table_), field_entries), - 2, // num_field_entries - 2, // num_aux_entries + 4, // num_field_entries + 4, // num_aux_entries offsetof(decltype(_table_), aux_entries), &_FeatureSetDefaults_FeatureSetEditionDefault_default_instance_._instance, nullptr, // post_loop_handler @@ -11812,12 +12228,18 @@ constexpr ::_pbi::TcParseTable<1, 2, 2, 0, 2> FeatureSetDefaults_FeatureSetEditi ::_pbi::TcParser::GetTable<::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault>(), // to_prefetch #endif // PROTOBUF_PREFETCH_PARSE_TABLE }, {{ + // optional .google.protobuf.FeatureSet overridable_features = 4; + {::_pbi::TcParser::FastMtS1, + {34, 1, 1, PROTOBUF_FIELD_OFFSET(FeatureSetDefaults_FeatureSetEditionDefault, _impl_.overridable_features_)}}, + // optional .google.protobuf.FeatureSet fixed_features = 5; + {::_pbi::TcParser::FastMtS1, + {42, 2, 2, PROTOBUF_FIELD_OFFSET(FeatureSetDefaults_FeatureSetEditionDefault, _impl_.fixed_features_)}}, // optional .google.protobuf.FeatureSet features = 2; {::_pbi::TcParser::FastMtS1, {18, 0, 0, PROTOBUF_FIELD_OFFSET(FeatureSetDefaults_FeatureSetEditionDefault, _impl_.features_)}}, // optional .google.protobuf.Edition edition = 3; {::_pbi::TcParser::FastEvS1, - {24, 1, 1, PROTOBUF_FIELD_OFFSET(FeatureSetDefaults_FeatureSetEditionDefault, _impl_.edition_)}}, + {24, 3, 3, PROTOBUF_FIELD_OFFSET(FeatureSetDefaults_FeatureSetEditionDefault, _impl_.edition_)}}, }}, {{ 65535, 65535 }}, {{ @@ -11825,9 +12247,17 @@ constexpr ::_pbi::TcParseTable<1, 2, 2, 0, 2> FeatureSetDefaults_FeatureSetEditi {PROTOBUF_FIELD_OFFSET(FeatureSetDefaults_FeatureSetEditionDefault, _impl_.features_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, // optional .google.protobuf.Edition edition = 3; - {PROTOBUF_FIELD_OFFSET(FeatureSetDefaults_FeatureSetEditionDefault, _impl_.edition_), _Internal::kHasBitsOffset + 1, 1, + {PROTOBUF_FIELD_OFFSET(FeatureSetDefaults_FeatureSetEditionDefault, _impl_.edition_), _Internal::kHasBitsOffset + 3, 3, (0 | ::_fl::kFcOptional | ::_fl::kEnum)}, + // optional .google.protobuf.FeatureSet overridable_features = 4; + {PROTOBUF_FIELD_OFFSET(FeatureSetDefaults_FeatureSetEditionDefault, _impl_.overridable_features_), _Internal::kHasBitsOffset + 1, 1, + (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + // optional .google.protobuf.FeatureSet fixed_features = 5; + {PROTOBUF_FIELD_OFFSET(FeatureSetDefaults_FeatureSetEditionDefault, _impl_.fixed_features_), _Internal::kHasBitsOffset + 2, 2, + (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, }}, {{ + {::_pbi::TcParser::GetTable<::google::protobuf::FeatureSet>()}, + {::_pbi::TcParser::GetTable<::google::protobuf::FeatureSet>()}, {::_pbi::TcParser::GetTable<::google::protobuf::FeatureSet>()}, {::_pbi::FieldAuxEnumData{}, ::google::protobuf::Edition_internal_data_}, }}, {{ @@ -11842,9 +12272,19 @@ PROTOBUF_NOINLINE void FeatureSetDefaults_FeatureSetEditionDefault::Clear() { (void) cached_has_bits; cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x00000001u) { - ABSL_DCHECK(_impl_.features_ != nullptr); - _impl_.features_->Clear(); + if (cached_has_bits & 0x00000007u) { + if (cached_has_bits & 0x00000001u) { + ABSL_DCHECK(_impl_.features_ != nullptr); + _impl_.features_->Clear(); + } + if (cached_has_bits & 0x00000002u) { + ABSL_DCHECK(_impl_.overridable_features_ != nullptr); + _impl_.overridable_features_->Clear(); + } + if (cached_has_bits & 0x00000004u) { + ABSL_DCHECK(_impl_.fixed_features_ != nullptr); + _impl_.fixed_features_->Clear(); + } } _impl_.edition_ = 0; _impl_._has_bits_.Clear(); @@ -11871,12 +12311,24 @@ const char* FeatureSetDefaults_FeatureSetEditionDefault::_InternalParse(const ch } // optional .google.protobuf.Edition edition = 3; - if (cached_has_bits & 0x00000002u) { + if (cached_has_bits & 0x00000008u) { target = stream->EnsureSpace(target); target = ::_pbi::WireFormatLite::WriteEnumToArray( 3, this->_internal_edition(), target); } + // optional .google.protobuf.FeatureSet overridable_features = 4; + if (cached_has_bits & 0x00000002u) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 4, *_impl_.overridable_features_, _impl_.overridable_features_->GetCachedSize(), target, stream); + } + + // optional .google.protobuf.FeatureSet fixed_features = 5; + if (cached_has_bits & 0x00000004u) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 5, *_impl_.fixed_features_, _impl_.fixed_features_->GetCachedSize(), target, stream); + } + if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( @@ -11896,15 +12348,27 @@ const char* FeatureSetDefaults_FeatureSetEditionDefault::_InternalParse(const ch ::_pbi::Prefetch5LinesFrom7Lines(reinterpret_cast(this)); cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x00000003u) { + if (cached_has_bits & 0x0000000fu) { // optional .google.protobuf.FeatureSet features = 2; if (cached_has_bits & 0x00000001u) { total_size += 1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.features_); } - // optional .google.protobuf.Edition edition = 3; + // optional .google.protobuf.FeatureSet overridable_features = 4; if (cached_has_bits & 0x00000002u) { + total_size += + 1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.overridable_features_); + } + + // optional .google.protobuf.FeatureSet fixed_features = 5; + if (cached_has_bits & 0x00000004u) { + total_size += + 1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.fixed_features_); + } + + // optional .google.protobuf.Edition edition = 3; + if (cached_has_bits & 0x00000008u) { total_size += 1 + ::_pbi::WireFormatLite::EnumSize(this->_internal_edition()); } @@ -11924,7 +12388,7 @@ void FeatureSetDefaults_FeatureSetEditionDefault::MergeImpl(::google::protobuf:: (void) cached_has_bits; cached_has_bits = from._impl_._has_bits_[0]; - if (cached_has_bits & 0x00000003u) { + if (cached_has_bits & 0x0000000fu) { if (cached_has_bits & 0x00000001u) { ABSL_DCHECK(from._impl_.features_ != nullptr); if (_this->_impl_.features_ == nullptr) { @@ -11935,6 +12399,24 @@ void FeatureSetDefaults_FeatureSetEditionDefault::MergeImpl(::google::protobuf:: } } if (cached_has_bits & 0x00000002u) { + ABSL_DCHECK(from._impl_.overridable_features_ != nullptr); + if (_this->_impl_.overridable_features_ == nullptr) { + _this->_impl_.overridable_features_ = + ::google::protobuf::Message::CopyConstruct<::google::protobuf::FeatureSet>(arena, *from._impl_.overridable_features_); + } else { + _this->_impl_.overridable_features_->MergeFrom(*from._impl_.overridable_features_); + } + } + if (cached_has_bits & 0x00000004u) { + ABSL_DCHECK(from._impl_.fixed_features_ != nullptr); + if (_this->_impl_.fixed_features_ == nullptr) { + _this->_impl_.fixed_features_ = + ::google::protobuf::Message::CopyConstruct<::google::protobuf::FeatureSet>(arena, *from._impl_.fixed_features_); + } else { + _this->_impl_.fixed_features_->MergeFrom(*from._impl_.fixed_features_); + } + } + if (cached_has_bits & 0x00000008u) { _this->_impl_.edition_ = from._impl_.edition_; } } @@ -11953,6 +12435,12 @@ PROTOBUF_NOINLINE bool FeatureSetDefaults_FeatureSetEditionDefault::IsInitialize if ((_impl_._has_bits_[0] & 0x00000001u) != 0) { if (!_impl_.features_->IsInitialized()) return false; } + if ((_impl_._has_bits_[0] & 0x00000002u) != 0) { + if (!_impl_.overridable_features_->IsInitialized()) return false; + } + if ((_impl_._has_bits_[0] & 0x00000004u) != 0) { + if (!_impl_.fixed_features_->IsInitialized()) return false; + } return true; } diff --git a/src/google/protobuf/descriptor.pb.h b/src/google/protobuf/descriptor.pb.h index f1b5ccea67..fa269e01ba 100644 --- a/src/google/protobuf/descriptor.pb.h +++ b/src/google/protobuf/descriptor.pb.h @@ -100,6 +100,9 @@ PROTOBUF_EXPORT extern FieldOptionsDefaultTypeInternal _FieldOptions_default_ins class FieldOptions_EditionDefault; struct FieldOptions_EditionDefaultDefaultTypeInternal; PROTOBUF_EXPORT extern FieldOptions_EditionDefaultDefaultTypeInternal _FieldOptions_EditionDefault_default_instance_; +class FieldOptions_FeatureSupport; +struct FieldOptions_FeatureSupportDefaultTypeInternal; +PROTOBUF_EXPORT extern FieldOptions_FeatureSupportDefaultTypeInternal _FieldOptions_FeatureSupport_default_instance_; class FileDescriptorProto; struct FileDescriptorProtoDefaultTypeInternal; PROTOBUF_EXPORT extern FileDescriptorProtoDefaultTypeInternal _FileDescriptorProto_default_instance_; @@ -752,7 +755,7 @@ class PROTOBUF_EXPORT UninterpretedOption_NamePart final : public ::google::prot return reinterpret_cast( &_UninterpretedOption_NamePart_default_instance_); } - static constexpr int kIndexInFileMessages = 23; + static constexpr int kIndexInFileMessages = 24; friend void swap(UninterpretedOption_NamePart& a, UninterpretedOption_NamePart& b) { a.Swap(&b); } inline void Swap(UninterpretedOption_NamePart* other) { if (other == this) return; @@ -944,7 +947,7 @@ class PROTOBUF_EXPORT SourceCodeInfo_Location final : public ::google::protobuf: return reinterpret_cast( &_SourceCodeInfo_Location_default_instance_); } - static constexpr int kIndexInFileMessages = 28; + static constexpr int kIndexInFileMessages = 29; friend void swap(SourceCodeInfo_Location& a, SourceCodeInfo_Location& b) { a.Swap(&b); } inline void Swap(SourceCodeInfo_Location* other) { if (other == this) return; @@ -1214,7 +1217,7 @@ class PROTOBUF_EXPORT GeneratedCodeInfo_Annotation final : public ::google::prot return reinterpret_cast( &_GeneratedCodeInfo_Annotation_default_instance_); } - static constexpr int kIndexInFileMessages = 30; + static constexpr int kIndexInFileMessages = 31; friend void swap(GeneratedCodeInfo_Annotation& a, GeneratedCodeInfo_Annotation& b) { a.Swap(&b); } inline void Swap(GeneratedCodeInfo_Annotation* other) { if (other == this) return; @@ -1418,6 +1421,224 @@ class PROTOBUF_EXPORT GeneratedCodeInfo_Annotation final : public ::google::prot }; // ------------------------------------------------------------------- +class PROTOBUF_EXPORT FieldOptions_FeatureSupport final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:google.protobuf.FieldOptions.FeatureSupport) */ { + public: + inline FieldOptions_FeatureSupport() : FieldOptions_FeatureSupport(nullptr) {} + ~FieldOptions_FeatureSupport() override; + template + explicit PROTOBUF_CONSTEXPR FieldOptions_FeatureSupport( + ::google::protobuf::internal::ConstantInitialized); + + inline FieldOptions_FeatureSupport(const FieldOptions_FeatureSupport& from) : FieldOptions_FeatureSupport(nullptr, from) {} + inline FieldOptions_FeatureSupport(FieldOptions_FeatureSupport&& from) noexcept + : FieldOptions_FeatureSupport(nullptr, std::move(from)) {} + inline FieldOptions_FeatureSupport& operator=(const FieldOptions_FeatureSupport& from) { + CopyFrom(from); + return *this; + } + inline FieldOptions_FeatureSupport& operator=(FieldOptions_FeatureSupport&& from) noexcept { + if (this == &from) return *this; + if (GetArena() == from.GetArena() +#ifdef PROTOBUF_FORCE_COPY_IN_MOVE + && GetArena() != nullptr +#endif // !PROTOBUF_FORCE_COPY_IN_MOVE + ) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const FieldOptions_FeatureSupport& default_instance() { + return *internal_default_instance(); + } + static inline const FieldOptions_FeatureSupport* internal_default_instance() { + return reinterpret_cast( + &_FieldOptions_FeatureSupport_default_instance_); + } + static constexpr int kIndexInFileMessages = 17; + friend void swap(FieldOptions_FeatureSupport& a, FieldOptions_FeatureSupport& b) { a.Swap(&b); } + inline void Swap(FieldOptions_FeatureSupport* other) { + if (other == this) return; +#ifdef PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() != nullptr && GetArena() == other->GetArena()) { +#else // PROTOBUF_FORCE_COPY_IN_SWAP + if (GetArena() == other->GetArena()) { +#endif // !PROTOBUF_FORCE_COPY_IN_SWAP + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(FieldOptions_FeatureSupport* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + FieldOptions_FeatureSupport* New(::google::protobuf::Arena* arena = nullptr) const final { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const FieldOptions_FeatureSupport& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const FieldOptions_FeatureSupport& from) { FieldOptions_FeatureSupport::MergeImpl(*this, from); } + + private: + static void MergeImpl( + ::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + ABSL_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + ::size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::google::protobuf::internal::ParseContext* ctx) final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* arena); + void SharedDtor(); + void InternalSwap(FieldOptions_FeatureSupport* other); + private: + friend class ::google::protobuf::internal::AnyMetadata; + static ::absl::string_view FullMessageName() { return "google.protobuf.FieldOptions.FeatureSupport"; } + + protected: + explicit FieldOptions_FeatureSupport(::google::protobuf::Arena* arena); + FieldOptions_FeatureSupport(::google::protobuf::Arena* arena, const FieldOptions_FeatureSupport& from); + FieldOptions_FeatureSupport(::google::protobuf::Arena* arena, FieldOptions_FeatureSupport&& from) noexcept + : FieldOptions_FeatureSupport(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::Message::ClassData* GetClassData() const final; + + public: + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kDeprecationWarningFieldNumber = 3, + kEditionIntroducedFieldNumber = 1, + kEditionDeprecatedFieldNumber = 2, + kEditionRemovedFieldNumber = 4, + }; + // optional string deprecation_warning = 3; + bool has_deprecation_warning() const; + void clear_deprecation_warning() ; + const std::string& deprecation_warning() const; + template + void set_deprecation_warning(Arg_&& arg, Args_... args); + std::string* mutable_deprecation_warning(); + PROTOBUF_NODISCARD std::string* release_deprecation_warning(); + void set_allocated_deprecation_warning(std::string* value); + + private: + const std::string& _internal_deprecation_warning() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_deprecation_warning( + const std::string& value); + std::string* _internal_mutable_deprecation_warning(); + + public: + // optional .google.protobuf.Edition edition_introduced = 1; + bool has_edition_introduced() const; + void clear_edition_introduced() ; + ::google::protobuf::Edition edition_introduced() const; + void set_edition_introduced(::google::protobuf::Edition value); + + private: + ::google::protobuf::Edition _internal_edition_introduced() const; + void _internal_set_edition_introduced(::google::protobuf::Edition value); + + public: + // optional .google.protobuf.Edition edition_deprecated = 2; + bool has_edition_deprecated() const; + void clear_edition_deprecated() ; + ::google::protobuf::Edition edition_deprecated() const; + void set_edition_deprecated(::google::protobuf::Edition value); + + private: + ::google::protobuf::Edition _internal_edition_deprecated() const; + void _internal_set_edition_deprecated(::google::protobuf::Edition value); + + public: + // optional .google.protobuf.Edition edition_removed = 4; + bool has_edition_removed() const; + void clear_edition_removed() ; + ::google::protobuf::Edition edition_removed() const; + void set_edition_removed(::google::protobuf::Edition value); + + private: + ::google::protobuf::Edition _internal_edition_removed() const; + void _internal_set_edition_removed(::google::protobuf::Edition value); + + public: + // @@protoc_insertion_point(class_scope:google.protobuf.FieldOptions.FeatureSupport) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 4, 3, + 71, 2> + _table_; + + static constexpr const void* _raw_default_instance_ = + &_FieldOptions_FeatureSupport_default_instance_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from, + const FieldOptions_FeatureSupport& from_msg); + ::google::protobuf::internal::HasBits<1> _has_bits_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::internal::ArenaStringPtr deprecation_warning_; + int edition_introduced_; + int edition_deprecated_; + int edition_removed_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto; +}; +// ------------------------------------------------------------------- + class PROTOBUF_EXPORT FieldOptions_EditionDefault final : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:google.protobuf.FieldOptions.EditionDefault) */ { public: @@ -1665,7 +1886,7 @@ class PROTOBUF_EXPORT FeatureSet final : public ::google::protobuf::Message return reinterpret_cast( &_FeatureSet_default_instance_); } - static constexpr int kIndexInFileMessages = 25; + static constexpr int kIndexInFileMessages = 26; friend void swap(FeatureSet& a, FeatureSet& b) { a.Swap(&b); } inline void Swap(FeatureSet* other) { if (other == this) return; @@ -2813,7 +3034,7 @@ class PROTOBUF_EXPORT UninterpretedOption final : public ::google::protobuf::Mes return reinterpret_cast( &_UninterpretedOption_default_instance_); } - static constexpr int kIndexInFileMessages = 24; + static constexpr int kIndexInFileMessages = 25; friend void swap(UninterpretedOption& a, UninterpretedOption& b) { a.Swap(&b); } inline void Swap(UninterpretedOption* other) { if (other == this) return; @@ -3089,7 +3310,7 @@ class PROTOBUF_EXPORT SourceCodeInfo final : public ::google::protobuf::Message return reinterpret_cast( &_SourceCodeInfo_default_instance_); } - static constexpr int kIndexInFileMessages = 29; + static constexpr int kIndexInFileMessages = 30; friend void swap(SourceCodeInfo& a, SourceCodeInfo& b) { a.Swap(&b); } inline void Swap(SourceCodeInfo* other) { if (other == this) return; @@ -3268,7 +3489,7 @@ class PROTOBUF_EXPORT GeneratedCodeInfo final : public ::google::protobuf::Messa return reinterpret_cast( &_GeneratedCodeInfo_default_instance_); } - static constexpr int kIndexInFileMessages = 31; + static constexpr int kIndexInFileMessages = 32; friend void swap(GeneratedCodeInfo& a, GeneratedCodeInfo& b) { a.Swap(&b); } inline void Swap(GeneratedCodeInfo* other) { if (other == this) return; @@ -3447,7 +3668,7 @@ class PROTOBUF_EXPORT FeatureSetDefaults_FeatureSetEditionDefault final : public return reinterpret_cast( &_FeatureSetDefaults_FeatureSetEditionDefault_default_instance_); } - static constexpr int kIndexInFileMessages = 26; + static constexpr int kIndexInFileMessages = 27; friend void swap(FeatureSetDefaults_FeatureSetEditionDefault& a, FeatureSetDefaults_FeatureSetEditionDefault& b) { a.Swap(&b); } inline void Swap(FeatureSetDefaults_FeatureSetEditionDefault* other) { if (other == this) return; @@ -3517,6 +3738,8 @@ class PROTOBUF_EXPORT FeatureSetDefaults_FeatureSetEditionDefault final : public // accessors ------------------------------------------------------- enum : int { kFeaturesFieldNumber = 2, + kOverridableFeaturesFieldNumber = 4, + kFixedFeaturesFieldNumber = 5, kEditionFieldNumber = 3, }; // optional .google.protobuf.FeatureSet features = 2; @@ -3533,6 +3756,36 @@ class PROTOBUF_EXPORT FeatureSetDefaults_FeatureSetEditionDefault final : public const ::google::protobuf::FeatureSet& _internal_features() const; ::google::protobuf::FeatureSet* _internal_mutable_features(); + public: + // optional .google.protobuf.FeatureSet overridable_features = 4; + bool has_overridable_features() const; + void clear_overridable_features() ; + const ::google::protobuf::FeatureSet& overridable_features() const; + PROTOBUF_NODISCARD ::google::protobuf::FeatureSet* release_overridable_features(); + ::google::protobuf::FeatureSet* mutable_overridable_features(); + void set_allocated_overridable_features(::google::protobuf::FeatureSet* value); + void unsafe_arena_set_allocated_overridable_features(::google::protobuf::FeatureSet* value); + ::google::protobuf::FeatureSet* unsafe_arena_release_overridable_features(); + + private: + const ::google::protobuf::FeatureSet& _internal_overridable_features() const; + ::google::protobuf::FeatureSet* _internal_mutable_overridable_features(); + + public: + // optional .google.protobuf.FeatureSet fixed_features = 5; + bool has_fixed_features() const; + void clear_fixed_features() ; + const ::google::protobuf::FeatureSet& fixed_features() const; + PROTOBUF_NODISCARD ::google::protobuf::FeatureSet* release_fixed_features(); + ::google::protobuf::FeatureSet* mutable_fixed_features(); + void set_allocated_fixed_features(::google::protobuf::FeatureSet* value); + void unsafe_arena_set_allocated_fixed_features(::google::protobuf::FeatureSet* value); + ::google::protobuf::FeatureSet* unsafe_arena_release_fixed_features(); + + private: + const ::google::protobuf::FeatureSet& _internal_fixed_features() const; + ::google::protobuf::FeatureSet* _internal_mutable_fixed_features(); + public: // optional .google.protobuf.Edition edition = 3; bool has_edition() const; @@ -3550,7 +3803,7 @@ class PROTOBUF_EXPORT FeatureSetDefaults_FeatureSetEditionDefault final : public class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 1, 2, 2, + 2, 4, 4, 0, 2> _table_; @@ -3574,6 +3827,8 @@ class PROTOBUF_EXPORT FeatureSetDefaults_FeatureSetEditionDefault final : public ::google::protobuf::internal::HasBits<1> _has_bits_; mutable ::google::protobuf::internal::CachedSize _cached_size_; ::google::protobuf::FeatureSet* features_; + ::google::protobuf::FeatureSet* overridable_features_; + ::google::protobuf::FeatureSet* fixed_features_; int edition_; PROTOBUF_TSAN_DECLARE_MEMBER }; @@ -3637,7 +3892,7 @@ class PROTOBUF_EXPORT ServiceOptions final : public ::google::protobuf::Message return reinterpret_cast( &_ServiceOptions_default_instance_); } - static constexpr int kIndexInFileMessages = 21; + static constexpr int kIndexInFileMessages = 22; friend void swap(ServiceOptions& a, ServiceOptions& b) { a.Swap(&b); } inline void Swap(ServiceOptions* other) { if (other == this) return; @@ -4026,7 +4281,7 @@ class PROTOBUF_EXPORT OneofOptions final : public ::google::protobuf::Message return reinterpret_cast( &_OneofOptions_default_instance_); } - static constexpr int kIndexInFileMessages = 18; + static constexpr int kIndexInFileMessages = 19; friend void swap(OneofOptions& a, OneofOptions& b) { a.Swap(&b); } inline void Swap(OneofOptions* other) { if (other == this) return; @@ -4402,7 +4657,7 @@ class PROTOBUF_EXPORT MethodOptions final : public ::google::protobuf::Message return reinterpret_cast( &_MethodOptions_default_instance_); } - static constexpr int kIndexInFileMessages = 22; + static constexpr int kIndexInFileMessages = 23; friend void swap(MethodOptions& a, MethodOptions& b) { a.Swap(&b); } inline void Swap(MethodOptions* other) { if (other == this) return; @@ -5968,7 +6223,7 @@ class PROTOBUF_EXPORT FieldOptions final : public ::google::protobuf::Message return reinterpret_cast( &_FieldOptions_default_instance_); } - static constexpr int kIndexInFileMessages = 17; + static constexpr int kIndexInFileMessages = 18; friend void swap(FieldOptions& a, FieldOptions& b) { a.Swap(&b); } inline void Swap(FieldOptions* other) { if (other == this) return; @@ -6035,6 +6290,7 @@ class PROTOBUF_EXPORT FieldOptions final : public ::google::protobuf::Message ::google::protobuf::Metadata GetMetadata() const; // nested types ---------------------------------------------------- using EditionDefault = FieldOptions_EditionDefault; + using FeatureSupport = FieldOptions_FeatureSupport; using CType = FieldOptions_CType; static constexpr CType STRING = FieldOptions_CType_STRING; static constexpr CType CORD = FieldOptions_CType_CORD; @@ -6129,6 +6385,7 @@ class PROTOBUF_EXPORT FieldOptions final : public ::google::protobuf::Message kEditionDefaultsFieldNumber = 20, kUninterpretedOptionFieldNumber = 999, kFeaturesFieldNumber = 21, + kFeatureSupportFieldNumber = 22, kCtypeFieldNumber = 1, kJstypeFieldNumber = 6, kPackedFieldNumber = 2, @@ -6206,6 +6463,21 @@ class PROTOBUF_EXPORT FieldOptions final : public ::google::protobuf::Message const ::google::protobuf::FeatureSet& _internal_features() const; ::google::protobuf::FeatureSet* _internal_mutable_features(); + public: + // optional .google.protobuf.FieldOptions.FeatureSupport feature_support = 22; + bool has_feature_support() const; + void clear_feature_support() ; + const ::google::protobuf::FieldOptions_FeatureSupport& feature_support() const; + PROTOBUF_NODISCARD ::google::protobuf::FieldOptions_FeatureSupport* release_feature_support(); + ::google::protobuf::FieldOptions_FeatureSupport* mutable_feature_support(); + void set_allocated_feature_support(::google::protobuf::FieldOptions_FeatureSupport* value); + void unsafe_arena_set_allocated_feature_support(::google::protobuf::FieldOptions_FeatureSupport* value); + ::google::protobuf::FieldOptions_FeatureSupport* unsafe_arena_release_feature_support(); + + private: + const ::google::protobuf::FieldOptions_FeatureSupport& _internal_feature_support() const; + ::google::protobuf::FieldOptions_FeatureSupport* _internal_mutable_feature_support(); + public: // optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING]; bool has_ctype() const; @@ -6490,7 +6762,7 @@ class PROTOBUF_EXPORT FieldOptions final : public ::google::protobuf::Message class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 4, 13, 7, + 4, 14, 8, 0, 7> _table_; @@ -6518,6 +6790,7 @@ class PROTOBUF_EXPORT FieldOptions final : public ::google::protobuf::Message ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldOptions_EditionDefault > edition_defaults_; ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_; ::google::protobuf::FeatureSet* features_; + ::google::protobuf::FieldOptions_FeatureSupport* feature_support_; int ctype_; int jstype_; bool packed_; @@ -6589,7 +6862,7 @@ class PROTOBUF_EXPORT FeatureSetDefaults final : public ::google::protobuf::Mess return reinterpret_cast( &_FeatureSetDefaults_default_instance_); } - static constexpr int kIndexInFileMessages = 27; + static constexpr int kIndexInFileMessages = 28; friend void swap(FeatureSetDefaults& a, FeatureSetDefaults& b) { a.Swap(&b); } inline void Swap(FeatureSetDefaults* other) { if (other == this) return; @@ -7223,7 +7496,7 @@ class PROTOBUF_EXPORT EnumValueOptions final : public ::google::protobuf::Messag return reinterpret_cast( &_EnumValueOptions_default_instance_); } - static constexpr int kIndexInFileMessages = 20; + static constexpr int kIndexInFileMessages = 21; friend void swap(EnumValueOptions& a, EnumValueOptions& b) { a.Swap(&b); } inline void Swap(EnumValueOptions* other) { if (other == this) return; @@ -7625,7 +7898,7 @@ class PROTOBUF_EXPORT EnumOptions final : public ::google::protobuf::Message return reinterpret_cast( &_EnumOptions_default_instance_); } - static constexpr int kIndexInFileMessages = 19; + static constexpr int kIndexInFileMessages = 20; friend void swap(EnumOptions& a, EnumOptions& b) { a.Swap(&b); } inline void Swap(EnumOptions* other) { if (other == this) return; @@ -16347,103 +16620,265 @@ inline void FieldOptions_EditionDefault::set_allocated_value(std::string* value) // ------------------------------------------------------------------- -// FieldOptions +// FieldOptions_FeatureSupport -// optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING]; -inline bool FieldOptions::has_ctype() const { +// optional .google.protobuf.Edition edition_introduced = 1; +inline bool FieldOptions_FeatureSupport::has_edition_introduced() const { bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; return value; } -inline void FieldOptions::clear_ctype() { +inline void FieldOptions_FeatureSupport::clear_edition_introduced() { ::google::protobuf::internal::TSanWrite(&_impl_); - _impl_.ctype_ = 0; + _impl_.edition_introduced_ = 0; _impl_._has_bits_[0] &= ~0x00000002u; } -inline ::google::protobuf::FieldOptions_CType FieldOptions::ctype() const { - // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.ctype) - return _internal_ctype(); +inline ::google::protobuf::Edition FieldOptions_FeatureSupport::edition_introduced() const { + // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.FeatureSupport.edition_introduced) + return _internal_edition_introduced(); } -inline void FieldOptions::set_ctype(::google::protobuf::FieldOptions_CType value) { - _internal_set_ctype(value); +inline void FieldOptions_FeatureSupport::set_edition_introduced(::google::protobuf::Edition value) { + _internal_set_edition_introduced(value); _impl_._has_bits_[0] |= 0x00000002u; - // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.ctype) + // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.FeatureSupport.edition_introduced) } -inline ::google::protobuf::FieldOptions_CType FieldOptions::_internal_ctype() const { +inline ::google::protobuf::Edition FieldOptions_FeatureSupport::_internal_edition_introduced() const { ::google::protobuf::internal::TSanRead(&_impl_); - return static_cast<::google::protobuf::FieldOptions_CType>(_impl_.ctype_); + return static_cast<::google::protobuf::Edition>(_impl_.edition_introduced_); } -inline void FieldOptions::_internal_set_ctype(::google::protobuf::FieldOptions_CType value) { +inline void FieldOptions_FeatureSupport::_internal_set_edition_introduced(::google::protobuf::Edition value) { ::google::protobuf::internal::TSanWrite(&_impl_); - assert(::google::protobuf::FieldOptions_CType_IsValid(value)); - _impl_.ctype_ = value; + assert(::google::protobuf::Edition_IsValid(value)); + _impl_.edition_introduced_ = value; } -// optional bool packed = 2; -inline bool FieldOptions::has_packed() const { - bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0; +// optional .google.protobuf.Edition edition_deprecated = 2; +inline bool FieldOptions_FeatureSupport::has_edition_deprecated() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; return value; } -inline void FieldOptions::clear_packed() { +inline void FieldOptions_FeatureSupport::clear_edition_deprecated() { ::google::protobuf::internal::TSanWrite(&_impl_); - _impl_.packed_ = false; - _impl_._has_bits_[0] &= ~0x00000008u; + _impl_.edition_deprecated_ = 0; + _impl_._has_bits_[0] &= ~0x00000004u; } -inline bool FieldOptions::packed() const { - // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.packed) - return _internal_packed(); +inline ::google::protobuf::Edition FieldOptions_FeatureSupport::edition_deprecated() const { + // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.FeatureSupport.edition_deprecated) + return _internal_edition_deprecated(); } -inline void FieldOptions::set_packed(bool value) { - _internal_set_packed(value); - _impl_._has_bits_[0] |= 0x00000008u; - // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.packed) +inline void FieldOptions_FeatureSupport::set_edition_deprecated(::google::protobuf::Edition value) { + _internal_set_edition_deprecated(value); + _impl_._has_bits_[0] |= 0x00000004u; + // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.FeatureSupport.edition_deprecated) } -inline bool FieldOptions::_internal_packed() const { +inline ::google::protobuf::Edition FieldOptions_FeatureSupport::_internal_edition_deprecated() const { ::google::protobuf::internal::TSanRead(&_impl_); - return _impl_.packed_; + return static_cast<::google::protobuf::Edition>(_impl_.edition_deprecated_); } -inline void FieldOptions::_internal_set_packed(bool value) { +inline void FieldOptions_FeatureSupport::_internal_set_edition_deprecated(::google::protobuf::Edition value) { ::google::protobuf::internal::TSanWrite(&_impl_); - _impl_.packed_ = value; + assert(::google::protobuf::Edition_IsValid(value)); + _impl_.edition_deprecated_ = value; } -// optional .google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL]; -inline bool FieldOptions::has_jstype() const { - bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; +// optional string deprecation_warning = 3; +inline bool FieldOptions_FeatureSupport::has_deprecation_warning() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; return value; } -inline void FieldOptions::clear_jstype() { +inline void FieldOptions_FeatureSupport::clear_deprecation_warning() { ::google::protobuf::internal::TSanWrite(&_impl_); - _impl_.jstype_ = 0; - _impl_._has_bits_[0] &= ~0x00000004u; + _impl_.deprecation_warning_.ClearToEmpty(); + _impl_._has_bits_[0] &= ~0x00000001u; } -inline ::google::protobuf::FieldOptions_JSType FieldOptions::jstype() const { - // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.jstype) - return _internal_jstype(); +inline const std::string& FieldOptions_FeatureSupport::deprecation_warning() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.FeatureSupport.deprecation_warning) + return _internal_deprecation_warning(); } -inline void FieldOptions::set_jstype(::google::protobuf::FieldOptions_JSType value) { - _internal_set_jstype(value); - _impl_._has_bits_[0] |= 0x00000004u; - // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.jstype) +template +inline PROTOBUF_ALWAYS_INLINE void FieldOptions_FeatureSupport::set_deprecation_warning(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_._has_bits_[0] |= 0x00000001u; + _impl_.deprecation_warning_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.FeatureSupport.deprecation_warning) } -inline ::google::protobuf::FieldOptions_JSType FieldOptions::_internal_jstype() const { +inline std::string* FieldOptions_FeatureSupport::mutable_deprecation_warning() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_deprecation_warning(); + // @@protoc_insertion_point(field_mutable:google.protobuf.FieldOptions.FeatureSupport.deprecation_warning) + return _s; +} +inline const std::string& FieldOptions_FeatureSupport::_internal_deprecation_warning() const { ::google::protobuf::internal::TSanRead(&_impl_); - return static_cast<::google::protobuf::FieldOptions_JSType>(_impl_.jstype_); + return _impl_.deprecation_warning_.Get(); } -inline void FieldOptions::_internal_set_jstype(::google::protobuf::FieldOptions_JSType value) { +inline void FieldOptions_FeatureSupport::_internal_set_deprecation_warning(const std::string& value) { ::google::protobuf::internal::TSanWrite(&_impl_); - assert(::google::protobuf::FieldOptions_JSType_IsValid(value)); - _impl_.jstype_ = value; + _impl_._has_bits_[0] |= 0x00000001u; + _impl_.deprecation_warning_.Set(value, GetArena()); } - +inline std::string* FieldOptions_FeatureSupport::_internal_mutable_deprecation_warning() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_._has_bits_[0] |= 0x00000001u; + return _impl_.deprecation_warning_.Mutable( GetArena()); +} +inline std::string* FieldOptions_FeatureSupport::release_deprecation_warning() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:google.protobuf.FieldOptions.FeatureSupport.deprecation_warning) + if ((_impl_._has_bits_[0] & 0x00000001u) == 0) { + return nullptr; + } + _impl_._has_bits_[0] &= ~0x00000001u; + auto* released = _impl_.deprecation_warning_.Release(); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + _impl_.deprecation_warning_.Set("", GetArena()); + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + return released; +} +inline void FieldOptions_FeatureSupport::set_allocated_deprecation_warning(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + _impl_.deprecation_warning_.SetAllocated(value, GetArena()); + #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING + if (_impl_.deprecation_warning_.IsDefault()) { + _impl_.deprecation_warning_.Set("", GetArena()); + } + #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING + // @@protoc_insertion_point(field_set_allocated:google.protobuf.FieldOptions.FeatureSupport.deprecation_warning) +} + +// optional .google.protobuf.Edition edition_removed = 4; +inline bool FieldOptions_FeatureSupport::has_edition_removed() const { + bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0; + return value; +} +inline void FieldOptions_FeatureSupport::clear_edition_removed() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.edition_removed_ = 0; + _impl_._has_bits_[0] &= ~0x00000008u; +} +inline ::google::protobuf::Edition FieldOptions_FeatureSupport::edition_removed() const { + // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.FeatureSupport.edition_removed) + return _internal_edition_removed(); +} +inline void FieldOptions_FeatureSupport::set_edition_removed(::google::protobuf::Edition value) { + _internal_set_edition_removed(value); + _impl_._has_bits_[0] |= 0x00000008u; + // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.FeatureSupport.edition_removed) +} +inline ::google::protobuf::Edition FieldOptions_FeatureSupport::_internal_edition_removed() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return static_cast<::google::protobuf::Edition>(_impl_.edition_removed_); +} +inline void FieldOptions_FeatureSupport::_internal_set_edition_removed(::google::protobuf::Edition value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + assert(::google::protobuf::Edition_IsValid(value)); + _impl_.edition_removed_ = value; +} + +// ------------------------------------------------------------------- + +// FieldOptions + +// optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING]; +inline bool FieldOptions::has_ctype() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + return value; +} +inline void FieldOptions::clear_ctype() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.ctype_ = 0; + _impl_._has_bits_[0] &= ~0x00000004u; +} +inline ::google::protobuf::FieldOptions_CType FieldOptions::ctype() const { + // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.ctype) + return _internal_ctype(); +} +inline void FieldOptions::set_ctype(::google::protobuf::FieldOptions_CType value) { + _internal_set_ctype(value); + _impl_._has_bits_[0] |= 0x00000004u; + // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.ctype) +} +inline ::google::protobuf::FieldOptions_CType FieldOptions::_internal_ctype() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return static_cast<::google::protobuf::FieldOptions_CType>(_impl_.ctype_); +} +inline void FieldOptions::_internal_set_ctype(::google::protobuf::FieldOptions_CType value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + assert(::google::protobuf::FieldOptions_CType_IsValid(value)); + _impl_.ctype_ = value; +} + +// optional bool packed = 2; +inline bool FieldOptions::has_packed() const { + bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0; + return value; +} +inline void FieldOptions::clear_packed() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.packed_ = false; + _impl_._has_bits_[0] &= ~0x00000010u; +} +inline bool FieldOptions::packed() const { + // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.packed) + return _internal_packed(); +} +inline void FieldOptions::set_packed(bool value) { + _internal_set_packed(value); + _impl_._has_bits_[0] |= 0x00000010u; + // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.packed) +} +inline bool FieldOptions::_internal_packed() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.packed_; +} +inline void FieldOptions::_internal_set_packed(bool value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.packed_ = value; +} + +// optional .google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL]; +inline bool FieldOptions::has_jstype() const { + bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0; + return value; +} +inline void FieldOptions::clear_jstype() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.jstype_ = 0; + _impl_._has_bits_[0] &= ~0x00000008u; +} +inline ::google::protobuf::FieldOptions_JSType FieldOptions::jstype() const { + // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.jstype) + return _internal_jstype(); +} +inline void FieldOptions::set_jstype(::google::protobuf::FieldOptions_JSType value) { + _internal_set_jstype(value); + _impl_._has_bits_[0] |= 0x00000008u; + // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.jstype) +} +inline ::google::protobuf::FieldOptions_JSType FieldOptions::_internal_jstype() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return static_cast<::google::protobuf::FieldOptions_JSType>(_impl_.jstype_); +} +inline void FieldOptions::_internal_set_jstype(::google::protobuf::FieldOptions_JSType value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + assert(::google::protobuf::FieldOptions_JSType_IsValid(value)); + _impl_.jstype_ = value; +} + // optional bool lazy = 5 [default = false]; inline bool FieldOptions::has_lazy() const { - bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0; + bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0; return value; } inline void FieldOptions::clear_lazy() { ::google::protobuf::internal::TSanWrite(&_impl_); _impl_.lazy_ = false; - _impl_._has_bits_[0] &= ~0x00000010u; + _impl_._has_bits_[0] &= ~0x00000020u; } inline bool FieldOptions::lazy() const { // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.lazy) @@ -16451,7 +16886,7 @@ inline bool FieldOptions::lazy() const { } inline void FieldOptions::set_lazy(bool value) { _internal_set_lazy(value); - _impl_._has_bits_[0] |= 0x00000010u; + _impl_._has_bits_[0] |= 0x00000020u; // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.lazy) } inline bool FieldOptions::_internal_lazy() const { @@ -16465,13 +16900,13 @@ inline void FieldOptions::_internal_set_lazy(bool value) { // optional bool unverified_lazy = 15 [default = false]; inline bool FieldOptions::has_unverified_lazy() const { - bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0; + bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0; return value; } inline void FieldOptions::clear_unverified_lazy() { ::google::protobuf::internal::TSanWrite(&_impl_); _impl_.unverified_lazy_ = false; - _impl_._has_bits_[0] &= ~0x00000020u; + _impl_._has_bits_[0] &= ~0x00000040u; } inline bool FieldOptions::unverified_lazy() const { // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.unverified_lazy) @@ -16479,7 +16914,7 @@ inline bool FieldOptions::unverified_lazy() const { } inline void FieldOptions::set_unverified_lazy(bool value) { _internal_set_unverified_lazy(value); - _impl_._has_bits_[0] |= 0x00000020u; + _impl_._has_bits_[0] |= 0x00000040u; // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.unverified_lazy) } inline bool FieldOptions::_internal_unverified_lazy() const { @@ -16493,13 +16928,13 @@ inline void FieldOptions::_internal_set_unverified_lazy(bool value) { // optional bool deprecated = 3 [default = false]; inline bool FieldOptions::has_deprecated() const { - bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0; + bool value = (_impl_._has_bits_[0] & 0x00000080u) != 0; return value; } inline void FieldOptions::clear_deprecated() { ::google::protobuf::internal::TSanWrite(&_impl_); _impl_.deprecated_ = false; - _impl_._has_bits_[0] &= ~0x00000040u; + _impl_._has_bits_[0] &= ~0x00000080u; } inline bool FieldOptions::deprecated() const { // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.deprecated) @@ -16507,7 +16942,7 @@ inline bool FieldOptions::deprecated() const { } inline void FieldOptions::set_deprecated(bool value) { _internal_set_deprecated(value); - _impl_._has_bits_[0] |= 0x00000040u; + _impl_._has_bits_[0] |= 0x00000080u; // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.deprecated) } inline bool FieldOptions::_internal_deprecated() const { @@ -16521,13 +16956,13 @@ inline void FieldOptions::_internal_set_deprecated(bool value) { // optional bool weak = 10 [default = false]; inline bool FieldOptions::has_weak() const { - bool value = (_impl_._has_bits_[0] & 0x00000080u) != 0; + bool value = (_impl_._has_bits_[0] & 0x00000100u) != 0; return value; } inline void FieldOptions::clear_weak() { ::google::protobuf::internal::TSanWrite(&_impl_); _impl_.weak_ = false; - _impl_._has_bits_[0] &= ~0x00000080u; + _impl_._has_bits_[0] &= ~0x00000100u; } inline bool FieldOptions::weak() const { // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.weak) @@ -16535,7 +16970,7 @@ inline bool FieldOptions::weak() const { } inline void FieldOptions::set_weak(bool value) { _internal_set_weak(value); - _impl_._has_bits_[0] |= 0x00000080u; + _impl_._has_bits_[0] |= 0x00000100u; // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.weak) } inline bool FieldOptions::_internal_weak() const { @@ -16549,13 +16984,13 @@ inline void FieldOptions::_internal_set_weak(bool value) { // optional bool debug_redact = 16 [default = false]; inline bool FieldOptions::has_debug_redact() const { - bool value = (_impl_._has_bits_[0] & 0x00000100u) != 0; + bool value = (_impl_._has_bits_[0] & 0x00000200u) != 0; return value; } inline void FieldOptions::clear_debug_redact() { ::google::protobuf::internal::TSanWrite(&_impl_); _impl_.debug_redact_ = false; - _impl_._has_bits_[0] &= ~0x00000100u; + _impl_._has_bits_[0] &= ~0x00000200u; } inline bool FieldOptions::debug_redact() const { // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.debug_redact) @@ -16563,7 +16998,7 @@ inline bool FieldOptions::debug_redact() const { } inline void FieldOptions::set_debug_redact(bool value) { _internal_set_debug_redact(value); - _impl_._has_bits_[0] |= 0x00000100u; + _impl_._has_bits_[0] |= 0x00000200u; // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.debug_redact) } inline bool FieldOptions::_internal_debug_redact() const { @@ -16577,13 +17012,13 @@ inline void FieldOptions::_internal_set_debug_redact(bool value) { // optional .google.protobuf.FieldOptions.OptionRetention retention = 17; inline bool FieldOptions::has_retention() const { - bool value = (_impl_._has_bits_[0] & 0x00000200u) != 0; + bool value = (_impl_._has_bits_[0] & 0x00000400u) != 0; return value; } inline void FieldOptions::clear_retention() { ::google::protobuf::internal::TSanWrite(&_impl_); _impl_.retention_ = 0; - _impl_._has_bits_[0] &= ~0x00000200u; + _impl_._has_bits_[0] &= ~0x00000400u; } inline ::google::protobuf::FieldOptions_OptionRetention FieldOptions::retention() const { // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.retention) @@ -16591,7 +17026,7 @@ inline ::google::protobuf::FieldOptions_OptionRetention FieldOptions::retention( } inline void FieldOptions::set_retention(::google::protobuf::FieldOptions_OptionRetention value) { _internal_set_retention(value); - _impl_._has_bits_[0] |= 0x00000200u; + _impl_._has_bits_[0] |= 0x00000400u; // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.retention) } inline ::google::protobuf::FieldOptions_OptionRetention FieldOptions::_internal_retention() const { @@ -16796,6 +17231,102 @@ inline void FieldOptions::set_allocated_features(::google::protobuf::FeatureSet* // @@protoc_insertion_point(field_set_allocated:google.protobuf.FieldOptions.features) } +// optional .google.protobuf.FieldOptions.FeatureSupport feature_support = 22; +inline bool FieldOptions::has_feature_support() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.feature_support_ != nullptr); + return value; +} +inline void FieldOptions::clear_feature_support() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.feature_support_ != nullptr) _impl_.feature_support_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; +} +inline const ::google::protobuf::FieldOptions_FeatureSupport& FieldOptions::_internal_feature_support() const { + ::google::protobuf::internal::TSanRead(&_impl_); + const ::google::protobuf::FieldOptions_FeatureSupport* p = _impl_.feature_support_; + return p != nullptr ? *p : reinterpret_cast(::google::protobuf::_FieldOptions_FeatureSupport_default_instance_); +} +inline const ::google::protobuf::FieldOptions_FeatureSupport& FieldOptions::feature_support() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.feature_support) + return _internal_feature_support(); +} +inline void FieldOptions::unsafe_arena_set_allocated_feature_support(::google::protobuf::FieldOptions_FeatureSupport* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.feature_support_); + } + _impl_.feature_support_ = reinterpret_cast<::google::protobuf::FieldOptions_FeatureSupport*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.FieldOptions.feature_support) +} +inline ::google::protobuf::FieldOptions_FeatureSupport* FieldOptions::release_feature_support() { + ::google::protobuf::internal::TSanWrite(&_impl_); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::google::protobuf::FieldOptions_FeatureSupport* released = _impl_.feature_support_; + _impl_.feature_support_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; +} +inline ::google::protobuf::FieldOptions_FeatureSupport* FieldOptions::unsafe_arena_release_feature_support() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:google.protobuf.FieldOptions.feature_support) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::google::protobuf::FieldOptions_FeatureSupport* temp = _impl_.feature_support_; + _impl_.feature_support_ = nullptr; + return temp; +} +inline ::google::protobuf::FieldOptions_FeatureSupport* FieldOptions::_internal_mutable_feature_support() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.feature_support_ == nullptr) { + auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::FieldOptions_FeatureSupport>(GetArena()); + _impl_.feature_support_ = reinterpret_cast<::google::protobuf::FieldOptions_FeatureSupport*>(p); + } + return _impl_.feature_support_; +} +inline ::google::protobuf::FieldOptions_FeatureSupport* FieldOptions::mutable_feature_support() ABSL_ATTRIBUTE_LIFETIME_BOUND { + _impl_._has_bits_[0] |= 0x00000002u; + ::google::protobuf::FieldOptions_FeatureSupport* _msg = _internal_mutable_feature_support(); + // @@protoc_insertion_point(field_mutable:google.protobuf.FieldOptions.feature_support) + return _msg; +} +inline void FieldOptions::set_allocated_feature_support(::google::protobuf::FieldOptions_FeatureSupport* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_arena == nullptr) { + delete (_impl_.feature_support_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = (value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + + _impl_.feature_support_ = reinterpret_cast<::google::protobuf::FieldOptions_FeatureSupport*>(value); + // @@protoc_insertion_point(field_set_allocated:google.protobuf.FieldOptions.feature_support) +} + // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999; inline int FieldOptions::_internal_uninterpreted_option_size() const { return _internal_uninterpreted_option().size(); @@ -18452,13 +18983,13 @@ inline void FeatureSet::_internal_set_json_format(::google::protobuf::FeatureSet // optional .google.protobuf.Edition edition = 3; inline bool FeatureSetDefaults_FeatureSetEditionDefault::has_edition() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0; return value; } inline void FeatureSetDefaults_FeatureSetEditionDefault::clear_edition() { ::google::protobuf::internal::TSanWrite(&_impl_); _impl_.edition_ = 0; - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000008u; } inline ::google::protobuf::Edition FeatureSetDefaults_FeatureSetEditionDefault::edition() const { // @@protoc_insertion_point(field_get:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.edition) @@ -18466,7 +18997,7 @@ inline ::google::protobuf::Edition FeatureSetDefaults_FeatureSetEditionDefault:: } inline void FeatureSetDefaults_FeatureSetEditionDefault::set_edition(::google::protobuf::Edition value) { _internal_set_edition(value); - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000008u; // @@protoc_insertion_point(field_set:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.edition) } inline ::google::protobuf::Edition FeatureSetDefaults_FeatureSetEditionDefault::_internal_edition() const { @@ -18479,6 +19010,198 @@ inline void FeatureSetDefaults_FeatureSetEditionDefault::_internal_set_edition(: _impl_.edition_ = value; } +// optional .google.protobuf.FeatureSet overridable_features = 4; +inline bool FeatureSetDefaults_FeatureSetEditionDefault::has_overridable_features() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || _impl_.overridable_features_ != nullptr); + return value; +} +inline void FeatureSetDefaults_FeatureSetEditionDefault::clear_overridable_features() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.overridable_features_ != nullptr) _impl_.overridable_features_->Clear(); + _impl_._has_bits_[0] &= ~0x00000002u; +} +inline const ::google::protobuf::FeatureSet& FeatureSetDefaults_FeatureSetEditionDefault::_internal_overridable_features() const { + ::google::protobuf::internal::TSanRead(&_impl_); + const ::google::protobuf::FeatureSet* p = _impl_.overridable_features_; + return p != nullptr ? *p : reinterpret_cast(::google::protobuf::_FeatureSet_default_instance_); +} +inline const ::google::protobuf::FeatureSet& FeatureSetDefaults_FeatureSetEditionDefault::overridable_features() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.overridable_features) + return _internal_overridable_features(); +} +inline void FeatureSetDefaults_FeatureSetEditionDefault::unsafe_arena_set_allocated_overridable_features(::google::protobuf::FeatureSet* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.overridable_features_); + } + _impl_.overridable_features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.overridable_features) +} +inline ::google::protobuf::FeatureSet* FeatureSetDefaults_FeatureSetEditionDefault::release_overridable_features() { + ::google::protobuf::internal::TSanWrite(&_impl_); + + _impl_._has_bits_[0] &= ~0x00000002u; + ::google::protobuf::FeatureSet* released = _impl_.overridable_features_; + _impl_.overridable_features_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; +} +inline ::google::protobuf::FeatureSet* FeatureSetDefaults_FeatureSetEditionDefault::unsafe_arena_release_overridable_features() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.overridable_features) + + _impl_._has_bits_[0] &= ~0x00000002u; + ::google::protobuf::FeatureSet* temp = _impl_.overridable_features_; + _impl_.overridable_features_ = nullptr; + return temp; +} +inline ::google::protobuf::FeatureSet* FeatureSetDefaults_FeatureSetEditionDefault::_internal_mutable_overridable_features() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.overridable_features_ == nullptr) { + auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::FeatureSet>(GetArena()); + _impl_.overridable_features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(p); + } + return _impl_.overridable_features_; +} +inline ::google::protobuf::FeatureSet* FeatureSetDefaults_FeatureSetEditionDefault::mutable_overridable_features() ABSL_ATTRIBUTE_LIFETIME_BOUND { + _impl_._has_bits_[0] |= 0x00000002u; + ::google::protobuf::FeatureSet* _msg = _internal_mutable_overridable_features(); + // @@protoc_insertion_point(field_mutable:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.overridable_features) + return _msg; +} +inline void FeatureSetDefaults_FeatureSetEditionDefault::set_allocated_overridable_features(::google::protobuf::FeatureSet* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_arena == nullptr) { + delete (_impl_.overridable_features_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = (value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000002u; + } else { + _impl_._has_bits_[0] &= ~0x00000002u; + } + + _impl_.overridable_features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value); + // @@protoc_insertion_point(field_set_allocated:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.overridable_features) +} + +// optional .google.protobuf.FeatureSet fixed_features = 5; +inline bool FeatureSetDefaults_FeatureSetEditionDefault::has_fixed_features() const { + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || _impl_.fixed_features_ != nullptr); + return value; +} +inline void FeatureSetDefaults_FeatureSetEditionDefault::clear_fixed_features() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.fixed_features_ != nullptr) _impl_.fixed_features_->Clear(); + _impl_._has_bits_[0] &= ~0x00000004u; +} +inline const ::google::protobuf::FeatureSet& FeatureSetDefaults_FeatureSetEditionDefault::_internal_fixed_features() const { + ::google::protobuf::internal::TSanRead(&_impl_); + const ::google::protobuf::FeatureSet* p = _impl_.fixed_features_; + return p != nullptr ? *p : reinterpret_cast(::google::protobuf::_FeatureSet_default_instance_); +} +inline const ::google::protobuf::FeatureSet& FeatureSetDefaults_FeatureSetEditionDefault::fixed_features() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fixed_features) + return _internal_fixed_features(); +} +inline void FeatureSetDefaults_FeatureSetEditionDefault::unsafe_arena_set_allocated_fixed_features(::google::protobuf::FeatureSet* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.fixed_features_); + } + _impl_.fixed_features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fixed_features) +} +inline ::google::protobuf::FeatureSet* FeatureSetDefaults_FeatureSetEditionDefault::release_fixed_features() { + ::google::protobuf::internal::TSanWrite(&_impl_); + + _impl_._has_bits_[0] &= ~0x00000004u; + ::google::protobuf::FeatureSet* released = _impl_.fixed_features_; + _impl_.fixed_features_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return released; +} +inline ::google::protobuf::FeatureSet* FeatureSetDefaults_FeatureSetEditionDefault::unsafe_arena_release_fixed_features() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fixed_features) + + _impl_._has_bits_[0] &= ~0x00000004u; + ::google::protobuf::FeatureSet* temp = _impl_.fixed_features_; + _impl_.fixed_features_ = nullptr; + return temp; +} +inline ::google::protobuf::FeatureSet* FeatureSetDefaults_FeatureSetEditionDefault::_internal_mutable_fixed_features() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.fixed_features_ == nullptr) { + auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::FeatureSet>(GetArena()); + _impl_.fixed_features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(p); + } + return _impl_.fixed_features_; +} +inline ::google::protobuf::FeatureSet* FeatureSetDefaults_FeatureSetEditionDefault::mutable_fixed_features() ABSL_ATTRIBUTE_LIFETIME_BOUND { + _impl_._has_bits_[0] |= 0x00000004u; + ::google::protobuf::FeatureSet* _msg = _internal_mutable_fixed_features(); + // @@protoc_insertion_point(field_mutable:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fixed_features) + return _msg; +} +inline void FeatureSetDefaults_FeatureSetEditionDefault::set_allocated_fixed_features(::google::protobuf::FeatureSet* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_arena == nullptr) { + delete (_impl_.fixed_features_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = (value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000004u; + } else { + _impl_._has_bits_[0] &= ~0x00000004u; + } + + _impl_.fixed_features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value); + // @@protoc_insertion_point(field_set_allocated:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fixed_features) +} + // optional .google.protobuf.FeatureSet features = 2; inline bool FeatureSetDefaults_FeatureSetEditionDefault::has_features() const { bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; diff --git a/src/google/protobuf/descriptor.proto b/src/google/protobuf/descriptor.proto index cfd2cd4eb1..ab6f485c03 100644 --- a/src/google/protobuf/descriptor.proto +++ b/src/google/protobuf/descriptor.proto @@ -764,6 +764,28 @@ message FieldOptions { // Any features defined in the specific edition. optional FeatureSet features = 21; + // Information about the support window of a feature. + message FeatureSupport { + // The edition that this feature was first available in. In editions + // earlier than this one, the default assigned to EDITION_LEGACY will be + // used, and proto files will not be able to override it. + optional Edition edition_introduced = 1; + + // The edition this feature becomes deprecated in. Using this after this + // edition may trigger warnings. + optional Edition edition_deprecated = 2; + + // The deprecation warning text if this feature is used after the edition it + // was marked deprecated in. + optional string deprecation_warning = 3; + + // The edition this feature is no longer available in. In editions after + // this one, the last default assigned will be used, and proto files will + // not be able to override it. + optional Edition edition_removed = 4; + } + optional FeatureSupport feature_support = 22; + // The parser stores options it doesn't recognize here. See above. repeated UninterpretedOption uninterpreted_option = 999; @@ -1037,6 +1059,15 @@ message FeatureSetDefaults { // be used. This field must be in strict ascending order by edition. message FeatureSetEditionDefault { optional Edition edition = 3; + + // Defaults of features that can be overridden in this edition. + optional FeatureSet overridable_features = 4; + + // Defaults of features that can't be overridden in this edition. + optional FeatureSet fixed_features = 5; + + // TODO Deprecate and remove this field, which is just the + // above two merged. optional FeatureSet features = 2; } repeated FeatureSetEditionDefault defaults = 1; diff --git a/upb/reflection/stage0/google/protobuf/descriptor.upb.c b/upb/reflection/stage0/google/protobuf/descriptor.upb.c index 5edcedbdb7..5a10d5e827 100644 --- a/upb/reflection/stage0/google/protobuf/descriptor.upb.c +++ b/upb/reflection/stage0/google/protobuf/descriptor.upb.c @@ -207,7 +207,7 @@ const upb_MiniTable* google__protobuf__MessageOptions_msg_init() { const upb_MiniTable* google__protobuf__FieldOptions_msg_init() { static upb_MiniTable* mini_table = NULL; - static const char* mini_descriptor = "$P4//a/4c/d//4aHG3q}G"; + static const char* mini_descriptor = "$P4//a/4c/d//4aHG33p}G"; if (mini_table) return mini_table; mini_table = upb_MiniTable_Build(mini_descriptor, strlen(mini_descriptor), @@ -218,6 +218,7 @@ const upb_MiniTable* google__protobuf__FieldOptions_msg_init() { upb_MiniTable_SetSubEnum(mini_table, (upb_MiniTableField*)upb_MiniTable_FindFieldByNumber(mini_table, 19), google_protobuf_FieldOptions_OptionTargetType_enum_init()); upb_MiniTable_SetSubMessage(mini_table, (upb_MiniTableField*)upb_MiniTable_FindFieldByNumber(mini_table, 20), google__protobuf__FieldOptions__EditionDefault_msg_init()); upb_MiniTable_SetSubMessage(mini_table, (upb_MiniTableField*)upb_MiniTable_FindFieldByNumber(mini_table, 21), google__protobuf__FeatureSet_msg_init()); + upb_MiniTable_SetSubMessage(mini_table, (upb_MiniTableField*)upb_MiniTable_FindFieldByNumber(mini_table, 22), google__protobuf__FieldOptions__FeatureSupport_msg_init()); upb_MiniTable_SetSubMessage(mini_table, (upb_MiniTableField*)upb_MiniTable_FindFieldByNumber(mini_table, 999), google__protobuf__UninterpretedOption_msg_init()); return mini_table; } @@ -233,6 +234,19 @@ const upb_MiniTable* google__protobuf__FieldOptions__EditionDefault_msg_init() { return mini_table; } +const upb_MiniTable* google__protobuf__FieldOptions__FeatureSupport_msg_init() { + static upb_MiniTable* mini_table = NULL; + static const char* mini_descriptor = "$4414"; + if (mini_table) return mini_table; + mini_table = + upb_MiniTable_Build(mini_descriptor, strlen(mini_descriptor), + upb_BootstrapArena(), NULL); + upb_MiniTable_SetSubEnum(mini_table, (upb_MiniTableField*)upb_MiniTable_FindFieldByNumber(mini_table, 1), google_protobuf_Edition_enum_init()); + upb_MiniTable_SetSubEnum(mini_table, (upb_MiniTableField*)upb_MiniTable_FindFieldByNumber(mini_table, 2), google_protobuf_Edition_enum_init()); + upb_MiniTable_SetSubEnum(mini_table, (upb_MiniTableField*)upb_MiniTable_FindFieldByNumber(mini_table, 4), google_protobuf_Edition_enum_init()); + return mini_table; +} + const upb_MiniTable* google__protobuf__OneofOptions_msg_init() { static upb_MiniTable* mini_table = NULL; static const char* mini_descriptor = "$P3e~G"; @@ -346,12 +360,14 @@ const upb_MiniTable* google__protobuf__FeatureSetDefaults_msg_init() { const upb_MiniTable* google__protobuf__FeatureSetDefaults__FeatureSetEditionDefault_msg_init() { static upb_MiniTable* mini_table = NULL; - static const char* mini_descriptor = "$a34"; + static const char* mini_descriptor = "$a3433"; if (mini_table) return mini_table; mini_table = upb_MiniTable_Build(mini_descriptor, strlen(mini_descriptor), upb_BootstrapArena(), NULL); upb_MiniTable_SetSubEnum(mini_table, (upb_MiniTableField*)upb_MiniTable_FindFieldByNumber(mini_table, 3), google_protobuf_Edition_enum_init()); + upb_MiniTable_SetSubMessage(mini_table, (upb_MiniTableField*)upb_MiniTable_FindFieldByNumber(mini_table, 4), google__protobuf__FeatureSet_msg_init()); + upb_MiniTable_SetSubMessage(mini_table, (upb_MiniTableField*)upb_MiniTable_FindFieldByNumber(mini_table, 5), google__protobuf__FeatureSet_msg_init()); upb_MiniTable_SetSubMessage(mini_table, (upb_MiniTableField*)upb_MiniTable_FindFieldByNumber(mini_table, 2), google__protobuf__FeatureSet_msg_init()); return mini_table; } diff --git a/upb/reflection/stage0/google/protobuf/descriptor.upb.h b/upb/reflection/stage0/google/protobuf/descriptor.upb.h index 0d431c768f..d0ce31db98 100644 --- a/upb/reflection/stage0/google/protobuf/descriptor.upb.h +++ b/upb/reflection/stage0/google/protobuf/descriptor.upb.h @@ -35,6 +35,7 @@ extern const upb_MiniTable* google__protobuf__FileOptions_msg_init(); extern const upb_MiniTable* google__protobuf__MessageOptions_msg_init(); extern const upb_MiniTable* google__protobuf__FieldOptions_msg_init(); extern const upb_MiniTable* google__protobuf__FieldOptions__EditionDefault_msg_init(); +extern const upb_MiniTable* google__protobuf__FieldOptions__FeatureSupport_msg_init(); extern const upb_MiniTable* google__protobuf__OneofOptions_msg_init(); extern const upb_MiniTable* google__protobuf__EnumOptions_msg_init(); extern const upb_MiniTable* google__protobuf__EnumValueOptions_msg_init(); @@ -85,6 +86,7 @@ typedef struct google_protobuf_FileOptions { upb_Message UPB_PRIVATE(base); } go typedef struct google_protobuf_MessageOptions { upb_Message UPB_PRIVATE(base); } google_protobuf_MessageOptions; typedef struct google_protobuf_FieldOptions { upb_Message UPB_PRIVATE(base); } google_protobuf_FieldOptions; typedef struct google_protobuf_FieldOptions_EditionDefault { upb_Message UPB_PRIVATE(base); } google_protobuf_FieldOptions_EditionDefault; +typedef struct google_protobuf_FieldOptions_FeatureSupport { upb_Message UPB_PRIVATE(base); } google_protobuf_FieldOptions_FeatureSupport; typedef struct google_protobuf_OneofOptions { upb_Message UPB_PRIVATE(base); } google_protobuf_OneofOptions; typedef struct google_protobuf_EnumOptions { upb_Message UPB_PRIVATE(base); } google_protobuf_EnumOptions; typedef struct google_protobuf_EnumValueOptions { upb_Message UPB_PRIVATE(base); } google_protobuf_EnumValueOptions; @@ -4164,6 +4166,22 @@ UPB_INLINE bool google_protobuf_FieldOptions_has_features(const google_protobuf_ const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__FieldOptions_msg_init(), 21); return upb_Message_HasBaseField(UPB_UPCAST(msg), &field); } +UPB_INLINE void google_protobuf_FieldOptions_clear_feature_support(google_protobuf_FieldOptions* msg) { + const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__FieldOptions_msg_init(), 22); + upb_Message_ClearBaseField(UPB_UPCAST(msg), &field); +} +UPB_INLINE const google_protobuf_FieldOptions_FeatureSupport* google_protobuf_FieldOptions_feature_support(const google_protobuf_FieldOptions* msg) { + const google_protobuf_FieldOptions_FeatureSupport* default_val = NULL; + const google_protobuf_FieldOptions_FeatureSupport* ret; + const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__FieldOptions_msg_init(), 22); + _upb_Message_GetNonExtensionField(UPB_UPCAST(msg), &field, + &default_val, &ret); + return ret; +} +UPB_INLINE bool google_protobuf_FieldOptions_has_feature_support(const google_protobuf_FieldOptions* msg) { + const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__FieldOptions_msg_init(), 22); + return upb_Message_HasBaseField(UPB_UPCAST(msg), &field); +} UPB_INLINE void google_protobuf_FieldOptions_clear_uninterpreted_option(google_protobuf_FieldOptions* msg) { const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__FieldOptions_msg_init(), 999); upb_Message_ClearBaseField(UPB_UPCAST(msg), &field); @@ -4303,6 +4321,18 @@ UPB_INLINE struct google_protobuf_FeatureSet* google_protobuf_FieldOptions_mutab } return sub; } +UPB_INLINE void google_protobuf_FieldOptions_set_feature_support(google_protobuf_FieldOptions *msg, google_protobuf_FieldOptions_FeatureSupport* value) { + const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__FieldOptions_msg_init(), 22); + _upb_Message_SetNonExtensionField((upb_Message *)msg, &field, &value); +} +UPB_INLINE struct google_protobuf_FieldOptions_FeatureSupport* google_protobuf_FieldOptions_mutable_feature_support(google_protobuf_FieldOptions* msg, upb_Arena* arena) { + struct google_protobuf_FieldOptions_FeatureSupport* sub = (struct google_protobuf_FieldOptions_FeatureSupport*)google_protobuf_FieldOptions_feature_support(msg); + if (sub == NULL) { + sub = (struct google_protobuf_FieldOptions_FeatureSupport*)_upb_Message_New(google__protobuf__FieldOptions__FeatureSupport_msg_init(), arena); + if (sub) google_protobuf_FieldOptions_set_feature_support(msg, sub); + } + return sub; +} UPB_INLINE google_protobuf_UninterpretedOption** google_protobuf_FieldOptions_mutable_uninterpreted_option(google_protobuf_FieldOptions* msg, size_t* size) { upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__FieldOptions_msg_init(), 999); upb_Array* arr = upb_Message_GetMutableArray(UPB_UPCAST(msg), &field); @@ -4412,6 +4442,124 @@ UPB_INLINE void google_protobuf_FieldOptions_EditionDefault_set_edition(google_p _upb_Message_SetNonExtensionField((upb_Message *)msg, &field, &value); } +/* google.protobuf.FieldOptions.FeatureSupport */ + +UPB_INLINE google_protobuf_FieldOptions_FeatureSupport* google_protobuf_FieldOptions_FeatureSupport_new(upb_Arena* arena) { + return (google_protobuf_FieldOptions_FeatureSupport*)_upb_Message_New(google__protobuf__FieldOptions__FeatureSupport_msg_init(), arena); +} +UPB_INLINE google_protobuf_FieldOptions_FeatureSupport* google_protobuf_FieldOptions_FeatureSupport_parse(const char* buf, size_t size, upb_Arena* arena) { + google_protobuf_FieldOptions_FeatureSupport* ret = google_protobuf_FieldOptions_FeatureSupport_new(arena); + if (!ret) return NULL; + if (upb_Decode(buf, size, UPB_UPCAST(ret), google__protobuf__FieldOptions__FeatureSupport_msg_init(), NULL, 0, arena) != + kUpb_DecodeStatus_Ok) { + return NULL; + } + return ret; +} +UPB_INLINE google_protobuf_FieldOptions_FeatureSupport* google_protobuf_FieldOptions_FeatureSupport_parse_ex(const char* buf, size_t size, + const upb_ExtensionRegistry* extreg, + int options, upb_Arena* arena) { + google_protobuf_FieldOptions_FeatureSupport* ret = google_protobuf_FieldOptions_FeatureSupport_new(arena); + if (!ret) return NULL; + if (upb_Decode(buf, size, UPB_UPCAST(ret), google__protobuf__FieldOptions__FeatureSupport_msg_init(), extreg, options, + arena) != kUpb_DecodeStatus_Ok) { + return NULL; + } + return ret; +} +UPB_INLINE char* google_protobuf_FieldOptions_FeatureSupport_serialize(const google_protobuf_FieldOptions_FeatureSupport* msg, upb_Arena* arena, size_t* len) { + char* ptr; + (void)upb_Encode(UPB_UPCAST(msg), google__protobuf__FieldOptions__FeatureSupport_msg_init(), 0, arena, &ptr, len); + return ptr; +} +UPB_INLINE char* google_protobuf_FieldOptions_FeatureSupport_serialize_ex(const google_protobuf_FieldOptions_FeatureSupport* msg, int options, + upb_Arena* arena, size_t* len) { + char* ptr; + (void)upb_Encode(UPB_UPCAST(msg), google__protobuf__FieldOptions__FeatureSupport_msg_init(), options, arena, &ptr, len); + return ptr; +} +UPB_INLINE void google_protobuf_FieldOptions_FeatureSupport_clear_edition_introduced(google_protobuf_FieldOptions_FeatureSupport* msg) { + const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__FieldOptions__FeatureSupport_msg_init(), 1); + upb_Message_ClearBaseField(UPB_UPCAST(msg), &field); +} +UPB_INLINE int32_t google_protobuf_FieldOptions_FeatureSupport_edition_introduced(const google_protobuf_FieldOptions_FeatureSupport* msg) { + int32_t default_val = 0; + int32_t ret; + const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__FieldOptions__FeatureSupport_msg_init(), 1); + _upb_Message_GetNonExtensionField(UPB_UPCAST(msg), &field, + &default_val, &ret); + return ret; +} +UPB_INLINE bool google_protobuf_FieldOptions_FeatureSupport_has_edition_introduced(const google_protobuf_FieldOptions_FeatureSupport* msg) { + const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__FieldOptions__FeatureSupport_msg_init(), 1); + return upb_Message_HasBaseField(UPB_UPCAST(msg), &field); +} +UPB_INLINE void google_protobuf_FieldOptions_FeatureSupport_clear_edition_deprecated(google_protobuf_FieldOptions_FeatureSupport* msg) { + const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__FieldOptions__FeatureSupport_msg_init(), 2); + upb_Message_ClearBaseField(UPB_UPCAST(msg), &field); +} +UPB_INLINE int32_t google_protobuf_FieldOptions_FeatureSupport_edition_deprecated(const google_protobuf_FieldOptions_FeatureSupport* msg) { + int32_t default_val = 0; + int32_t ret; + const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__FieldOptions__FeatureSupport_msg_init(), 2); + _upb_Message_GetNonExtensionField(UPB_UPCAST(msg), &field, + &default_val, &ret); + return ret; +} +UPB_INLINE bool google_protobuf_FieldOptions_FeatureSupport_has_edition_deprecated(const google_protobuf_FieldOptions_FeatureSupport* msg) { + const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__FieldOptions__FeatureSupport_msg_init(), 2); + return upb_Message_HasBaseField(UPB_UPCAST(msg), &field); +} +UPB_INLINE void google_protobuf_FieldOptions_FeatureSupport_clear_deprecation_warning(google_protobuf_FieldOptions_FeatureSupport* msg) { + const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__FieldOptions__FeatureSupport_msg_init(), 3); + upb_Message_ClearBaseField(UPB_UPCAST(msg), &field); +} +UPB_INLINE upb_StringView google_protobuf_FieldOptions_FeatureSupport_deprecation_warning(const google_protobuf_FieldOptions_FeatureSupport* msg) { + upb_StringView default_val = upb_StringView_FromString(""); + upb_StringView ret; + const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__FieldOptions__FeatureSupport_msg_init(), 3); + _upb_Message_GetNonExtensionField(UPB_UPCAST(msg), &field, + &default_val, &ret); + return ret; +} +UPB_INLINE bool google_protobuf_FieldOptions_FeatureSupport_has_deprecation_warning(const google_protobuf_FieldOptions_FeatureSupport* msg) { + const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__FieldOptions__FeatureSupport_msg_init(), 3); + return upb_Message_HasBaseField(UPB_UPCAST(msg), &field); +} +UPB_INLINE void google_protobuf_FieldOptions_FeatureSupport_clear_edition_removed(google_protobuf_FieldOptions_FeatureSupport* msg) { + const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__FieldOptions__FeatureSupport_msg_init(), 4); + upb_Message_ClearBaseField(UPB_UPCAST(msg), &field); +} +UPB_INLINE int32_t google_protobuf_FieldOptions_FeatureSupport_edition_removed(const google_protobuf_FieldOptions_FeatureSupport* msg) { + int32_t default_val = 0; + int32_t ret; + const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__FieldOptions__FeatureSupport_msg_init(), 4); + _upb_Message_GetNonExtensionField(UPB_UPCAST(msg), &field, + &default_val, &ret); + return ret; +} +UPB_INLINE bool google_protobuf_FieldOptions_FeatureSupport_has_edition_removed(const google_protobuf_FieldOptions_FeatureSupport* msg) { + const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__FieldOptions__FeatureSupport_msg_init(), 4); + return upb_Message_HasBaseField(UPB_UPCAST(msg), &field); +} + +UPB_INLINE void google_protobuf_FieldOptions_FeatureSupport_set_edition_introduced(google_protobuf_FieldOptions_FeatureSupport *msg, int32_t value) { + const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__FieldOptions__FeatureSupport_msg_init(), 1); + _upb_Message_SetNonExtensionField((upb_Message *)msg, &field, &value); +} +UPB_INLINE void google_protobuf_FieldOptions_FeatureSupport_set_edition_deprecated(google_protobuf_FieldOptions_FeatureSupport *msg, int32_t value) { + const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__FieldOptions__FeatureSupport_msg_init(), 2); + _upb_Message_SetNonExtensionField((upb_Message *)msg, &field, &value); +} +UPB_INLINE void google_protobuf_FieldOptions_FeatureSupport_set_deprecation_warning(google_protobuf_FieldOptions_FeatureSupport *msg, upb_StringView value) { + const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__FieldOptions__FeatureSupport_msg_init(), 3); + _upb_Message_SetNonExtensionField((upb_Message *)msg, &field, &value); +} +UPB_INLINE void google_protobuf_FieldOptions_FeatureSupport_set_edition_removed(google_protobuf_FieldOptions_FeatureSupport *msg, int32_t value) { + const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__FieldOptions__FeatureSupport_msg_init(), 4); + _upb_Message_SetNonExtensionField((upb_Message *)msg, &field, &value); +} + /* google.protobuf.OneofOptions */ UPB_INLINE google_protobuf_OneofOptions* google_protobuf_OneofOptions_new(upb_Arena* arena) { @@ -5876,6 +6024,38 @@ UPB_INLINE bool google_protobuf_FeatureSetDefaults_FeatureSetEditionDefault_has_ const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__FeatureSetDefaults__FeatureSetEditionDefault_msg_init(), 3); return upb_Message_HasBaseField(UPB_UPCAST(msg), &field); } +UPB_INLINE void google_protobuf_FeatureSetDefaults_FeatureSetEditionDefault_clear_overridable_features(google_protobuf_FeatureSetDefaults_FeatureSetEditionDefault* msg) { + const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__FeatureSetDefaults__FeatureSetEditionDefault_msg_init(), 4); + upb_Message_ClearBaseField(UPB_UPCAST(msg), &field); +} +UPB_INLINE const google_protobuf_FeatureSet* google_protobuf_FeatureSetDefaults_FeatureSetEditionDefault_overridable_features(const google_protobuf_FeatureSetDefaults_FeatureSetEditionDefault* msg) { + const google_protobuf_FeatureSet* default_val = NULL; + const google_protobuf_FeatureSet* ret; + const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__FeatureSetDefaults__FeatureSetEditionDefault_msg_init(), 4); + _upb_Message_GetNonExtensionField(UPB_UPCAST(msg), &field, + &default_val, &ret); + return ret; +} +UPB_INLINE bool google_protobuf_FeatureSetDefaults_FeatureSetEditionDefault_has_overridable_features(const google_protobuf_FeatureSetDefaults_FeatureSetEditionDefault* msg) { + const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__FeatureSetDefaults__FeatureSetEditionDefault_msg_init(), 4); + return upb_Message_HasBaseField(UPB_UPCAST(msg), &field); +} +UPB_INLINE void google_protobuf_FeatureSetDefaults_FeatureSetEditionDefault_clear_fixed_features(google_protobuf_FeatureSetDefaults_FeatureSetEditionDefault* msg) { + const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__FeatureSetDefaults__FeatureSetEditionDefault_msg_init(), 5); + upb_Message_ClearBaseField(UPB_UPCAST(msg), &field); +} +UPB_INLINE const google_protobuf_FeatureSet* google_protobuf_FeatureSetDefaults_FeatureSetEditionDefault_fixed_features(const google_protobuf_FeatureSetDefaults_FeatureSetEditionDefault* msg) { + const google_protobuf_FeatureSet* default_val = NULL; + const google_protobuf_FeatureSet* ret; + const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__FeatureSetDefaults__FeatureSetEditionDefault_msg_init(), 5); + _upb_Message_GetNonExtensionField(UPB_UPCAST(msg), &field, + &default_val, &ret); + return ret; +} +UPB_INLINE bool google_protobuf_FeatureSetDefaults_FeatureSetEditionDefault_has_fixed_features(const google_protobuf_FeatureSetDefaults_FeatureSetEditionDefault* msg) { + const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__FeatureSetDefaults__FeatureSetEditionDefault_msg_init(), 5); + return upb_Message_HasBaseField(UPB_UPCAST(msg), &field); +} UPB_INLINE void google_protobuf_FeatureSetDefaults_FeatureSetEditionDefault_set_features(google_protobuf_FeatureSetDefaults_FeatureSetEditionDefault *msg, google_protobuf_FeatureSet* value) { const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__FeatureSetDefaults__FeatureSetEditionDefault_msg_init(), 2); @@ -5893,6 +6073,30 @@ UPB_INLINE void google_protobuf_FeatureSetDefaults_FeatureSetEditionDefault_set_ const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__FeatureSetDefaults__FeatureSetEditionDefault_msg_init(), 3); _upb_Message_SetNonExtensionField((upb_Message *)msg, &field, &value); } +UPB_INLINE void google_protobuf_FeatureSetDefaults_FeatureSetEditionDefault_set_overridable_features(google_protobuf_FeatureSetDefaults_FeatureSetEditionDefault *msg, google_protobuf_FeatureSet* value) { + const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__FeatureSetDefaults__FeatureSetEditionDefault_msg_init(), 4); + _upb_Message_SetNonExtensionField((upb_Message *)msg, &field, &value); +} +UPB_INLINE struct google_protobuf_FeatureSet* google_protobuf_FeatureSetDefaults_FeatureSetEditionDefault_mutable_overridable_features(google_protobuf_FeatureSetDefaults_FeatureSetEditionDefault* msg, upb_Arena* arena) { + struct google_protobuf_FeatureSet* sub = (struct google_protobuf_FeatureSet*)google_protobuf_FeatureSetDefaults_FeatureSetEditionDefault_overridable_features(msg); + if (sub == NULL) { + sub = (struct google_protobuf_FeatureSet*)_upb_Message_New(google__protobuf__FeatureSet_msg_init(), arena); + if (sub) google_protobuf_FeatureSetDefaults_FeatureSetEditionDefault_set_overridable_features(msg, sub); + } + return sub; +} +UPB_INLINE void google_protobuf_FeatureSetDefaults_FeatureSetEditionDefault_set_fixed_features(google_protobuf_FeatureSetDefaults_FeatureSetEditionDefault *msg, google_protobuf_FeatureSet* value) { + const upb_MiniTableField field = *upb_MiniTable_FindFieldByNumber(google__protobuf__FeatureSetDefaults__FeatureSetEditionDefault_msg_init(), 5); + _upb_Message_SetNonExtensionField((upb_Message *)msg, &field, &value); +} +UPB_INLINE struct google_protobuf_FeatureSet* google_protobuf_FeatureSetDefaults_FeatureSetEditionDefault_mutable_fixed_features(google_protobuf_FeatureSetDefaults_FeatureSetEditionDefault* msg, upb_Arena* arena) { + struct google_protobuf_FeatureSet* sub = (struct google_protobuf_FeatureSet*)google_protobuf_FeatureSetDefaults_FeatureSetEditionDefault_fixed_features(msg); + if (sub == NULL) { + sub = (struct google_protobuf_FeatureSet*)_upb_Message_New(google__protobuf__FeatureSet_msg_init(), arena); + if (sub) google_protobuf_FeatureSetDefaults_FeatureSetEditionDefault_set_fixed_features(msg, sub); + } + return sub; +} /* google.protobuf.SourceCodeInfo */