#[derive(Clone, Debug, Default)]
pub struct FileDescriptorSetView<'a> {
pub file: ::buffa::RepeatedView<
'a,
super::super::__buffa::view::FileDescriptorProtoView<'a>,
>,
pub __buffa_unknown_fields: ::buffa::UnknownFieldsView<'a>,
}
impl<'a> FileDescriptorSetView<'a> {
#[doc(hidden)]
pub fn _decode_depth(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
let mut view = Self::default();
view._merge_into_view(buf, depth)?;
::core::result::Result::Ok(view)
}
#[doc(hidden)]
pub fn _merge_into_view(
&mut self,
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<(), ::buffa::DecodeError> {
let _ = depth;
#[allow(unused_variables)]
let view = self;
let mut cur: &'a [u8] = buf;
while !cur.is_empty() {
let before_tag = cur;
let tag = ::buffa::encoding::Tag::decode(&mut cur)?;
match tag.field_number() {
1u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 1u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
view.file
.push(
super::super::__buffa::view::FileDescriptorProtoView::_decode_depth(
sub,
depth - 1,
)?,
);
}
_ => {
::buffa::encoding::skip_field_depth(tag, &mut cur, depth)?;
let span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..span_len]);
}
}
}
::core::result::Result::Ok(())
}
}
impl<'a> ::buffa::MessageView<'a> for FileDescriptorSetView<'a> {
type Owned = super::super::FileDescriptorSet;
fn decode_view(buf: &'a [u8]) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, ::buffa::RECURSION_LIMIT)
}
fn decode_view_with_limit(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, depth)
}
fn to_owned_message(&self) -> super::super::FileDescriptorSet {
self.to_owned_from_source(None)
}
#[allow(clippy::useless_conversion, clippy::needless_update)]
fn to_owned_from_source(
&self,
__buffa_src: ::core::option::Option<&::buffa::bytes::Bytes>,
) -> super::super::FileDescriptorSet {
#[allow(unused_imports)]
use ::buffa::alloc::string::ToString as _;
let _ = __buffa_src;
super::super::FileDescriptorSet {
file: self
.file
.iter()
.map(|v| v.to_owned_from_source(__buffa_src))
.collect(),
__buffa_unknown_fields: self
.__buffa_unknown_fields
.to_owned()
.unwrap_or_default()
.into(),
..::core::default::Default::default()
}
}
}
impl<'a> ::buffa::ViewEncode<'a> for FileDescriptorSetView<'a> {
#[allow(clippy::needless_borrow, clippy::let_and_return)]
fn compute_size(&self, __cache: &mut ::buffa::SizeCache) -> u32 {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
let mut size = 0u32;
for v in &self.file {
let __slot = __cache.reserve();
let inner_size = v.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 1u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
size += self.__buffa_unknown_fields.encoded_len() as u32;
size
}
#[allow(clippy::needless_borrow)]
fn write_to(
&self,
__cache: &mut ::buffa::SizeCache,
buf: &mut impl ::buffa::bytes::BufMut,
) {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
for v in &self.file {
::buffa::encoding::Tag::new(
1u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
v.write_to(__cache, buf);
}
self.__buffa_unknown_fields.write_to(buf);
}
}
#[cfg(feature = "json")]
impl<'__a> ::serde::Serialize for FileDescriptorSetView<'__a> {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
use ::serde::ser::SerializeMap as _;
let mut __map = __s.serialize_map(::core::option::Option::None)?;
if !self.file.is_empty() {
__map.serialize_entry("file", &*self.file)?;
}
__map.end()
}
}
impl<'a> ::buffa::MessageName for FileDescriptorSetView<'a> {
const PACKAGE: &'static str = "google.protobuf";
const NAME: &'static str = "FileDescriptorSet";
const FULL_NAME: &'static str = "google.protobuf.FileDescriptorSet";
const TYPE_URL: &'static str = "type.googleapis.com/google.protobuf.FileDescriptorSet";
}
impl<'v> ::buffa::DefaultViewInstance for FileDescriptorSetView<'v> {
fn default_view_instance<'a>() -> &'a Self
where
Self: 'a,
{
static VALUE: ::buffa::__private::OnceBox<FileDescriptorSetView<'static>> = ::buffa::__private::OnceBox::new();
VALUE
.get_or_init(|| ::buffa::alloc::boxed::Box::new(
<FileDescriptorSetView<'static>>::default(),
))
}
}
impl ::buffa::ViewReborrow for FileDescriptorSetView<'static> {
type Reborrowed<'b> = FileDescriptorSetView<'b>;
fn reborrow<'b>(this: &'b Self) -> &'b Self::Reborrowed<'b> {
this
}
}
#[derive(Clone, Debug, Default)]
pub struct FileDescriptorProtoView<'a> {
pub name: ::core::option::Option<&'a str>,
pub package: ::core::option::Option<&'a str>,
pub dependency: ::buffa::RepeatedView<'a, &'a str>,
pub public_dependency: ::buffa::RepeatedView<'a, i32>,
pub weak_dependency: ::buffa::RepeatedView<'a, i32>,
pub option_dependency: ::buffa::RepeatedView<'a, &'a str>,
pub message_type: ::buffa::RepeatedView<
'a,
super::super::__buffa::view::DescriptorProtoView<'a>,
>,
pub enum_type: ::buffa::RepeatedView<
'a,
super::super::__buffa::view::EnumDescriptorProtoView<'a>,
>,
pub service: ::buffa::RepeatedView<
'a,
super::super::__buffa::view::ServiceDescriptorProtoView<'a>,
>,
pub extension: ::buffa::RepeatedView<
'a,
super::super::__buffa::view::FieldDescriptorProtoView<'a>,
>,
pub options: ::buffa::MessageFieldView<
super::super::__buffa::view::FileOptionsView<'a>,
>,
pub source_code_info: ::buffa::MessageFieldView<
super::super::__buffa::view::SourceCodeInfoView<'a>,
>,
pub syntax: ::core::option::Option<&'a str>,
pub edition: ::core::option::Option<super::super::Edition>,
pub __buffa_unknown_fields: ::buffa::UnknownFieldsView<'a>,
}
impl<'a> FileDescriptorProtoView<'a> {
#[doc(hidden)]
pub fn _decode_depth(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
let mut view = Self::default();
view._merge_into_view(buf, depth)?;
::core::result::Result::Ok(view)
}
#[doc(hidden)]
pub fn _merge_into_view(
&mut self,
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<(), ::buffa::DecodeError> {
let _ = depth;
#[allow(unused_variables)]
let view = self;
let mut cur: &'a [u8] = buf;
while !cur.is_empty() {
let before_tag = cur;
let tag = ::buffa::encoding::Tag::decode(&mut cur)?;
match tag.field_number() {
1u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 1u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
view.name = Some(::buffa::types::borrow_str(&mut cur)?);
}
2u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 2u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
view.package = Some(::buffa::types::borrow_str(&mut cur)?);
}
8u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 8u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
match view.options.as_mut() {
Some(existing) => existing._merge_into_view(sub, depth - 1)?,
None => {
view.options = ::buffa::MessageFieldView::set(
super::super::__buffa::view::FileOptionsView::_decode_depth(
sub,
depth - 1,
)?,
);
}
}
}
9u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 9u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
match view.source_code_info.as_mut() {
Some(existing) => existing._merge_into_view(sub, depth - 1)?,
None => {
view.source_code_info = ::buffa::MessageFieldView::set(
super::super::__buffa::view::SourceCodeInfoView::_decode_depth(
sub,
depth - 1,
)?,
);
}
}
}
12u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 12u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
view.syntax = Some(::buffa::types::borrow_str(&mut cur)?);
}
14u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 14u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
let __raw = ::buffa::types::decode_int32(&mut cur)?;
if let ::core::option::Option::Some(__v) = ::buffa::Enumeration::from_i32(
__raw,
) {
view.edition = Some(__v);
} else {
let __span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..__span_len]);
}
}
3u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 3u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
view.dependency.push(::buffa::types::borrow_str(&mut cur)?);
}
10u32 => {
if tag.wire_type() == ::buffa::encoding::WireType::LengthDelimited {
let payload = ::buffa::types::borrow_bytes(&mut cur)?;
let mut pcur: &[u8] = payload;
while !pcur.is_empty() {
view.public_dependency
.push(::buffa::types::decode_int32(&mut pcur)?);
}
} else if tag.wire_type() == ::buffa::encoding::WireType::Varint {
view.public_dependency
.push(::buffa::types::decode_int32(&mut cur)?);
} else {
return Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 10u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
}
11u32 => {
if tag.wire_type() == ::buffa::encoding::WireType::LengthDelimited {
let payload = ::buffa::types::borrow_bytes(&mut cur)?;
let mut pcur: &[u8] = payload;
while !pcur.is_empty() {
view.weak_dependency
.push(::buffa::types::decode_int32(&mut pcur)?);
}
} else if tag.wire_type() == ::buffa::encoding::WireType::Varint {
view.weak_dependency
.push(::buffa::types::decode_int32(&mut cur)?);
} else {
return Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 11u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
}
15u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 15u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
view.option_dependency.push(::buffa::types::borrow_str(&mut cur)?);
}
4u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 4u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
view.message_type
.push(
super::super::__buffa::view::DescriptorProtoView::_decode_depth(
sub,
depth - 1,
)?,
);
}
5u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 5u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
view.enum_type
.push(
super::super::__buffa::view::EnumDescriptorProtoView::_decode_depth(
sub,
depth - 1,
)?,
);
}
6u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 6u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
view.service
.push(
super::super::__buffa::view::ServiceDescriptorProtoView::_decode_depth(
sub,
depth - 1,
)?,
);
}
7u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 7u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
view.extension
.push(
super::super::__buffa::view::FieldDescriptorProtoView::_decode_depth(
sub,
depth - 1,
)?,
);
}
_ => {
::buffa::encoding::skip_field_depth(tag, &mut cur, depth)?;
let span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..span_len]);
}
}
}
::core::result::Result::Ok(())
}
}
impl<'a> ::buffa::MessageView<'a> for FileDescriptorProtoView<'a> {
type Owned = super::super::FileDescriptorProto;
fn decode_view(buf: &'a [u8]) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, ::buffa::RECURSION_LIMIT)
}
fn decode_view_with_limit(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, depth)
}
fn to_owned_message(&self) -> super::super::FileDescriptorProto {
self.to_owned_from_source(None)
}
#[allow(clippy::useless_conversion, clippy::needless_update)]
fn to_owned_from_source(
&self,
__buffa_src: ::core::option::Option<&::buffa::bytes::Bytes>,
) -> super::super::FileDescriptorProto {
#[allow(unused_imports)]
use ::buffa::alloc::string::ToString as _;
let _ = __buffa_src;
super::super::FileDescriptorProto {
name: self.name.map(|s| s.to_string()),
package: self.package.map(|s| s.to_string()),
dependency: self.dependency.iter().map(|s| s.to_string()).collect(),
public_dependency: self.public_dependency.to_vec(),
weak_dependency: self.weak_dependency.to_vec(),
option_dependency: self
.option_dependency
.iter()
.map(|s| s.to_string())
.collect(),
message_type: self
.message_type
.iter()
.map(|v| v.to_owned_from_source(__buffa_src))
.collect(),
enum_type: self
.enum_type
.iter()
.map(|v| v.to_owned_from_source(__buffa_src))
.collect(),
service: self
.service
.iter()
.map(|v| v.to_owned_from_source(__buffa_src))
.collect(),
extension: self
.extension
.iter()
.map(|v| v.to_owned_from_source(__buffa_src))
.collect(),
options: match self.options.as_option() {
Some(v) => {
::buffa::MessageField::<
super::super::FileOptions,
>::some(v.to_owned_from_source(__buffa_src))
}
None => ::buffa::MessageField::none(),
},
source_code_info: match self.source_code_info.as_option() {
Some(v) => {
::buffa::MessageField::<
super::super::SourceCodeInfo,
>::some(v.to_owned_from_source(__buffa_src))
}
None => ::buffa::MessageField::none(),
},
syntax: self.syntax.map(|s| s.to_string()),
edition: self.edition,
__buffa_unknown_fields: self
.__buffa_unknown_fields
.to_owned()
.unwrap_or_default()
.into(),
..::core::default::Default::default()
}
}
}
impl<'a> ::buffa::ViewEncode<'a> for FileDescriptorProtoView<'a> {
#[allow(clippy::needless_borrow, clippy::let_and_return)]
fn compute_size(&self, __cache: &mut ::buffa::SizeCache) -> u32 {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
let mut size = 0u32;
if let Some(ref v) = self.name {
size += 1u32 + ::buffa::types::string_encoded_len(v) as u32;
}
if let Some(ref v) = self.package {
size += 1u32 + ::buffa::types::string_encoded_len(v) as u32;
}
for v in &self.dependency {
size += 1u32 + ::buffa::types::string_encoded_len(v) as u32;
}
for v in &self.message_type {
let __slot = __cache.reserve();
let inner_size = v.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 1u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
for v in &self.enum_type {
let __slot = __cache.reserve();
let inner_size = v.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 1u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
for v in &self.service {
let __slot = __cache.reserve();
let inner_size = v.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 1u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
for v in &self.extension {
let __slot = __cache.reserve();
let inner_size = v.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 1u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
if self.options.is_set() {
let __slot = __cache.reserve();
let inner_size = self.options.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 1u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
if self.source_code_info.is_set() {
let __slot = __cache.reserve();
let inner_size = self.source_code_info.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 1u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
for v in &self.public_dependency {
size += 1u32 + ::buffa::types::int32_encoded_len(*v) as u32;
}
for v in &self.weak_dependency {
size += 1u32 + ::buffa::types::int32_encoded_len(*v) as u32;
}
if let Some(ref v) = self.syntax {
size += 1u32 + ::buffa::types::string_encoded_len(v) as u32;
}
if let Some(ref v) = self.edition {
size += 1u32 + ::buffa::types::int32_encoded_len(v.to_i32()) as u32;
}
for v in &self.option_dependency {
size += 1u32 + ::buffa::types::string_encoded_len(v) as u32;
}
size += self.__buffa_unknown_fields.encoded_len() as u32;
size
}
#[allow(clippy::needless_borrow)]
fn write_to(
&self,
__cache: &mut ::buffa::SizeCache,
buf: &mut impl ::buffa::bytes::BufMut,
) {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
if let Some(ref v) = self.name {
::buffa::encoding::Tag::new(
1u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::types::encode_string(v, buf);
}
if let Some(ref v) = self.package {
::buffa::encoding::Tag::new(
2u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::types::encode_string(v, buf);
}
for v in &self.dependency {
::buffa::encoding::Tag::new(
3u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::types::encode_string(v, buf);
}
for v in &self.message_type {
::buffa::encoding::Tag::new(
4u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
v.write_to(__cache, buf);
}
for v in &self.enum_type {
::buffa::encoding::Tag::new(
5u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
v.write_to(__cache, buf);
}
for v in &self.service {
::buffa::encoding::Tag::new(
6u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
v.write_to(__cache, buf);
}
for v in &self.extension {
::buffa::encoding::Tag::new(
7u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
v.write_to(__cache, buf);
}
if self.options.is_set() {
::buffa::encoding::Tag::new(
8u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
self.options.write_to(__cache, buf);
}
if self.source_code_info.is_set() {
::buffa::encoding::Tag::new(
9u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
self.source_code_info.write_to(__cache, buf);
}
for v in &self.public_dependency {
::buffa::encoding::Tag::new(10u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_int32(*v, buf);
}
for v in &self.weak_dependency {
::buffa::encoding::Tag::new(11u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_int32(*v, buf);
}
if let Some(ref v) = self.syntax {
::buffa::encoding::Tag::new(
12u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::types::encode_string(v, buf);
}
if let Some(ref v) = self.edition {
::buffa::encoding::Tag::new(14u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_int32(v.to_i32(), buf);
}
for v in &self.option_dependency {
::buffa::encoding::Tag::new(
15u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::types::encode_string(v, buf);
}
self.__buffa_unknown_fields.write_to(buf);
}
}
#[cfg(feature = "json")]
impl<'__a> ::serde::Serialize for FileDescriptorProtoView<'__a> {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
use ::serde::ser::SerializeMap as _;
let mut __map = __s.serialize_map(::core::option::Option::None)?;
if let ::core::option::Option::Some(__v) = self.name {
__map.serialize_entry("name", __v)?;
}
if let ::core::option::Option::Some(__v) = self.package {
__map.serialize_entry("package", __v)?;
}
if !self.dependency.is_empty() {
__map.serialize_entry("dependency", &*self.dependency)?;
}
if !self.public_dependency.is_empty() {
struct _WSeq<'__x>(&'__x [i32]);
impl ::serde::Serialize for _WSeq<'_> {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::proto_seq::serialize(self.0, __s)
}
}
__map.serialize_entry("publicDependency", &_WSeq(&self.public_dependency))?;
}
if !self.weak_dependency.is_empty() {
struct _WSeq<'__x>(&'__x [i32]);
impl ::serde::Serialize for _WSeq<'_> {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::proto_seq::serialize(self.0, __s)
}
}
__map.serialize_entry("weakDependency", &_WSeq(&self.weak_dependency))?;
}
if !self.option_dependency.is_empty() {
__map.serialize_entry("optionDependency", &*self.option_dependency)?;
}
if !self.message_type.is_empty() {
__map.serialize_entry("messageType", &*self.message_type)?;
}
if !self.enum_type.is_empty() {
__map.serialize_entry("enumType", &*self.enum_type)?;
}
if !self.service.is_empty() {
__map.serialize_entry("service", &*self.service)?;
}
if !self.extension.is_empty() {
__map.serialize_entry("extension", &*self.extension)?;
}
{
if let ::core::option::Option::Some(__v) = self.options.as_option() {
__map.serialize_entry("options", __v)?;
}
}
{
if let ::core::option::Option::Some(__v) = self.source_code_info.as_option()
{
__map.serialize_entry("sourceCodeInfo", __v)?;
}
}
if let ::core::option::Option::Some(__v) = self.syntax {
__map.serialize_entry("syntax", __v)?;
}
if let ::core::option::Option::Some(__v) = self.edition {
struct _W(super::super::Edition);
impl ::serde::Serialize for _W {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::closed_enum::serialize(&self.0, __s)
}
}
__map.serialize_entry("edition", &_W(__v))?;
}
__map.end()
}
}
impl<'a> ::buffa::MessageName for FileDescriptorProtoView<'a> {
const PACKAGE: &'static str = "google.protobuf";
const NAME: &'static str = "FileDescriptorProto";
const FULL_NAME: &'static str = "google.protobuf.FileDescriptorProto";
const TYPE_URL: &'static str = "type.googleapis.com/google.protobuf.FileDescriptorProto";
}
impl<'v> ::buffa::DefaultViewInstance for FileDescriptorProtoView<'v> {
fn default_view_instance<'a>() -> &'a Self
where
Self: 'a,
{
static VALUE: ::buffa::__private::OnceBox<FileDescriptorProtoView<'static>> = ::buffa::__private::OnceBox::new();
VALUE
.get_or_init(|| ::buffa::alloc::boxed::Box::new(
<FileDescriptorProtoView<'static>>::default(),
))
}
}
impl ::buffa::ViewReborrow for FileDescriptorProtoView<'static> {
type Reborrowed<'b> = FileDescriptorProtoView<'b>;
fn reborrow<'b>(this: &'b Self) -> &'b Self::Reborrowed<'b> {
this
}
}
#[derive(Clone, Debug, Default)]
pub struct DescriptorProtoView<'a> {
pub name: ::core::option::Option<&'a str>,
pub field: ::buffa::RepeatedView<
'a,
super::super::__buffa::view::FieldDescriptorProtoView<'a>,
>,
pub extension: ::buffa::RepeatedView<
'a,
super::super::__buffa::view::FieldDescriptorProtoView<'a>,
>,
pub nested_type: ::buffa::RepeatedView<'a, Self>,
pub enum_type: ::buffa::RepeatedView<
'a,
super::super::__buffa::view::EnumDescriptorProtoView<'a>,
>,
pub extension_range: ::buffa::RepeatedView<
'a,
super::super::__buffa::view::descriptor_proto::ExtensionRangeView<'a>,
>,
pub oneof_decl: ::buffa::RepeatedView<
'a,
super::super::__buffa::view::OneofDescriptorProtoView<'a>,
>,
pub options: ::buffa::MessageFieldView<
super::super::__buffa::view::MessageOptionsView<'a>,
>,
pub reserved_range: ::buffa::RepeatedView<
'a,
super::super::__buffa::view::descriptor_proto::ReservedRangeView<'a>,
>,
pub reserved_name: ::buffa::RepeatedView<'a, &'a str>,
pub visibility: ::core::option::Option<super::super::SymbolVisibility>,
pub __buffa_unknown_fields: ::buffa::UnknownFieldsView<'a>,
}
impl<'a> DescriptorProtoView<'a> {
#[doc(hidden)]
pub fn _decode_depth(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
let mut view = Self::default();
view._merge_into_view(buf, depth)?;
::core::result::Result::Ok(view)
}
#[doc(hidden)]
pub fn _merge_into_view(
&mut self,
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<(), ::buffa::DecodeError> {
let _ = depth;
#[allow(unused_variables)]
let view = self;
let mut cur: &'a [u8] = buf;
while !cur.is_empty() {
let before_tag = cur;
let tag = ::buffa::encoding::Tag::decode(&mut cur)?;
match tag.field_number() {
1u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 1u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
view.name = Some(::buffa::types::borrow_str(&mut cur)?);
}
7u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 7u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
match view.options.as_mut() {
Some(existing) => existing._merge_into_view(sub, depth - 1)?,
None => {
view.options = ::buffa::MessageFieldView::set(
super::super::__buffa::view::MessageOptionsView::_decode_depth(
sub,
depth - 1,
)?,
);
}
}
}
11u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 11u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
let __raw = ::buffa::types::decode_int32(&mut cur)?;
if let ::core::option::Option::Some(__v) = ::buffa::Enumeration::from_i32(
__raw,
) {
view.visibility = Some(__v);
} else {
let __span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..__span_len]);
}
}
2u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 2u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
view.field
.push(
super::super::__buffa::view::FieldDescriptorProtoView::_decode_depth(
sub,
depth - 1,
)?,
);
}
6u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 6u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
view.extension
.push(
super::super::__buffa::view::FieldDescriptorProtoView::_decode_depth(
sub,
depth - 1,
)?,
);
}
3u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 3u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
view.nested_type
.push(
super::super::__buffa::view::DescriptorProtoView::_decode_depth(
sub,
depth - 1,
)?,
);
}
4u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 4u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
view.enum_type
.push(
super::super::__buffa::view::EnumDescriptorProtoView::_decode_depth(
sub,
depth - 1,
)?,
);
}
5u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 5u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
view.extension_range
.push(
super::super::__buffa::view::descriptor_proto::ExtensionRangeView::_decode_depth(
sub,
depth - 1,
)?,
);
}
8u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 8u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
view.oneof_decl
.push(
super::super::__buffa::view::OneofDescriptorProtoView::_decode_depth(
sub,
depth - 1,
)?,
);
}
9u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 9u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
view.reserved_range
.push(
super::super::__buffa::view::descriptor_proto::ReservedRangeView::_decode_depth(
sub,
depth - 1,
)?,
);
}
10u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 10u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
view.reserved_name.push(::buffa::types::borrow_str(&mut cur)?);
}
_ => {
::buffa::encoding::skip_field_depth(tag, &mut cur, depth)?;
let span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..span_len]);
}
}
}
::core::result::Result::Ok(())
}
}
impl<'a> ::buffa::MessageView<'a> for DescriptorProtoView<'a> {
type Owned = super::super::DescriptorProto;
fn decode_view(buf: &'a [u8]) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, ::buffa::RECURSION_LIMIT)
}
fn decode_view_with_limit(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, depth)
}
fn to_owned_message(&self) -> super::super::DescriptorProto {
self.to_owned_from_source(None)
}
#[allow(clippy::useless_conversion, clippy::needless_update)]
fn to_owned_from_source(
&self,
__buffa_src: ::core::option::Option<&::buffa::bytes::Bytes>,
) -> super::super::DescriptorProto {
#[allow(unused_imports)]
use ::buffa::alloc::string::ToString as _;
let _ = __buffa_src;
super::super::DescriptorProto {
name: self.name.map(|s| s.to_string()),
field: self
.field
.iter()
.map(|v| v.to_owned_from_source(__buffa_src))
.collect(),
extension: self
.extension
.iter()
.map(|v| v.to_owned_from_source(__buffa_src))
.collect(),
nested_type: self
.nested_type
.iter()
.map(|v| v.to_owned_from_source(__buffa_src))
.collect(),
enum_type: self
.enum_type
.iter()
.map(|v| v.to_owned_from_source(__buffa_src))
.collect(),
extension_range: self
.extension_range
.iter()
.map(|v| v.to_owned_from_source(__buffa_src))
.collect(),
oneof_decl: self
.oneof_decl
.iter()
.map(|v| v.to_owned_from_source(__buffa_src))
.collect(),
options: match self.options.as_option() {
Some(v) => {
::buffa::MessageField::<
super::super::MessageOptions,
>::some(v.to_owned_from_source(__buffa_src))
}
None => ::buffa::MessageField::none(),
},
reserved_range: self
.reserved_range
.iter()
.map(|v| v.to_owned_from_source(__buffa_src))
.collect(),
reserved_name: self.reserved_name.iter().map(|s| s.to_string()).collect(),
visibility: self.visibility,
__buffa_unknown_fields: self
.__buffa_unknown_fields
.to_owned()
.unwrap_or_default()
.into(),
..::core::default::Default::default()
}
}
}
impl<'a> ::buffa::ViewEncode<'a> for DescriptorProtoView<'a> {
#[allow(clippy::needless_borrow, clippy::let_and_return)]
fn compute_size(&self, __cache: &mut ::buffa::SizeCache) -> u32 {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
let mut size = 0u32;
if let Some(ref v) = self.name {
size += 1u32 + ::buffa::types::string_encoded_len(v) as u32;
}
for v in &self.field {
let __slot = __cache.reserve();
let inner_size = v.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 1u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
for v in &self.nested_type {
let __slot = __cache.reserve();
let inner_size = v.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 1u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
for v in &self.enum_type {
let __slot = __cache.reserve();
let inner_size = v.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 1u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
for v in &self.extension_range {
let __slot = __cache.reserve();
let inner_size = v.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 1u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
for v in &self.extension {
let __slot = __cache.reserve();
let inner_size = v.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 1u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
if self.options.is_set() {
let __slot = __cache.reserve();
let inner_size = self.options.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 1u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
for v in &self.oneof_decl {
let __slot = __cache.reserve();
let inner_size = v.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 1u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
for v in &self.reserved_range {
let __slot = __cache.reserve();
let inner_size = v.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 1u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
for v in &self.reserved_name {
size += 1u32 + ::buffa::types::string_encoded_len(v) as u32;
}
if let Some(ref v) = self.visibility {
size += 1u32 + ::buffa::types::int32_encoded_len(v.to_i32()) as u32;
}
size += self.__buffa_unknown_fields.encoded_len() as u32;
size
}
#[allow(clippy::needless_borrow)]
fn write_to(
&self,
__cache: &mut ::buffa::SizeCache,
buf: &mut impl ::buffa::bytes::BufMut,
) {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
if let Some(ref v) = self.name {
::buffa::encoding::Tag::new(
1u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::types::encode_string(v, buf);
}
for v in &self.field {
::buffa::encoding::Tag::new(
2u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
v.write_to(__cache, buf);
}
for v in &self.nested_type {
::buffa::encoding::Tag::new(
3u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
v.write_to(__cache, buf);
}
for v in &self.enum_type {
::buffa::encoding::Tag::new(
4u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
v.write_to(__cache, buf);
}
for v in &self.extension_range {
::buffa::encoding::Tag::new(
5u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
v.write_to(__cache, buf);
}
for v in &self.extension {
::buffa::encoding::Tag::new(
6u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
v.write_to(__cache, buf);
}
if self.options.is_set() {
::buffa::encoding::Tag::new(
7u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
self.options.write_to(__cache, buf);
}
for v in &self.oneof_decl {
::buffa::encoding::Tag::new(
8u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
v.write_to(__cache, buf);
}
for v in &self.reserved_range {
::buffa::encoding::Tag::new(
9u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
v.write_to(__cache, buf);
}
for v in &self.reserved_name {
::buffa::encoding::Tag::new(
10u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::types::encode_string(v, buf);
}
if let Some(ref v) = self.visibility {
::buffa::encoding::Tag::new(11u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_int32(v.to_i32(), buf);
}
self.__buffa_unknown_fields.write_to(buf);
}
}
#[cfg(feature = "json")]
impl<'__a> ::serde::Serialize for DescriptorProtoView<'__a> {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
use ::serde::ser::SerializeMap as _;
let mut __map = __s.serialize_map(::core::option::Option::None)?;
if let ::core::option::Option::Some(__v) = self.name {
__map.serialize_entry("name", __v)?;
}
if !self.field.is_empty() {
__map.serialize_entry("field", &*self.field)?;
}
if !self.extension.is_empty() {
__map.serialize_entry("extension", &*self.extension)?;
}
if !self.nested_type.is_empty() {
__map.serialize_entry("nestedType", &*self.nested_type)?;
}
if !self.enum_type.is_empty() {
__map.serialize_entry("enumType", &*self.enum_type)?;
}
if !self.extension_range.is_empty() {
__map.serialize_entry("extensionRange", &*self.extension_range)?;
}
if !self.oneof_decl.is_empty() {
__map.serialize_entry("oneofDecl", &*self.oneof_decl)?;
}
{
if let ::core::option::Option::Some(__v) = self.options.as_option() {
__map.serialize_entry("options", __v)?;
}
}
if !self.reserved_range.is_empty() {
__map.serialize_entry("reservedRange", &*self.reserved_range)?;
}
if !self.reserved_name.is_empty() {
__map.serialize_entry("reservedName", &*self.reserved_name)?;
}
if let ::core::option::Option::Some(__v) = self.visibility {
struct _W(super::super::SymbolVisibility);
impl ::serde::Serialize for _W {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::closed_enum::serialize(&self.0, __s)
}
}
__map.serialize_entry("visibility", &_W(__v))?;
}
__map.end()
}
}
impl<'a> ::buffa::MessageName for DescriptorProtoView<'a> {
const PACKAGE: &'static str = "google.protobuf";
const NAME: &'static str = "DescriptorProto";
const FULL_NAME: &'static str = "google.protobuf.DescriptorProto";
const TYPE_URL: &'static str = "type.googleapis.com/google.protobuf.DescriptorProto";
}
impl<'v> ::buffa::DefaultViewInstance for DescriptorProtoView<'v> {
fn default_view_instance<'a>() -> &'a Self
where
Self: 'a,
{
static VALUE: ::buffa::__private::OnceBox<DescriptorProtoView<'static>> = ::buffa::__private::OnceBox::new();
VALUE
.get_or_init(|| ::buffa::alloc::boxed::Box::new(
<DescriptorProtoView<'static>>::default(),
))
}
}
impl ::buffa::ViewReborrow for DescriptorProtoView<'static> {
type Reborrowed<'b> = DescriptorProtoView<'b>;
fn reborrow<'b>(this: &'b Self) -> &'b Self::Reborrowed<'b> {
this
}
}
pub mod descriptor_proto {
#[allow(unused_imports)]
use super::*;
#[derive(Clone, Debug, Default)]
pub struct ExtensionRangeView<'a> {
pub start: ::core::option::Option<i32>,
pub end: ::core::option::Option<i32>,
pub options: ::buffa::MessageFieldView<
super::super::super::__buffa::view::ExtensionRangeOptionsView<'a>,
>,
pub __buffa_unknown_fields: ::buffa::UnknownFieldsView<'a>,
}
impl<'a> ExtensionRangeView<'a> {
#[doc(hidden)]
pub fn _decode_depth(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
let mut view = Self::default();
view._merge_into_view(buf, depth)?;
::core::result::Result::Ok(view)
}
#[doc(hidden)]
pub fn _merge_into_view(
&mut self,
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<(), ::buffa::DecodeError> {
let _ = depth;
#[allow(unused_variables)]
let view = self;
let mut cur: &'a [u8] = buf;
while !cur.is_empty() {
let before_tag = cur;
let tag = ::buffa::encoding::Tag::decode(&mut cur)?;
match tag.field_number() {
1u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 1u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
view.start = Some(::buffa::types::decode_int32(&mut cur)?);
}
2u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 2u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
view.end = Some(::buffa::types::decode_int32(&mut cur)?);
}
3u32 => {
if tag.wire_type()
!= ::buffa::encoding::WireType::LengthDelimited
{
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 3u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
match view.options.as_mut() {
Some(existing) => existing._merge_into_view(sub, depth - 1)?,
None => {
view.options = ::buffa::MessageFieldView::set(
super::super::super::__buffa::view::ExtensionRangeOptionsView::_decode_depth(
sub,
depth - 1,
)?,
);
}
}
}
_ => {
::buffa::encoding::skip_field_depth(tag, &mut cur, depth)?;
let span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..span_len]);
}
}
}
::core::result::Result::Ok(())
}
}
impl<'a> ::buffa::MessageView<'a> for ExtensionRangeView<'a> {
type Owned = super::super::super::descriptor_proto::ExtensionRange;
fn decode_view(
buf: &'a [u8],
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, ::buffa::RECURSION_LIMIT)
}
fn decode_view_with_limit(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, depth)
}
fn to_owned_message(
&self,
) -> super::super::super::descriptor_proto::ExtensionRange {
self.to_owned_from_source(None)
}
#[allow(clippy::useless_conversion, clippy::needless_update)]
fn to_owned_from_source(
&self,
__buffa_src: ::core::option::Option<&::buffa::bytes::Bytes>,
) -> super::super::super::descriptor_proto::ExtensionRange {
#[allow(unused_imports)]
use ::buffa::alloc::string::ToString as _;
let _ = __buffa_src;
super::super::super::descriptor_proto::ExtensionRange {
start: self.start,
end: self.end,
options: match self.options.as_option() {
Some(v) => {
::buffa::MessageField::<
super::super::super::ExtensionRangeOptions,
>::some(v.to_owned_from_source(__buffa_src))
}
None => ::buffa::MessageField::none(),
},
__buffa_unknown_fields: self
.__buffa_unknown_fields
.to_owned()
.unwrap_or_default()
.into(),
..::core::default::Default::default()
}
}
}
impl<'a> ::buffa::ViewEncode<'a> for ExtensionRangeView<'a> {
#[allow(clippy::needless_borrow, clippy::let_and_return)]
fn compute_size(&self, __cache: &mut ::buffa::SizeCache) -> u32 {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
let mut size = 0u32;
if let Some(v) = self.start {
size += 1u32 + ::buffa::types::int32_encoded_len(v) as u32;
}
if let Some(v) = self.end {
size += 1u32 + ::buffa::types::int32_encoded_len(v) as u32;
}
if self.options.is_set() {
let __slot = __cache.reserve();
let inner_size = self.options.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 1u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
size += self.__buffa_unknown_fields.encoded_len() as u32;
size
}
#[allow(clippy::needless_borrow)]
fn write_to(
&self,
__cache: &mut ::buffa::SizeCache,
buf: &mut impl ::buffa::bytes::BufMut,
) {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
if let Some(v) = self.start {
::buffa::encoding::Tag::new(1u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_int32(v, buf);
}
if let Some(v) = self.end {
::buffa::encoding::Tag::new(2u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_int32(v, buf);
}
if self.options.is_set() {
::buffa::encoding::Tag::new(
3u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
self.options.write_to(__cache, buf);
}
self.__buffa_unknown_fields.write_to(buf);
}
}
#[cfg(feature = "json")]
impl<'__a> ::serde::Serialize for ExtensionRangeView<'__a> {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
use ::serde::ser::SerializeMap as _;
let mut __map = __s.serialize_map(::core::option::Option::None)?;
if let ::core::option::Option::Some(__v) = self.start {
struct _W(i32);
impl ::serde::Serialize for _W {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::int32::serialize(&self.0, __s)
}
}
__map.serialize_entry("start", &_W(__v))?;
}
if let ::core::option::Option::Some(__v) = self.end {
struct _W(i32);
impl ::serde::Serialize for _W {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::int32::serialize(&self.0, __s)
}
}
__map.serialize_entry("end", &_W(__v))?;
}
{
if let ::core::option::Option::Some(__v) = self.options.as_option() {
__map.serialize_entry("options", __v)?;
}
}
__map.end()
}
}
impl<'a> ::buffa::MessageName for ExtensionRangeView<'a> {
const PACKAGE: &'static str = "google.protobuf";
const NAME: &'static str = "DescriptorProto.ExtensionRange";
const FULL_NAME: &'static str = "google.protobuf.DescriptorProto.ExtensionRange";
const TYPE_URL: &'static str = "type.googleapis.com/google.protobuf.DescriptorProto.ExtensionRange";
}
impl<'v> ::buffa::DefaultViewInstance for ExtensionRangeView<'v> {
fn default_view_instance<'a>() -> &'a Self
where
Self: 'a,
{
static VALUE: ::buffa::__private::OnceBox<ExtensionRangeView<'static>> = ::buffa::__private::OnceBox::new();
VALUE
.get_or_init(|| ::buffa::alloc::boxed::Box::new(
<ExtensionRangeView<'static>>::default(),
))
}
}
impl ::buffa::ViewReborrow for ExtensionRangeView<'static> {
type Reborrowed<'b> = ExtensionRangeView<'b>;
fn reborrow<'b>(this: &'b Self) -> &'b Self::Reborrowed<'b> {
this
}
}
#[derive(Clone, Debug, Default)]
pub struct ReservedRangeView<'a> {
pub start: ::core::option::Option<i32>,
pub end: ::core::option::Option<i32>,
pub __buffa_unknown_fields: ::buffa::UnknownFieldsView<'a>,
}
impl<'a> ReservedRangeView<'a> {
#[doc(hidden)]
pub fn _decode_depth(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
let mut view = Self::default();
view._merge_into_view(buf, depth)?;
::core::result::Result::Ok(view)
}
#[doc(hidden)]
pub fn _merge_into_view(
&mut self,
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<(), ::buffa::DecodeError> {
let _ = depth;
#[allow(unused_variables)]
let view = self;
let mut cur: &'a [u8] = buf;
while !cur.is_empty() {
let before_tag = cur;
let tag = ::buffa::encoding::Tag::decode(&mut cur)?;
match tag.field_number() {
1u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 1u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
view.start = Some(::buffa::types::decode_int32(&mut cur)?);
}
2u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 2u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
view.end = Some(::buffa::types::decode_int32(&mut cur)?);
}
_ => {
::buffa::encoding::skip_field_depth(tag, &mut cur, depth)?;
let span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..span_len]);
}
}
}
::core::result::Result::Ok(())
}
}
impl<'a> ::buffa::MessageView<'a> for ReservedRangeView<'a> {
type Owned = super::super::super::descriptor_proto::ReservedRange;
fn decode_view(
buf: &'a [u8],
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, ::buffa::RECURSION_LIMIT)
}
fn decode_view_with_limit(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, depth)
}
fn to_owned_message(
&self,
) -> super::super::super::descriptor_proto::ReservedRange {
self.to_owned_from_source(None)
}
#[allow(clippy::useless_conversion, clippy::needless_update)]
fn to_owned_from_source(
&self,
__buffa_src: ::core::option::Option<&::buffa::bytes::Bytes>,
) -> super::super::super::descriptor_proto::ReservedRange {
#[allow(unused_imports)]
use ::buffa::alloc::string::ToString as _;
let _ = __buffa_src;
super::super::super::descriptor_proto::ReservedRange {
start: self.start,
end: self.end,
__buffa_unknown_fields: self
.__buffa_unknown_fields
.to_owned()
.unwrap_or_default()
.into(),
..::core::default::Default::default()
}
}
}
impl<'a> ::buffa::ViewEncode<'a> for ReservedRangeView<'a> {
#[allow(clippy::needless_borrow, clippy::let_and_return)]
fn compute_size(&self, _cache: &mut ::buffa::SizeCache) -> u32 {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
let mut size = 0u32;
if let Some(v) = self.start {
size += 1u32 + ::buffa::types::int32_encoded_len(v) as u32;
}
if let Some(v) = self.end {
size += 1u32 + ::buffa::types::int32_encoded_len(v) as u32;
}
size += self.__buffa_unknown_fields.encoded_len() as u32;
size
}
#[allow(clippy::needless_borrow)]
fn write_to(
&self,
_cache: &mut ::buffa::SizeCache,
buf: &mut impl ::buffa::bytes::BufMut,
) {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
if let Some(v) = self.start {
::buffa::encoding::Tag::new(1u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_int32(v, buf);
}
if let Some(v) = self.end {
::buffa::encoding::Tag::new(2u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_int32(v, buf);
}
self.__buffa_unknown_fields.write_to(buf);
}
}
#[cfg(feature = "json")]
impl<'__a> ::serde::Serialize for ReservedRangeView<'__a> {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
use ::serde::ser::SerializeMap as _;
let mut __map = __s.serialize_map(::core::option::Option::None)?;
if let ::core::option::Option::Some(__v) = self.start {
struct _W(i32);
impl ::serde::Serialize for _W {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::int32::serialize(&self.0, __s)
}
}
__map.serialize_entry("start", &_W(__v))?;
}
if let ::core::option::Option::Some(__v) = self.end {
struct _W(i32);
impl ::serde::Serialize for _W {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::int32::serialize(&self.0, __s)
}
}
__map.serialize_entry("end", &_W(__v))?;
}
__map.end()
}
}
impl<'a> ::buffa::MessageName for ReservedRangeView<'a> {
const PACKAGE: &'static str = "google.protobuf";
const NAME: &'static str = "DescriptorProto.ReservedRange";
const FULL_NAME: &'static str = "google.protobuf.DescriptorProto.ReservedRange";
const TYPE_URL: &'static str = "type.googleapis.com/google.protobuf.DescriptorProto.ReservedRange";
}
impl<'v> ::buffa::DefaultViewInstance for ReservedRangeView<'v> {
fn default_view_instance<'a>() -> &'a Self
where
Self: 'a,
{
static VALUE: ::buffa::__private::OnceBox<ReservedRangeView<'static>> = ::buffa::__private::OnceBox::new();
VALUE
.get_or_init(|| ::buffa::alloc::boxed::Box::new(
<ReservedRangeView<'static>>::default(),
))
}
}
impl ::buffa::ViewReborrow for ReservedRangeView<'static> {
type Reborrowed<'b> = ReservedRangeView<'b>;
fn reborrow<'b>(this: &'b Self) -> &'b Self::Reborrowed<'b> {
this
}
}
}
#[derive(Clone, Debug, Default)]
pub struct ExtensionRangeOptionsView<'a> {
pub uninterpreted_option: ::buffa::RepeatedView<
'a,
super::super::__buffa::view::UninterpretedOptionView<'a>,
>,
pub declaration: ::buffa::RepeatedView<
'a,
super::super::__buffa::view::extension_range_options::DeclarationView<'a>,
>,
pub features: ::buffa::MessageFieldView<
super::super::__buffa::view::FeatureSetView<'a>,
>,
pub verification: ::core::option::Option<
super::super::extension_range_options::VerificationState,
>,
pub __buffa_unknown_fields: ::buffa::UnknownFieldsView<'a>,
}
impl<'a> ExtensionRangeOptionsView<'a> {
#[doc(hidden)]
pub fn _decode_depth(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
let mut view = Self::default();
view._merge_into_view(buf, depth)?;
::core::result::Result::Ok(view)
}
#[doc(hidden)]
pub fn _merge_into_view(
&mut self,
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<(), ::buffa::DecodeError> {
let _ = depth;
#[allow(unused_variables)]
let view = self;
let mut cur: &'a [u8] = buf;
while !cur.is_empty() {
let before_tag = cur;
let tag = ::buffa::encoding::Tag::decode(&mut cur)?;
match tag.field_number() {
50u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 50u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
match view.features.as_mut() {
Some(existing) => existing._merge_into_view(sub, depth - 1)?,
None => {
view.features = ::buffa::MessageFieldView::set(
super::super::__buffa::view::FeatureSetView::_decode_depth(
sub,
depth - 1,
)?,
);
}
}
}
3u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 3u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
let __raw = ::buffa::types::decode_int32(&mut cur)?;
if let ::core::option::Option::Some(__v) = ::buffa::Enumeration::from_i32(
__raw,
) {
view.verification = Some(__v);
} else {
let __span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..__span_len]);
}
}
999u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 999u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
view.uninterpreted_option
.push(
super::super::__buffa::view::UninterpretedOptionView::_decode_depth(
sub,
depth - 1,
)?,
);
}
2u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 2u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
view.declaration
.push(
super::super::__buffa::view::extension_range_options::DeclarationView::_decode_depth(
sub,
depth - 1,
)?,
);
}
_ => {
::buffa::encoding::skip_field_depth(tag, &mut cur, depth)?;
let span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..span_len]);
}
}
}
::core::result::Result::Ok(())
}
}
impl<'a> ::buffa::MessageView<'a> for ExtensionRangeOptionsView<'a> {
type Owned = super::super::ExtensionRangeOptions;
fn decode_view(buf: &'a [u8]) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, ::buffa::RECURSION_LIMIT)
}
fn decode_view_with_limit(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, depth)
}
fn to_owned_message(&self) -> super::super::ExtensionRangeOptions {
self.to_owned_from_source(None)
}
#[allow(clippy::useless_conversion, clippy::needless_update)]
fn to_owned_from_source(
&self,
__buffa_src: ::core::option::Option<&::buffa::bytes::Bytes>,
) -> super::super::ExtensionRangeOptions {
#[allow(unused_imports)]
use ::buffa::alloc::string::ToString as _;
let _ = __buffa_src;
super::super::ExtensionRangeOptions {
uninterpreted_option: self
.uninterpreted_option
.iter()
.map(|v| v.to_owned_from_source(__buffa_src))
.collect(),
declaration: self
.declaration
.iter()
.map(|v| v.to_owned_from_source(__buffa_src))
.collect(),
features: match self.features.as_option() {
Some(v) => {
::buffa::MessageField::<
super::super::FeatureSet,
>::some(v.to_owned_from_source(__buffa_src))
}
None => ::buffa::MessageField::none(),
},
verification: self.verification,
__buffa_unknown_fields: self
.__buffa_unknown_fields
.to_owned()
.unwrap_or_default()
.into(),
..::core::default::Default::default()
}
}
}
impl<'a> ::buffa::ViewEncode<'a> for ExtensionRangeOptionsView<'a> {
#[allow(clippy::needless_borrow, clippy::let_and_return)]
fn compute_size(&self, __cache: &mut ::buffa::SizeCache) -> u32 {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
let mut size = 0u32;
for v in &self.declaration {
let __slot = __cache.reserve();
let inner_size = v.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 1u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
if let Some(ref v) = self.verification {
size += 1u32 + ::buffa::types::int32_encoded_len(v.to_i32()) as u32;
}
if self.features.is_set() {
let __slot = __cache.reserve();
let inner_size = self.features.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 2u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
for v in &self.uninterpreted_option {
let __slot = __cache.reserve();
let inner_size = v.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 2u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
size += self.__buffa_unknown_fields.encoded_len() as u32;
size
}
#[allow(clippy::needless_borrow)]
fn write_to(
&self,
__cache: &mut ::buffa::SizeCache,
buf: &mut impl ::buffa::bytes::BufMut,
) {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
for v in &self.declaration {
::buffa::encoding::Tag::new(
2u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
v.write_to(__cache, buf);
}
if let Some(ref v) = self.verification {
::buffa::encoding::Tag::new(3u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_int32(v.to_i32(), buf);
}
if self.features.is_set() {
::buffa::encoding::Tag::new(
50u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
self.features.write_to(__cache, buf);
}
for v in &self.uninterpreted_option {
::buffa::encoding::Tag::new(
999u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
v.write_to(__cache, buf);
}
self.__buffa_unknown_fields.write_to(buf);
}
}
#[cfg(feature = "json")]
impl<'__a> ::serde::Serialize for ExtensionRangeOptionsView<'__a> {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
use ::serde::ser::SerializeMap as _;
let mut __map = __s.serialize_map(::core::option::Option::None)?;
if !self.uninterpreted_option.is_empty() {
__map.serialize_entry("uninterpretedOption", &*self.uninterpreted_option)?;
}
if !self.declaration.is_empty() {
__map.serialize_entry("declaration", &*self.declaration)?;
}
{
if let ::core::option::Option::Some(__v) = self.features.as_option() {
__map.serialize_entry("features", __v)?;
}
}
if let ::core::option::Option::Some(__v) = self.verification {
struct _W(super::super::extension_range_options::VerificationState);
impl ::serde::Serialize for _W {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::closed_enum::serialize(&self.0, __s)
}
}
__map.serialize_entry("verification", &_W(__v))?;
}
__map.end()
}
}
impl<'a> ::buffa::MessageName for ExtensionRangeOptionsView<'a> {
const PACKAGE: &'static str = "google.protobuf";
const NAME: &'static str = "ExtensionRangeOptions";
const FULL_NAME: &'static str = "google.protobuf.ExtensionRangeOptions";
const TYPE_URL: &'static str = "type.googleapis.com/google.protobuf.ExtensionRangeOptions";
}
impl<'v> ::buffa::DefaultViewInstance for ExtensionRangeOptionsView<'v> {
fn default_view_instance<'a>() -> &'a Self
where
Self: 'a,
{
static VALUE: ::buffa::__private::OnceBox<ExtensionRangeOptionsView<'static>> = ::buffa::__private::OnceBox::new();
VALUE
.get_or_init(|| ::buffa::alloc::boxed::Box::new(
<ExtensionRangeOptionsView<'static>>::default(),
))
}
}
impl ::buffa::ViewReborrow for ExtensionRangeOptionsView<'static> {
type Reborrowed<'b> = ExtensionRangeOptionsView<'b>;
fn reborrow<'b>(this: &'b Self) -> &'b Self::Reborrowed<'b> {
this
}
}
pub mod extension_range_options {
#[allow(unused_imports)]
use super::*;
#[derive(Clone, Debug, Default)]
pub struct DeclarationView<'a> {
pub number: ::core::option::Option<i32>,
pub full_name: ::core::option::Option<&'a str>,
pub r#type: ::core::option::Option<&'a str>,
pub reserved: ::core::option::Option<bool>,
pub repeated: ::core::option::Option<bool>,
pub __buffa_unknown_fields: ::buffa::UnknownFieldsView<'a>,
}
impl<'a> DeclarationView<'a> {
#[doc(hidden)]
pub fn _decode_depth(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
let mut view = Self::default();
view._merge_into_view(buf, depth)?;
::core::result::Result::Ok(view)
}
#[doc(hidden)]
pub fn _merge_into_view(
&mut self,
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<(), ::buffa::DecodeError> {
let _ = depth;
#[allow(unused_variables)]
let view = self;
let mut cur: &'a [u8] = buf;
while !cur.is_empty() {
let before_tag = cur;
let tag = ::buffa::encoding::Tag::decode(&mut cur)?;
match tag.field_number() {
1u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 1u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
view.number = Some(::buffa::types::decode_int32(&mut cur)?);
}
2u32 => {
if tag.wire_type()
!= ::buffa::encoding::WireType::LengthDelimited
{
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 2u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
view.full_name = Some(::buffa::types::borrow_str(&mut cur)?);
}
3u32 => {
if tag.wire_type()
!= ::buffa::encoding::WireType::LengthDelimited
{
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 3u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
view.r#type = Some(::buffa::types::borrow_str(&mut cur)?);
}
5u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 5u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
view.reserved = Some(::buffa::types::decode_bool(&mut cur)?);
}
6u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 6u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
view.repeated = Some(::buffa::types::decode_bool(&mut cur)?);
}
_ => {
::buffa::encoding::skip_field_depth(tag, &mut cur, depth)?;
let span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..span_len]);
}
}
}
::core::result::Result::Ok(())
}
}
impl<'a> ::buffa::MessageView<'a> for DeclarationView<'a> {
type Owned = super::super::super::extension_range_options::Declaration;
fn decode_view(
buf: &'a [u8],
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, ::buffa::RECURSION_LIMIT)
}
fn decode_view_with_limit(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, depth)
}
fn to_owned_message(
&self,
) -> super::super::super::extension_range_options::Declaration {
self.to_owned_from_source(None)
}
#[allow(clippy::useless_conversion, clippy::needless_update)]
fn to_owned_from_source(
&self,
__buffa_src: ::core::option::Option<&::buffa::bytes::Bytes>,
) -> super::super::super::extension_range_options::Declaration {
#[allow(unused_imports)]
use ::buffa::alloc::string::ToString as _;
let _ = __buffa_src;
super::super::super::extension_range_options::Declaration {
number: self.number,
full_name: self.full_name.map(|s| s.to_string()),
r#type: self.r#type.map(|s| s.to_string()),
reserved: self.reserved,
repeated: self.repeated,
__buffa_unknown_fields: self
.__buffa_unknown_fields
.to_owned()
.unwrap_or_default()
.into(),
..::core::default::Default::default()
}
}
}
impl<'a> ::buffa::ViewEncode<'a> for DeclarationView<'a> {
#[allow(clippy::needless_borrow, clippy::let_and_return)]
fn compute_size(&self, _cache: &mut ::buffa::SizeCache) -> u32 {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
let mut size = 0u32;
if let Some(v) = self.number {
size += 1u32 + ::buffa::types::int32_encoded_len(v) as u32;
}
if let Some(ref v) = self.full_name {
size += 1u32 + ::buffa::types::string_encoded_len(v) as u32;
}
if let Some(ref v) = self.r#type {
size += 1u32 + ::buffa::types::string_encoded_len(v) as u32;
}
if self.reserved.is_some() {
size += 1u32 + ::buffa::types::BOOL_ENCODED_LEN as u32;
}
if self.repeated.is_some() {
size += 1u32 + ::buffa::types::BOOL_ENCODED_LEN as u32;
}
size += self.__buffa_unknown_fields.encoded_len() as u32;
size
}
#[allow(clippy::needless_borrow)]
fn write_to(
&self,
_cache: &mut ::buffa::SizeCache,
buf: &mut impl ::buffa::bytes::BufMut,
) {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
if let Some(v) = self.number {
::buffa::encoding::Tag::new(1u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_int32(v, buf);
}
if let Some(ref v) = self.full_name {
::buffa::encoding::Tag::new(
2u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::types::encode_string(v, buf);
}
if let Some(ref v) = self.r#type {
::buffa::encoding::Tag::new(
3u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::types::encode_string(v, buf);
}
if let Some(v) = self.reserved {
::buffa::encoding::Tag::new(5u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_bool(v, buf);
}
if let Some(v) = self.repeated {
::buffa::encoding::Tag::new(6u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_bool(v, buf);
}
self.__buffa_unknown_fields.write_to(buf);
}
}
#[cfg(feature = "json")]
impl<'__a> ::serde::Serialize for DeclarationView<'__a> {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
use ::serde::ser::SerializeMap as _;
let mut __map = __s.serialize_map(::core::option::Option::None)?;
if let ::core::option::Option::Some(__v) = self.number {
struct _W(i32);
impl ::serde::Serialize for _W {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::int32::serialize(&self.0, __s)
}
}
__map.serialize_entry("number", &_W(__v))?;
}
if let ::core::option::Option::Some(__v) = self.full_name {
__map.serialize_entry("fullName", __v)?;
}
if let ::core::option::Option::Some(__v) = self.r#type {
__map.serialize_entry("type", __v)?;
}
if let ::core::option::Option::Some(__v) = self.reserved {
__map.serialize_entry("reserved", &__v)?;
}
if let ::core::option::Option::Some(__v) = self.repeated {
__map.serialize_entry("repeated", &__v)?;
}
__map.end()
}
}
impl<'a> ::buffa::MessageName for DeclarationView<'a> {
const PACKAGE: &'static str = "google.protobuf";
const NAME: &'static str = "ExtensionRangeOptions.Declaration";
const FULL_NAME: &'static str = "google.protobuf.ExtensionRangeOptions.Declaration";
const TYPE_URL: &'static str = "type.googleapis.com/google.protobuf.ExtensionRangeOptions.Declaration";
}
impl<'v> ::buffa::DefaultViewInstance for DeclarationView<'v> {
fn default_view_instance<'a>() -> &'a Self
where
Self: 'a,
{
static VALUE: ::buffa::__private::OnceBox<DeclarationView<'static>> = ::buffa::__private::OnceBox::new();
VALUE
.get_or_init(|| ::buffa::alloc::boxed::Box::new(
<DeclarationView<'static>>::default(),
))
}
}
impl ::buffa::ViewReborrow for DeclarationView<'static> {
type Reborrowed<'b> = DeclarationView<'b>;
fn reborrow<'b>(this: &'b Self) -> &'b Self::Reborrowed<'b> {
this
}
}
}
#[derive(Clone, Debug, Default)]
pub struct FieldDescriptorProtoView<'a> {
pub name: ::core::option::Option<&'a str>,
pub number: ::core::option::Option<i32>,
pub label: ::core::option::Option<super::super::field_descriptor_proto::Label>,
pub r#type: ::core::option::Option<super::super::field_descriptor_proto::Type>,
pub type_name: ::core::option::Option<&'a str>,
pub extendee: ::core::option::Option<&'a str>,
pub default_value: ::core::option::Option<&'a str>,
pub oneof_index: ::core::option::Option<i32>,
pub json_name: ::core::option::Option<&'a str>,
pub options: ::buffa::MessageFieldView<
super::super::__buffa::view::FieldOptionsView<'a>,
>,
pub proto3_optional: ::core::option::Option<bool>,
pub __buffa_unknown_fields: ::buffa::UnknownFieldsView<'a>,
}
impl<'a> FieldDescriptorProtoView<'a> {
#[doc(hidden)]
pub fn _decode_depth(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
let mut view = Self::default();
view._merge_into_view(buf, depth)?;
::core::result::Result::Ok(view)
}
#[doc(hidden)]
pub fn _merge_into_view(
&mut self,
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<(), ::buffa::DecodeError> {
let _ = depth;
#[allow(unused_variables)]
let view = self;
let mut cur: &'a [u8] = buf;
while !cur.is_empty() {
let before_tag = cur;
let tag = ::buffa::encoding::Tag::decode(&mut cur)?;
match tag.field_number() {
1u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 1u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
view.name = Some(::buffa::types::borrow_str(&mut cur)?);
}
3u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 3u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
view.number = Some(::buffa::types::decode_int32(&mut cur)?);
}
4u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 4u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
let __raw = ::buffa::types::decode_int32(&mut cur)?;
if let ::core::option::Option::Some(__v) = ::buffa::Enumeration::from_i32(
__raw,
) {
view.label = Some(__v);
} else {
let __span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..__span_len]);
}
}
5u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 5u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
let __raw = ::buffa::types::decode_int32(&mut cur)?;
if let ::core::option::Option::Some(__v) = ::buffa::Enumeration::from_i32(
__raw,
) {
view.r#type = Some(__v);
} else {
let __span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..__span_len]);
}
}
6u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 6u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
view.type_name = Some(::buffa::types::borrow_str(&mut cur)?);
}
2u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 2u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
view.extendee = Some(::buffa::types::borrow_str(&mut cur)?);
}
7u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 7u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
view.default_value = Some(::buffa::types::borrow_str(&mut cur)?);
}
9u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 9u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
view.oneof_index = Some(::buffa::types::decode_int32(&mut cur)?);
}
10u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 10u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
view.json_name = Some(::buffa::types::borrow_str(&mut cur)?);
}
8u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 8u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
match view.options.as_mut() {
Some(existing) => existing._merge_into_view(sub, depth - 1)?,
None => {
view.options = ::buffa::MessageFieldView::set(
super::super::__buffa::view::FieldOptionsView::_decode_depth(
sub,
depth - 1,
)?,
);
}
}
}
17u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 17u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
view.proto3_optional = Some(::buffa::types::decode_bool(&mut cur)?);
}
_ => {
::buffa::encoding::skip_field_depth(tag, &mut cur, depth)?;
let span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..span_len]);
}
}
}
::core::result::Result::Ok(())
}
}
impl<'a> ::buffa::MessageView<'a> for FieldDescriptorProtoView<'a> {
type Owned = super::super::FieldDescriptorProto;
fn decode_view(buf: &'a [u8]) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, ::buffa::RECURSION_LIMIT)
}
fn decode_view_with_limit(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, depth)
}
fn to_owned_message(&self) -> super::super::FieldDescriptorProto {
self.to_owned_from_source(None)
}
#[allow(clippy::useless_conversion, clippy::needless_update)]
fn to_owned_from_source(
&self,
__buffa_src: ::core::option::Option<&::buffa::bytes::Bytes>,
) -> super::super::FieldDescriptorProto {
#[allow(unused_imports)]
use ::buffa::alloc::string::ToString as _;
let _ = __buffa_src;
super::super::FieldDescriptorProto {
name: self.name.map(|s| s.to_string()),
number: self.number,
label: self.label,
r#type: self.r#type,
type_name: self.type_name.map(|s| s.to_string()),
extendee: self.extendee.map(|s| s.to_string()),
default_value: self.default_value.map(|s| s.to_string()),
oneof_index: self.oneof_index,
json_name: self.json_name.map(|s| s.to_string()),
options: match self.options.as_option() {
Some(v) => {
::buffa::MessageField::<
super::super::FieldOptions,
>::some(v.to_owned_from_source(__buffa_src))
}
None => ::buffa::MessageField::none(),
},
proto3_optional: self.proto3_optional,
__buffa_unknown_fields: self
.__buffa_unknown_fields
.to_owned()
.unwrap_or_default()
.into(),
..::core::default::Default::default()
}
}
}
impl<'a> ::buffa::ViewEncode<'a> for FieldDescriptorProtoView<'a> {
#[allow(clippy::needless_borrow, clippy::let_and_return)]
fn compute_size(&self, __cache: &mut ::buffa::SizeCache) -> u32 {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
let mut size = 0u32;
if let Some(ref v) = self.name {
size += 1u32 + ::buffa::types::string_encoded_len(v) as u32;
}
if let Some(ref v) = self.extendee {
size += 1u32 + ::buffa::types::string_encoded_len(v) as u32;
}
if let Some(v) = self.number {
size += 1u32 + ::buffa::types::int32_encoded_len(v) as u32;
}
if let Some(ref v) = self.label {
size += 1u32 + ::buffa::types::int32_encoded_len(v.to_i32()) as u32;
}
if let Some(ref v) = self.r#type {
size += 1u32 + ::buffa::types::int32_encoded_len(v.to_i32()) as u32;
}
if let Some(ref v) = self.type_name {
size += 1u32 + ::buffa::types::string_encoded_len(v) as u32;
}
if let Some(ref v) = self.default_value {
size += 1u32 + ::buffa::types::string_encoded_len(v) as u32;
}
if self.options.is_set() {
let __slot = __cache.reserve();
let inner_size = self.options.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 1u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
if let Some(v) = self.oneof_index {
size += 1u32 + ::buffa::types::int32_encoded_len(v) as u32;
}
if let Some(ref v) = self.json_name {
size += 1u32 + ::buffa::types::string_encoded_len(v) as u32;
}
if self.proto3_optional.is_some() {
size += 2u32 + ::buffa::types::BOOL_ENCODED_LEN as u32;
}
size += self.__buffa_unknown_fields.encoded_len() as u32;
size
}
#[allow(clippy::needless_borrow)]
fn write_to(
&self,
__cache: &mut ::buffa::SizeCache,
buf: &mut impl ::buffa::bytes::BufMut,
) {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
if let Some(ref v) = self.name {
::buffa::encoding::Tag::new(
1u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::types::encode_string(v, buf);
}
if let Some(ref v) = self.extendee {
::buffa::encoding::Tag::new(
2u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::types::encode_string(v, buf);
}
if let Some(v) = self.number {
::buffa::encoding::Tag::new(3u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_int32(v, buf);
}
if let Some(ref v) = self.label {
::buffa::encoding::Tag::new(4u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_int32(v.to_i32(), buf);
}
if let Some(ref v) = self.r#type {
::buffa::encoding::Tag::new(5u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_int32(v.to_i32(), buf);
}
if let Some(ref v) = self.type_name {
::buffa::encoding::Tag::new(
6u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::types::encode_string(v, buf);
}
if let Some(ref v) = self.default_value {
::buffa::encoding::Tag::new(
7u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::types::encode_string(v, buf);
}
if self.options.is_set() {
::buffa::encoding::Tag::new(
8u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
self.options.write_to(__cache, buf);
}
if let Some(v) = self.oneof_index {
::buffa::encoding::Tag::new(9u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_int32(v, buf);
}
if let Some(ref v) = self.json_name {
::buffa::encoding::Tag::new(
10u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::types::encode_string(v, buf);
}
if let Some(v) = self.proto3_optional {
::buffa::encoding::Tag::new(17u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_bool(v, buf);
}
self.__buffa_unknown_fields.write_to(buf);
}
}
#[cfg(feature = "json")]
impl<'__a> ::serde::Serialize for FieldDescriptorProtoView<'__a> {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
use ::serde::ser::SerializeMap as _;
let mut __map = __s.serialize_map(::core::option::Option::None)?;
if let ::core::option::Option::Some(__v) = self.name {
__map.serialize_entry("name", __v)?;
}
if let ::core::option::Option::Some(__v) = self.number {
struct _W(i32);
impl ::serde::Serialize for _W {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::int32::serialize(&self.0, __s)
}
}
__map.serialize_entry("number", &_W(__v))?;
}
if let ::core::option::Option::Some(__v) = self.label {
struct _W(super::super::field_descriptor_proto::Label);
impl ::serde::Serialize for _W {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::closed_enum::serialize(&self.0, __s)
}
}
__map.serialize_entry("label", &_W(__v))?;
}
if let ::core::option::Option::Some(__v) = self.r#type {
struct _W(super::super::field_descriptor_proto::Type);
impl ::serde::Serialize for _W {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::closed_enum::serialize(&self.0, __s)
}
}
__map.serialize_entry("type", &_W(__v))?;
}
if let ::core::option::Option::Some(__v) = self.type_name {
__map.serialize_entry("typeName", __v)?;
}
if let ::core::option::Option::Some(__v) = self.extendee {
__map.serialize_entry("extendee", __v)?;
}
if let ::core::option::Option::Some(__v) = self.default_value {
__map.serialize_entry("defaultValue", __v)?;
}
if let ::core::option::Option::Some(__v) = self.oneof_index {
struct _W(i32);
impl ::serde::Serialize for _W {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::int32::serialize(&self.0, __s)
}
}
__map.serialize_entry("oneofIndex", &_W(__v))?;
}
if let ::core::option::Option::Some(__v) = self.json_name {
__map.serialize_entry("jsonName", __v)?;
}
{
if let ::core::option::Option::Some(__v) = self.options.as_option() {
__map.serialize_entry("options", __v)?;
}
}
if let ::core::option::Option::Some(__v) = self.proto3_optional {
__map.serialize_entry("proto3Optional", &__v)?;
}
__map.end()
}
}
impl<'a> ::buffa::MessageName for FieldDescriptorProtoView<'a> {
const PACKAGE: &'static str = "google.protobuf";
const NAME: &'static str = "FieldDescriptorProto";
const FULL_NAME: &'static str = "google.protobuf.FieldDescriptorProto";
const TYPE_URL: &'static str = "type.googleapis.com/google.protobuf.FieldDescriptorProto";
}
impl<'v> ::buffa::DefaultViewInstance for FieldDescriptorProtoView<'v> {
fn default_view_instance<'a>() -> &'a Self
where
Self: 'a,
{
static VALUE: ::buffa::__private::OnceBox<FieldDescriptorProtoView<'static>> = ::buffa::__private::OnceBox::new();
VALUE
.get_or_init(|| ::buffa::alloc::boxed::Box::new(
<FieldDescriptorProtoView<'static>>::default(),
))
}
}
impl ::buffa::ViewReborrow for FieldDescriptorProtoView<'static> {
type Reborrowed<'b> = FieldDescriptorProtoView<'b>;
fn reborrow<'b>(this: &'b Self) -> &'b Self::Reborrowed<'b> {
this
}
}
#[derive(Clone, Debug, Default)]
pub struct OneofDescriptorProtoView<'a> {
pub name: ::core::option::Option<&'a str>,
pub options: ::buffa::MessageFieldView<
super::super::__buffa::view::OneofOptionsView<'a>,
>,
pub __buffa_unknown_fields: ::buffa::UnknownFieldsView<'a>,
}
impl<'a> OneofDescriptorProtoView<'a> {
#[doc(hidden)]
pub fn _decode_depth(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
let mut view = Self::default();
view._merge_into_view(buf, depth)?;
::core::result::Result::Ok(view)
}
#[doc(hidden)]
pub fn _merge_into_view(
&mut self,
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<(), ::buffa::DecodeError> {
let _ = depth;
#[allow(unused_variables)]
let view = self;
let mut cur: &'a [u8] = buf;
while !cur.is_empty() {
let before_tag = cur;
let tag = ::buffa::encoding::Tag::decode(&mut cur)?;
match tag.field_number() {
1u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 1u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
view.name = Some(::buffa::types::borrow_str(&mut cur)?);
}
2u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 2u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
match view.options.as_mut() {
Some(existing) => existing._merge_into_view(sub, depth - 1)?,
None => {
view.options = ::buffa::MessageFieldView::set(
super::super::__buffa::view::OneofOptionsView::_decode_depth(
sub,
depth - 1,
)?,
);
}
}
}
_ => {
::buffa::encoding::skip_field_depth(tag, &mut cur, depth)?;
let span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..span_len]);
}
}
}
::core::result::Result::Ok(())
}
}
impl<'a> ::buffa::MessageView<'a> for OneofDescriptorProtoView<'a> {
type Owned = super::super::OneofDescriptorProto;
fn decode_view(buf: &'a [u8]) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, ::buffa::RECURSION_LIMIT)
}
fn decode_view_with_limit(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, depth)
}
fn to_owned_message(&self) -> super::super::OneofDescriptorProto {
self.to_owned_from_source(None)
}
#[allow(clippy::useless_conversion, clippy::needless_update)]
fn to_owned_from_source(
&self,
__buffa_src: ::core::option::Option<&::buffa::bytes::Bytes>,
) -> super::super::OneofDescriptorProto {
#[allow(unused_imports)]
use ::buffa::alloc::string::ToString as _;
let _ = __buffa_src;
super::super::OneofDescriptorProto {
name: self.name.map(|s| s.to_string()),
options: match self.options.as_option() {
Some(v) => {
::buffa::MessageField::<
super::super::OneofOptions,
>::some(v.to_owned_from_source(__buffa_src))
}
None => ::buffa::MessageField::none(),
},
__buffa_unknown_fields: self
.__buffa_unknown_fields
.to_owned()
.unwrap_or_default()
.into(),
..::core::default::Default::default()
}
}
}
impl<'a> ::buffa::ViewEncode<'a> for OneofDescriptorProtoView<'a> {
#[allow(clippy::needless_borrow, clippy::let_and_return)]
fn compute_size(&self, __cache: &mut ::buffa::SizeCache) -> u32 {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
let mut size = 0u32;
if let Some(ref v) = self.name {
size += 1u32 + ::buffa::types::string_encoded_len(v) as u32;
}
if self.options.is_set() {
let __slot = __cache.reserve();
let inner_size = self.options.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 1u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
size += self.__buffa_unknown_fields.encoded_len() as u32;
size
}
#[allow(clippy::needless_borrow)]
fn write_to(
&self,
__cache: &mut ::buffa::SizeCache,
buf: &mut impl ::buffa::bytes::BufMut,
) {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
if let Some(ref v) = self.name {
::buffa::encoding::Tag::new(
1u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::types::encode_string(v, buf);
}
if self.options.is_set() {
::buffa::encoding::Tag::new(
2u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
self.options.write_to(__cache, buf);
}
self.__buffa_unknown_fields.write_to(buf);
}
}
#[cfg(feature = "json")]
impl<'__a> ::serde::Serialize for OneofDescriptorProtoView<'__a> {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
use ::serde::ser::SerializeMap as _;
let mut __map = __s.serialize_map(::core::option::Option::None)?;
if let ::core::option::Option::Some(__v) = self.name {
__map.serialize_entry("name", __v)?;
}
{
if let ::core::option::Option::Some(__v) = self.options.as_option() {
__map.serialize_entry("options", __v)?;
}
}
__map.end()
}
}
impl<'a> ::buffa::MessageName for OneofDescriptorProtoView<'a> {
const PACKAGE: &'static str = "google.protobuf";
const NAME: &'static str = "OneofDescriptorProto";
const FULL_NAME: &'static str = "google.protobuf.OneofDescriptorProto";
const TYPE_URL: &'static str = "type.googleapis.com/google.protobuf.OneofDescriptorProto";
}
impl<'v> ::buffa::DefaultViewInstance for OneofDescriptorProtoView<'v> {
fn default_view_instance<'a>() -> &'a Self
where
Self: 'a,
{
static VALUE: ::buffa::__private::OnceBox<OneofDescriptorProtoView<'static>> = ::buffa::__private::OnceBox::new();
VALUE
.get_or_init(|| ::buffa::alloc::boxed::Box::new(
<OneofDescriptorProtoView<'static>>::default(),
))
}
}
impl ::buffa::ViewReborrow for OneofDescriptorProtoView<'static> {
type Reborrowed<'b> = OneofDescriptorProtoView<'b>;
fn reborrow<'b>(this: &'b Self) -> &'b Self::Reborrowed<'b> {
this
}
}
#[derive(Clone, Debug, Default)]
pub struct EnumDescriptorProtoView<'a> {
pub name: ::core::option::Option<&'a str>,
pub value: ::buffa::RepeatedView<
'a,
super::super::__buffa::view::EnumValueDescriptorProtoView<'a>,
>,
pub options: ::buffa::MessageFieldView<
super::super::__buffa::view::EnumOptionsView<'a>,
>,
pub reserved_range: ::buffa::RepeatedView<
'a,
super::super::__buffa::view::enum_descriptor_proto::EnumReservedRangeView<'a>,
>,
pub reserved_name: ::buffa::RepeatedView<'a, &'a str>,
pub visibility: ::core::option::Option<super::super::SymbolVisibility>,
pub __buffa_unknown_fields: ::buffa::UnknownFieldsView<'a>,
}
impl<'a> EnumDescriptorProtoView<'a> {
#[doc(hidden)]
pub fn _decode_depth(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
let mut view = Self::default();
view._merge_into_view(buf, depth)?;
::core::result::Result::Ok(view)
}
#[doc(hidden)]
pub fn _merge_into_view(
&mut self,
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<(), ::buffa::DecodeError> {
let _ = depth;
#[allow(unused_variables)]
let view = self;
let mut cur: &'a [u8] = buf;
while !cur.is_empty() {
let before_tag = cur;
let tag = ::buffa::encoding::Tag::decode(&mut cur)?;
match tag.field_number() {
1u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 1u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
view.name = Some(::buffa::types::borrow_str(&mut cur)?);
}
3u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 3u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
match view.options.as_mut() {
Some(existing) => existing._merge_into_view(sub, depth - 1)?,
None => {
view.options = ::buffa::MessageFieldView::set(
super::super::__buffa::view::EnumOptionsView::_decode_depth(
sub,
depth - 1,
)?,
);
}
}
}
6u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 6u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
let __raw = ::buffa::types::decode_int32(&mut cur)?;
if let ::core::option::Option::Some(__v) = ::buffa::Enumeration::from_i32(
__raw,
) {
view.visibility = Some(__v);
} else {
let __span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..__span_len]);
}
}
2u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 2u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
view.value
.push(
super::super::__buffa::view::EnumValueDescriptorProtoView::_decode_depth(
sub,
depth - 1,
)?,
);
}
4u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 4u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
view.reserved_range
.push(
super::super::__buffa::view::enum_descriptor_proto::EnumReservedRangeView::_decode_depth(
sub,
depth - 1,
)?,
);
}
5u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 5u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
view.reserved_name.push(::buffa::types::borrow_str(&mut cur)?);
}
_ => {
::buffa::encoding::skip_field_depth(tag, &mut cur, depth)?;
let span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..span_len]);
}
}
}
::core::result::Result::Ok(())
}
}
impl<'a> ::buffa::MessageView<'a> for EnumDescriptorProtoView<'a> {
type Owned = super::super::EnumDescriptorProto;
fn decode_view(buf: &'a [u8]) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, ::buffa::RECURSION_LIMIT)
}
fn decode_view_with_limit(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, depth)
}
fn to_owned_message(&self) -> super::super::EnumDescriptorProto {
self.to_owned_from_source(None)
}
#[allow(clippy::useless_conversion, clippy::needless_update)]
fn to_owned_from_source(
&self,
__buffa_src: ::core::option::Option<&::buffa::bytes::Bytes>,
) -> super::super::EnumDescriptorProto {
#[allow(unused_imports)]
use ::buffa::alloc::string::ToString as _;
let _ = __buffa_src;
super::super::EnumDescriptorProto {
name: self.name.map(|s| s.to_string()),
value: self
.value
.iter()
.map(|v| v.to_owned_from_source(__buffa_src))
.collect(),
options: match self.options.as_option() {
Some(v) => {
::buffa::MessageField::<
super::super::EnumOptions,
>::some(v.to_owned_from_source(__buffa_src))
}
None => ::buffa::MessageField::none(),
},
reserved_range: self
.reserved_range
.iter()
.map(|v| v.to_owned_from_source(__buffa_src))
.collect(),
reserved_name: self.reserved_name.iter().map(|s| s.to_string()).collect(),
visibility: self.visibility,
__buffa_unknown_fields: self
.__buffa_unknown_fields
.to_owned()
.unwrap_or_default()
.into(),
..::core::default::Default::default()
}
}
}
impl<'a> ::buffa::ViewEncode<'a> for EnumDescriptorProtoView<'a> {
#[allow(clippy::needless_borrow, clippy::let_and_return)]
fn compute_size(&self, __cache: &mut ::buffa::SizeCache) -> u32 {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
let mut size = 0u32;
if let Some(ref v) = self.name {
size += 1u32 + ::buffa::types::string_encoded_len(v) as u32;
}
for v in &self.value {
let __slot = __cache.reserve();
let inner_size = v.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 1u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
if self.options.is_set() {
let __slot = __cache.reserve();
let inner_size = self.options.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 1u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
for v in &self.reserved_range {
let __slot = __cache.reserve();
let inner_size = v.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 1u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
for v in &self.reserved_name {
size += 1u32 + ::buffa::types::string_encoded_len(v) as u32;
}
if let Some(ref v) = self.visibility {
size += 1u32 + ::buffa::types::int32_encoded_len(v.to_i32()) as u32;
}
size += self.__buffa_unknown_fields.encoded_len() as u32;
size
}
#[allow(clippy::needless_borrow)]
fn write_to(
&self,
__cache: &mut ::buffa::SizeCache,
buf: &mut impl ::buffa::bytes::BufMut,
) {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
if let Some(ref v) = self.name {
::buffa::encoding::Tag::new(
1u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::types::encode_string(v, buf);
}
for v in &self.value {
::buffa::encoding::Tag::new(
2u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
v.write_to(__cache, buf);
}
if self.options.is_set() {
::buffa::encoding::Tag::new(
3u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
self.options.write_to(__cache, buf);
}
for v in &self.reserved_range {
::buffa::encoding::Tag::new(
4u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
v.write_to(__cache, buf);
}
for v in &self.reserved_name {
::buffa::encoding::Tag::new(
5u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::types::encode_string(v, buf);
}
if let Some(ref v) = self.visibility {
::buffa::encoding::Tag::new(6u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_int32(v.to_i32(), buf);
}
self.__buffa_unknown_fields.write_to(buf);
}
}
#[cfg(feature = "json")]
impl<'__a> ::serde::Serialize for EnumDescriptorProtoView<'__a> {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
use ::serde::ser::SerializeMap as _;
let mut __map = __s.serialize_map(::core::option::Option::None)?;
if let ::core::option::Option::Some(__v) = self.name {
__map.serialize_entry("name", __v)?;
}
if !self.value.is_empty() {
__map.serialize_entry("value", &*self.value)?;
}
{
if let ::core::option::Option::Some(__v) = self.options.as_option() {
__map.serialize_entry("options", __v)?;
}
}
if !self.reserved_range.is_empty() {
__map.serialize_entry("reservedRange", &*self.reserved_range)?;
}
if !self.reserved_name.is_empty() {
__map.serialize_entry("reservedName", &*self.reserved_name)?;
}
if let ::core::option::Option::Some(__v) = self.visibility {
struct _W(super::super::SymbolVisibility);
impl ::serde::Serialize for _W {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::closed_enum::serialize(&self.0, __s)
}
}
__map.serialize_entry("visibility", &_W(__v))?;
}
__map.end()
}
}
impl<'a> ::buffa::MessageName for EnumDescriptorProtoView<'a> {
const PACKAGE: &'static str = "google.protobuf";
const NAME: &'static str = "EnumDescriptorProto";
const FULL_NAME: &'static str = "google.protobuf.EnumDescriptorProto";
const TYPE_URL: &'static str = "type.googleapis.com/google.protobuf.EnumDescriptorProto";
}
impl<'v> ::buffa::DefaultViewInstance for EnumDescriptorProtoView<'v> {
fn default_view_instance<'a>() -> &'a Self
where
Self: 'a,
{
static VALUE: ::buffa::__private::OnceBox<EnumDescriptorProtoView<'static>> = ::buffa::__private::OnceBox::new();
VALUE
.get_or_init(|| ::buffa::alloc::boxed::Box::new(
<EnumDescriptorProtoView<'static>>::default(),
))
}
}
impl ::buffa::ViewReborrow for EnumDescriptorProtoView<'static> {
type Reborrowed<'b> = EnumDescriptorProtoView<'b>;
fn reborrow<'b>(this: &'b Self) -> &'b Self::Reborrowed<'b> {
this
}
}
pub mod enum_descriptor_proto {
#[allow(unused_imports)]
use super::*;
#[derive(Clone, Debug, Default)]
pub struct EnumReservedRangeView<'a> {
pub start: ::core::option::Option<i32>,
pub end: ::core::option::Option<i32>,
pub __buffa_unknown_fields: ::buffa::UnknownFieldsView<'a>,
}
impl<'a> EnumReservedRangeView<'a> {
#[doc(hidden)]
pub fn _decode_depth(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
let mut view = Self::default();
view._merge_into_view(buf, depth)?;
::core::result::Result::Ok(view)
}
#[doc(hidden)]
pub fn _merge_into_view(
&mut self,
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<(), ::buffa::DecodeError> {
let _ = depth;
#[allow(unused_variables)]
let view = self;
let mut cur: &'a [u8] = buf;
while !cur.is_empty() {
let before_tag = cur;
let tag = ::buffa::encoding::Tag::decode(&mut cur)?;
match tag.field_number() {
1u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 1u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
view.start = Some(::buffa::types::decode_int32(&mut cur)?);
}
2u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 2u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
view.end = Some(::buffa::types::decode_int32(&mut cur)?);
}
_ => {
::buffa::encoding::skip_field_depth(tag, &mut cur, depth)?;
let span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..span_len]);
}
}
}
::core::result::Result::Ok(())
}
}
impl<'a> ::buffa::MessageView<'a> for EnumReservedRangeView<'a> {
type Owned = super::super::super::enum_descriptor_proto::EnumReservedRange;
fn decode_view(
buf: &'a [u8],
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, ::buffa::RECURSION_LIMIT)
}
fn decode_view_with_limit(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, depth)
}
fn to_owned_message(
&self,
) -> super::super::super::enum_descriptor_proto::EnumReservedRange {
self.to_owned_from_source(None)
}
#[allow(clippy::useless_conversion, clippy::needless_update)]
fn to_owned_from_source(
&self,
__buffa_src: ::core::option::Option<&::buffa::bytes::Bytes>,
) -> super::super::super::enum_descriptor_proto::EnumReservedRange {
#[allow(unused_imports)]
use ::buffa::alloc::string::ToString as _;
let _ = __buffa_src;
super::super::super::enum_descriptor_proto::EnumReservedRange {
start: self.start,
end: self.end,
__buffa_unknown_fields: self
.__buffa_unknown_fields
.to_owned()
.unwrap_or_default()
.into(),
..::core::default::Default::default()
}
}
}
impl<'a> ::buffa::ViewEncode<'a> for EnumReservedRangeView<'a> {
#[allow(clippy::needless_borrow, clippy::let_and_return)]
fn compute_size(&self, _cache: &mut ::buffa::SizeCache) -> u32 {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
let mut size = 0u32;
if let Some(v) = self.start {
size += 1u32 + ::buffa::types::int32_encoded_len(v) as u32;
}
if let Some(v) = self.end {
size += 1u32 + ::buffa::types::int32_encoded_len(v) as u32;
}
size += self.__buffa_unknown_fields.encoded_len() as u32;
size
}
#[allow(clippy::needless_borrow)]
fn write_to(
&self,
_cache: &mut ::buffa::SizeCache,
buf: &mut impl ::buffa::bytes::BufMut,
) {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
if let Some(v) = self.start {
::buffa::encoding::Tag::new(1u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_int32(v, buf);
}
if let Some(v) = self.end {
::buffa::encoding::Tag::new(2u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_int32(v, buf);
}
self.__buffa_unknown_fields.write_to(buf);
}
}
#[cfg(feature = "json")]
impl<'__a> ::serde::Serialize for EnumReservedRangeView<'__a> {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
use ::serde::ser::SerializeMap as _;
let mut __map = __s.serialize_map(::core::option::Option::None)?;
if let ::core::option::Option::Some(__v) = self.start {
struct _W(i32);
impl ::serde::Serialize for _W {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::int32::serialize(&self.0, __s)
}
}
__map.serialize_entry("start", &_W(__v))?;
}
if let ::core::option::Option::Some(__v) = self.end {
struct _W(i32);
impl ::serde::Serialize for _W {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::int32::serialize(&self.0, __s)
}
}
__map.serialize_entry("end", &_W(__v))?;
}
__map.end()
}
}
impl<'a> ::buffa::MessageName for EnumReservedRangeView<'a> {
const PACKAGE: &'static str = "google.protobuf";
const NAME: &'static str = "EnumDescriptorProto.EnumReservedRange";
const FULL_NAME: &'static str = "google.protobuf.EnumDescriptorProto.EnumReservedRange";
const TYPE_URL: &'static str = "type.googleapis.com/google.protobuf.EnumDescriptorProto.EnumReservedRange";
}
impl<'v> ::buffa::DefaultViewInstance for EnumReservedRangeView<'v> {
fn default_view_instance<'a>() -> &'a Self
where
Self: 'a,
{
static VALUE: ::buffa::__private::OnceBox<EnumReservedRangeView<'static>> = ::buffa::__private::OnceBox::new();
VALUE
.get_or_init(|| ::buffa::alloc::boxed::Box::new(
<EnumReservedRangeView<'static>>::default(),
))
}
}
impl ::buffa::ViewReborrow for EnumReservedRangeView<'static> {
type Reborrowed<'b> = EnumReservedRangeView<'b>;
fn reborrow<'b>(this: &'b Self) -> &'b Self::Reborrowed<'b> {
this
}
}
}
#[derive(Clone, Debug, Default)]
pub struct EnumValueDescriptorProtoView<'a> {
pub name: ::core::option::Option<&'a str>,
pub number: ::core::option::Option<i32>,
pub options: ::buffa::MessageFieldView<
super::super::__buffa::view::EnumValueOptionsView<'a>,
>,
pub __buffa_unknown_fields: ::buffa::UnknownFieldsView<'a>,
}
impl<'a> EnumValueDescriptorProtoView<'a> {
#[doc(hidden)]
pub fn _decode_depth(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
let mut view = Self::default();
view._merge_into_view(buf, depth)?;
::core::result::Result::Ok(view)
}
#[doc(hidden)]
pub fn _merge_into_view(
&mut self,
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<(), ::buffa::DecodeError> {
let _ = depth;
#[allow(unused_variables)]
let view = self;
let mut cur: &'a [u8] = buf;
while !cur.is_empty() {
let before_tag = cur;
let tag = ::buffa::encoding::Tag::decode(&mut cur)?;
match tag.field_number() {
1u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 1u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
view.name = Some(::buffa::types::borrow_str(&mut cur)?);
}
2u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 2u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
view.number = Some(::buffa::types::decode_int32(&mut cur)?);
}
3u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 3u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
match view.options.as_mut() {
Some(existing) => existing._merge_into_view(sub, depth - 1)?,
None => {
view.options = ::buffa::MessageFieldView::set(
super::super::__buffa::view::EnumValueOptionsView::_decode_depth(
sub,
depth - 1,
)?,
);
}
}
}
_ => {
::buffa::encoding::skip_field_depth(tag, &mut cur, depth)?;
let span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..span_len]);
}
}
}
::core::result::Result::Ok(())
}
}
impl<'a> ::buffa::MessageView<'a> for EnumValueDescriptorProtoView<'a> {
type Owned = super::super::EnumValueDescriptorProto;
fn decode_view(buf: &'a [u8]) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, ::buffa::RECURSION_LIMIT)
}
fn decode_view_with_limit(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, depth)
}
fn to_owned_message(&self) -> super::super::EnumValueDescriptorProto {
self.to_owned_from_source(None)
}
#[allow(clippy::useless_conversion, clippy::needless_update)]
fn to_owned_from_source(
&self,
__buffa_src: ::core::option::Option<&::buffa::bytes::Bytes>,
) -> super::super::EnumValueDescriptorProto {
#[allow(unused_imports)]
use ::buffa::alloc::string::ToString as _;
let _ = __buffa_src;
super::super::EnumValueDescriptorProto {
name: self.name.map(|s| s.to_string()),
number: self.number,
options: match self.options.as_option() {
Some(v) => {
::buffa::MessageField::<
super::super::EnumValueOptions,
>::some(v.to_owned_from_source(__buffa_src))
}
None => ::buffa::MessageField::none(),
},
__buffa_unknown_fields: self
.__buffa_unknown_fields
.to_owned()
.unwrap_or_default()
.into(),
..::core::default::Default::default()
}
}
}
impl<'a> ::buffa::ViewEncode<'a> for EnumValueDescriptorProtoView<'a> {
#[allow(clippy::needless_borrow, clippy::let_and_return)]
fn compute_size(&self, __cache: &mut ::buffa::SizeCache) -> u32 {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
let mut size = 0u32;
if let Some(ref v) = self.name {
size += 1u32 + ::buffa::types::string_encoded_len(v) as u32;
}
if let Some(v) = self.number {
size += 1u32 + ::buffa::types::int32_encoded_len(v) as u32;
}
if self.options.is_set() {
let __slot = __cache.reserve();
let inner_size = self.options.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 1u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
size += self.__buffa_unknown_fields.encoded_len() as u32;
size
}
#[allow(clippy::needless_borrow)]
fn write_to(
&self,
__cache: &mut ::buffa::SizeCache,
buf: &mut impl ::buffa::bytes::BufMut,
) {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
if let Some(ref v) = self.name {
::buffa::encoding::Tag::new(
1u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::types::encode_string(v, buf);
}
if let Some(v) = self.number {
::buffa::encoding::Tag::new(2u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_int32(v, buf);
}
if self.options.is_set() {
::buffa::encoding::Tag::new(
3u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
self.options.write_to(__cache, buf);
}
self.__buffa_unknown_fields.write_to(buf);
}
}
#[cfg(feature = "json")]
impl<'__a> ::serde::Serialize for EnumValueDescriptorProtoView<'__a> {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
use ::serde::ser::SerializeMap as _;
let mut __map = __s.serialize_map(::core::option::Option::None)?;
if let ::core::option::Option::Some(__v) = self.name {
__map.serialize_entry("name", __v)?;
}
if let ::core::option::Option::Some(__v) = self.number {
struct _W(i32);
impl ::serde::Serialize for _W {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::int32::serialize(&self.0, __s)
}
}
__map.serialize_entry("number", &_W(__v))?;
}
{
if let ::core::option::Option::Some(__v) = self.options.as_option() {
__map.serialize_entry("options", __v)?;
}
}
__map.end()
}
}
impl<'a> ::buffa::MessageName for EnumValueDescriptorProtoView<'a> {
const PACKAGE: &'static str = "google.protobuf";
const NAME: &'static str = "EnumValueDescriptorProto";
const FULL_NAME: &'static str = "google.protobuf.EnumValueDescriptorProto";
const TYPE_URL: &'static str = "type.googleapis.com/google.protobuf.EnumValueDescriptorProto";
}
impl<'v> ::buffa::DefaultViewInstance for EnumValueDescriptorProtoView<'v> {
fn default_view_instance<'a>() -> &'a Self
where
Self: 'a,
{
static VALUE: ::buffa::__private::OnceBox<
EnumValueDescriptorProtoView<'static>,
> = ::buffa::__private::OnceBox::new();
VALUE
.get_or_init(|| ::buffa::alloc::boxed::Box::new(
<EnumValueDescriptorProtoView<'static>>::default(),
))
}
}
impl ::buffa::ViewReborrow for EnumValueDescriptorProtoView<'static> {
type Reborrowed<'b> = EnumValueDescriptorProtoView<'b>;
fn reborrow<'b>(this: &'b Self) -> &'b Self::Reborrowed<'b> {
this
}
}
#[derive(Clone, Debug, Default)]
pub struct ServiceDescriptorProtoView<'a> {
pub name: ::core::option::Option<&'a str>,
pub method: ::buffa::RepeatedView<
'a,
super::super::__buffa::view::MethodDescriptorProtoView<'a>,
>,
pub options: ::buffa::MessageFieldView<
super::super::__buffa::view::ServiceOptionsView<'a>,
>,
pub __buffa_unknown_fields: ::buffa::UnknownFieldsView<'a>,
}
impl<'a> ServiceDescriptorProtoView<'a> {
#[doc(hidden)]
pub fn _decode_depth(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
let mut view = Self::default();
view._merge_into_view(buf, depth)?;
::core::result::Result::Ok(view)
}
#[doc(hidden)]
pub fn _merge_into_view(
&mut self,
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<(), ::buffa::DecodeError> {
let _ = depth;
#[allow(unused_variables)]
let view = self;
let mut cur: &'a [u8] = buf;
while !cur.is_empty() {
let before_tag = cur;
let tag = ::buffa::encoding::Tag::decode(&mut cur)?;
match tag.field_number() {
1u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 1u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
view.name = Some(::buffa::types::borrow_str(&mut cur)?);
}
3u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 3u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
match view.options.as_mut() {
Some(existing) => existing._merge_into_view(sub, depth - 1)?,
None => {
view.options = ::buffa::MessageFieldView::set(
super::super::__buffa::view::ServiceOptionsView::_decode_depth(
sub,
depth - 1,
)?,
);
}
}
}
2u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 2u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
view.method
.push(
super::super::__buffa::view::MethodDescriptorProtoView::_decode_depth(
sub,
depth - 1,
)?,
);
}
_ => {
::buffa::encoding::skip_field_depth(tag, &mut cur, depth)?;
let span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..span_len]);
}
}
}
::core::result::Result::Ok(())
}
}
impl<'a> ::buffa::MessageView<'a> for ServiceDescriptorProtoView<'a> {
type Owned = super::super::ServiceDescriptorProto;
fn decode_view(buf: &'a [u8]) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, ::buffa::RECURSION_LIMIT)
}
fn decode_view_with_limit(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, depth)
}
fn to_owned_message(&self) -> super::super::ServiceDescriptorProto {
self.to_owned_from_source(None)
}
#[allow(clippy::useless_conversion, clippy::needless_update)]
fn to_owned_from_source(
&self,
__buffa_src: ::core::option::Option<&::buffa::bytes::Bytes>,
) -> super::super::ServiceDescriptorProto {
#[allow(unused_imports)]
use ::buffa::alloc::string::ToString as _;
let _ = __buffa_src;
super::super::ServiceDescriptorProto {
name: self.name.map(|s| s.to_string()),
method: self
.method
.iter()
.map(|v| v.to_owned_from_source(__buffa_src))
.collect(),
options: match self.options.as_option() {
Some(v) => {
::buffa::MessageField::<
super::super::ServiceOptions,
>::some(v.to_owned_from_source(__buffa_src))
}
None => ::buffa::MessageField::none(),
},
__buffa_unknown_fields: self
.__buffa_unknown_fields
.to_owned()
.unwrap_or_default()
.into(),
..::core::default::Default::default()
}
}
}
impl<'a> ::buffa::ViewEncode<'a> for ServiceDescriptorProtoView<'a> {
#[allow(clippy::needless_borrow, clippy::let_and_return)]
fn compute_size(&self, __cache: &mut ::buffa::SizeCache) -> u32 {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
let mut size = 0u32;
if let Some(ref v) = self.name {
size += 1u32 + ::buffa::types::string_encoded_len(v) as u32;
}
for v in &self.method {
let __slot = __cache.reserve();
let inner_size = v.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 1u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
if self.options.is_set() {
let __slot = __cache.reserve();
let inner_size = self.options.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 1u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
size += self.__buffa_unknown_fields.encoded_len() as u32;
size
}
#[allow(clippy::needless_borrow)]
fn write_to(
&self,
__cache: &mut ::buffa::SizeCache,
buf: &mut impl ::buffa::bytes::BufMut,
) {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
if let Some(ref v) = self.name {
::buffa::encoding::Tag::new(
1u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::types::encode_string(v, buf);
}
for v in &self.method {
::buffa::encoding::Tag::new(
2u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
v.write_to(__cache, buf);
}
if self.options.is_set() {
::buffa::encoding::Tag::new(
3u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
self.options.write_to(__cache, buf);
}
self.__buffa_unknown_fields.write_to(buf);
}
}
#[cfg(feature = "json")]
impl<'__a> ::serde::Serialize for ServiceDescriptorProtoView<'__a> {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
use ::serde::ser::SerializeMap as _;
let mut __map = __s.serialize_map(::core::option::Option::None)?;
if let ::core::option::Option::Some(__v) = self.name {
__map.serialize_entry("name", __v)?;
}
if !self.method.is_empty() {
__map.serialize_entry("method", &*self.method)?;
}
{
if let ::core::option::Option::Some(__v) = self.options.as_option() {
__map.serialize_entry("options", __v)?;
}
}
__map.end()
}
}
impl<'a> ::buffa::MessageName for ServiceDescriptorProtoView<'a> {
const PACKAGE: &'static str = "google.protobuf";
const NAME: &'static str = "ServiceDescriptorProto";
const FULL_NAME: &'static str = "google.protobuf.ServiceDescriptorProto";
const TYPE_URL: &'static str = "type.googleapis.com/google.protobuf.ServiceDescriptorProto";
}
impl<'v> ::buffa::DefaultViewInstance for ServiceDescriptorProtoView<'v> {
fn default_view_instance<'a>() -> &'a Self
where
Self: 'a,
{
static VALUE: ::buffa::__private::OnceBox<ServiceDescriptorProtoView<'static>> = ::buffa::__private::OnceBox::new();
VALUE
.get_or_init(|| ::buffa::alloc::boxed::Box::new(
<ServiceDescriptorProtoView<'static>>::default(),
))
}
}
impl ::buffa::ViewReborrow for ServiceDescriptorProtoView<'static> {
type Reborrowed<'b> = ServiceDescriptorProtoView<'b>;
fn reborrow<'b>(this: &'b Self) -> &'b Self::Reborrowed<'b> {
this
}
}
#[derive(Clone, Debug, Default)]
pub struct MethodDescriptorProtoView<'a> {
pub name: ::core::option::Option<&'a str>,
pub input_type: ::core::option::Option<&'a str>,
pub output_type: ::core::option::Option<&'a str>,
pub options: ::buffa::MessageFieldView<
super::super::__buffa::view::MethodOptionsView<'a>,
>,
pub client_streaming: ::core::option::Option<bool>,
pub server_streaming: ::core::option::Option<bool>,
pub __buffa_unknown_fields: ::buffa::UnknownFieldsView<'a>,
}
impl<'a> MethodDescriptorProtoView<'a> {
#[doc(hidden)]
pub fn _decode_depth(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
let mut view = Self::default();
view._merge_into_view(buf, depth)?;
::core::result::Result::Ok(view)
}
#[doc(hidden)]
pub fn _merge_into_view(
&mut self,
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<(), ::buffa::DecodeError> {
let _ = depth;
#[allow(unused_variables)]
let view = self;
let mut cur: &'a [u8] = buf;
while !cur.is_empty() {
let before_tag = cur;
let tag = ::buffa::encoding::Tag::decode(&mut cur)?;
match tag.field_number() {
1u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 1u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
view.name = Some(::buffa::types::borrow_str(&mut cur)?);
}
2u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 2u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
view.input_type = Some(::buffa::types::borrow_str(&mut cur)?);
}
3u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 3u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
view.output_type = Some(::buffa::types::borrow_str(&mut cur)?);
}
4u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 4u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
match view.options.as_mut() {
Some(existing) => existing._merge_into_view(sub, depth - 1)?,
None => {
view.options = ::buffa::MessageFieldView::set(
super::super::__buffa::view::MethodOptionsView::_decode_depth(
sub,
depth - 1,
)?,
);
}
}
}
5u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 5u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
view.client_streaming = Some(::buffa::types::decode_bool(&mut cur)?);
}
6u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 6u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
view.server_streaming = Some(::buffa::types::decode_bool(&mut cur)?);
}
_ => {
::buffa::encoding::skip_field_depth(tag, &mut cur, depth)?;
let span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..span_len]);
}
}
}
::core::result::Result::Ok(())
}
}
impl<'a> ::buffa::MessageView<'a> for MethodDescriptorProtoView<'a> {
type Owned = super::super::MethodDescriptorProto;
fn decode_view(buf: &'a [u8]) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, ::buffa::RECURSION_LIMIT)
}
fn decode_view_with_limit(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, depth)
}
fn to_owned_message(&self) -> super::super::MethodDescriptorProto {
self.to_owned_from_source(None)
}
#[allow(clippy::useless_conversion, clippy::needless_update)]
fn to_owned_from_source(
&self,
__buffa_src: ::core::option::Option<&::buffa::bytes::Bytes>,
) -> super::super::MethodDescriptorProto {
#[allow(unused_imports)]
use ::buffa::alloc::string::ToString as _;
let _ = __buffa_src;
super::super::MethodDescriptorProto {
name: self.name.map(|s| s.to_string()),
input_type: self.input_type.map(|s| s.to_string()),
output_type: self.output_type.map(|s| s.to_string()),
options: match self.options.as_option() {
Some(v) => {
::buffa::MessageField::<
super::super::MethodOptions,
>::some(v.to_owned_from_source(__buffa_src))
}
None => ::buffa::MessageField::none(),
},
client_streaming: self.client_streaming,
server_streaming: self.server_streaming,
__buffa_unknown_fields: self
.__buffa_unknown_fields
.to_owned()
.unwrap_or_default()
.into(),
..::core::default::Default::default()
}
}
}
impl<'a> ::buffa::ViewEncode<'a> for MethodDescriptorProtoView<'a> {
#[allow(clippy::needless_borrow, clippy::let_and_return)]
fn compute_size(&self, __cache: &mut ::buffa::SizeCache) -> u32 {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
let mut size = 0u32;
if let Some(ref v) = self.name {
size += 1u32 + ::buffa::types::string_encoded_len(v) as u32;
}
if let Some(ref v) = self.input_type {
size += 1u32 + ::buffa::types::string_encoded_len(v) as u32;
}
if let Some(ref v) = self.output_type {
size += 1u32 + ::buffa::types::string_encoded_len(v) as u32;
}
if self.options.is_set() {
let __slot = __cache.reserve();
let inner_size = self.options.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 1u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
if self.client_streaming.is_some() {
size += 1u32 + ::buffa::types::BOOL_ENCODED_LEN as u32;
}
if self.server_streaming.is_some() {
size += 1u32 + ::buffa::types::BOOL_ENCODED_LEN as u32;
}
size += self.__buffa_unknown_fields.encoded_len() as u32;
size
}
#[allow(clippy::needless_borrow)]
fn write_to(
&self,
__cache: &mut ::buffa::SizeCache,
buf: &mut impl ::buffa::bytes::BufMut,
) {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
if let Some(ref v) = self.name {
::buffa::encoding::Tag::new(
1u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::types::encode_string(v, buf);
}
if let Some(ref v) = self.input_type {
::buffa::encoding::Tag::new(
2u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::types::encode_string(v, buf);
}
if let Some(ref v) = self.output_type {
::buffa::encoding::Tag::new(
3u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::types::encode_string(v, buf);
}
if self.options.is_set() {
::buffa::encoding::Tag::new(
4u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
self.options.write_to(__cache, buf);
}
if let Some(v) = self.client_streaming {
::buffa::encoding::Tag::new(5u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_bool(v, buf);
}
if let Some(v) = self.server_streaming {
::buffa::encoding::Tag::new(6u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_bool(v, buf);
}
self.__buffa_unknown_fields.write_to(buf);
}
}
#[cfg(feature = "json")]
impl<'__a> ::serde::Serialize for MethodDescriptorProtoView<'__a> {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
use ::serde::ser::SerializeMap as _;
let mut __map = __s.serialize_map(::core::option::Option::None)?;
if let ::core::option::Option::Some(__v) = self.name {
__map.serialize_entry("name", __v)?;
}
if let ::core::option::Option::Some(__v) = self.input_type {
__map.serialize_entry("inputType", __v)?;
}
if let ::core::option::Option::Some(__v) = self.output_type {
__map.serialize_entry("outputType", __v)?;
}
{
if let ::core::option::Option::Some(__v) = self.options.as_option() {
__map.serialize_entry("options", __v)?;
}
}
if let ::core::option::Option::Some(__v) = self.client_streaming {
__map.serialize_entry("clientStreaming", &__v)?;
}
if let ::core::option::Option::Some(__v) = self.server_streaming {
__map.serialize_entry("serverStreaming", &__v)?;
}
__map.end()
}
}
impl<'a> ::buffa::MessageName for MethodDescriptorProtoView<'a> {
const PACKAGE: &'static str = "google.protobuf";
const NAME: &'static str = "MethodDescriptorProto";
const FULL_NAME: &'static str = "google.protobuf.MethodDescriptorProto";
const TYPE_URL: &'static str = "type.googleapis.com/google.protobuf.MethodDescriptorProto";
}
impl<'v> ::buffa::DefaultViewInstance for MethodDescriptorProtoView<'v> {
fn default_view_instance<'a>() -> &'a Self
where
Self: 'a,
{
static VALUE: ::buffa::__private::OnceBox<MethodDescriptorProtoView<'static>> = ::buffa::__private::OnceBox::new();
VALUE
.get_or_init(|| ::buffa::alloc::boxed::Box::new(
<MethodDescriptorProtoView<'static>>::default(),
))
}
}
impl ::buffa::ViewReborrow for MethodDescriptorProtoView<'static> {
type Reborrowed<'b> = MethodDescriptorProtoView<'b>;
fn reborrow<'b>(this: &'b Self) -> &'b Self::Reborrowed<'b> {
this
}
}
#[derive(Clone, Debug, Default)]
pub struct FileOptionsView<'a> {
pub java_package: ::core::option::Option<&'a str>,
pub java_outer_classname: ::core::option::Option<&'a str>,
pub java_multiple_files: ::core::option::Option<bool>,
pub java_generate_equals_and_hash: ::core::option::Option<bool>,
pub java_string_check_utf8: ::core::option::Option<bool>,
pub optimize_for: ::core::option::Option<super::super::file_options::OptimizeMode>,
pub go_package: ::core::option::Option<&'a str>,
pub cc_generic_services: ::core::option::Option<bool>,
pub java_generic_services: ::core::option::Option<bool>,
pub py_generic_services: ::core::option::Option<bool>,
pub deprecated: ::core::option::Option<bool>,
pub cc_enable_arenas: ::core::option::Option<bool>,
pub objc_class_prefix: ::core::option::Option<&'a str>,
pub csharp_namespace: ::core::option::Option<&'a str>,
pub swift_prefix: ::core::option::Option<&'a str>,
pub php_class_prefix: ::core::option::Option<&'a str>,
pub php_namespace: ::core::option::Option<&'a str>,
pub php_metadata_namespace: ::core::option::Option<&'a str>,
pub ruby_package: ::core::option::Option<&'a str>,
pub features: ::buffa::MessageFieldView<
super::super::__buffa::view::FeatureSetView<'a>,
>,
pub uninterpreted_option: ::buffa::RepeatedView<
'a,
super::super::__buffa::view::UninterpretedOptionView<'a>,
>,
pub __buffa_unknown_fields: ::buffa::UnknownFieldsView<'a>,
}
impl<'a> FileOptionsView<'a> {
#[doc(hidden)]
pub fn _decode_depth(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
let mut view = Self::default();
view._merge_into_view(buf, depth)?;
::core::result::Result::Ok(view)
}
#[doc(hidden)]
pub fn _merge_into_view(
&mut self,
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<(), ::buffa::DecodeError> {
let _ = depth;
#[allow(unused_variables)]
let view = self;
let mut cur: &'a [u8] = buf;
while !cur.is_empty() {
let before_tag = cur;
let tag = ::buffa::encoding::Tag::decode(&mut cur)?;
match tag.field_number() {
1u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 1u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
view.java_package = Some(::buffa::types::borrow_str(&mut cur)?);
}
8u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 8u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
view.java_outer_classname = Some(
::buffa::types::borrow_str(&mut cur)?,
);
}
10u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 10u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
view.java_multiple_files = Some(
::buffa::types::decode_bool(&mut cur)?,
);
}
20u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 20u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
view.java_generate_equals_and_hash = Some(
::buffa::types::decode_bool(&mut cur)?,
);
}
27u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 27u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
view.java_string_check_utf8 = Some(
::buffa::types::decode_bool(&mut cur)?,
);
}
9u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 9u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
let __raw = ::buffa::types::decode_int32(&mut cur)?;
if let ::core::option::Option::Some(__v) = ::buffa::Enumeration::from_i32(
__raw,
) {
view.optimize_for = Some(__v);
} else {
let __span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..__span_len]);
}
}
11u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 11u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
view.go_package = Some(::buffa::types::borrow_str(&mut cur)?);
}
16u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 16u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
view.cc_generic_services = Some(
::buffa::types::decode_bool(&mut cur)?,
);
}
17u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 17u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
view.java_generic_services = Some(
::buffa::types::decode_bool(&mut cur)?,
);
}
18u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 18u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
view.py_generic_services = Some(
::buffa::types::decode_bool(&mut cur)?,
);
}
23u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 23u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
view.deprecated = Some(::buffa::types::decode_bool(&mut cur)?);
}
31u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 31u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
view.cc_enable_arenas = Some(::buffa::types::decode_bool(&mut cur)?);
}
36u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 36u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
view.objc_class_prefix = Some(::buffa::types::borrow_str(&mut cur)?);
}
37u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 37u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
view.csharp_namespace = Some(::buffa::types::borrow_str(&mut cur)?);
}
39u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 39u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
view.swift_prefix = Some(::buffa::types::borrow_str(&mut cur)?);
}
40u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 40u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
view.php_class_prefix = Some(::buffa::types::borrow_str(&mut cur)?);
}
41u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 41u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
view.php_namespace = Some(::buffa::types::borrow_str(&mut cur)?);
}
44u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 44u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
view.php_metadata_namespace = Some(
::buffa::types::borrow_str(&mut cur)?,
);
}
45u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 45u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
view.ruby_package = Some(::buffa::types::borrow_str(&mut cur)?);
}
50u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 50u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
match view.features.as_mut() {
Some(existing) => existing._merge_into_view(sub, depth - 1)?,
None => {
view.features = ::buffa::MessageFieldView::set(
super::super::__buffa::view::FeatureSetView::_decode_depth(
sub,
depth - 1,
)?,
);
}
}
}
999u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 999u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
view.uninterpreted_option
.push(
super::super::__buffa::view::UninterpretedOptionView::_decode_depth(
sub,
depth - 1,
)?,
);
}
_ => {
::buffa::encoding::skip_field_depth(tag, &mut cur, depth)?;
let span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..span_len]);
}
}
}
::core::result::Result::Ok(())
}
}
impl<'a> ::buffa::MessageView<'a> for FileOptionsView<'a> {
type Owned = super::super::FileOptions;
fn decode_view(buf: &'a [u8]) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, ::buffa::RECURSION_LIMIT)
}
fn decode_view_with_limit(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, depth)
}
fn to_owned_message(&self) -> super::super::FileOptions {
self.to_owned_from_source(None)
}
#[allow(clippy::useless_conversion, clippy::needless_update)]
fn to_owned_from_source(
&self,
__buffa_src: ::core::option::Option<&::buffa::bytes::Bytes>,
) -> super::super::FileOptions {
#[allow(unused_imports)]
use ::buffa::alloc::string::ToString as _;
let _ = __buffa_src;
super::super::FileOptions {
java_package: self.java_package.map(|s| s.to_string()),
java_outer_classname: self.java_outer_classname.map(|s| s.to_string()),
java_multiple_files: self.java_multiple_files,
java_generate_equals_and_hash: self.java_generate_equals_and_hash,
java_string_check_utf8: self.java_string_check_utf8,
optimize_for: self.optimize_for,
go_package: self.go_package.map(|s| s.to_string()),
cc_generic_services: self.cc_generic_services,
java_generic_services: self.java_generic_services,
py_generic_services: self.py_generic_services,
deprecated: self.deprecated,
cc_enable_arenas: self.cc_enable_arenas,
objc_class_prefix: self.objc_class_prefix.map(|s| s.to_string()),
csharp_namespace: self.csharp_namespace.map(|s| s.to_string()),
swift_prefix: self.swift_prefix.map(|s| s.to_string()),
php_class_prefix: self.php_class_prefix.map(|s| s.to_string()),
php_namespace: self.php_namespace.map(|s| s.to_string()),
php_metadata_namespace: self.php_metadata_namespace.map(|s| s.to_string()),
ruby_package: self.ruby_package.map(|s| s.to_string()),
features: match self.features.as_option() {
Some(v) => {
::buffa::MessageField::<
super::super::FeatureSet,
>::some(v.to_owned_from_source(__buffa_src))
}
None => ::buffa::MessageField::none(),
},
uninterpreted_option: self
.uninterpreted_option
.iter()
.map(|v| v.to_owned_from_source(__buffa_src))
.collect(),
__buffa_unknown_fields: self
.__buffa_unknown_fields
.to_owned()
.unwrap_or_default()
.into(),
..::core::default::Default::default()
}
}
}
impl<'a> ::buffa::ViewEncode<'a> for FileOptionsView<'a> {
#[allow(clippy::needless_borrow, clippy::let_and_return)]
fn compute_size(&self, __cache: &mut ::buffa::SizeCache) -> u32 {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
let mut size = 0u32;
if let Some(ref v) = self.java_package {
size += 1u32 + ::buffa::types::string_encoded_len(v) as u32;
}
if let Some(ref v) = self.java_outer_classname {
size += 1u32 + ::buffa::types::string_encoded_len(v) as u32;
}
if let Some(ref v) = self.optimize_for {
size += 1u32 + ::buffa::types::int32_encoded_len(v.to_i32()) as u32;
}
if self.java_multiple_files.is_some() {
size += 1u32 + ::buffa::types::BOOL_ENCODED_LEN as u32;
}
if let Some(ref v) = self.go_package {
size += 1u32 + ::buffa::types::string_encoded_len(v) as u32;
}
if self.cc_generic_services.is_some() {
size += 2u32 + ::buffa::types::BOOL_ENCODED_LEN as u32;
}
if self.java_generic_services.is_some() {
size += 2u32 + ::buffa::types::BOOL_ENCODED_LEN as u32;
}
if self.py_generic_services.is_some() {
size += 2u32 + ::buffa::types::BOOL_ENCODED_LEN as u32;
}
if self.java_generate_equals_and_hash.is_some() {
size += 2u32 + ::buffa::types::BOOL_ENCODED_LEN as u32;
}
if self.deprecated.is_some() {
size += 2u32 + ::buffa::types::BOOL_ENCODED_LEN as u32;
}
if self.java_string_check_utf8.is_some() {
size += 2u32 + ::buffa::types::BOOL_ENCODED_LEN as u32;
}
if self.cc_enable_arenas.is_some() {
size += 2u32 + ::buffa::types::BOOL_ENCODED_LEN as u32;
}
if let Some(ref v) = self.objc_class_prefix {
size += 2u32 + ::buffa::types::string_encoded_len(v) as u32;
}
if let Some(ref v) = self.csharp_namespace {
size += 2u32 + ::buffa::types::string_encoded_len(v) as u32;
}
if let Some(ref v) = self.swift_prefix {
size += 2u32 + ::buffa::types::string_encoded_len(v) as u32;
}
if let Some(ref v) = self.php_class_prefix {
size += 2u32 + ::buffa::types::string_encoded_len(v) as u32;
}
if let Some(ref v) = self.php_namespace {
size += 2u32 + ::buffa::types::string_encoded_len(v) as u32;
}
if let Some(ref v) = self.php_metadata_namespace {
size += 2u32 + ::buffa::types::string_encoded_len(v) as u32;
}
if let Some(ref v) = self.ruby_package {
size += 2u32 + ::buffa::types::string_encoded_len(v) as u32;
}
if self.features.is_set() {
let __slot = __cache.reserve();
let inner_size = self.features.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 2u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
for v in &self.uninterpreted_option {
let __slot = __cache.reserve();
let inner_size = v.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 2u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
size += self.__buffa_unknown_fields.encoded_len() as u32;
size
}
#[allow(clippy::needless_borrow)]
fn write_to(
&self,
__cache: &mut ::buffa::SizeCache,
buf: &mut impl ::buffa::bytes::BufMut,
) {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
if let Some(ref v) = self.java_package {
::buffa::encoding::Tag::new(
1u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::types::encode_string(v, buf);
}
if let Some(ref v) = self.java_outer_classname {
::buffa::encoding::Tag::new(
8u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::types::encode_string(v, buf);
}
if let Some(ref v) = self.optimize_for {
::buffa::encoding::Tag::new(9u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_int32(v.to_i32(), buf);
}
if let Some(v) = self.java_multiple_files {
::buffa::encoding::Tag::new(10u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_bool(v, buf);
}
if let Some(ref v) = self.go_package {
::buffa::encoding::Tag::new(
11u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::types::encode_string(v, buf);
}
if let Some(v) = self.cc_generic_services {
::buffa::encoding::Tag::new(16u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_bool(v, buf);
}
if let Some(v) = self.java_generic_services {
::buffa::encoding::Tag::new(17u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_bool(v, buf);
}
if let Some(v) = self.py_generic_services {
::buffa::encoding::Tag::new(18u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_bool(v, buf);
}
if let Some(v) = self.java_generate_equals_and_hash {
::buffa::encoding::Tag::new(20u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_bool(v, buf);
}
if let Some(v) = self.deprecated {
::buffa::encoding::Tag::new(23u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_bool(v, buf);
}
if let Some(v) = self.java_string_check_utf8 {
::buffa::encoding::Tag::new(27u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_bool(v, buf);
}
if let Some(v) = self.cc_enable_arenas {
::buffa::encoding::Tag::new(31u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_bool(v, buf);
}
if let Some(ref v) = self.objc_class_prefix {
::buffa::encoding::Tag::new(
36u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::types::encode_string(v, buf);
}
if let Some(ref v) = self.csharp_namespace {
::buffa::encoding::Tag::new(
37u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::types::encode_string(v, buf);
}
if let Some(ref v) = self.swift_prefix {
::buffa::encoding::Tag::new(
39u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::types::encode_string(v, buf);
}
if let Some(ref v) = self.php_class_prefix {
::buffa::encoding::Tag::new(
40u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::types::encode_string(v, buf);
}
if let Some(ref v) = self.php_namespace {
::buffa::encoding::Tag::new(
41u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::types::encode_string(v, buf);
}
if let Some(ref v) = self.php_metadata_namespace {
::buffa::encoding::Tag::new(
44u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::types::encode_string(v, buf);
}
if let Some(ref v) = self.ruby_package {
::buffa::encoding::Tag::new(
45u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::types::encode_string(v, buf);
}
if self.features.is_set() {
::buffa::encoding::Tag::new(
50u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
self.features.write_to(__cache, buf);
}
for v in &self.uninterpreted_option {
::buffa::encoding::Tag::new(
999u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
v.write_to(__cache, buf);
}
self.__buffa_unknown_fields.write_to(buf);
}
}
#[cfg(feature = "json")]
impl<'__a> ::serde::Serialize for FileOptionsView<'__a> {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
use ::serde::ser::SerializeMap as _;
let mut __map = __s.serialize_map(::core::option::Option::None)?;
if let ::core::option::Option::Some(__v) = self.java_package {
__map.serialize_entry("javaPackage", __v)?;
}
if let ::core::option::Option::Some(__v) = self.java_outer_classname {
__map.serialize_entry("javaOuterClassname", __v)?;
}
if let ::core::option::Option::Some(__v) = self.java_multiple_files {
__map.serialize_entry("javaMultipleFiles", &__v)?;
}
if let ::core::option::Option::Some(__v) = self.java_generate_equals_and_hash {
__map.serialize_entry("javaGenerateEqualsAndHash", &__v)?;
}
if let ::core::option::Option::Some(__v) = self.java_string_check_utf8 {
__map.serialize_entry("javaStringCheckUtf8", &__v)?;
}
if let ::core::option::Option::Some(__v) = self.optimize_for {
struct _W(super::super::file_options::OptimizeMode);
impl ::serde::Serialize for _W {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::closed_enum::serialize(&self.0, __s)
}
}
__map.serialize_entry("optimizeFor", &_W(__v))?;
}
if let ::core::option::Option::Some(__v) = self.go_package {
__map.serialize_entry("goPackage", __v)?;
}
if let ::core::option::Option::Some(__v) = self.cc_generic_services {
__map.serialize_entry("ccGenericServices", &__v)?;
}
if let ::core::option::Option::Some(__v) = self.java_generic_services {
__map.serialize_entry("javaGenericServices", &__v)?;
}
if let ::core::option::Option::Some(__v) = self.py_generic_services {
__map.serialize_entry("pyGenericServices", &__v)?;
}
if let ::core::option::Option::Some(__v) = self.deprecated {
__map.serialize_entry("deprecated", &__v)?;
}
if let ::core::option::Option::Some(__v) = self.cc_enable_arenas {
__map.serialize_entry("ccEnableArenas", &__v)?;
}
if let ::core::option::Option::Some(__v) = self.objc_class_prefix {
__map.serialize_entry("objcClassPrefix", __v)?;
}
if let ::core::option::Option::Some(__v) = self.csharp_namespace {
__map.serialize_entry("csharpNamespace", __v)?;
}
if let ::core::option::Option::Some(__v) = self.swift_prefix {
__map.serialize_entry("swiftPrefix", __v)?;
}
if let ::core::option::Option::Some(__v) = self.php_class_prefix {
__map.serialize_entry("phpClassPrefix", __v)?;
}
if let ::core::option::Option::Some(__v) = self.php_namespace {
__map.serialize_entry("phpNamespace", __v)?;
}
if let ::core::option::Option::Some(__v) = self.php_metadata_namespace {
__map.serialize_entry("phpMetadataNamespace", __v)?;
}
if let ::core::option::Option::Some(__v) = self.ruby_package {
__map.serialize_entry("rubyPackage", __v)?;
}
{
if let ::core::option::Option::Some(__v) = self.features.as_option() {
__map.serialize_entry("features", __v)?;
}
}
if !self.uninterpreted_option.is_empty() {
__map.serialize_entry("uninterpretedOption", &*self.uninterpreted_option)?;
}
__map.end()
}
}
impl<'a> ::buffa::MessageName for FileOptionsView<'a> {
const PACKAGE: &'static str = "google.protobuf";
const NAME: &'static str = "FileOptions";
const FULL_NAME: &'static str = "google.protobuf.FileOptions";
const TYPE_URL: &'static str = "type.googleapis.com/google.protobuf.FileOptions";
}
impl<'v> ::buffa::DefaultViewInstance for FileOptionsView<'v> {
fn default_view_instance<'a>() -> &'a Self
where
Self: 'a,
{
static VALUE: ::buffa::__private::OnceBox<FileOptionsView<'static>> = ::buffa::__private::OnceBox::new();
VALUE
.get_or_init(|| ::buffa::alloc::boxed::Box::new(
<FileOptionsView<'static>>::default(),
))
}
}
impl ::buffa::ViewReborrow for FileOptionsView<'static> {
type Reborrowed<'b> = FileOptionsView<'b>;
fn reborrow<'b>(this: &'b Self) -> &'b Self::Reborrowed<'b> {
this
}
}
#[derive(Clone, Debug, Default)]
pub struct MessageOptionsView<'a> {
pub message_set_wire_format: ::core::option::Option<bool>,
pub no_standard_descriptor_accessor: ::core::option::Option<bool>,
pub deprecated: ::core::option::Option<bool>,
pub map_entry: ::core::option::Option<bool>,
pub deprecated_legacy_json_field_conflicts: ::core::option::Option<bool>,
pub features: ::buffa::MessageFieldView<
super::super::__buffa::view::FeatureSetView<'a>,
>,
pub uninterpreted_option: ::buffa::RepeatedView<
'a,
super::super::__buffa::view::UninterpretedOptionView<'a>,
>,
pub __buffa_unknown_fields: ::buffa::UnknownFieldsView<'a>,
}
impl<'a> MessageOptionsView<'a> {
#[doc(hidden)]
pub fn _decode_depth(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
let mut view = Self::default();
view._merge_into_view(buf, depth)?;
::core::result::Result::Ok(view)
}
#[doc(hidden)]
pub fn _merge_into_view(
&mut self,
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<(), ::buffa::DecodeError> {
let _ = depth;
#[allow(unused_variables)]
let view = self;
let mut cur: &'a [u8] = buf;
while !cur.is_empty() {
let before_tag = cur;
let tag = ::buffa::encoding::Tag::decode(&mut cur)?;
match tag.field_number() {
1u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 1u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
view.message_set_wire_format = Some(
::buffa::types::decode_bool(&mut cur)?,
);
}
2u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 2u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
view.no_standard_descriptor_accessor = Some(
::buffa::types::decode_bool(&mut cur)?,
);
}
3u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 3u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
view.deprecated = Some(::buffa::types::decode_bool(&mut cur)?);
}
7u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 7u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
view.map_entry = Some(::buffa::types::decode_bool(&mut cur)?);
}
11u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 11u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
view.deprecated_legacy_json_field_conflicts = Some(
::buffa::types::decode_bool(&mut cur)?,
);
}
12u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 12u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
match view.features.as_mut() {
Some(existing) => existing._merge_into_view(sub, depth - 1)?,
None => {
view.features = ::buffa::MessageFieldView::set(
super::super::__buffa::view::FeatureSetView::_decode_depth(
sub,
depth - 1,
)?,
);
}
}
}
999u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 999u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
view.uninterpreted_option
.push(
super::super::__buffa::view::UninterpretedOptionView::_decode_depth(
sub,
depth - 1,
)?,
);
}
_ => {
::buffa::encoding::skip_field_depth(tag, &mut cur, depth)?;
let span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..span_len]);
}
}
}
::core::result::Result::Ok(())
}
}
impl<'a> ::buffa::MessageView<'a> for MessageOptionsView<'a> {
type Owned = super::super::MessageOptions;
fn decode_view(buf: &'a [u8]) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, ::buffa::RECURSION_LIMIT)
}
fn decode_view_with_limit(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, depth)
}
fn to_owned_message(&self) -> super::super::MessageOptions {
self.to_owned_from_source(None)
}
#[allow(clippy::useless_conversion, clippy::needless_update)]
fn to_owned_from_source(
&self,
__buffa_src: ::core::option::Option<&::buffa::bytes::Bytes>,
) -> super::super::MessageOptions {
#[allow(unused_imports)]
use ::buffa::alloc::string::ToString as _;
let _ = __buffa_src;
super::super::MessageOptions {
message_set_wire_format: self.message_set_wire_format,
no_standard_descriptor_accessor: self.no_standard_descriptor_accessor,
deprecated: self.deprecated,
map_entry: self.map_entry,
deprecated_legacy_json_field_conflicts: self
.deprecated_legacy_json_field_conflicts,
features: match self.features.as_option() {
Some(v) => {
::buffa::MessageField::<
super::super::FeatureSet,
>::some(v.to_owned_from_source(__buffa_src))
}
None => ::buffa::MessageField::none(),
},
uninterpreted_option: self
.uninterpreted_option
.iter()
.map(|v| v.to_owned_from_source(__buffa_src))
.collect(),
__buffa_unknown_fields: self
.__buffa_unknown_fields
.to_owned()
.unwrap_or_default()
.into(),
..::core::default::Default::default()
}
}
}
impl<'a> ::buffa::ViewEncode<'a> for MessageOptionsView<'a> {
#[allow(clippy::needless_borrow, clippy::let_and_return)]
fn compute_size(&self, __cache: &mut ::buffa::SizeCache) -> u32 {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
let mut size = 0u32;
if self.message_set_wire_format.is_some() {
size += 1u32 + ::buffa::types::BOOL_ENCODED_LEN as u32;
}
if self.no_standard_descriptor_accessor.is_some() {
size += 1u32 + ::buffa::types::BOOL_ENCODED_LEN as u32;
}
if self.deprecated.is_some() {
size += 1u32 + ::buffa::types::BOOL_ENCODED_LEN as u32;
}
if self.map_entry.is_some() {
size += 1u32 + ::buffa::types::BOOL_ENCODED_LEN as u32;
}
if self.deprecated_legacy_json_field_conflicts.is_some() {
size += 1u32 + ::buffa::types::BOOL_ENCODED_LEN as u32;
}
if self.features.is_set() {
let __slot = __cache.reserve();
let inner_size = self.features.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 1u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
for v in &self.uninterpreted_option {
let __slot = __cache.reserve();
let inner_size = v.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 2u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
size += self.__buffa_unknown_fields.encoded_len() as u32;
size
}
#[allow(clippy::needless_borrow)]
fn write_to(
&self,
__cache: &mut ::buffa::SizeCache,
buf: &mut impl ::buffa::bytes::BufMut,
) {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
if let Some(v) = self.message_set_wire_format {
::buffa::encoding::Tag::new(1u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_bool(v, buf);
}
if let Some(v) = self.no_standard_descriptor_accessor {
::buffa::encoding::Tag::new(2u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_bool(v, buf);
}
if let Some(v) = self.deprecated {
::buffa::encoding::Tag::new(3u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_bool(v, buf);
}
if let Some(v) = self.map_entry {
::buffa::encoding::Tag::new(7u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_bool(v, buf);
}
if let Some(v) = self.deprecated_legacy_json_field_conflicts {
::buffa::encoding::Tag::new(11u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_bool(v, buf);
}
if self.features.is_set() {
::buffa::encoding::Tag::new(
12u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
self.features.write_to(__cache, buf);
}
for v in &self.uninterpreted_option {
::buffa::encoding::Tag::new(
999u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
v.write_to(__cache, buf);
}
self.__buffa_unknown_fields.write_to(buf);
}
}
#[cfg(feature = "json")]
impl<'__a> ::serde::Serialize for MessageOptionsView<'__a> {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
use ::serde::ser::SerializeMap as _;
let mut __map = __s.serialize_map(::core::option::Option::None)?;
if let ::core::option::Option::Some(__v) = self.message_set_wire_format {
__map.serialize_entry("messageSetWireFormat", &__v)?;
}
if let ::core::option::Option::Some(__v) = self.no_standard_descriptor_accessor {
__map.serialize_entry("noStandardDescriptorAccessor", &__v)?;
}
if let ::core::option::Option::Some(__v) = self.deprecated {
__map.serialize_entry("deprecated", &__v)?;
}
if let ::core::option::Option::Some(__v) = self.map_entry {
__map.serialize_entry("mapEntry", &__v)?;
}
if let ::core::option::Option::Some(__v) = self
.deprecated_legacy_json_field_conflicts
{
__map.serialize_entry("deprecatedLegacyJsonFieldConflicts", &__v)?;
}
{
if let ::core::option::Option::Some(__v) = self.features.as_option() {
__map.serialize_entry("features", __v)?;
}
}
if !self.uninterpreted_option.is_empty() {
__map.serialize_entry("uninterpretedOption", &*self.uninterpreted_option)?;
}
__map.end()
}
}
impl<'a> ::buffa::MessageName for MessageOptionsView<'a> {
const PACKAGE: &'static str = "google.protobuf";
const NAME: &'static str = "MessageOptions";
const FULL_NAME: &'static str = "google.protobuf.MessageOptions";
const TYPE_URL: &'static str = "type.googleapis.com/google.protobuf.MessageOptions";
}
impl<'v> ::buffa::DefaultViewInstance for MessageOptionsView<'v> {
fn default_view_instance<'a>() -> &'a Self
where
Self: 'a,
{
static VALUE: ::buffa::__private::OnceBox<MessageOptionsView<'static>> = ::buffa::__private::OnceBox::new();
VALUE
.get_or_init(|| ::buffa::alloc::boxed::Box::new(
<MessageOptionsView<'static>>::default(),
))
}
}
impl ::buffa::ViewReborrow for MessageOptionsView<'static> {
type Reborrowed<'b> = MessageOptionsView<'b>;
fn reborrow<'b>(this: &'b Self) -> &'b Self::Reborrowed<'b> {
this
}
}
#[derive(Clone, Debug, Default)]
pub struct FieldOptionsView<'a> {
pub ctype: ::core::option::Option<super::super::field_options::CType>,
pub packed: ::core::option::Option<bool>,
pub jstype: ::core::option::Option<super::super::field_options::JSType>,
pub lazy: ::core::option::Option<bool>,
pub unverified_lazy: ::core::option::Option<bool>,
pub deprecated: ::core::option::Option<bool>,
pub weak: ::core::option::Option<bool>,
pub debug_redact: ::core::option::Option<bool>,
pub retention: ::core::option::Option<super::super::field_options::OptionRetention>,
pub targets: ::buffa::RepeatedView<
'a,
super::super::field_options::OptionTargetType,
>,
pub edition_defaults: ::buffa::RepeatedView<
'a,
super::super::__buffa::view::field_options::EditionDefaultView<'a>,
>,
pub features: ::buffa::MessageFieldView<
super::super::__buffa::view::FeatureSetView<'a>,
>,
pub feature_support: ::buffa::MessageFieldView<
super::super::__buffa::view::field_options::FeatureSupportView<'a>,
>,
pub uninterpreted_option: ::buffa::RepeatedView<
'a,
super::super::__buffa::view::UninterpretedOptionView<'a>,
>,
pub __buffa_unknown_fields: ::buffa::UnknownFieldsView<'a>,
}
impl<'a> FieldOptionsView<'a> {
#[doc(hidden)]
pub fn _decode_depth(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
let mut view = Self::default();
view._merge_into_view(buf, depth)?;
::core::result::Result::Ok(view)
}
#[doc(hidden)]
pub fn _merge_into_view(
&mut self,
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<(), ::buffa::DecodeError> {
let _ = depth;
#[allow(unused_variables)]
let view = self;
let mut cur: &'a [u8] = buf;
while !cur.is_empty() {
let before_tag = cur;
let tag = ::buffa::encoding::Tag::decode(&mut cur)?;
match tag.field_number() {
1u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 1u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
let __raw = ::buffa::types::decode_int32(&mut cur)?;
if let ::core::option::Option::Some(__v) = ::buffa::Enumeration::from_i32(
__raw,
) {
view.ctype = Some(__v);
} else {
let __span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..__span_len]);
}
}
2u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 2u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
view.packed = Some(::buffa::types::decode_bool(&mut cur)?);
}
6u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 6u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
let __raw = ::buffa::types::decode_int32(&mut cur)?;
if let ::core::option::Option::Some(__v) = ::buffa::Enumeration::from_i32(
__raw,
) {
view.jstype = Some(__v);
} else {
let __span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..__span_len]);
}
}
5u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 5u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
view.lazy = Some(::buffa::types::decode_bool(&mut cur)?);
}
15u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 15u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
view.unverified_lazy = Some(::buffa::types::decode_bool(&mut cur)?);
}
3u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 3u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
view.deprecated = Some(::buffa::types::decode_bool(&mut cur)?);
}
10u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 10u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
view.weak = Some(::buffa::types::decode_bool(&mut cur)?);
}
16u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 16u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
view.debug_redact = Some(::buffa::types::decode_bool(&mut cur)?);
}
17u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 17u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
let __raw = ::buffa::types::decode_int32(&mut cur)?;
if let ::core::option::Option::Some(__v) = ::buffa::Enumeration::from_i32(
__raw,
) {
view.retention = Some(__v);
} else {
let __span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..__span_len]);
}
}
21u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 21u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
match view.features.as_mut() {
Some(existing) => existing._merge_into_view(sub, depth - 1)?,
None => {
view.features = ::buffa::MessageFieldView::set(
super::super::__buffa::view::FeatureSetView::_decode_depth(
sub,
depth - 1,
)?,
);
}
}
}
22u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 22u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
match view.feature_support.as_mut() {
Some(existing) => existing._merge_into_view(sub, depth - 1)?,
None => {
view.feature_support = ::buffa::MessageFieldView::set(
super::super::__buffa::view::field_options::FeatureSupportView::_decode_depth(
sub,
depth - 1,
)?,
);
}
}
}
19u32 => {
if tag.wire_type() == ::buffa::encoding::WireType::LengthDelimited {
let payload = ::buffa::types::borrow_bytes(&mut cur)?;
let mut pcur: &[u8] = payload;
while !pcur.is_empty() {
let __raw = ::buffa::types::decode_int32(&mut pcur)?;
if let ::core::option::Option::Some(__v) = ::buffa::Enumeration::from_i32(
__raw,
) {
view.targets.push(__v);
}
}
} else if tag.wire_type() == ::buffa::encoding::WireType::Varint {
let __raw = ::buffa::types::decode_int32(&mut cur)?;
if let ::core::option::Option::Some(__v) = ::buffa::Enumeration::from_i32(
__raw,
) {
view.targets.push(__v);
} else {
let __span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields
.push_raw(&before_tag[..__span_len]);
}
} else {
return Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 19u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
}
20u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 20u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
view.edition_defaults
.push(
super::super::__buffa::view::field_options::EditionDefaultView::_decode_depth(
sub,
depth - 1,
)?,
);
}
999u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 999u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
view.uninterpreted_option
.push(
super::super::__buffa::view::UninterpretedOptionView::_decode_depth(
sub,
depth - 1,
)?,
);
}
_ => {
::buffa::encoding::skip_field_depth(tag, &mut cur, depth)?;
let span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..span_len]);
}
}
}
::core::result::Result::Ok(())
}
}
impl<'a> ::buffa::MessageView<'a> for FieldOptionsView<'a> {
type Owned = super::super::FieldOptions;
fn decode_view(buf: &'a [u8]) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, ::buffa::RECURSION_LIMIT)
}
fn decode_view_with_limit(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, depth)
}
fn to_owned_message(&self) -> super::super::FieldOptions {
self.to_owned_from_source(None)
}
#[allow(clippy::useless_conversion, clippy::needless_update)]
fn to_owned_from_source(
&self,
__buffa_src: ::core::option::Option<&::buffa::bytes::Bytes>,
) -> super::super::FieldOptions {
#[allow(unused_imports)]
use ::buffa::alloc::string::ToString as _;
let _ = __buffa_src;
super::super::FieldOptions {
ctype: self.ctype,
packed: self.packed,
jstype: self.jstype,
lazy: self.lazy,
unverified_lazy: self.unverified_lazy,
deprecated: self.deprecated,
weak: self.weak,
debug_redact: self.debug_redact,
retention: self.retention,
targets: self.targets.to_vec(),
edition_defaults: self
.edition_defaults
.iter()
.map(|v| v.to_owned_from_source(__buffa_src))
.collect(),
features: match self.features.as_option() {
Some(v) => {
::buffa::MessageField::<
super::super::FeatureSet,
>::some(v.to_owned_from_source(__buffa_src))
}
None => ::buffa::MessageField::none(),
},
feature_support: match self.feature_support.as_option() {
Some(v) => {
::buffa::MessageField::<
super::super::field_options::FeatureSupport,
>::some(v.to_owned_from_source(__buffa_src))
}
None => ::buffa::MessageField::none(),
},
uninterpreted_option: self
.uninterpreted_option
.iter()
.map(|v| v.to_owned_from_source(__buffa_src))
.collect(),
__buffa_unknown_fields: self
.__buffa_unknown_fields
.to_owned()
.unwrap_or_default()
.into(),
..::core::default::Default::default()
}
}
}
impl<'a> ::buffa::ViewEncode<'a> for FieldOptionsView<'a> {
#[allow(clippy::needless_borrow, clippy::let_and_return)]
fn compute_size(&self, __cache: &mut ::buffa::SizeCache) -> u32 {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
let mut size = 0u32;
if let Some(ref v) = self.ctype {
size += 1u32 + ::buffa::types::int32_encoded_len(v.to_i32()) as u32;
}
if self.packed.is_some() {
size += 1u32 + ::buffa::types::BOOL_ENCODED_LEN as u32;
}
if self.deprecated.is_some() {
size += 1u32 + ::buffa::types::BOOL_ENCODED_LEN as u32;
}
if self.lazy.is_some() {
size += 1u32 + ::buffa::types::BOOL_ENCODED_LEN as u32;
}
if let Some(ref v) = self.jstype {
size += 1u32 + ::buffa::types::int32_encoded_len(v.to_i32()) as u32;
}
if self.weak.is_some() {
size += 1u32 + ::buffa::types::BOOL_ENCODED_LEN as u32;
}
if self.unverified_lazy.is_some() {
size += 1u32 + ::buffa::types::BOOL_ENCODED_LEN as u32;
}
if self.debug_redact.is_some() {
size += 2u32 + ::buffa::types::BOOL_ENCODED_LEN as u32;
}
if let Some(ref v) = self.retention {
size += 2u32 + ::buffa::types::int32_encoded_len(v.to_i32()) as u32;
}
for v in &self.targets {
size += 2u32 + ::buffa::types::int32_encoded_len(v.to_i32()) as u32;
}
for v in &self.edition_defaults {
let __slot = __cache.reserve();
let inner_size = v.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 2u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
if self.features.is_set() {
let __slot = __cache.reserve();
let inner_size = self.features.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 2u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
if self.feature_support.is_set() {
let __slot = __cache.reserve();
let inner_size = self.feature_support.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 2u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
for v in &self.uninterpreted_option {
let __slot = __cache.reserve();
let inner_size = v.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 2u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
size += self.__buffa_unknown_fields.encoded_len() as u32;
size
}
#[allow(clippy::needless_borrow)]
fn write_to(
&self,
__cache: &mut ::buffa::SizeCache,
buf: &mut impl ::buffa::bytes::BufMut,
) {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
if let Some(ref v) = self.ctype {
::buffa::encoding::Tag::new(1u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_int32(v.to_i32(), buf);
}
if let Some(v) = self.packed {
::buffa::encoding::Tag::new(2u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_bool(v, buf);
}
if let Some(v) = self.deprecated {
::buffa::encoding::Tag::new(3u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_bool(v, buf);
}
if let Some(v) = self.lazy {
::buffa::encoding::Tag::new(5u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_bool(v, buf);
}
if let Some(ref v) = self.jstype {
::buffa::encoding::Tag::new(6u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_int32(v.to_i32(), buf);
}
if let Some(v) = self.weak {
::buffa::encoding::Tag::new(10u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_bool(v, buf);
}
if let Some(v) = self.unverified_lazy {
::buffa::encoding::Tag::new(15u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_bool(v, buf);
}
if let Some(v) = self.debug_redact {
::buffa::encoding::Tag::new(16u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_bool(v, buf);
}
if let Some(ref v) = self.retention {
::buffa::encoding::Tag::new(17u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_int32(v.to_i32(), buf);
}
for v in &self.targets {
::buffa::encoding::Tag::new(19u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_int32(v.to_i32(), buf);
}
for v in &self.edition_defaults {
::buffa::encoding::Tag::new(
20u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
v.write_to(__cache, buf);
}
if self.features.is_set() {
::buffa::encoding::Tag::new(
21u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
self.features.write_to(__cache, buf);
}
if self.feature_support.is_set() {
::buffa::encoding::Tag::new(
22u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
self.feature_support.write_to(__cache, buf);
}
for v in &self.uninterpreted_option {
::buffa::encoding::Tag::new(
999u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
v.write_to(__cache, buf);
}
self.__buffa_unknown_fields.write_to(buf);
}
}
#[cfg(feature = "json")]
impl<'__a> ::serde::Serialize for FieldOptionsView<'__a> {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
use ::serde::ser::SerializeMap as _;
let mut __map = __s.serialize_map(::core::option::Option::None)?;
if let ::core::option::Option::Some(__v) = self.ctype {
struct _W(super::super::field_options::CType);
impl ::serde::Serialize for _W {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::closed_enum::serialize(&self.0, __s)
}
}
__map.serialize_entry("ctype", &_W(__v))?;
}
if let ::core::option::Option::Some(__v) = self.packed {
__map.serialize_entry("packed", &__v)?;
}
if let ::core::option::Option::Some(__v) = self.jstype {
struct _W(super::super::field_options::JSType);
impl ::serde::Serialize for _W {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::closed_enum::serialize(&self.0, __s)
}
}
__map.serialize_entry("jstype", &_W(__v))?;
}
if let ::core::option::Option::Some(__v) = self.lazy {
__map.serialize_entry("lazy", &__v)?;
}
if let ::core::option::Option::Some(__v) = self.unverified_lazy {
__map.serialize_entry("unverifiedLazy", &__v)?;
}
if let ::core::option::Option::Some(__v) = self.deprecated {
__map.serialize_entry("deprecated", &__v)?;
}
if let ::core::option::Option::Some(__v) = self.weak {
__map.serialize_entry("weak", &__v)?;
}
if let ::core::option::Option::Some(__v) = self.debug_redact {
__map.serialize_entry("debugRedact", &__v)?;
}
if let ::core::option::Option::Some(__v) = self.retention {
struct _W(super::super::field_options::OptionRetention);
impl ::serde::Serialize for _W {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::closed_enum::serialize(&self.0, __s)
}
}
__map.serialize_entry("retention", &_W(__v))?;
}
if !self.targets.is_empty() {
struct _WSeq<'__x>(&'__x [super::super::field_options::OptionTargetType]);
impl ::serde::Serialize for _WSeq<'_> {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::repeated_closed_enum::serialize(self.0, __s)
}
}
__map.serialize_entry("targets", &_WSeq(&self.targets))?;
}
if !self.edition_defaults.is_empty() {
__map.serialize_entry("editionDefaults", &*self.edition_defaults)?;
}
{
if let ::core::option::Option::Some(__v) = self.features.as_option() {
__map.serialize_entry("features", __v)?;
}
}
{
if let ::core::option::Option::Some(__v) = self.feature_support.as_option() {
__map.serialize_entry("featureSupport", __v)?;
}
}
if !self.uninterpreted_option.is_empty() {
__map.serialize_entry("uninterpretedOption", &*self.uninterpreted_option)?;
}
__map.end()
}
}
impl<'a> ::buffa::MessageName for FieldOptionsView<'a> {
const PACKAGE: &'static str = "google.protobuf";
const NAME: &'static str = "FieldOptions";
const FULL_NAME: &'static str = "google.protobuf.FieldOptions";
const TYPE_URL: &'static str = "type.googleapis.com/google.protobuf.FieldOptions";
}
impl<'v> ::buffa::DefaultViewInstance for FieldOptionsView<'v> {
fn default_view_instance<'a>() -> &'a Self
where
Self: 'a,
{
static VALUE: ::buffa::__private::OnceBox<FieldOptionsView<'static>> = ::buffa::__private::OnceBox::new();
VALUE
.get_or_init(|| ::buffa::alloc::boxed::Box::new(
<FieldOptionsView<'static>>::default(),
))
}
}
impl ::buffa::ViewReborrow for FieldOptionsView<'static> {
type Reborrowed<'b> = FieldOptionsView<'b>;
fn reborrow<'b>(this: &'b Self) -> &'b Self::Reborrowed<'b> {
this
}
}
pub mod field_options {
#[allow(unused_imports)]
use super::*;
#[derive(Clone, Debug, Default)]
pub struct EditionDefaultView<'a> {
pub edition: ::core::option::Option<super::super::super::Edition>,
pub value: ::core::option::Option<&'a str>,
pub __buffa_unknown_fields: ::buffa::UnknownFieldsView<'a>,
}
impl<'a> EditionDefaultView<'a> {
#[doc(hidden)]
pub fn _decode_depth(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
let mut view = Self::default();
view._merge_into_view(buf, depth)?;
::core::result::Result::Ok(view)
}
#[doc(hidden)]
pub fn _merge_into_view(
&mut self,
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<(), ::buffa::DecodeError> {
let _ = depth;
#[allow(unused_variables)]
let view = self;
let mut cur: &'a [u8] = buf;
while !cur.is_empty() {
let before_tag = cur;
let tag = ::buffa::encoding::Tag::decode(&mut cur)?;
match tag.field_number() {
3u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 3u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
let __raw = ::buffa::types::decode_int32(&mut cur)?;
if let ::core::option::Option::Some(__v) = ::buffa::Enumeration::from_i32(
__raw,
) {
view.edition = Some(__v);
} else {
let __span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields
.push_raw(&before_tag[..__span_len]);
}
}
2u32 => {
if tag.wire_type()
!= ::buffa::encoding::WireType::LengthDelimited
{
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 2u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
view.value = Some(::buffa::types::borrow_str(&mut cur)?);
}
_ => {
::buffa::encoding::skip_field_depth(tag, &mut cur, depth)?;
let span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..span_len]);
}
}
}
::core::result::Result::Ok(())
}
}
impl<'a> ::buffa::MessageView<'a> for EditionDefaultView<'a> {
type Owned = super::super::super::field_options::EditionDefault;
fn decode_view(
buf: &'a [u8],
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, ::buffa::RECURSION_LIMIT)
}
fn decode_view_with_limit(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, depth)
}
fn to_owned_message(
&self,
) -> super::super::super::field_options::EditionDefault {
self.to_owned_from_source(None)
}
#[allow(clippy::useless_conversion, clippy::needless_update)]
fn to_owned_from_source(
&self,
__buffa_src: ::core::option::Option<&::buffa::bytes::Bytes>,
) -> super::super::super::field_options::EditionDefault {
#[allow(unused_imports)]
use ::buffa::alloc::string::ToString as _;
let _ = __buffa_src;
super::super::super::field_options::EditionDefault {
edition: self.edition,
value: self.value.map(|s| s.to_string()),
__buffa_unknown_fields: self
.__buffa_unknown_fields
.to_owned()
.unwrap_or_default()
.into(),
..::core::default::Default::default()
}
}
}
impl<'a> ::buffa::ViewEncode<'a> for EditionDefaultView<'a> {
#[allow(clippy::needless_borrow, clippy::let_and_return)]
fn compute_size(&self, _cache: &mut ::buffa::SizeCache) -> u32 {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
let mut size = 0u32;
if let Some(ref v) = self.value {
size += 1u32 + ::buffa::types::string_encoded_len(v) as u32;
}
if let Some(ref v) = self.edition {
size += 1u32 + ::buffa::types::int32_encoded_len(v.to_i32()) as u32;
}
size += self.__buffa_unknown_fields.encoded_len() as u32;
size
}
#[allow(clippy::needless_borrow)]
fn write_to(
&self,
_cache: &mut ::buffa::SizeCache,
buf: &mut impl ::buffa::bytes::BufMut,
) {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
if let Some(ref v) = self.value {
::buffa::encoding::Tag::new(
2u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::types::encode_string(v, buf);
}
if let Some(ref v) = self.edition {
::buffa::encoding::Tag::new(3u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_int32(v.to_i32(), buf);
}
self.__buffa_unknown_fields.write_to(buf);
}
}
#[cfg(feature = "json")]
impl<'__a> ::serde::Serialize for EditionDefaultView<'__a> {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
use ::serde::ser::SerializeMap as _;
let mut __map = __s.serialize_map(::core::option::Option::None)?;
if let ::core::option::Option::Some(__v) = self.edition {
struct _W(super::super::super::Edition);
impl ::serde::Serialize for _W {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::closed_enum::serialize(&self.0, __s)
}
}
__map.serialize_entry("edition", &_W(__v))?;
}
if let ::core::option::Option::Some(__v) = self.value {
__map.serialize_entry("value", __v)?;
}
__map.end()
}
}
impl<'a> ::buffa::MessageName for EditionDefaultView<'a> {
const PACKAGE: &'static str = "google.protobuf";
const NAME: &'static str = "FieldOptions.EditionDefault";
const FULL_NAME: &'static str = "google.protobuf.FieldOptions.EditionDefault";
const TYPE_URL: &'static str = "type.googleapis.com/google.protobuf.FieldOptions.EditionDefault";
}
impl<'v> ::buffa::DefaultViewInstance for EditionDefaultView<'v> {
fn default_view_instance<'a>() -> &'a Self
where
Self: 'a,
{
static VALUE: ::buffa::__private::OnceBox<EditionDefaultView<'static>> = ::buffa::__private::OnceBox::new();
VALUE
.get_or_init(|| ::buffa::alloc::boxed::Box::new(
<EditionDefaultView<'static>>::default(),
))
}
}
impl ::buffa::ViewReborrow for EditionDefaultView<'static> {
type Reborrowed<'b> = EditionDefaultView<'b>;
fn reborrow<'b>(this: &'b Self) -> &'b Self::Reborrowed<'b> {
this
}
}
#[derive(Clone, Debug, Default)]
pub struct FeatureSupportView<'a> {
pub edition_introduced: ::core::option::Option<super::super::super::Edition>,
pub edition_deprecated: ::core::option::Option<super::super::super::Edition>,
pub deprecation_warning: ::core::option::Option<&'a str>,
pub edition_removed: ::core::option::Option<super::super::super::Edition>,
pub __buffa_unknown_fields: ::buffa::UnknownFieldsView<'a>,
}
impl<'a> FeatureSupportView<'a> {
#[doc(hidden)]
pub fn _decode_depth(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
let mut view = Self::default();
view._merge_into_view(buf, depth)?;
::core::result::Result::Ok(view)
}
#[doc(hidden)]
pub fn _merge_into_view(
&mut self,
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<(), ::buffa::DecodeError> {
let _ = depth;
#[allow(unused_variables)]
let view = self;
let mut cur: &'a [u8] = buf;
while !cur.is_empty() {
let before_tag = cur;
let tag = ::buffa::encoding::Tag::decode(&mut cur)?;
match tag.field_number() {
1u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 1u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
let __raw = ::buffa::types::decode_int32(&mut cur)?;
if let ::core::option::Option::Some(__v) = ::buffa::Enumeration::from_i32(
__raw,
) {
view.edition_introduced = Some(__v);
} else {
let __span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields
.push_raw(&before_tag[..__span_len]);
}
}
2u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 2u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
let __raw = ::buffa::types::decode_int32(&mut cur)?;
if let ::core::option::Option::Some(__v) = ::buffa::Enumeration::from_i32(
__raw,
) {
view.edition_deprecated = Some(__v);
} else {
let __span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields
.push_raw(&before_tag[..__span_len]);
}
}
3u32 => {
if tag.wire_type()
!= ::buffa::encoding::WireType::LengthDelimited
{
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 3u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
view.deprecation_warning = Some(
::buffa::types::borrow_str(&mut cur)?,
);
}
4u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 4u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
let __raw = ::buffa::types::decode_int32(&mut cur)?;
if let ::core::option::Option::Some(__v) = ::buffa::Enumeration::from_i32(
__raw,
) {
view.edition_removed = Some(__v);
} else {
let __span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields
.push_raw(&before_tag[..__span_len]);
}
}
_ => {
::buffa::encoding::skip_field_depth(tag, &mut cur, depth)?;
let span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..span_len]);
}
}
}
::core::result::Result::Ok(())
}
}
impl<'a> ::buffa::MessageView<'a> for FeatureSupportView<'a> {
type Owned = super::super::super::field_options::FeatureSupport;
fn decode_view(
buf: &'a [u8],
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, ::buffa::RECURSION_LIMIT)
}
fn decode_view_with_limit(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, depth)
}
fn to_owned_message(
&self,
) -> super::super::super::field_options::FeatureSupport {
self.to_owned_from_source(None)
}
#[allow(clippy::useless_conversion, clippy::needless_update)]
fn to_owned_from_source(
&self,
__buffa_src: ::core::option::Option<&::buffa::bytes::Bytes>,
) -> super::super::super::field_options::FeatureSupport {
#[allow(unused_imports)]
use ::buffa::alloc::string::ToString as _;
let _ = __buffa_src;
super::super::super::field_options::FeatureSupport {
edition_introduced: self.edition_introduced,
edition_deprecated: self.edition_deprecated,
deprecation_warning: self.deprecation_warning.map(|s| s.to_string()),
edition_removed: self.edition_removed,
__buffa_unknown_fields: self
.__buffa_unknown_fields
.to_owned()
.unwrap_or_default()
.into(),
..::core::default::Default::default()
}
}
}
impl<'a> ::buffa::ViewEncode<'a> for FeatureSupportView<'a> {
#[allow(clippy::needless_borrow, clippy::let_and_return)]
fn compute_size(&self, _cache: &mut ::buffa::SizeCache) -> u32 {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
let mut size = 0u32;
if let Some(ref v) = self.edition_introduced {
size += 1u32 + ::buffa::types::int32_encoded_len(v.to_i32()) as u32;
}
if let Some(ref v) = self.edition_deprecated {
size += 1u32 + ::buffa::types::int32_encoded_len(v.to_i32()) as u32;
}
if let Some(ref v) = self.deprecation_warning {
size += 1u32 + ::buffa::types::string_encoded_len(v) as u32;
}
if let Some(ref v) = self.edition_removed {
size += 1u32 + ::buffa::types::int32_encoded_len(v.to_i32()) as u32;
}
size += self.__buffa_unknown_fields.encoded_len() as u32;
size
}
#[allow(clippy::needless_borrow)]
fn write_to(
&self,
_cache: &mut ::buffa::SizeCache,
buf: &mut impl ::buffa::bytes::BufMut,
) {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
if let Some(ref v) = self.edition_introduced {
::buffa::encoding::Tag::new(1u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_int32(v.to_i32(), buf);
}
if let Some(ref v) = self.edition_deprecated {
::buffa::encoding::Tag::new(2u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_int32(v.to_i32(), buf);
}
if let Some(ref v) = self.deprecation_warning {
::buffa::encoding::Tag::new(
3u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::types::encode_string(v, buf);
}
if let Some(ref v) = self.edition_removed {
::buffa::encoding::Tag::new(4u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_int32(v.to_i32(), buf);
}
self.__buffa_unknown_fields.write_to(buf);
}
}
#[cfg(feature = "json")]
impl<'__a> ::serde::Serialize for FeatureSupportView<'__a> {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
use ::serde::ser::SerializeMap as _;
let mut __map = __s.serialize_map(::core::option::Option::None)?;
if let ::core::option::Option::Some(__v) = self.edition_introduced {
struct _W(super::super::super::Edition);
impl ::serde::Serialize for _W {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::closed_enum::serialize(&self.0, __s)
}
}
__map.serialize_entry("editionIntroduced", &_W(__v))?;
}
if let ::core::option::Option::Some(__v) = self.edition_deprecated {
struct _W(super::super::super::Edition);
impl ::serde::Serialize for _W {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::closed_enum::serialize(&self.0, __s)
}
}
__map.serialize_entry("editionDeprecated", &_W(__v))?;
}
if let ::core::option::Option::Some(__v) = self.deprecation_warning {
__map.serialize_entry("deprecationWarning", __v)?;
}
if let ::core::option::Option::Some(__v) = self.edition_removed {
struct _W(super::super::super::Edition);
impl ::serde::Serialize for _W {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::closed_enum::serialize(&self.0, __s)
}
}
__map.serialize_entry("editionRemoved", &_W(__v))?;
}
__map.end()
}
}
impl<'a> ::buffa::MessageName for FeatureSupportView<'a> {
const PACKAGE: &'static str = "google.protobuf";
const NAME: &'static str = "FieldOptions.FeatureSupport";
const FULL_NAME: &'static str = "google.protobuf.FieldOptions.FeatureSupport";
const TYPE_URL: &'static str = "type.googleapis.com/google.protobuf.FieldOptions.FeatureSupport";
}
impl<'v> ::buffa::DefaultViewInstance for FeatureSupportView<'v> {
fn default_view_instance<'a>() -> &'a Self
where
Self: 'a,
{
static VALUE: ::buffa::__private::OnceBox<FeatureSupportView<'static>> = ::buffa::__private::OnceBox::new();
VALUE
.get_or_init(|| ::buffa::alloc::boxed::Box::new(
<FeatureSupportView<'static>>::default(),
))
}
}
impl ::buffa::ViewReborrow for FeatureSupportView<'static> {
type Reborrowed<'b> = FeatureSupportView<'b>;
fn reborrow<'b>(this: &'b Self) -> &'b Self::Reborrowed<'b> {
this
}
}
}
#[derive(Clone, Debug, Default)]
pub struct OneofOptionsView<'a> {
pub features: ::buffa::MessageFieldView<
super::super::__buffa::view::FeatureSetView<'a>,
>,
pub uninterpreted_option: ::buffa::RepeatedView<
'a,
super::super::__buffa::view::UninterpretedOptionView<'a>,
>,
pub __buffa_unknown_fields: ::buffa::UnknownFieldsView<'a>,
}
impl<'a> OneofOptionsView<'a> {
#[doc(hidden)]
pub fn _decode_depth(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
let mut view = Self::default();
view._merge_into_view(buf, depth)?;
::core::result::Result::Ok(view)
}
#[doc(hidden)]
pub fn _merge_into_view(
&mut self,
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<(), ::buffa::DecodeError> {
let _ = depth;
#[allow(unused_variables)]
let view = self;
let mut cur: &'a [u8] = buf;
while !cur.is_empty() {
let before_tag = cur;
let tag = ::buffa::encoding::Tag::decode(&mut cur)?;
match tag.field_number() {
1u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 1u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
match view.features.as_mut() {
Some(existing) => existing._merge_into_view(sub, depth - 1)?,
None => {
view.features = ::buffa::MessageFieldView::set(
super::super::__buffa::view::FeatureSetView::_decode_depth(
sub,
depth - 1,
)?,
);
}
}
}
999u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 999u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
view.uninterpreted_option
.push(
super::super::__buffa::view::UninterpretedOptionView::_decode_depth(
sub,
depth - 1,
)?,
);
}
_ => {
::buffa::encoding::skip_field_depth(tag, &mut cur, depth)?;
let span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..span_len]);
}
}
}
::core::result::Result::Ok(())
}
}
impl<'a> ::buffa::MessageView<'a> for OneofOptionsView<'a> {
type Owned = super::super::OneofOptions;
fn decode_view(buf: &'a [u8]) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, ::buffa::RECURSION_LIMIT)
}
fn decode_view_with_limit(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, depth)
}
fn to_owned_message(&self) -> super::super::OneofOptions {
self.to_owned_from_source(None)
}
#[allow(clippy::useless_conversion, clippy::needless_update)]
fn to_owned_from_source(
&self,
__buffa_src: ::core::option::Option<&::buffa::bytes::Bytes>,
) -> super::super::OneofOptions {
#[allow(unused_imports)]
use ::buffa::alloc::string::ToString as _;
let _ = __buffa_src;
super::super::OneofOptions {
features: match self.features.as_option() {
Some(v) => {
::buffa::MessageField::<
super::super::FeatureSet,
>::some(v.to_owned_from_source(__buffa_src))
}
None => ::buffa::MessageField::none(),
},
uninterpreted_option: self
.uninterpreted_option
.iter()
.map(|v| v.to_owned_from_source(__buffa_src))
.collect(),
__buffa_unknown_fields: self
.__buffa_unknown_fields
.to_owned()
.unwrap_or_default()
.into(),
..::core::default::Default::default()
}
}
}
impl<'a> ::buffa::ViewEncode<'a> for OneofOptionsView<'a> {
#[allow(clippy::needless_borrow, clippy::let_and_return)]
fn compute_size(&self, __cache: &mut ::buffa::SizeCache) -> u32 {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
let mut size = 0u32;
if self.features.is_set() {
let __slot = __cache.reserve();
let inner_size = self.features.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 1u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
for v in &self.uninterpreted_option {
let __slot = __cache.reserve();
let inner_size = v.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 2u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
size += self.__buffa_unknown_fields.encoded_len() as u32;
size
}
#[allow(clippy::needless_borrow)]
fn write_to(
&self,
__cache: &mut ::buffa::SizeCache,
buf: &mut impl ::buffa::bytes::BufMut,
) {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
if self.features.is_set() {
::buffa::encoding::Tag::new(
1u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
self.features.write_to(__cache, buf);
}
for v in &self.uninterpreted_option {
::buffa::encoding::Tag::new(
999u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
v.write_to(__cache, buf);
}
self.__buffa_unknown_fields.write_to(buf);
}
}
#[cfg(feature = "json")]
impl<'__a> ::serde::Serialize for OneofOptionsView<'__a> {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
use ::serde::ser::SerializeMap as _;
let mut __map = __s.serialize_map(::core::option::Option::None)?;
{
if let ::core::option::Option::Some(__v) = self.features.as_option() {
__map.serialize_entry("features", __v)?;
}
}
if !self.uninterpreted_option.is_empty() {
__map.serialize_entry("uninterpretedOption", &*self.uninterpreted_option)?;
}
__map.end()
}
}
impl<'a> ::buffa::MessageName for OneofOptionsView<'a> {
const PACKAGE: &'static str = "google.protobuf";
const NAME: &'static str = "OneofOptions";
const FULL_NAME: &'static str = "google.protobuf.OneofOptions";
const TYPE_URL: &'static str = "type.googleapis.com/google.protobuf.OneofOptions";
}
impl<'v> ::buffa::DefaultViewInstance for OneofOptionsView<'v> {
fn default_view_instance<'a>() -> &'a Self
where
Self: 'a,
{
static VALUE: ::buffa::__private::OnceBox<OneofOptionsView<'static>> = ::buffa::__private::OnceBox::new();
VALUE
.get_or_init(|| ::buffa::alloc::boxed::Box::new(
<OneofOptionsView<'static>>::default(),
))
}
}
impl ::buffa::ViewReborrow for OneofOptionsView<'static> {
type Reborrowed<'b> = OneofOptionsView<'b>;
fn reborrow<'b>(this: &'b Self) -> &'b Self::Reborrowed<'b> {
this
}
}
#[derive(Clone, Debug, Default)]
pub struct EnumOptionsView<'a> {
pub allow_alias: ::core::option::Option<bool>,
pub deprecated: ::core::option::Option<bool>,
pub deprecated_legacy_json_field_conflicts: ::core::option::Option<bool>,
pub features: ::buffa::MessageFieldView<
super::super::__buffa::view::FeatureSetView<'a>,
>,
pub uninterpreted_option: ::buffa::RepeatedView<
'a,
super::super::__buffa::view::UninterpretedOptionView<'a>,
>,
pub __buffa_unknown_fields: ::buffa::UnknownFieldsView<'a>,
}
impl<'a> EnumOptionsView<'a> {
#[doc(hidden)]
pub fn _decode_depth(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
let mut view = Self::default();
view._merge_into_view(buf, depth)?;
::core::result::Result::Ok(view)
}
#[doc(hidden)]
pub fn _merge_into_view(
&mut self,
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<(), ::buffa::DecodeError> {
let _ = depth;
#[allow(unused_variables)]
let view = self;
let mut cur: &'a [u8] = buf;
while !cur.is_empty() {
let before_tag = cur;
let tag = ::buffa::encoding::Tag::decode(&mut cur)?;
match tag.field_number() {
2u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 2u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
view.allow_alias = Some(::buffa::types::decode_bool(&mut cur)?);
}
3u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 3u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
view.deprecated = Some(::buffa::types::decode_bool(&mut cur)?);
}
6u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 6u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
view.deprecated_legacy_json_field_conflicts = Some(
::buffa::types::decode_bool(&mut cur)?,
);
}
7u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 7u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
match view.features.as_mut() {
Some(existing) => existing._merge_into_view(sub, depth - 1)?,
None => {
view.features = ::buffa::MessageFieldView::set(
super::super::__buffa::view::FeatureSetView::_decode_depth(
sub,
depth - 1,
)?,
);
}
}
}
999u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 999u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
view.uninterpreted_option
.push(
super::super::__buffa::view::UninterpretedOptionView::_decode_depth(
sub,
depth - 1,
)?,
);
}
_ => {
::buffa::encoding::skip_field_depth(tag, &mut cur, depth)?;
let span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..span_len]);
}
}
}
::core::result::Result::Ok(())
}
}
impl<'a> ::buffa::MessageView<'a> for EnumOptionsView<'a> {
type Owned = super::super::EnumOptions;
fn decode_view(buf: &'a [u8]) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, ::buffa::RECURSION_LIMIT)
}
fn decode_view_with_limit(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, depth)
}
fn to_owned_message(&self) -> super::super::EnumOptions {
self.to_owned_from_source(None)
}
#[allow(clippy::useless_conversion, clippy::needless_update)]
fn to_owned_from_source(
&self,
__buffa_src: ::core::option::Option<&::buffa::bytes::Bytes>,
) -> super::super::EnumOptions {
#[allow(unused_imports)]
use ::buffa::alloc::string::ToString as _;
let _ = __buffa_src;
super::super::EnumOptions {
allow_alias: self.allow_alias,
deprecated: self.deprecated,
deprecated_legacy_json_field_conflicts: self
.deprecated_legacy_json_field_conflicts,
features: match self.features.as_option() {
Some(v) => {
::buffa::MessageField::<
super::super::FeatureSet,
>::some(v.to_owned_from_source(__buffa_src))
}
None => ::buffa::MessageField::none(),
},
uninterpreted_option: self
.uninterpreted_option
.iter()
.map(|v| v.to_owned_from_source(__buffa_src))
.collect(),
__buffa_unknown_fields: self
.__buffa_unknown_fields
.to_owned()
.unwrap_or_default()
.into(),
..::core::default::Default::default()
}
}
}
impl<'a> ::buffa::ViewEncode<'a> for EnumOptionsView<'a> {
#[allow(clippy::needless_borrow, clippy::let_and_return)]
fn compute_size(&self, __cache: &mut ::buffa::SizeCache) -> u32 {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
let mut size = 0u32;
if self.allow_alias.is_some() {
size += 1u32 + ::buffa::types::BOOL_ENCODED_LEN as u32;
}
if self.deprecated.is_some() {
size += 1u32 + ::buffa::types::BOOL_ENCODED_LEN as u32;
}
if self.deprecated_legacy_json_field_conflicts.is_some() {
size += 1u32 + ::buffa::types::BOOL_ENCODED_LEN as u32;
}
if self.features.is_set() {
let __slot = __cache.reserve();
let inner_size = self.features.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 1u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
for v in &self.uninterpreted_option {
let __slot = __cache.reserve();
let inner_size = v.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 2u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
size += self.__buffa_unknown_fields.encoded_len() as u32;
size
}
#[allow(clippy::needless_borrow)]
fn write_to(
&self,
__cache: &mut ::buffa::SizeCache,
buf: &mut impl ::buffa::bytes::BufMut,
) {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
if let Some(v) = self.allow_alias {
::buffa::encoding::Tag::new(2u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_bool(v, buf);
}
if let Some(v) = self.deprecated {
::buffa::encoding::Tag::new(3u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_bool(v, buf);
}
if let Some(v) = self.deprecated_legacy_json_field_conflicts {
::buffa::encoding::Tag::new(6u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_bool(v, buf);
}
if self.features.is_set() {
::buffa::encoding::Tag::new(
7u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
self.features.write_to(__cache, buf);
}
for v in &self.uninterpreted_option {
::buffa::encoding::Tag::new(
999u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
v.write_to(__cache, buf);
}
self.__buffa_unknown_fields.write_to(buf);
}
}
#[cfg(feature = "json")]
impl<'__a> ::serde::Serialize for EnumOptionsView<'__a> {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
use ::serde::ser::SerializeMap as _;
let mut __map = __s.serialize_map(::core::option::Option::None)?;
if let ::core::option::Option::Some(__v) = self.allow_alias {
__map.serialize_entry("allowAlias", &__v)?;
}
if let ::core::option::Option::Some(__v) = self.deprecated {
__map.serialize_entry("deprecated", &__v)?;
}
if let ::core::option::Option::Some(__v) = self
.deprecated_legacy_json_field_conflicts
{
__map.serialize_entry("deprecatedLegacyJsonFieldConflicts", &__v)?;
}
{
if let ::core::option::Option::Some(__v) = self.features.as_option() {
__map.serialize_entry("features", __v)?;
}
}
if !self.uninterpreted_option.is_empty() {
__map.serialize_entry("uninterpretedOption", &*self.uninterpreted_option)?;
}
__map.end()
}
}
impl<'a> ::buffa::MessageName for EnumOptionsView<'a> {
const PACKAGE: &'static str = "google.protobuf";
const NAME: &'static str = "EnumOptions";
const FULL_NAME: &'static str = "google.protobuf.EnumOptions";
const TYPE_URL: &'static str = "type.googleapis.com/google.protobuf.EnumOptions";
}
impl<'v> ::buffa::DefaultViewInstance for EnumOptionsView<'v> {
fn default_view_instance<'a>() -> &'a Self
where
Self: 'a,
{
static VALUE: ::buffa::__private::OnceBox<EnumOptionsView<'static>> = ::buffa::__private::OnceBox::new();
VALUE
.get_or_init(|| ::buffa::alloc::boxed::Box::new(
<EnumOptionsView<'static>>::default(),
))
}
}
impl ::buffa::ViewReborrow for EnumOptionsView<'static> {
type Reborrowed<'b> = EnumOptionsView<'b>;
fn reborrow<'b>(this: &'b Self) -> &'b Self::Reborrowed<'b> {
this
}
}
#[derive(Clone, Debug, Default)]
pub struct EnumValueOptionsView<'a> {
pub deprecated: ::core::option::Option<bool>,
pub features: ::buffa::MessageFieldView<
super::super::__buffa::view::FeatureSetView<'a>,
>,
pub debug_redact: ::core::option::Option<bool>,
pub feature_support: ::buffa::MessageFieldView<
super::super::__buffa::view::field_options::FeatureSupportView<'a>,
>,
pub uninterpreted_option: ::buffa::RepeatedView<
'a,
super::super::__buffa::view::UninterpretedOptionView<'a>,
>,
pub __buffa_unknown_fields: ::buffa::UnknownFieldsView<'a>,
}
impl<'a> EnumValueOptionsView<'a> {
#[doc(hidden)]
pub fn _decode_depth(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
let mut view = Self::default();
view._merge_into_view(buf, depth)?;
::core::result::Result::Ok(view)
}
#[doc(hidden)]
pub fn _merge_into_view(
&mut self,
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<(), ::buffa::DecodeError> {
let _ = depth;
#[allow(unused_variables)]
let view = self;
let mut cur: &'a [u8] = buf;
while !cur.is_empty() {
let before_tag = cur;
let tag = ::buffa::encoding::Tag::decode(&mut cur)?;
match tag.field_number() {
1u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 1u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
view.deprecated = Some(::buffa::types::decode_bool(&mut cur)?);
}
2u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 2u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
match view.features.as_mut() {
Some(existing) => existing._merge_into_view(sub, depth - 1)?,
None => {
view.features = ::buffa::MessageFieldView::set(
super::super::__buffa::view::FeatureSetView::_decode_depth(
sub,
depth - 1,
)?,
);
}
}
}
3u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 3u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
view.debug_redact = Some(::buffa::types::decode_bool(&mut cur)?);
}
4u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 4u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
match view.feature_support.as_mut() {
Some(existing) => existing._merge_into_view(sub, depth - 1)?,
None => {
view.feature_support = ::buffa::MessageFieldView::set(
super::super::__buffa::view::field_options::FeatureSupportView::_decode_depth(
sub,
depth - 1,
)?,
);
}
}
}
999u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 999u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
view.uninterpreted_option
.push(
super::super::__buffa::view::UninterpretedOptionView::_decode_depth(
sub,
depth - 1,
)?,
);
}
_ => {
::buffa::encoding::skip_field_depth(tag, &mut cur, depth)?;
let span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..span_len]);
}
}
}
::core::result::Result::Ok(())
}
}
impl<'a> ::buffa::MessageView<'a> for EnumValueOptionsView<'a> {
type Owned = super::super::EnumValueOptions;
fn decode_view(buf: &'a [u8]) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, ::buffa::RECURSION_LIMIT)
}
fn decode_view_with_limit(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, depth)
}
fn to_owned_message(&self) -> super::super::EnumValueOptions {
self.to_owned_from_source(None)
}
#[allow(clippy::useless_conversion, clippy::needless_update)]
fn to_owned_from_source(
&self,
__buffa_src: ::core::option::Option<&::buffa::bytes::Bytes>,
) -> super::super::EnumValueOptions {
#[allow(unused_imports)]
use ::buffa::alloc::string::ToString as _;
let _ = __buffa_src;
super::super::EnumValueOptions {
deprecated: self.deprecated,
features: match self.features.as_option() {
Some(v) => {
::buffa::MessageField::<
super::super::FeatureSet,
>::some(v.to_owned_from_source(__buffa_src))
}
None => ::buffa::MessageField::none(),
},
debug_redact: self.debug_redact,
feature_support: match self.feature_support.as_option() {
Some(v) => {
::buffa::MessageField::<
super::super::field_options::FeatureSupport,
>::some(v.to_owned_from_source(__buffa_src))
}
None => ::buffa::MessageField::none(),
},
uninterpreted_option: self
.uninterpreted_option
.iter()
.map(|v| v.to_owned_from_source(__buffa_src))
.collect(),
__buffa_unknown_fields: self
.__buffa_unknown_fields
.to_owned()
.unwrap_or_default()
.into(),
..::core::default::Default::default()
}
}
}
impl<'a> ::buffa::ViewEncode<'a> for EnumValueOptionsView<'a> {
#[allow(clippy::needless_borrow, clippy::let_and_return)]
fn compute_size(&self, __cache: &mut ::buffa::SizeCache) -> u32 {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
let mut size = 0u32;
if self.deprecated.is_some() {
size += 1u32 + ::buffa::types::BOOL_ENCODED_LEN as u32;
}
if self.features.is_set() {
let __slot = __cache.reserve();
let inner_size = self.features.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 1u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
if self.debug_redact.is_some() {
size += 1u32 + ::buffa::types::BOOL_ENCODED_LEN as u32;
}
if self.feature_support.is_set() {
let __slot = __cache.reserve();
let inner_size = self.feature_support.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 1u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
for v in &self.uninterpreted_option {
let __slot = __cache.reserve();
let inner_size = v.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 2u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
size += self.__buffa_unknown_fields.encoded_len() as u32;
size
}
#[allow(clippy::needless_borrow)]
fn write_to(
&self,
__cache: &mut ::buffa::SizeCache,
buf: &mut impl ::buffa::bytes::BufMut,
) {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
if let Some(v) = self.deprecated {
::buffa::encoding::Tag::new(1u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_bool(v, buf);
}
if self.features.is_set() {
::buffa::encoding::Tag::new(
2u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
self.features.write_to(__cache, buf);
}
if let Some(v) = self.debug_redact {
::buffa::encoding::Tag::new(3u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_bool(v, buf);
}
if self.feature_support.is_set() {
::buffa::encoding::Tag::new(
4u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
self.feature_support.write_to(__cache, buf);
}
for v in &self.uninterpreted_option {
::buffa::encoding::Tag::new(
999u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
v.write_to(__cache, buf);
}
self.__buffa_unknown_fields.write_to(buf);
}
}
#[cfg(feature = "json")]
impl<'__a> ::serde::Serialize for EnumValueOptionsView<'__a> {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
use ::serde::ser::SerializeMap as _;
let mut __map = __s.serialize_map(::core::option::Option::None)?;
if let ::core::option::Option::Some(__v) = self.deprecated {
__map.serialize_entry("deprecated", &__v)?;
}
{
if let ::core::option::Option::Some(__v) = self.features.as_option() {
__map.serialize_entry("features", __v)?;
}
}
if let ::core::option::Option::Some(__v) = self.debug_redact {
__map.serialize_entry("debugRedact", &__v)?;
}
{
if let ::core::option::Option::Some(__v) = self.feature_support.as_option() {
__map.serialize_entry("featureSupport", __v)?;
}
}
if !self.uninterpreted_option.is_empty() {
__map.serialize_entry("uninterpretedOption", &*self.uninterpreted_option)?;
}
__map.end()
}
}
impl<'a> ::buffa::MessageName for EnumValueOptionsView<'a> {
const PACKAGE: &'static str = "google.protobuf";
const NAME: &'static str = "EnumValueOptions";
const FULL_NAME: &'static str = "google.protobuf.EnumValueOptions";
const TYPE_URL: &'static str = "type.googleapis.com/google.protobuf.EnumValueOptions";
}
impl<'v> ::buffa::DefaultViewInstance for EnumValueOptionsView<'v> {
fn default_view_instance<'a>() -> &'a Self
where
Self: 'a,
{
static VALUE: ::buffa::__private::OnceBox<EnumValueOptionsView<'static>> = ::buffa::__private::OnceBox::new();
VALUE
.get_or_init(|| ::buffa::alloc::boxed::Box::new(
<EnumValueOptionsView<'static>>::default(),
))
}
}
impl ::buffa::ViewReborrow for EnumValueOptionsView<'static> {
type Reborrowed<'b> = EnumValueOptionsView<'b>;
fn reborrow<'b>(this: &'b Self) -> &'b Self::Reborrowed<'b> {
this
}
}
#[derive(Clone, Debug, Default)]
pub struct ServiceOptionsView<'a> {
pub features: ::buffa::MessageFieldView<
super::super::__buffa::view::FeatureSetView<'a>,
>,
pub deprecated: ::core::option::Option<bool>,
pub uninterpreted_option: ::buffa::RepeatedView<
'a,
super::super::__buffa::view::UninterpretedOptionView<'a>,
>,
pub __buffa_unknown_fields: ::buffa::UnknownFieldsView<'a>,
}
impl<'a> ServiceOptionsView<'a> {
#[doc(hidden)]
pub fn _decode_depth(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
let mut view = Self::default();
view._merge_into_view(buf, depth)?;
::core::result::Result::Ok(view)
}
#[doc(hidden)]
pub fn _merge_into_view(
&mut self,
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<(), ::buffa::DecodeError> {
let _ = depth;
#[allow(unused_variables)]
let view = self;
let mut cur: &'a [u8] = buf;
while !cur.is_empty() {
let before_tag = cur;
let tag = ::buffa::encoding::Tag::decode(&mut cur)?;
match tag.field_number() {
34u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 34u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
match view.features.as_mut() {
Some(existing) => existing._merge_into_view(sub, depth - 1)?,
None => {
view.features = ::buffa::MessageFieldView::set(
super::super::__buffa::view::FeatureSetView::_decode_depth(
sub,
depth - 1,
)?,
);
}
}
}
33u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 33u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
view.deprecated = Some(::buffa::types::decode_bool(&mut cur)?);
}
999u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 999u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
view.uninterpreted_option
.push(
super::super::__buffa::view::UninterpretedOptionView::_decode_depth(
sub,
depth - 1,
)?,
);
}
_ => {
::buffa::encoding::skip_field_depth(tag, &mut cur, depth)?;
let span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..span_len]);
}
}
}
::core::result::Result::Ok(())
}
}
impl<'a> ::buffa::MessageView<'a> for ServiceOptionsView<'a> {
type Owned = super::super::ServiceOptions;
fn decode_view(buf: &'a [u8]) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, ::buffa::RECURSION_LIMIT)
}
fn decode_view_with_limit(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, depth)
}
fn to_owned_message(&self) -> super::super::ServiceOptions {
self.to_owned_from_source(None)
}
#[allow(clippy::useless_conversion, clippy::needless_update)]
fn to_owned_from_source(
&self,
__buffa_src: ::core::option::Option<&::buffa::bytes::Bytes>,
) -> super::super::ServiceOptions {
#[allow(unused_imports)]
use ::buffa::alloc::string::ToString as _;
let _ = __buffa_src;
super::super::ServiceOptions {
features: match self.features.as_option() {
Some(v) => {
::buffa::MessageField::<
super::super::FeatureSet,
>::some(v.to_owned_from_source(__buffa_src))
}
None => ::buffa::MessageField::none(),
},
deprecated: self.deprecated,
uninterpreted_option: self
.uninterpreted_option
.iter()
.map(|v| v.to_owned_from_source(__buffa_src))
.collect(),
__buffa_unknown_fields: self
.__buffa_unknown_fields
.to_owned()
.unwrap_or_default()
.into(),
..::core::default::Default::default()
}
}
}
impl<'a> ::buffa::ViewEncode<'a> for ServiceOptionsView<'a> {
#[allow(clippy::needless_borrow, clippy::let_and_return)]
fn compute_size(&self, __cache: &mut ::buffa::SizeCache) -> u32 {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
let mut size = 0u32;
if self.deprecated.is_some() {
size += 2u32 + ::buffa::types::BOOL_ENCODED_LEN as u32;
}
if self.features.is_set() {
let __slot = __cache.reserve();
let inner_size = self.features.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 2u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
for v in &self.uninterpreted_option {
let __slot = __cache.reserve();
let inner_size = v.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 2u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
size += self.__buffa_unknown_fields.encoded_len() as u32;
size
}
#[allow(clippy::needless_borrow)]
fn write_to(
&self,
__cache: &mut ::buffa::SizeCache,
buf: &mut impl ::buffa::bytes::BufMut,
) {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
if let Some(v) = self.deprecated {
::buffa::encoding::Tag::new(33u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_bool(v, buf);
}
if self.features.is_set() {
::buffa::encoding::Tag::new(
34u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
self.features.write_to(__cache, buf);
}
for v in &self.uninterpreted_option {
::buffa::encoding::Tag::new(
999u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
v.write_to(__cache, buf);
}
self.__buffa_unknown_fields.write_to(buf);
}
}
#[cfg(feature = "json")]
impl<'__a> ::serde::Serialize for ServiceOptionsView<'__a> {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
use ::serde::ser::SerializeMap as _;
let mut __map = __s.serialize_map(::core::option::Option::None)?;
{
if let ::core::option::Option::Some(__v) = self.features.as_option() {
__map.serialize_entry("features", __v)?;
}
}
if let ::core::option::Option::Some(__v) = self.deprecated {
__map.serialize_entry("deprecated", &__v)?;
}
if !self.uninterpreted_option.is_empty() {
__map.serialize_entry("uninterpretedOption", &*self.uninterpreted_option)?;
}
__map.end()
}
}
impl<'a> ::buffa::MessageName for ServiceOptionsView<'a> {
const PACKAGE: &'static str = "google.protobuf";
const NAME: &'static str = "ServiceOptions";
const FULL_NAME: &'static str = "google.protobuf.ServiceOptions";
const TYPE_URL: &'static str = "type.googleapis.com/google.protobuf.ServiceOptions";
}
impl<'v> ::buffa::DefaultViewInstance for ServiceOptionsView<'v> {
fn default_view_instance<'a>() -> &'a Self
where
Self: 'a,
{
static VALUE: ::buffa::__private::OnceBox<ServiceOptionsView<'static>> = ::buffa::__private::OnceBox::new();
VALUE
.get_or_init(|| ::buffa::alloc::boxed::Box::new(
<ServiceOptionsView<'static>>::default(),
))
}
}
impl ::buffa::ViewReborrow for ServiceOptionsView<'static> {
type Reborrowed<'b> = ServiceOptionsView<'b>;
fn reborrow<'b>(this: &'b Self) -> &'b Self::Reborrowed<'b> {
this
}
}
#[derive(Clone, Debug, Default)]
pub struct MethodOptionsView<'a> {
pub deprecated: ::core::option::Option<bool>,
pub idempotency_level: ::core::option::Option<
super::super::method_options::IdempotencyLevel,
>,
pub features: ::buffa::MessageFieldView<
super::super::__buffa::view::FeatureSetView<'a>,
>,
pub uninterpreted_option: ::buffa::RepeatedView<
'a,
super::super::__buffa::view::UninterpretedOptionView<'a>,
>,
pub __buffa_unknown_fields: ::buffa::UnknownFieldsView<'a>,
}
impl<'a> MethodOptionsView<'a> {
#[doc(hidden)]
pub fn _decode_depth(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
let mut view = Self::default();
view._merge_into_view(buf, depth)?;
::core::result::Result::Ok(view)
}
#[doc(hidden)]
pub fn _merge_into_view(
&mut self,
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<(), ::buffa::DecodeError> {
let _ = depth;
#[allow(unused_variables)]
let view = self;
let mut cur: &'a [u8] = buf;
while !cur.is_empty() {
let before_tag = cur;
let tag = ::buffa::encoding::Tag::decode(&mut cur)?;
match tag.field_number() {
33u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 33u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
view.deprecated = Some(::buffa::types::decode_bool(&mut cur)?);
}
34u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 34u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
let __raw = ::buffa::types::decode_int32(&mut cur)?;
if let ::core::option::Option::Some(__v) = ::buffa::Enumeration::from_i32(
__raw,
) {
view.idempotency_level = Some(__v);
} else {
let __span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..__span_len]);
}
}
35u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 35u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
match view.features.as_mut() {
Some(existing) => existing._merge_into_view(sub, depth - 1)?,
None => {
view.features = ::buffa::MessageFieldView::set(
super::super::__buffa::view::FeatureSetView::_decode_depth(
sub,
depth - 1,
)?,
);
}
}
}
999u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 999u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
view.uninterpreted_option
.push(
super::super::__buffa::view::UninterpretedOptionView::_decode_depth(
sub,
depth - 1,
)?,
);
}
_ => {
::buffa::encoding::skip_field_depth(tag, &mut cur, depth)?;
let span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..span_len]);
}
}
}
::core::result::Result::Ok(())
}
}
impl<'a> ::buffa::MessageView<'a> for MethodOptionsView<'a> {
type Owned = super::super::MethodOptions;
fn decode_view(buf: &'a [u8]) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, ::buffa::RECURSION_LIMIT)
}
fn decode_view_with_limit(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, depth)
}
fn to_owned_message(&self) -> super::super::MethodOptions {
self.to_owned_from_source(None)
}
#[allow(clippy::useless_conversion, clippy::needless_update)]
fn to_owned_from_source(
&self,
__buffa_src: ::core::option::Option<&::buffa::bytes::Bytes>,
) -> super::super::MethodOptions {
#[allow(unused_imports)]
use ::buffa::alloc::string::ToString as _;
let _ = __buffa_src;
super::super::MethodOptions {
deprecated: self.deprecated,
idempotency_level: self.idempotency_level,
features: match self.features.as_option() {
Some(v) => {
::buffa::MessageField::<
super::super::FeatureSet,
>::some(v.to_owned_from_source(__buffa_src))
}
None => ::buffa::MessageField::none(),
},
uninterpreted_option: self
.uninterpreted_option
.iter()
.map(|v| v.to_owned_from_source(__buffa_src))
.collect(),
__buffa_unknown_fields: self
.__buffa_unknown_fields
.to_owned()
.unwrap_or_default()
.into(),
..::core::default::Default::default()
}
}
}
impl<'a> ::buffa::ViewEncode<'a> for MethodOptionsView<'a> {
#[allow(clippy::needless_borrow, clippy::let_and_return)]
fn compute_size(&self, __cache: &mut ::buffa::SizeCache) -> u32 {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
let mut size = 0u32;
if self.deprecated.is_some() {
size += 2u32 + ::buffa::types::BOOL_ENCODED_LEN as u32;
}
if let Some(ref v) = self.idempotency_level {
size += 2u32 + ::buffa::types::int32_encoded_len(v.to_i32()) as u32;
}
if self.features.is_set() {
let __slot = __cache.reserve();
let inner_size = self.features.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 2u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
for v in &self.uninterpreted_option {
let __slot = __cache.reserve();
let inner_size = v.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 2u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
size += self.__buffa_unknown_fields.encoded_len() as u32;
size
}
#[allow(clippy::needless_borrow)]
fn write_to(
&self,
__cache: &mut ::buffa::SizeCache,
buf: &mut impl ::buffa::bytes::BufMut,
) {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
if let Some(v) = self.deprecated {
::buffa::encoding::Tag::new(33u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_bool(v, buf);
}
if let Some(ref v) = self.idempotency_level {
::buffa::encoding::Tag::new(34u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_int32(v.to_i32(), buf);
}
if self.features.is_set() {
::buffa::encoding::Tag::new(
35u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
self.features.write_to(__cache, buf);
}
for v in &self.uninterpreted_option {
::buffa::encoding::Tag::new(
999u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
v.write_to(__cache, buf);
}
self.__buffa_unknown_fields.write_to(buf);
}
}
#[cfg(feature = "json")]
impl<'__a> ::serde::Serialize for MethodOptionsView<'__a> {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
use ::serde::ser::SerializeMap as _;
let mut __map = __s.serialize_map(::core::option::Option::None)?;
if let ::core::option::Option::Some(__v) = self.deprecated {
__map.serialize_entry("deprecated", &__v)?;
}
if let ::core::option::Option::Some(__v) = self.idempotency_level {
struct _W(super::super::method_options::IdempotencyLevel);
impl ::serde::Serialize for _W {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::closed_enum::serialize(&self.0, __s)
}
}
__map.serialize_entry("idempotencyLevel", &_W(__v))?;
}
{
if let ::core::option::Option::Some(__v) = self.features.as_option() {
__map.serialize_entry("features", __v)?;
}
}
if !self.uninterpreted_option.is_empty() {
__map.serialize_entry("uninterpretedOption", &*self.uninterpreted_option)?;
}
__map.end()
}
}
impl<'a> ::buffa::MessageName for MethodOptionsView<'a> {
const PACKAGE: &'static str = "google.protobuf";
const NAME: &'static str = "MethodOptions";
const FULL_NAME: &'static str = "google.protobuf.MethodOptions";
const TYPE_URL: &'static str = "type.googleapis.com/google.protobuf.MethodOptions";
}
impl<'v> ::buffa::DefaultViewInstance for MethodOptionsView<'v> {
fn default_view_instance<'a>() -> &'a Self
where
Self: 'a,
{
static VALUE: ::buffa::__private::OnceBox<MethodOptionsView<'static>> = ::buffa::__private::OnceBox::new();
VALUE
.get_or_init(|| ::buffa::alloc::boxed::Box::new(
<MethodOptionsView<'static>>::default(),
))
}
}
impl ::buffa::ViewReborrow for MethodOptionsView<'static> {
type Reborrowed<'b> = MethodOptionsView<'b>;
fn reborrow<'b>(this: &'b Self) -> &'b Self::Reborrowed<'b> {
this
}
}
#[derive(Clone, Debug, Default)]
pub struct UninterpretedOptionView<'a> {
pub name: ::buffa::RepeatedView<
'a,
super::super::__buffa::view::uninterpreted_option::NamePartView<'a>,
>,
pub identifier_value: ::core::option::Option<&'a str>,
pub positive_int_value: ::core::option::Option<u64>,
pub negative_int_value: ::core::option::Option<i64>,
pub double_value: ::core::option::Option<f64>,
pub string_value: ::core::option::Option<&'a [u8]>,
pub aggregate_value: ::core::option::Option<&'a str>,
pub __buffa_unknown_fields: ::buffa::UnknownFieldsView<'a>,
}
impl<'a> UninterpretedOptionView<'a> {
#[doc(hidden)]
pub fn _decode_depth(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
let mut view = Self::default();
view._merge_into_view(buf, depth)?;
::core::result::Result::Ok(view)
}
#[doc(hidden)]
pub fn _merge_into_view(
&mut self,
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<(), ::buffa::DecodeError> {
let _ = depth;
#[allow(unused_variables)]
let view = self;
let mut cur: &'a [u8] = buf;
while !cur.is_empty() {
let before_tag = cur;
let tag = ::buffa::encoding::Tag::decode(&mut cur)?;
match tag.field_number() {
3u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 3u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
view.identifier_value = Some(::buffa::types::borrow_str(&mut cur)?);
}
4u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 4u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
view.positive_int_value = Some(
::buffa::types::decode_uint64(&mut cur)?,
);
}
5u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 5u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
view.negative_int_value = Some(
::buffa::types::decode_int64(&mut cur)?,
);
}
6u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Fixed64 {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 6u32,
expected: 1u8,
actual: tag.wire_type() as u8,
});
}
view.double_value = Some(::buffa::types::decode_double(&mut cur)?);
}
7u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 7u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
view.string_value = Some(::buffa::types::borrow_bytes(&mut cur)?);
}
8u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 8u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
view.aggregate_value = Some(::buffa::types::borrow_str(&mut cur)?);
}
2u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 2u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
view.name
.push(
super::super::__buffa::view::uninterpreted_option::NamePartView::_decode_depth(
sub,
depth - 1,
)?,
);
}
_ => {
::buffa::encoding::skip_field_depth(tag, &mut cur, depth)?;
let span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..span_len]);
}
}
}
::core::result::Result::Ok(())
}
}
impl<'a> ::buffa::MessageView<'a> for UninterpretedOptionView<'a> {
type Owned = super::super::UninterpretedOption;
fn decode_view(buf: &'a [u8]) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, ::buffa::RECURSION_LIMIT)
}
fn decode_view_with_limit(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, depth)
}
fn to_owned_message(&self) -> super::super::UninterpretedOption {
self.to_owned_from_source(None)
}
#[allow(clippy::useless_conversion, clippy::needless_update)]
fn to_owned_from_source(
&self,
__buffa_src: ::core::option::Option<&::buffa::bytes::Bytes>,
) -> super::super::UninterpretedOption {
#[allow(unused_imports)]
use ::buffa::alloc::string::ToString as _;
let _ = __buffa_src;
super::super::UninterpretedOption {
name: self
.name
.iter()
.map(|v| v.to_owned_from_source(__buffa_src))
.collect(),
identifier_value: self.identifier_value.map(|s| s.to_string()),
positive_int_value: self.positive_int_value,
negative_int_value: self.negative_int_value,
double_value: self.double_value,
string_value: self.string_value.map(|b| (b).to_vec()),
aggregate_value: self.aggregate_value.map(|s| s.to_string()),
__buffa_unknown_fields: self
.__buffa_unknown_fields
.to_owned()
.unwrap_or_default()
.into(),
..::core::default::Default::default()
}
}
}
impl<'a> ::buffa::ViewEncode<'a> for UninterpretedOptionView<'a> {
#[allow(clippy::needless_borrow, clippy::let_and_return)]
fn compute_size(&self, __cache: &mut ::buffa::SizeCache) -> u32 {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
let mut size = 0u32;
for v in &self.name {
let __slot = __cache.reserve();
let inner_size = v.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 1u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
if let Some(ref v) = self.identifier_value {
size += 1u32 + ::buffa::types::string_encoded_len(v) as u32;
}
if let Some(v) = self.positive_int_value {
size += 1u32 + ::buffa::types::uint64_encoded_len(v) as u32;
}
if let Some(v) = self.negative_int_value {
size += 1u32 + ::buffa::types::int64_encoded_len(v) as u32;
}
if self.double_value.is_some() {
size += 1u32 + ::buffa::types::FIXED64_ENCODED_LEN as u32;
}
if let Some(ref v) = self.string_value {
size += 1u32 + ::buffa::types::bytes_encoded_len(v) as u32;
}
if let Some(ref v) = self.aggregate_value {
size += 1u32 + ::buffa::types::string_encoded_len(v) as u32;
}
size += self.__buffa_unknown_fields.encoded_len() as u32;
size
}
#[allow(clippy::needless_borrow)]
fn write_to(
&self,
__cache: &mut ::buffa::SizeCache,
buf: &mut impl ::buffa::bytes::BufMut,
) {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
for v in &self.name {
::buffa::encoding::Tag::new(
2u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
v.write_to(__cache, buf);
}
if let Some(ref v) = self.identifier_value {
::buffa::encoding::Tag::new(
3u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::types::encode_string(v, buf);
}
if let Some(v) = self.positive_int_value {
::buffa::encoding::Tag::new(4u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_uint64(v, buf);
}
if let Some(v) = self.negative_int_value {
::buffa::encoding::Tag::new(5u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_int64(v, buf);
}
if let Some(v) = self.double_value {
::buffa::encoding::Tag::new(6u32, ::buffa::encoding::WireType::Fixed64)
.encode(buf);
::buffa::types::encode_double(v, buf);
}
if let Some(ref v) = self.string_value {
::buffa::encoding::Tag::new(
7u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::types::encode_bytes(v, buf);
}
if let Some(ref v) = self.aggregate_value {
::buffa::encoding::Tag::new(
8u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::types::encode_string(v, buf);
}
self.__buffa_unknown_fields.write_to(buf);
}
}
#[cfg(feature = "json")]
impl<'__a> ::serde::Serialize for UninterpretedOptionView<'__a> {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
use ::serde::ser::SerializeMap as _;
let mut __map = __s.serialize_map(::core::option::Option::None)?;
if !self.name.is_empty() {
__map.serialize_entry("name", &*self.name)?;
}
if let ::core::option::Option::Some(__v) = self.identifier_value {
__map.serialize_entry("identifierValue", __v)?;
}
if let ::core::option::Option::Some(__v) = self.positive_int_value {
struct _W(u64);
impl ::serde::Serialize for _W {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::uint64::serialize(&self.0, __s)
}
}
__map.serialize_entry("positiveIntValue", &_W(__v))?;
}
if let ::core::option::Option::Some(__v) = self.negative_int_value {
struct _W(i64);
impl ::serde::Serialize for _W {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::int64::serialize(&self.0, __s)
}
}
__map.serialize_entry("negativeIntValue", &_W(__v))?;
}
if let ::core::option::Option::Some(__v) = self.double_value {
struct _W(f64);
impl ::serde::Serialize for _W {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::double::serialize(&self.0, __s)
}
}
__map.serialize_entry("doubleValue", &_W(__v))?;
}
if let ::core::option::Option::Some(__v) = self.string_value {
struct _W<'__x>(&'__x [u8]);
impl ::serde::Serialize for _W<'_> {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::bytes::serialize(self.0, __s)
}
}
__map.serialize_entry("stringValue", &_W(__v))?;
}
if let ::core::option::Option::Some(__v) = self.aggregate_value {
__map.serialize_entry("aggregateValue", __v)?;
}
__map.end()
}
}
impl<'a> ::buffa::MessageName for UninterpretedOptionView<'a> {
const PACKAGE: &'static str = "google.protobuf";
const NAME: &'static str = "UninterpretedOption";
const FULL_NAME: &'static str = "google.protobuf.UninterpretedOption";
const TYPE_URL: &'static str = "type.googleapis.com/google.protobuf.UninterpretedOption";
}
impl<'v> ::buffa::DefaultViewInstance for UninterpretedOptionView<'v> {
fn default_view_instance<'a>() -> &'a Self
where
Self: 'a,
{
static VALUE: ::buffa::__private::OnceBox<UninterpretedOptionView<'static>> = ::buffa::__private::OnceBox::new();
VALUE
.get_or_init(|| ::buffa::alloc::boxed::Box::new(
<UninterpretedOptionView<'static>>::default(),
))
}
}
impl ::buffa::ViewReborrow for UninterpretedOptionView<'static> {
type Reborrowed<'b> = UninterpretedOptionView<'b>;
fn reborrow<'b>(this: &'b Self) -> &'b Self::Reborrowed<'b> {
this
}
}
pub mod uninterpreted_option {
#[allow(unused_imports)]
use super::*;
#[derive(Clone, Debug, Default)]
pub struct NamePartView<'a> {
pub name_part: &'a str,
pub is_extension: bool,
pub __buffa_unknown_fields: ::buffa::UnknownFieldsView<'a>,
}
impl<'a> NamePartView<'a> {
#[doc(hidden)]
pub fn _decode_depth(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
let mut view = Self::default();
view._merge_into_view(buf, depth)?;
::core::result::Result::Ok(view)
}
#[doc(hidden)]
pub fn _merge_into_view(
&mut self,
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<(), ::buffa::DecodeError> {
let _ = depth;
#[allow(unused_variables)]
let view = self;
let mut cur: &'a [u8] = buf;
while !cur.is_empty() {
let before_tag = cur;
let tag = ::buffa::encoding::Tag::decode(&mut cur)?;
match tag.field_number() {
1u32 => {
if tag.wire_type()
!= ::buffa::encoding::WireType::LengthDelimited
{
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 1u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
view.name_part = ::buffa::types::borrow_str(&mut cur)?;
}
2u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 2u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
view.is_extension = ::buffa::types::decode_bool(&mut cur)?;
}
_ => {
::buffa::encoding::skip_field_depth(tag, &mut cur, depth)?;
let span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..span_len]);
}
}
}
::core::result::Result::Ok(())
}
}
impl<'a> ::buffa::MessageView<'a> for NamePartView<'a> {
type Owned = super::super::super::uninterpreted_option::NamePart;
fn decode_view(
buf: &'a [u8],
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, ::buffa::RECURSION_LIMIT)
}
fn decode_view_with_limit(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, depth)
}
fn to_owned_message(
&self,
) -> super::super::super::uninterpreted_option::NamePart {
self.to_owned_from_source(None)
}
#[allow(clippy::useless_conversion, clippy::needless_update)]
fn to_owned_from_source(
&self,
__buffa_src: ::core::option::Option<&::buffa::bytes::Bytes>,
) -> super::super::super::uninterpreted_option::NamePart {
#[allow(unused_imports)]
use ::buffa::alloc::string::ToString as _;
let _ = __buffa_src;
super::super::super::uninterpreted_option::NamePart {
name_part: self.name_part.to_string(),
is_extension: self.is_extension,
__buffa_unknown_fields: self
.__buffa_unknown_fields
.to_owned()
.unwrap_or_default()
.into(),
..::core::default::Default::default()
}
}
}
impl<'a> ::buffa::ViewEncode<'a> for NamePartView<'a> {
#[allow(clippy::needless_borrow, clippy::let_and_return)]
fn compute_size(&self, _cache: &mut ::buffa::SizeCache) -> u32 {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
let mut size = 0u32;
size += 1u32 + ::buffa::types::string_encoded_len(&self.name_part) as u32;
size += 1u32 + ::buffa::types::BOOL_ENCODED_LEN as u32;
size += self.__buffa_unknown_fields.encoded_len() as u32;
size
}
#[allow(clippy::needless_borrow)]
fn write_to(
&self,
_cache: &mut ::buffa::SizeCache,
buf: &mut impl ::buffa::bytes::BufMut,
) {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
::buffa::encoding::Tag::new(
1u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::types::encode_string(&self.name_part, buf);
::buffa::encoding::Tag::new(2u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_bool(self.is_extension, buf);
self.__buffa_unknown_fields.write_to(buf);
}
}
#[cfg(feature = "json")]
impl<'__a> ::serde::Serialize for NamePartView<'__a> {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
use ::serde::ser::SerializeMap as _;
let mut __map = __s.serialize_map(::core::option::Option::None)?;
{
__map.serialize_entry("namePart", self.name_part)?;
}
{
__map.serialize_entry("isExtension", &self.is_extension)?;
}
__map.end()
}
}
impl<'a> ::buffa::MessageName for NamePartView<'a> {
const PACKAGE: &'static str = "google.protobuf";
const NAME: &'static str = "UninterpretedOption.NamePart";
const FULL_NAME: &'static str = "google.protobuf.UninterpretedOption.NamePart";
const TYPE_URL: &'static str = "type.googleapis.com/google.protobuf.UninterpretedOption.NamePart";
}
impl<'v> ::buffa::DefaultViewInstance for NamePartView<'v> {
fn default_view_instance<'a>() -> &'a Self
where
Self: 'a,
{
static VALUE: ::buffa::__private::OnceBox<NamePartView<'static>> = ::buffa::__private::OnceBox::new();
VALUE
.get_or_init(|| ::buffa::alloc::boxed::Box::new(
<NamePartView<'static>>::default(),
))
}
}
impl ::buffa::ViewReborrow for NamePartView<'static> {
type Reborrowed<'b> = NamePartView<'b>;
fn reborrow<'b>(this: &'b Self) -> &'b Self::Reborrowed<'b> {
this
}
}
}
#[derive(Clone, Debug, Default)]
pub struct FeatureSetView<'a> {
pub field_presence: ::core::option::Option<super::super::feature_set::FieldPresence>,
pub enum_type: ::core::option::Option<super::super::feature_set::EnumType>,
pub repeated_field_encoding: ::core::option::Option<
super::super::feature_set::RepeatedFieldEncoding,
>,
pub utf8_validation: ::core::option::Option<
super::super::feature_set::Utf8Validation,
>,
pub message_encoding: ::core::option::Option<
super::super::feature_set::MessageEncoding,
>,
pub json_format: ::core::option::Option<super::super::feature_set::JsonFormat>,
pub enforce_naming_style: ::core::option::Option<
super::super::feature_set::EnforceNamingStyle,
>,
pub default_symbol_visibility: ::core::option::Option<
super::super::feature_set::visibility_feature::DefaultSymbolVisibility,
>,
pub __buffa_unknown_fields: ::buffa::UnknownFieldsView<'a>,
}
impl<'a> FeatureSetView<'a> {
#[doc(hidden)]
pub fn _decode_depth(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
let mut view = Self::default();
view._merge_into_view(buf, depth)?;
::core::result::Result::Ok(view)
}
#[doc(hidden)]
pub fn _merge_into_view(
&mut self,
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<(), ::buffa::DecodeError> {
let _ = depth;
#[allow(unused_variables)]
let view = self;
let mut cur: &'a [u8] = buf;
while !cur.is_empty() {
let before_tag = cur;
let tag = ::buffa::encoding::Tag::decode(&mut cur)?;
match tag.field_number() {
1u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 1u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
let __raw = ::buffa::types::decode_int32(&mut cur)?;
if let ::core::option::Option::Some(__v) = ::buffa::Enumeration::from_i32(
__raw,
) {
view.field_presence = Some(__v);
} else {
let __span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..__span_len]);
}
}
2u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 2u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
let __raw = ::buffa::types::decode_int32(&mut cur)?;
if let ::core::option::Option::Some(__v) = ::buffa::Enumeration::from_i32(
__raw,
) {
view.enum_type = Some(__v);
} else {
let __span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..__span_len]);
}
}
3u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 3u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
let __raw = ::buffa::types::decode_int32(&mut cur)?;
if let ::core::option::Option::Some(__v) = ::buffa::Enumeration::from_i32(
__raw,
) {
view.repeated_field_encoding = Some(__v);
} else {
let __span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..__span_len]);
}
}
4u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 4u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
let __raw = ::buffa::types::decode_int32(&mut cur)?;
if let ::core::option::Option::Some(__v) = ::buffa::Enumeration::from_i32(
__raw,
) {
view.utf8_validation = Some(__v);
} else {
let __span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..__span_len]);
}
}
5u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 5u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
let __raw = ::buffa::types::decode_int32(&mut cur)?;
if let ::core::option::Option::Some(__v) = ::buffa::Enumeration::from_i32(
__raw,
) {
view.message_encoding = Some(__v);
} else {
let __span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..__span_len]);
}
}
6u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 6u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
let __raw = ::buffa::types::decode_int32(&mut cur)?;
if let ::core::option::Option::Some(__v) = ::buffa::Enumeration::from_i32(
__raw,
) {
view.json_format = Some(__v);
} else {
let __span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..__span_len]);
}
}
7u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 7u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
let __raw = ::buffa::types::decode_int32(&mut cur)?;
if let ::core::option::Option::Some(__v) = ::buffa::Enumeration::from_i32(
__raw,
) {
view.enforce_naming_style = Some(__v);
} else {
let __span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..__span_len]);
}
}
8u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 8u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
let __raw = ::buffa::types::decode_int32(&mut cur)?;
if let ::core::option::Option::Some(__v) = ::buffa::Enumeration::from_i32(
__raw,
) {
view.default_symbol_visibility = Some(__v);
} else {
let __span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..__span_len]);
}
}
_ => {
::buffa::encoding::skip_field_depth(tag, &mut cur, depth)?;
let span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..span_len]);
}
}
}
::core::result::Result::Ok(())
}
}
impl<'a> ::buffa::MessageView<'a> for FeatureSetView<'a> {
type Owned = super::super::FeatureSet;
fn decode_view(buf: &'a [u8]) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, ::buffa::RECURSION_LIMIT)
}
fn decode_view_with_limit(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, depth)
}
fn to_owned_message(&self) -> super::super::FeatureSet {
self.to_owned_from_source(None)
}
#[allow(clippy::useless_conversion, clippy::needless_update)]
fn to_owned_from_source(
&self,
__buffa_src: ::core::option::Option<&::buffa::bytes::Bytes>,
) -> super::super::FeatureSet {
#[allow(unused_imports)]
use ::buffa::alloc::string::ToString as _;
let _ = __buffa_src;
super::super::FeatureSet {
field_presence: self.field_presence,
enum_type: self.enum_type,
repeated_field_encoding: self.repeated_field_encoding,
utf8_validation: self.utf8_validation,
message_encoding: self.message_encoding,
json_format: self.json_format,
enforce_naming_style: self.enforce_naming_style,
default_symbol_visibility: self.default_symbol_visibility,
__buffa_unknown_fields: self
.__buffa_unknown_fields
.to_owned()
.unwrap_or_default()
.into(),
..::core::default::Default::default()
}
}
}
impl<'a> ::buffa::ViewEncode<'a> for FeatureSetView<'a> {
#[allow(clippy::needless_borrow, clippy::let_and_return)]
fn compute_size(&self, _cache: &mut ::buffa::SizeCache) -> u32 {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
let mut size = 0u32;
if let Some(ref v) = self.field_presence {
size += 1u32 + ::buffa::types::int32_encoded_len(v.to_i32()) as u32;
}
if let Some(ref v) = self.enum_type {
size += 1u32 + ::buffa::types::int32_encoded_len(v.to_i32()) as u32;
}
if let Some(ref v) = self.repeated_field_encoding {
size += 1u32 + ::buffa::types::int32_encoded_len(v.to_i32()) as u32;
}
if let Some(ref v) = self.utf8_validation {
size += 1u32 + ::buffa::types::int32_encoded_len(v.to_i32()) as u32;
}
if let Some(ref v) = self.message_encoding {
size += 1u32 + ::buffa::types::int32_encoded_len(v.to_i32()) as u32;
}
if let Some(ref v) = self.json_format {
size += 1u32 + ::buffa::types::int32_encoded_len(v.to_i32()) as u32;
}
if let Some(ref v) = self.enforce_naming_style {
size += 1u32 + ::buffa::types::int32_encoded_len(v.to_i32()) as u32;
}
if let Some(ref v) = self.default_symbol_visibility {
size += 1u32 + ::buffa::types::int32_encoded_len(v.to_i32()) as u32;
}
size += self.__buffa_unknown_fields.encoded_len() as u32;
size
}
#[allow(clippy::needless_borrow)]
fn write_to(
&self,
_cache: &mut ::buffa::SizeCache,
buf: &mut impl ::buffa::bytes::BufMut,
) {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
if let Some(ref v) = self.field_presence {
::buffa::encoding::Tag::new(1u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_int32(v.to_i32(), buf);
}
if let Some(ref v) = self.enum_type {
::buffa::encoding::Tag::new(2u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_int32(v.to_i32(), buf);
}
if let Some(ref v) = self.repeated_field_encoding {
::buffa::encoding::Tag::new(3u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_int32(v.to_i32(), buf);
}
if let Some(ref v) = self.utf8_validation {
::buffa::encoding::Tag::new(4u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_int32(v.to_i32(), buf);
}
if let Some(ref v) = self.message_encoding {
::buffa::encoding::Tag::new(5u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_int32(v.to_i32(), buf);
}
if let Some(ref v) = self.json_format {
::buffa::encoding::Tag::new(6u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_int32(v.to_i32(), buf);
}
if let Some(ref v) = self.enforce_naming_style {
::buffa::encoding::Tag::new(7u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_int32(v.to_i32(), buf);
}
if let Some(ref v) = self.default_symbol_visibility {
::buffa::encoding::Tag::new(8u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_int32(v.to_i32(), buf);
}
self.__buffa_unknown_fields.write_to(buf);
}
}
#[cfg(feature = "json")]
impl<'__a> ::serde::Serialize for FeatureSetView<'__a> {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
use ::serde::ser::SerializeMap as _;
let mut __map = __s.serialize_map(::core::option::Option::None)?;
if let ::core::option::Option::Some(__v) = self.field_presence {
struct _W(super::super::feature_set::FieldPresence);
impl ::serde::Serialize for _W {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::closed_enum::serialize(&self.0, __s)
}
}
__map.serialize_entry("fieldPresence", &_W(__v))?;
}
if let ::core::option::Option::Some(__v) = self.enum_type {
struct _W(super::super::feature_set::EnumType);
impl ::serde::Serialize for _W {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::closed_enum::serialize(&self.0, __s)
}
}
__map.serialize_entry("enumType", &_W(__v))?;
}
if let ::core::option::Option::Some(__v) = self.repeated_field_encoding {
struct _W(super::super::feature_set::RepeatedFieldEncoding);
impl ::serde::Serialize for _W {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::closed_enum::serialize(&self.0, __s)
}
}
__map.serialize_entry("repeatedFieldEncoding", &_W(__v))?;
}
if let ::core::option::Option::Some(__v) = self.utf8_validation {
struct _W(super::super::feature_set::Utf8Validation);
impl ::serde::Serialize for _W {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::closed_enum::serialize(&self.0, __s)
}
}
__map.serialize_entry("utf8Validation", &_W(__v))?;
}
if let ::core::option::Option::Some(__v) = self.message_encoding {
struct _W(super::super::feature_set::MessageEncoding);
impl ::serde::Serialize for _W {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::closed_enum::serialize(&self.0, __s)
}
}
__map.serialize_entry("messageEncoding", &_W(__v))?;
}
if let ::core::option::Option::Some(__v) = self.json_format {
struct _W(super::super::feature_set::JsonFormat);
impl ::serde::Serialize for _W {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::closed_enum::serialize(&self.0, __s)
}
}
__map.serialize_entry("jsonFormat", &_W(__v))?;
}
if let ::core::option::Option::Some(__v) = self.enforce_naming_style {
struct _W(super::super::feature_set::EnforceNamingStyle);
impl ::serde::Serialize for _W {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::closed_enum::serialize(&self.0, __s)
}
}
__map.serialize_entry("enforceNamingStyle", &_W(__v))?;
}
if let ::core::option::Option::Some(__v) = self.default_symbol_visibility {
struct _W(
super::super::feature_set::visibility_feature::DefaultSymbolVisibility,
);
impl ::serde::Serialize for _W {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::closed_enum::serialize(&self.0, __s)
}
}
__map.serialize_entry("defaultSymbolVisibility", &_W(__v))?;
}
__map.end()
}
}
impl<'a> ::buffa::MessageName for FeatureSetView<'a> {
const PACKAGE: &'static str = "google.protobuf";
const NAME: &'static str = "FeatureSet";
const FULL_NAME: &'static str = "google.protobuf.FeatureSet";
const TYPE_URL: &'static str = "type.googleapis.com/google.protobuf.FeatureSet";
}
impl<'v> ::buffa::DefaultViewInstance for FeatureSetView<'v> {
fn default_view_instance<'a>() -> &'a Self
where
Self: 'a,
{
static VALUE: ::buffa::__private::OnceBox<FeatureSetView<'static>> = ::buffa::__private::OnceBox::new();
VALUE
.get_or_init(|| ::buffa::alloc::boxed::Box::new(
<FeatureSetView<'static>>::default(),
))
}
}
impl ::buffa::ViewReborrow for FeatureSetView<'static> {
type Reborrowed<'b> = FeatureSetView<'b>;
fn reborrow<'b>(this: &'b Self) -> &'b Self::Reborrowed<'b> {
this
}
}
pub mod feature_set {
#[allow(unused_imports)]
use super::*;
#[derive(Clone, Debug, Default)]
pub struct VisibilityFeatureView<'a> {
pub __buffa_unknown_fields: ::buffa::UnknownFieldsView<'a>,
}
impl<'a> VisibilityFeatureView<'a> {
#[doc(hidden)]
pub fn _decode_depth(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
let mut view = Self::default();
view._merge_into_view(buf, depth)?;
::core::result::Result::Ok(view)
}
#[doc(hidden)]
pub fn _merge_into_view(
&mut self,
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<(), ::buffa::DecodeError> {
let _ = depth;
#[allow(unused_variables)]
let view = self;
let mut cur: &'a [u8] = buf;
while !cur.is_empty() {
let before_tag = cur;
let tag = ::buffa::encoding::Tag::decode(&mut cur)?;
match tag.field_number() {
_ => {
::buffa::encoding::skip_field_depth(tag, &mut cur, depth)?;
let span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..span_len]);
}
}
}
::core::result::Result::Ok(())
}
}
impl<'a> ::buffa::MessageView<'a> for VisibilityFeatureView<'a> {
type Owned = super::super::super::feature_set::VisibilityFeature;
fn decode_view(
buf: &'a [u8],
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, ::buffa::RECURSION_LIMIT)
}
fn decode_view_with_limit(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, depth)
}
fn to_owned_message(
&self,
) -> super::super::super::feature_set::VisibilityFeature {
self.to_owned_from_source(None)
}
#[allow(clippy::useless_conversion, clippy::needless_update)]
fn to_owned_from_source(
&self,
__buffa_src: ::core::option::Option<&::buffa::bytes::Bytes>,
) -> super::super::super::feature_set::VisibilityFeature {
#[allow(unused_imports)]
use ::buffa::alloc::string::ToString as _;
let _ = __buffa_src;
super::super::super::feature_set::VisibilityFeature {
__buffa_unknown_fields: self
.__buffa_unknown_fields
.to_owned()
.unwrap_or_default()
.into(),
..::core::default::Default::default()
}
}
}
impl<'a> ::buffa::ViewEncode<'a> for VisibilityFeatureView<'a> {
#[allow(clippy::needless_borrow, clippy::let_and_return)]
fn compute_size(&self, _cache: &mut ::buffa::SizeCache) -> u32 {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
let mut size = 0u32;
size += self.__buffa_unknown_fields.encoded_len() as u32;
size
}
#[allow(clippy::needless_borrow)]
fn write_to(
&self,
_cache: &mut ::buffa::SizeCache,
buf: &mut impl ::buffa::bytes::BufMut,
) {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
self.__buffa_unknown_fields.write_to(buf);
}
}
#[cfg(feature = "json")]
impl<'__a> ::serde::Serialize for VisibilityFeatureView<'__a> {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
use ::serde::ser::SerializeMap as _;
let mut __map = __s.serialize_map(::core::option::Option::None)?;
__map.end()
}
}
impl<'a> ::buffa::MessageName for VisibilityFeatureView<'a> {
const PACKAGE: &'static str = "google.protobuf";
const NAME: &'static str = "FeatureSet.VisibilityFeature";
const FULL_NAME: &'static str = "google.protobuf.FeatureSet.VisibilityFeature";
const TYPE_URL: &'static str = "type.googleapis.com/google.protobuf.FeatureSet.VisibilityFeature";
}
impl<'v> ::buffa::DefaultViewInstance for VisibilityFeatureView<'v> {
fn default_view_instance<'a>() -> &'a Self
where
Self: 'a,
{
static VALUE: ::buffa::__private::OnceBox<VisibilityFeatureView<'static>> = ::buffa::__private::OnceBox::new();
VALUE
.get_or_init(|| ::buffa::alloc::boxed::Box::new(
<VisibilityFeatureView<'static>>::default(),
))
}
}
impl ::buffa::ViewReborrow for VisibilityFeatureView<'static> {
type Reborrowed<'b> = VisibilityFeatureView<'b>;
fn reborrow<'b>(this: &'b Self) -> &'b Self::Reborrowed<'b> {
this
}
}
}
#[derive(Clone, Debug, Default)]
pub struct FeatureSetDefaultsView<'a> {
pub defaults: ::buffa::RepeatedView<
'a,
super::super::__buffa::view::feature_set_defaults::FeatureSetEditionDefaultView<
'a,
>,
>,
pub minimum_edition: ::core::option::Option<super::super::Edition>,
pub maximum_edition: ::core::option::Option<super::super::Edition>,
pub __buffa_unknown_fields: ::buffa::UnknownFieldsView<'a>,
}
impl<'a> FeatureSetDefaultsView<'a> {
#[doc(hidden)]
pub fn _decode_depth(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
let mut view = Self::default();
view._merge_into_view(buf, depth)?;
::core::result::Result::Ok(view)
}
#[doc(hidden)]
pub fn _merge_into_view(
&mut self,
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<(), ::buffa::DecodeError> {
let _ = depth;
#[allow(unused_variables)]
let view = self;
let mut cur: &'a [u8] = buf;
while !cur.is_empty() {
let before_tag = cur;
let tag = ::buffa::encoding::Tag::decode(&mut cur)?;
match tag.field_number() {
4u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 4u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
let __raw = ::buffa::types::decode_int32(&mut cur)?;
if let ::core::option::Option::Some(__v) = ::buffa::Enumeration::from_i32(
__raw,
) {
view.minimum_edition = Some(__v);
} else {
let __span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..__span_len]);
}
}
5u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 5u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
let __raw = ::buffa::types::decode_int32(&mut cur)?;
if let ::core::option::Option::Some(__v) = ::buffa::Enumeration::from_i32(
__raw,
) {
view.maximum_edition = Some(__v);
} else {
let __span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..__span_len]);
}
}
1u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 1u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
view.defaults
.push(
super::super::__buffa::view::feature_set_defaults::FeatureSetEditionDefaultView::_decode_depth(
sub,
depth - 1,
)?,
);
}
_ => {
::buffa::encoding::skip_field_depth(tag, &mut cur, depth)?;
let span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..span_len]);
}
}
}
::core::result::Result::Ok(())
}
}
impl<'a> ::buffa::MessageView<'a> for FeatureSetDefaultsView<'a> {
type Owned = super::super::FeatureSetDefaults;
fn decode_view(buf: &'a [u8]) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, ::buffa::RECURSION_LIMIT)
}
fn decode_view_with_limit(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, depth)
}
fn to_owned_message(&self) -> super::super::FeatureSetDefaults {
self.to_owned_from_source(None)
}
#[allow(clippy::useless_conversion, clippy::needless_update)]
fn to_owned_from_source(
&self,
__buffa_src: ::core::option::Option<&::buffa::bytes::Bytes>,
) -> super::super::FeatureSetDefaults {
#[allow(unused_imports)]
use ::buffa::alloc::string::ToString as _;
let _ = __buffa_src;
super::super::FeatureSetDefaults {
defaults: self
.defaults
.iter()
.map(|v| v.to_owned_from_source(__buffa_src))
.collect(),
minimum_edition: self.minimum_edition,
maximum_edition: self.maximum_edition,
__buffa_unknown_fields: self
.__buffa_unknown_fields
.to_owned()
.unwrap_or_default()
.into(),
..::core::default::Default::default()
}
}
}
impl<'a> ::buffa::ViewEncode<'a> for FeatureSetDefaultsView<'a> {
#[allow(clippy::needless_borrow, clippy::let_and_return)]
fn compute_size(&self, __cache: &mut ::buffa::SizeCache) -> u32 {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
let mut size = 0u32;
for v in &self.defaults {
let __slot = __cache.reserve();
let inner_size = v.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 1u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
if let Some(ref v) = self.minimum_edition {
size += 1u32 + ::buffa::types::int32_encoded_len(v.to_i32()) as u32;
}
if let Some(ref v) = self.maximum_edition {
size += 1u32 + ::buffa::types::int32_encoded_len(v.to_i32()) as u32;
}
size += self.__buffa_unknown_fields.encoded_len() as u32;
size
}
#[allow(clippy::needless_borrow)]
fn write_to(
&self,
__cache: &mut ::buffa::SizeCache,
buf: &mut impl ::buffa::bytes::BufMut,
) {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
for v in &self.defaults {
::buffa::encoding::Tag::new(
1u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
v.write_to(__cache, buf);
}
if let Some(ref v) = self.minimum_edition {
::buffa::encoding::Tag::new(4u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_int32(v.to_i32(), buf);
}
if let Some(ref v) = self.maximum_edition {
::buffa::encoding::Tag::new(5u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_int32(v.to_i32(), buf);
}
self.__buffa_unknown_fields.write_to(buf);
}
}
#[cfg(feature = "json")]
impl<'__a> ::serde::Serialize for FeatureSetDefaultsView<'__a> {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
use ::serde::ser::SerializeMap as _;
let mut __map = __s.serialize_map(::core::option::Option::None)?;
if !self.defaults.is_empty() {
__map.serialize_entry("defaults", &*self.defaults)?;
}
if let ::core::option::Option::Some(__v) = self.minimum_edition {
struct _W(super::super::Edition);
impl ::serde::Serialize for _W {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::closed_enum::serialize(&self.0, __s)
}
}
__map.serialize_entry("minimumEdition", &_W(__v))?;
}
if let ::core::option::Option::Some(__v) = self.maximum_edition {
struct _W(super::super::Edition);
impl ::serde::Serialize for _W {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::closed_enum::serialize(&self.0, __s)
}
}
__map.serialize_entry("maximumEdition", &_W(__v))?;
}
__map.end()
}
}
impl<'a> ::buffa::MessageName for FeatureSetDefaultsView<'a> {
const PACKAGE: &'static str = "google.protobuf";
const NAME: &'static str = "FeatureSetDefaults";
const FULL_NAME: &'static str = "google.protobuf.FeatureSetDefaults";
const TYPE_URL: &'static str = "type.googleapis.com/google.protobuf.FeatureSetDefaults";
}
impl<'v> ::buffa::DefaultViewInstance for FeatureSetDefaultsView<'v> {
fn default_view_instance<'a>() -> &'a Self
where
Self: 'a,
{
static VALUE: ::buffa::__private::OnceBox<FeatureSetDefaultsView<'static>> = ::buffa::__private::OnceBox::new();
VALUE
.get_or_init(|| ::buffa::alloc::boxed::Box::new(
<FeatureSetDefaultsView<'static>>::default(),
))
}
}
impl ::buffa::ViewReborrow for FeatureSetDefaultsView<'static> {
type Reborrowed<'b> = FeatureSetDefaultsView<'b>;
fn reborrow<'b>(this: &'b Self) -> &'b Self::Reborrowed<'b> {
this
}
}
pub mod feature_set_defaults {
#[allow(unused_imports)]
use super::*;
#[derive(Clone, Debug, Default)]
pub struct FeatureSetEditionDefaultView<'a> {
pub edition: ::core::option::Option<super::super::super::Edition>,
pub overridable_features: ::buffa::MessageFieldView<
super::super::super::__buffa::view::FeatureSetView<'a>,
>,
pub fixed_features: ::buffa::MessageFieldView<
super::super::super::__buffa::view::FeatureSetView<'a>,
>,
pub __buffa_unknown_fields: ::buffa::UnknownFieldsView<'a>,
}
impl<'a> FeatureSetEditionDefaultView<'a> {
#[doc(hidden)]
pub fn _decode_depth(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
let mut view = Self::default();
view._merge_into_view(buf, depth)?;
::core::result::Result::Ok(view)
}
#[doc(hidden)]
pub fn _merge_into_view(
&mut self,
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<(), ::buffa::DecodeError> {
let _ = depth;
#[allow(unused_variables)]
let view = self;
let mut cur: &'a [u8] = buf;
while !cur.is_empty() {
let before_tag = cur;
let tag = ::buffa::encoding::Tag::decode(&mut cur)?;
match tag.field_number() {
3u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 3u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
let __raw = ::buffa::types::decode_int32(&mut cur)?;
if let ::core::option::Option::Some(__v) = ::buffa::Enumeration::from_i32(
__raw,
) {
view.edition = Some(__v);
} else {
let __span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields
.push_raw(&before_tag[..__span_len]);
}
}
4u32 => {
if tag.wire_type()
!= ::buffa::encoding::WireType::LengthDelimited
{
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 4u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
match view.overridable_features.as_mut() {
Some(existing) => existing._merge_into_view(sub, depth - 1)?,
None => {
view.overridable_features = ::buffa::MessageFieldView::set(
super::super::super::__buffa::view::FeatureSetView::_decode_depth(
sub,
depth - 1,
)?,
);
}
}
}
5u32 => {
if tag.wire_type()
!= ::buffa::encoding::WireType::LengthDelimited
{
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 5u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
match view.fixed_features.as_mut() {
Some(existing) => existing._merge_into_view(sub, depth - 1)?,
None => {
view.fixed_features = ::buffa::MessageFieldView::set(
super::super::super::__buffa::view::FeatureSetView::_decode_depth(
sub,
depth - 1,
)?,
);
}
}
}
_ => {
::buffa::encoding::skip_field_depth(tag, &mut cur, depth)?;
let span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..span_len]);
}
}
}
::core::result::Result::Ok(())
}
}
impl<'a> ::buffa::MessageView<'a> for FeatureSetEditionDefaultView<'a> {
type Owned = super::super::super::feature_set_defaults::FeatureSetEditionDefault;
fn decode_view(
buf: &'a [u8],
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, ::buffa::RECURSION_LIMIT)
}
fn decode_view_with_limit(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, depth)
}
fn to_owned_message(
&self,
) -> super::super::super::feature_set_defaults::FeatureSetEditionDefault {
self.to_owned_from_source(None)
}
#[allow(clippy::useless_conversion, clippy::needless_update)]
fn to_owned_from_source(
&self,
__buffa_src: ::core::option::Option<&::buffa::bytes::Bytes>,
) -> super::super::super::feature_set_defaults::FeatureSetEditionDefault {
#[allow(unused_imports)]
use ::buffa::alloc::string::ToString as _;
let _ = __buffa_src;
super::super::super::feature_set_defaults::FeatureSetEditionDefault {
edition: self.edition,
overridable_features: match self.overridable_features.as_option() {
Some(v) => {
::buffa::MessageField::<
super::super::super::FeatureSet,
>::some(v.to_owned_from_source(__buffa_src))
}
None => ::buffa::MessageField::none(),
},
fixed_features: match self.fixed_features.as_option() {
Some(v) => {
::buffa::MessageField::<
super::super::super::FeatureSet,
>::some(v.to_owned_from_source(__buffa_src))
}
None => ::buffa::MessageField::none(),
},
__buffa_unknown_fields: self
.__buffa_unknown_fields
.to_owned()
.unwrap_or_default()
.into(),
..::core::default::Default::default()
}
}
}
impl<'a> ::buffa::ViewEncode<'a> for FeatureSetEditionDefaultView<'a> {
#[allow(clippy::needless_borrow, clippy::let_and_return)]
fn compute_size(&self, __cache: &mut ::buffa::SizeCache) -> u32 {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
let mut size = 0u32;
if let Some(ref v) = self.edition {
size += 1u32 + ::buffa::types::int32_encoded_len(v.to_i32()) as u32;
}
if self.overridable_features.is_set() {
let __slot = __cache.reserve();
let inner_size = self.overridable_features.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 1u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
if self.fixed_features.is_set() {
let __slot = __cache.reserve();
let inner_size = self.fixed_features.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 1u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
size += self.__buffa_unknown_fields.encoded_len() as u32;
size
}
#[allow(clippy::needless_borrow)]
fn write_to(
&self,
__cache: &mut ::buffa::SizeCache,
buf: &mut impl ::buffa::bytes::BufMut,
) {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
if let Some(ref v) = self.edition {
::buffa::encoding::Tag::new(3u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_int32(v.to_i32(), buf);
}
if self.overridable_features.is_set() {
::buffa::encoding::Tag::new(
4u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
self.overridable_features.write_to(__cache, buf);
}
if self.fixed_features.is_set() {
::buffa::encoding::Tag::new(
5u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
self.fixed_features.write_to(__cache, buf);
}
self.__buffa_unknown_fields.write_to(buf);
}
}
#[cfg(feature = "json")]
impl<'__a> ::serde::Serialize for FeatureSetEditionDefaultView<'__a> {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
use ::serde::ser::SerializeMap as _;
let mut __map = __s.serialize_map(::core::option::Option::None)?;
if let ::core::option::Option::Some(__v) = self.edition {
struct _W(super::super::super::Edition);
impl ::serde::Serialize for _W {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::closed_enum::serialize(&self.0, __s)
}
}
__map.serialize_entry("edition", &_W(__v))?;
}
{
if let ::core::option::Option::Some(__v) = self
.overridable_features
.as_option()
{
__map.serialize_entry("overridableFeatures", __v)?;
}
}
{
if let ::core::option::Option::Some(__v) = self
.fixed_features
.as_option()
{
__map.serialize_entry("fixedFeatures", __v)?;
}
}
__map.end()
}
}
impl<'a> ::buffa::MessageName for FeatureSetEditionDefaultView<'a> {
const PACKAGE: &'static str = "google.protobuf";
const NAME: &'static str = "FeatureSetDefaults.FeatureSetEditionDefault";
const FULL_NAME: &'static str = "google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault";
const TYPE_URL: &'static str = "type.googleapis.com/google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault";
}
impl<'v> ::buffa::DefaultViewInstance for FeatureSetEditionDefaultView<'v> {
fn default_view_instance<'a>() -> &'a Self
where
Self: 'a,
{
static VALUE: ::buffa::__private::OnceBox<
FeatureSetEditionDefaultView<'static>,
> = ::buffa::__private::OnceBox::new();
VALUE
.get_or_init(|| ::buffa::alloc::boxed::Box::new(
<FeatureSetEditionDefaultView<'static>>::default(),
))
}
}
impl ::buffa::ViewReborrow for FeatureSetEditionDefaultView<'static> {
type Reborrowed<'b> = FeatureSetEditionDefaultView<'b>;
fn reborrow<'b>(this: &'b Self) -> &'b Self::Reborrowed<'b> {
this
}
}
}
#[derive(Clone, Debug, Default)]
pub struct SourceCodeInfoView<'a> {
pub location: ::buffa::RepeatedView<
'a,
super::super::__buffa::view::source_code_info::LocationView<'a>,
>,
pub __buffa_unknown_fields: ::buffa::UnknownFieldsView<'a>,
}
impl<'a> SourceCodeInfoView<'a> {
#[doc(hidden)]
pub fn _decode_depth(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
let mut view = Self::default();
view._merge_into_view(buf, depth)?;
::core::result::Result::Ok(view)
}
#[doc(hidden)]
pub fn _merge_into_view(
&mut self,
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<(), ::buffa::DecodeError> {
let _ = depth;
#[allow(unused_variables)]
let view = self;
let mut cur: &'a [u8] = buf;
while !cur.is_empty() {
let before_tag = cur;
let tag = ::buffa::encoding::Tag::decode(&mut cur)?;
match tag.field_number() {
1u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 1u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
view.location
.push(
super::super::__buffa::view::source_code_info::LocationView::_decode_depth(
sub,
depth - 1,
)?,
);
}
_ => {
::buffa::encoding::skip_field_depth(tag, &mut cur, depth)?;
let span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..span_len]);
}
}
}
::core::result::Result::Ok(())
}
}
impl<'a> ::buffa::MessageView<'a> for SourceCodeInfoView<'a> {
type Owned = super::super::SourceCodeInfo;
fn decode_view(buf: &'a [u8]) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, ::buffa::RECURSION_LIMIT)
}
fn decode_view_with_limit(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, depth)
}
fn to_owned_message(&self) -> super::super::SourceCodeInfo {
self.to_owned_from_source(None)
}
#[allow(clippy::useless_conversion, clippy::needless_update)]
fn to_owned_from_source(
&self,
__buffa_src: ::core::option::Option<&::buffa::bytes::Bytes>,
) -> super::super::SourceCodeInfo {
#[allow(unused_imports)]
use ::buffa::alloc::string::ToString as _;
let _ = __buffa_src;
super::super::SourceCodeInfo {
location: self
.location
.iter()
.map(|v| v.to_owned_from_source(__buffa_src))
.collect(),
__buffa_unknown_fields: self
.__buffa_unknown_fields
.to_owned()
.unwrap_or_default()
.into(),
..::core::default::Default::default()
}
}
}
impl<'a> ::buffa::ViewEncode<'a> for SourceCodeInfoView<'a> {
#[allow(clippy::needless_borrow, clippy::let_and_return)]
fn compute_size(&self, __cache: &mut ::buffa::SizeCache) -> u32 {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
let mut size = 0u32;
for v in &self.location {
let __slot = __cache.reserve();
let inner_size = v.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 1u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
size += self.__buffa_unknown_fields.encoded_len() as u32;
size
}
#[allow(clippy::needless_borrow)]
fn write_to(
&self,
__cache: &mut ::buffa::SizeCache,
buf: &mut impl ::buffa::bytes::BufMut,
) {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
for v in &self.location {
::buffa::encoding::Tag::new(
1u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
v.write_to(__cache, buf);
}
self.__buffa_unknown_fields.write_to(buf);
}
}
#[cfg(feature = "json")]
impl<'__a> ::serde::Serialize for SourceCodeInfoView<'__a> {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
use ::serde::ser::SerializeMap as _;
let mut __map = __s.serialize_map(::core::option::Option::None)?;
if !self.location.is_empty() {
__map.serialize_entry("location", &*self.location)?;
}
__map.end()
}
}
impl<'a> ::buffa::MessageName for SourceCodeInfoView<'a> {
const PACKAGE: &'static str = "google.protobuf";
const NAME: &'static str = "SourceCodeInfo";
const FULL_NAME: &'static str = "google.protobuf.SourceCodeInfo";
const TYPE_URL: &'static str = "type.googleapis.com/google.protobuf.SourceCodeInfo";
}
impl<'v> ::buffa::DefaultViewInstance for SourceCodeInfoView<'v> {
fn default_view_instance<'a>() -> &'a Self
where
Self: 'a,
{
static VALUE: ::buffa::__private::OnceBox<SourceCodeInfoView<'static>> = ::buffa::__private::OnceBox::new();
VALUE
.get_or_init(|| ::buffa::alloc::boxed::Box::new(
<SourceCodeInfoView<'static>>::default(),
))
}
}
impl ::buffa::ViewReborrow for SourceCodeInfoView<'static> {
type Reborrowed<'b> = SourceCodeInfoView<'b>;
fn reborrow<'b>(this: &'b Self) -> &'b Self::Reborrowed<'b> {
this
}
}
pub mod source_code_info {
#[allow(unused_imports)]
use super::*;
#[derive(Clone, Debug, Default)]
pub struct LocationView<'a> {
pub path: ::buffa::RepeatedView<'a, i32>,
pub span: ::buffa::RepeatedView<'a, i32>,
pub leading_comments: ::core::option::Option<&'a str>,
pub trailing_comments: ::core::option::Option<&'a str>,
pub leading_detached_comments: ::buffa::RepeatedView<'a, &'a str>,
pub __buffa_unknown_fields: ::buffa::UnknownFieldsView<'a>,
}
impl<'a> LocationView<'a> {
#[doc(hidden)]
pub fn _decode_depth(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
let mut view = Self::default();
view._merge_into_view(buf, depth)?;
::core::result::Result::Ok(view)
}
#[doc(hidden)]
pub fn _merge_into_view(
&mut self,
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<(), ::buffa::DecodeError> {
let _ = depth;
#[allow(unused_variables)]
let view = self;
let mut cur: &'a [u8] = buf;
while !cur.is_empty() {
let before_tag = cur;
let tag = ::buffa::encoding::Tag::decode(&mut cur)?;
match tag.field_number() {
3u32 => {
if tag.wire_type()
!= ::buffa::encoding::WireType::LengthDelimited
{
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 3u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
view.leading_comments = Some(
::buffa::types::borrow_str(&mut cur)?,
);
}
4u32 => {
if tag.wire_type()
!= ::buffa::encoding::WireType::LengthDelimited
{
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 4u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
view.trailing_comments = Some(
::buffa::types::borrow_str(&mut cur)?,
);
}
1u32 => {
if tag.wire_type()
== ::buffa::encoding::WireType::LengthDelimited
{
let payload = ::buffa::types::borrow_bytes(&mut cur)?;
let mut pcur: &[u8] = payload;
while !pcur.is_empty() {
view.path.push(::buffa::types::decode_int32(&mut pcur)?);
}
} else if tag.wire_type() == ::buffa::encoding::WireType::Varint
{
view.path.push(::buffa::types::decode_int32(&mut cur)?);
} else {
return Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 1u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
}
2u32 => {
if tag.wire_type()
== ::buffa::encoding::WireType::LengthDelimited
{
let payload = ::buffa::types::borrow_bytes(&mut cur)?;
let mut pcur: &[u8] = payload;
while !pcur.is_empty() {
view.span.push(::buffa::types::decode_int32(&mut pcur)?);
}
} else if tag.wire_type() == ::buffa::encoding::WireType::Varint
{
view.span.push(::buffa::types::decode_int32(&mut cur)?);
} else {
return Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 2u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
}
6u32 => {
if tag.wire_type()
!= ::buffa::encoding::WireType::LengthDelimited
{
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 6u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
view.leading_detached_comments
.push(::buffa::types::borrow_str(&mut cur)?);
}
_ => {
::buffa::encoding::skip_field_depth(tag, &mut cur, depth)?;
let span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..span_len]);
}
}
}
::core::result::Result::Ok(())
}
}
impl<'a> ::buffa::MessageView<'a> for LocationView<'a> {
type Owned = super::super::super::source_code_info::Location;
fn decode_view(
buf: &'a [u8],
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, ::buffa::RECURSION_LIMIT)
}
fn decode_view_with_limit(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, depth)
}
fn to_owned_message(&self) -> super::super::super::source_code_info::Location {
self.to_owned_from_source(None)
}
#[allow(clippy::useless_conversion, clippy::needless_update)]
fn to_owned_from_source(
&self,
__buffa_src: ::core::option::Option<&::buffa::bytes::Bytes>,
) -> super::super::super::source_code_info::Location {
#[allow(unused_imports)]
use ::buffa::alloc::string::ToString as _;
let _ = __buffa_src;
super::super::super::source_code_info::Location {
path: self.path.to_vec(),
span: self.span.to_vec(),
leading_comments: self.leading_comments.map(|s| s.to_string()),
trailing_comments: self.trailing_comments.map(|s| s.to_string()),
leading_detached_comments: self
.leading_detached_comments
.iter()
.map(|s| s.to_string())
.collect(),
__buffa_unknown_fields: self
.__buffa_unknown_fields
.to_owned()
.unwrap_or_default()
.into(),
..::core::default::Default::default()
}
}
}
impl<'a> ::buffa::ViewEncode<'a> for LocationView<'a> {
#[allow(clippy::needless_borrow, clippy::let_and_return)]
fn compute_size(&self, _cache: &mut ::buffa::SizeCache) -> u32 {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
let mut size = 0u32;
if !self.path.is_empty() {
let payload: u32 = self
.path
.iter()
.map(|&v| ::buffa::types::int32_encoded_len(v) as u32)
.sum::<u32>();
size
+= 1u32 + ::buffa::encoding::varint_len(payload as u64) as u32
+ payload;
}
if !self.span.is_empty() {
let payload: u32 = self
.span
.iter()
.map(|&v| ::buffa::types::int32_encoded_len(v) as u32)
.sum::<u32>();
size
+= 1u32 + ::buffa::encoding::varint_len(payload as u64) as u32
+ payload;
}
if let Some(ref v) = self.leading_comments {
size += 1u32 + ::buffa::types::string_encoded_len(v) as u32;
}
if let Some(ref v) = self.trailing_comments {
size += 1u32 + ::buffa::types::string_encoded_len(v) as u32;
}
for v in &self.leading_detached_comments {
size += 1u32 + ::buffa::types::string_encoded_len(v) as u32;
}
size += self.__buffa_unknown_fields.encoded_len() as u32;
size
}
#[allow(clippy::needless_borrow)]
fn write_to(
&self,
_cache: &mut ::buffa::SizeCache,
buf: &mut impl ::buffa::bytes::BufMut,
) {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
if !self.path.is_empty() {
let payload: u32 = self
.path
.iter()
.map(|&v| ::buffa::types::int32_encoded_len(v) as u32)
.sum::<u32>();
::buffa::encoding::Tag::new(
1u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(payload as u64, buf);
for &v in &self.path {
::buffa::types::encode_int32(v, buf);
}
}
if !self.span.is_empty() {
let payload: u32 = self
.span
.iter()
.map(|&v| ::buffa::types::int32_encoded_len(v) as u32)
.sum::<u32>();
::buffa::encoding::Tag::new(
2u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(payload as u64, buf);
for &v in &self.span {
::buffa::types::encode_int32(v, buf);
}
}
if let Some(ref v) = self.leading_comments {
::buffa::encoding::Tag::new(
3u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::types::encode_string(v, buf);
}
if let Some(ref v) = self.trailing_comments {
::buffa::encoding::Tag::new(
4u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::types::encode_string(v, buf);
}
for v in &self.leading_detached_comments {
::buffa::encoding::Tag::new(
6u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::types::encode_string(v, buf);
}
self.__buffa_unknown_fields.write_to(buf);
}
}
#[cfg(feature = "json")]
impl<'__a> ::serde::Serialize for LocationView<'__a> {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
use ::serde::ser::SerializeMap as _;
let mut __map = __s.serialize_map(::core::option::Option::None)?;
if !self.path.is_empty() {
struct _WSeq<'__x>(&'__x [i32]);
impl ::serde::Serialize for _WSeq<'_> {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::proto_seq::serialize(self.0, __s)
}
}
__map.serialize_entry("path", &_WSeq(&self.path))?;
}
if !self.span.is_empty() {
struct _WSeq<'__x>(&'__x [i32]);
impl ::serde::Serialize for _WSeq<'_> {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::proto_seq::serialize(self.0, __s)
}
}
__map.serialize_entry("span", &_WSeq(&self.span))?;
}
if let ::core::option::Option::Some(__v) = self.leading_comments {
__map.serialize_entry("leadingComments", __v)?;
}
if let ::core::option::Option::Some(__v) = self.trailing_comments {
__map.serialize_entry("trailingComments", __v)?;
}
if !self.leading_detached_comments.is_empty() {
__map
.serialize_entry(
"leadingDetachedComments",
&*self.leading_detached_comments,
)?;
}
__map.end()
}
}
impl<'a> ::buffa::MessageName for LocationView<'a> {
const PACKAGE: &'static str = "google.protobuf";
const NAME: &'static str = "SourceCodeInfo.Location";
const FULL_NAME: &'static str = "google.protobuf.SourceCodeInfo.Location";
const TYPE_URL: &'static str = "type.googleapis.com/google.protobuf.SourceCodeInfo.Location";
}
impl<'v> ::buffa::DefaultViewInstance for LocationView<'v> {
fn default_view_instance<'a>() -> &'a Self
where
Self: 'a,
{
static VALUE: ::buffa::__private::OnceBox<LocationView<'static>> = ::buffa::__private::OnceBox::new();
VALUE
.get_or_init(|| ::buffa::alloc::boxed::Box::new(
<LocationView<'static>>::default(),
))
}
}
impl ::buffa::ViewReborrow for LocationView<'static> {
type Reborrowed<'b> = LocationView<'b>;
fn reborrow<'b>(this: &'b Self) -> &'b Self::Reborrowed<'b> {
this
}
}
}
#[derive(Clone, Debug, Default)]
pub struct GeneratedCodeInfoView<'a> {
pub annotation: ::buffa::RepeatedView<
'a,
super::super::__buffa::view::generated_code_info::AnnotationView<'a>,
>,
pub __buffa_unknown_fields: ::buffa::UnknownFieldsView<'a>,
}
impl<'a> GeneratedCodeInfoView<'a> {
#[doc(hidden)]
pub fn _decode_depth(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
let mut view = Self::default();
view._merge_into_view(buf, depth)?;
::core::result::Result::Ok(view)
}
#[doc(hidden)]
pub fn _merge_into_view(
&mut self,
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<(), ::buffa::DecodeError> {
let _ = depth;
#[allow(unused_variables)]
let view = self;
let mut cur: &'a [u8] = buf;
while !cur.is_empty() {
let before_tag = cur;
let tag = ::buffa::encoding::Tag::decode(&mut cur)?;
match tag.field_number() {
1u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::LengthDelimited {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 1u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
if depth == 0 {
return Err(::buffa::DecodeError::RecursionLimitExceeded);
}
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
view.annotation
.push(
super::super::__buffa::view::generated_code_info::AnnotationView::_decode_depth(
sub,
depth - 1,
)?,
);
}
_ => {
::buffa::encoding::skip_field_depth(tag, &mut cur, depth)?;
let span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..span_len]);
}
}
}
::core::result::Result::Ok(())
}
}
impl<'a> ::buffa::MessageView<'a> for GeneratedCodeInfoView<'a> {
type Owned = super::super::GeneratedCodeInfo;
fn decode_view(buf: &'a [u8]) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, ::buffa::RECURSION_LIMIT)
}
fn decode_view_with_limit(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, depth)
}
fn to_owned_message(&self) -> super::super::GeneratedCodeInfo {
self.to_owned_from_source(None)
}
#[allow(clippy::useless_conversion, clippy::needless_update)]
fn to_owned_from_source(
&self,
__buffa_src: ::core::option::Option<&::buffa::bytes::Bytes>,
) -> super::super::GeneratedCodeInfo {
#[allow(unused_imports)]
use ::buffa::alloc::string::ToString as _;
let _ = __buffa_src;
super::super::GeneratedCodeInfo {
annotation: self
.annotation
.iter()
.map(|v| v.to_owned_from_source(__buffa_src))
.collect(),
__buffa_unknown_fields: self
.__buffa_unknown_fields
.to_owned()
.unwrap_or_default()
.into(),
..::core::default::Default::default()
}
}
}
impl<'a> ::buffa::ViewEncode<'a> for GeneratedCodeInfoView<'a> {
#[allow(clippy::needless_borrow, clippy::let_and_return)]
fn compute_size(&self, __cache: &mut ::buffa::SizeCache) -> u32 {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
let mut size = 0u32;
for v in &self.annotation {
let __slot = __cache.reserve();
let inner_size = v.compute_size(__cache);
__cache.set(__slot, inner_size);
size
+= 1u32 + ::buffa::encoding::varint_len(inner_size as u64) as u32
+ inner_size;
}
size += self.__buffa_unknown_fields.encoded_len() as u32;
size
}
#[allow(clippy::needless_borrow)]
fn write_to(
&self,
__cache: &mut ::buffa::SizeCache,
buf: &mut impl ::buffa::bytes::BufMut,
) {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
for v in &self.annotation {
::buffa::encoding::Tag::new(
1u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(__cache.consume_next() as u64, buf);
v.write_to(__cache, buf);
}
self.__buffa_unknown_fields.write_to(buf);
}
}
#[cfg(feature = "json")]
impl<'__a> ::serde::Serialize for GeneratedCodeInfoView<'__a> {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
use ::serde::ser::SerializeMap as _;
let mut __map = __s.serialize_map(::core::option::Option::None)?;
if !self.annotation.is_empty() {
__map.serialize_entry("annotation", &*self.annotation)?;
}
__map.end()
}
}
impl<'a> ::buffa::MessageName for GeneratedCodeInfoView<'a> {
const PACKAGE: &'static str = "google.protobuf";
const NAME: &'static str = "GeneratedCodeInfo";
const FULL_NAME: &'static str = "google.protobuf.GeneratedCodeInfo";
const TYPE_URL: &'static str = "type.googleapis.com/google.protobuf.GeneratedCodeInfo";
}
impl<'v> ::buffa::DefaultViewInstance for GeneratedCodeInfoView<'v> {
fn default_view_instance<'a>() -> &'a Self
where
Self: 'a,
{
static VALUE: ::buffa::__private::OnceBox<GeneratedCodeInfoView<'static>> = ::buffa::__private::OnceBox::new();
VALUE
.get_or_init(|| ::buffa::alloc::boxed::Box::new(
<GeneratedCodeInfoView<'static>>::default(),
))
}
}
impl ::buffa::ViewReborrow for GeneratedCodeInfoView<'static> {
type Reborrowed<'b> = GeneratedCodeInfoView<'b>;
fn reborrow<'b>(this: &'b Self) -> &'b Self::Reborrowed<'b> {
this
}
}
pub mod generated_code_info {
#[allow(unused_imports)]
use super::*;
#[derive(Clone, Debug, Default)]
pub struct AnnotationView<'a> {
pub path: ::buffa::RepeatedView<'a, i32>,
pub source_file: ::core::option::Option<&'a str>,
pub begin: ::core::option::Option<i32>,
pub end: ::core::option::Option<i32>,
pub semantic: ::core::option::Option<
super::super::super::generated_code_info::annotation::Semantic,
>,
pub __buffa_unknown_fields: ::buffa::UnknownFieldsView<'a>,
}
impl<'a> AnnotationView<'a> {
#[doc(hidden)]
pub fn _decode_depth(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
let mut view = Self::default();
view._merge_into_view(buf, depth)?;
::core::result::Result::Ok(view)
}
#[doc(hidden)]
pub fn _merge_into_view(
&mut self,
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<(), ::buffa::DecodeError> {
let _ = depth;
#[allow(unused_variables)]
let view = self;
let mut cur: &'a [u8] = buf;
while !cur.is_empty() {
let before_tag = cur;
let tag = ::buffa::encoding::Tag::decode(&mut cur)?;
match tag.field_number() {
2u32 => {
if tag.wire_type()
!= ::buffa::encoding::WireType::LengthDelimited
{
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 2u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
view.source_file = Some(::buffa::types::borrow_str(&mut cur)?);
}
3u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 3u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
view.begin = Some(::buffa::types::decode_int32(&mut cur)?);
}
4u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 4u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
view.end = Some(::buffa::types::decode_int32(&mut cur)?);
}
5u32 => {
if tag.wire_type() != ::buffa::encoding::WireType::Varint {
return ::core::result::Result::Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 5u32,
expected: 0u8,
actual: tag.wire_type() as u8,
});
}
let __raw = ::buffa::types::decode_int32(&mut cur)?;
if let ::core::option::Option::Some(__v) = ::buffa::Enumeration::from_i32(
__raw,
) {
view.semantic = Some(__v);
} else {
let __span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields
.push_raw(&before_tag[..__span_len]);
}
}
1u32 => {
if tag.wire_type()
== ::buffa::encoding::WireType::LengthDelimited
{
let payload = ::buffa::types::borrow_bytes(&mut cur)?;
let mut pcur: &[u8] = payload;
while !pcur.is_empty() {
view.path.push(::buffa::types::decode_int32(&mut pcur)?);
}
} else if tag.wire_type() == ::buffa::encoding::WireType::Varint
{
view.path.push(::buffa::types::decode_int32(&mut cur)?);
} else {
return Err(::buffa::DecodeError::WireTypeMismatch {
field_number: 1u32,
expected: 2u8,
actual: tag.wire_type() as u8,
});
}
}
_ => {
::buffa::encoding::skip_field_depth(tag, &mut cur, depth)?;
let span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_raw(&before_tag[..span_len]);
}
}
}
::core::result::Result::Ok(())
}
}
impl<'a> ::buffa::MessageView<'a> for AnnotationView<'a> {
type Owned = super::super::super::generated_code_info::Annotation;
fn decode_view(
buf: &'a [u8],
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, ::buffa::RECURSION_LIMIT)
}
fn decode_view_with_limit(
buf: &'a [u8],
depth: u32,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
Self::_decode_depth(buf, depth)
}
fn to_owned_message(
&self,
) -> super::super::super::generated_code_info::Annotation {
self.to_owned_from_source(None)
}
#[allow(clippy::useless_conversion, clippy::needless_update)]
fn to_owned_from_source(
&self,
__buffa_src: ::core::option::Option<&::buffa::bytes::Bytes>,
) -> super::super::super::generated_code_info::Annotation {
#[allow(unused_imports)]
use ::buffa::alloc::string::ToString as _;
let _ = __buffa_src;
super::super::super::generated_code_info::Annotation {
path: self.path.to_vec(),
source_file: self.source_file.map(|s| s.to_string()),
begin: self.begin,
end: self.end,
semantic: self.semantic,
__buffa_unknown_fields: self
.__buffa_unknown_fields
.to_owned()
.unwrap_or_default()
.into(),
..::core::default::Default::default()
}
}
}
impl<'a> ::buffa::ViewEncode<'a> for AnnotationView<'a> {
#[allow(clippy::needless_borrow, clippy::let_and_return)]
fn compute_size(&self, _cache: &mut ::buffa::SizeCache) -> u32 {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
let mut size = 0u32;
if !self.path.is_empty() {
let payload: u32 = self
.path
.iter()
.map(|&v| ::buffa::types::int32_encoded_len(v) as u32)
.sum::<u32>();
size
+= 1u32 + ::buffa::encoding::varint_len(payload as u64) as u32
+ payload;
}
if let Some(ref v) = self.source_file {
size += 1u32 + ::buffa::types::string_encoded_len(v) as u32;
}
if let Some(v) = self.begin {
size += 1u32 + ::buffa::types::int32_encoded_len(v) as u32;
}
if let Some(v) = self.end {
size += 1u32 + ::buffa::types::int32_encoded_len(v) as u32;
}
if let Some(ref v) = self.semantic {
size += 1u32 + ::buffa::types::int32_encoded_len(v.to_i32()) as u32;
}
size += self.__buffa_unknown_fields.encoded_len() as u32;
size
}
#[allow(clippy::needless_borrow)]
fn write_to(
&self,
_cache: &mut ::buffa::SizeCache,
buf: &mut impl ::buffa::bytes::BufMut,
) {
#[allow(unused_imports)]
use ::buffa::Enumeration as _;
if !self.path.is_empty() {
let payload: u32 = self
.path
.iter()
.map(|&v| ::buffa::types::int32_encoded_len(v) as u32)
.sum::<u32>();
::buffa::encoding::Tag::new(
1u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::encoding::encode_varint(payload as u64, buf);
for &v in &self.path {
::buffa::types::encode_int32(v, buf);
}
}
if let Some(ref v) = self.source_file {
::buffa::encoding::Tag::new(
2u32,
::buffa::encoding::WireType::LengthDelimited,
)
.encode(buf);
::buffa::types::encode_string(v, buf);
}
if let Some(v) = self.begin {
::buffa::encoding::Tag::new(3u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_int32(v, buf);
}
if let Some(v) = self.end {
::buffa::encoding::Tag::new(4u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_int32(v, buf);
}
if let Some(ref v) = self.semantic {
::buffa::encoding::Tag::new(5u32, ::buffa::encoding::WireType::Varint)
.encode(buf);
::buffa::types::encode_int32(v.to_i32(), buf);
}
self.__buffa_unknown_fields.write_to(buf);
}
}
#[cfg(feature = "json")]
impl<'__a> ::serde::Serialize for AnnotationView<'__a> {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
use ::serde::ser::SerializeMap as _;
let mut __map = __s.serialize_map(::core::option::Option::None)?;
if !self.path.is_empty() {
struct _WSeq<'__x>(&'__x [i32]);
impl ::serde::Serialize for _WSeq<'_> {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::proto_seq::serialize(self.0, __s)
}
}
__map.serialize_entry("path", &_WSeq(&self.path))?;
}
if let ::core::option::Option::Some(__v) = self.source_file {
__map.serialize_entry("sourceFile", __v)?;
}
if let ::core::option::Option::Some(__v) = self.begin {
struct _W(i32);
impl ::serde::Serialize for _W {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::int32::serialize(&self.0, __s)
}
}
__map.serialize_entry("begin", &_W(__v))?;
}
if let ::core::option::Option::Some(__v) = self.end {
struct _W(i32);
impl ::serde::Serialize for _W {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::int32::serialize(&self.0, __s)
}
}
__map.serialize_entry("end", &_W(__v))?;
}
if let ::core::option::Option::Some(__v) = self.semantic {
struct _W(
super::super::super::generated_code_info::annotation::Semantic,
);
impl ::serde::Serialize for _W {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::buffa::json_helpers::closed_enum::serialize(&self.0, __s)
}
}
__map.serialize_entry("semantic", &_W(__v))?;
}
__map.end()
}
}
impl<'a> ::buffa::MessageName for AnnotationView<'a> {
const PACKAGE: &'static str = "google.protobuf";
const NAME: &'static str = "GeneratedCodeInfo.Annotation";
const FULL_NAME: &'static str = "google.protobuf.GeneratedCodeInfo.Annotation";
const TYPE_URL: &'static str = "type.googleapis.com/google.protobuf.GeneratedCodeInfo.Annotation";
}
impl<'v> ::buffa::DefaultViewInstance for AnnotationView<'v> {
fn default_view_instance<'a>() -> &'a Self
where
Self: 'a,
{
static VALUE: ::buffa::__private::OnceBox<AnnotationView<'static>> = ::buffa::__private::OnceBox::new();
VALUE
.get_or_init(|| ::buffa::alloc::boxed::Box::new(
<AnnotationView<'static>>::default(),
))
}
}
impl ::buffa::ViewReborrow for AnnotationView<'static> {
type Reborrowed<'b> = AnnotationView<'b>;
fn reborrow<'b>(this: &'b Self) -> &'b Self::Reborrowed<'b> {
this
}
}
}