#[derive(Clone, Debug, Default)]
pub struct VersionView<'a> {
pub major: ::core::option::Option<i32>,
pub minor: ::core::option::Option<i32>,
pub patch: ::core::option::Option<i32>,
pub suffix: ::core::option::Option<&'a str>,
pub __buffa_unknown_fields: ::buffa::UnknownFieldsView<'a>,
}
impl<'a> ::buffa::MessageView<'a> for VersionView<'a> {
type Owned = super::super::Version;
fn decode_view(buf: &'a [u8]) -> ::core::result::Result<Self, ::buffa::DecodeError> {
let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT);
<Self as ::buffa::MessageView>::decode_view_ctx(
buf,
::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit),
)
}
fn decode_view_with_ctx(
buf: &'a [u8],
ctx: ::buffa::DecodeContext<'_>,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
<Self as ::buffa::MessageView>::decode_view_ctx(buf, ctx)
}
fn merge_view_field(
&mut self,
tag: ::buffa::encoding::Tag,
cur: &'a [u8],
before_tag: &'a [u8],
ctx: ::buffa::DecodeContext<'_>,
) -> ::core::result::Result<&'a [u8], ::buffa::DecodeError> {
let _ = ctx;
#[allow(unused_variables)]
let view = self;
let mut cur = cur;
match tag.field_number() {
1u32 => {
::buffa::encoding::check_wire_type(
tag,
::buffa::encoding::WireType::Varint,
)?;
view.major = Some(::buffa::types::decode_int32(&mut cur)?);
}
2u32 => {
::buffa::encoding::check_wire_type(
tag,
::buffa::encoding::WireType::Varint,
)?;
view.minor = Some(::buffa::types::decode_int32(&mut cur)?);
}
3u32 => {
::buffa::encoding::check_wire_type(
tag,
::buffa::encoding::WireType::Varint,
)?;
view.patch = Some(::buffa::types::decode_int32(&mut cur)?);
}
4u32 => {
::buffa::encoding::check_wire_type(
tag,
::buffa::encoding::WireType::LengthDelimited,
)?;
view.suffix = Some(::buffa::types::borrow_str(&mut cur)?);
}
_ => {
::buffa::encoding::skip_field_depth(tag, &mut cur, ctx.depth())?;
let span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_record(before_tag, span_len, ctx)?;
}
}
::core::result::Result::Ok(cur)
}
fn to_owned_message(
&self,
) -> ::core::result::Result<super::super::Version, ::buffa::DecodeError> {
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>,
) -> ::core::result::Result<super::super::Version, ::buffa::DecodeError> {
#[allow(unused_imports)]
use ::buffa::alloc::string::ToString as _;
let _ = __buffa_src;
::core::result::Result::Ok(super::super::Version {
major: self.major,
minor: self.minor,
patch: self.patch,
suffix: self.suffix.map(|s| s.to_string()),
__buffa_unknown_fields: self.__buffa_unknown_fields.to_owned()?.into(),
..::core::default::Default::default()
})
}
}
impl<'a> ::buffa::ViewEncode<'a> for VersionView<'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.major {
size += 1u32 + ::buffa::types::int32_encoded_len(v) as u32;
}
if let Some(v) = self.minor {
size += 1u32 + ::buffa::types::int32_encoded_len(v) as u32;
}
if let Some(v) = self.patch {
size += 1u32 + ::buffa::types::int32_encoded_len(v) as u32;
}
if let Some(ref v) = self.suffix {
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(v) = self.major {
::buffa::types::put_int32_field(1u32, v, buf);
}
if let Some(v) = self.minor {
::buffa::types::put_int32_field(2u32, v, buf);
}
if let Some(v) = self.patch {
::buffa::types::put_int32_field(3u32, v, buf);
}
if let Some(ref v) = self.suffix {
::buffa::types::put_string_field(4u32, v, buf);
}
self.__buffa_unknown_fields.write_to(buf);
}
}
#[cfg(feature = "json")]
impl<'__a> ::serde::Serialize for VersionView<'__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.major {
__map.serialize_entry("major", &::buffa::json_helpers::ProtoJson(&__v))?;
}
if let ::core::option::Option::Some(__v) = self.minor {
__map.serialize_entry("minor", &::buffa::json_helpers::ProtoJson(&__v))?;
}
if let ::core::option::Option::Some(__v) = self.patch {
__map.serialize_entry("patch", &::buffa::json_helpers::ProtoJson(&__v))?;
}
if let ::core::option::Option::Some(__v) = self.suffix {
__map.serialize_entry("suffix", __v)?;
}
__map.end()
}
}
impl<'a> ::buffa::MessageName for VersionView<'a> {
const PACKAGE: &'static str = "google.protobuf.compiler";
const NAME: &'static str = "Version";
const FULL_NAME: &'static str = "google.protobuf.compiler.Version";
const TYPE_URL: &'static str = "type.googleapis.com/google.protobuf.compiler.Version";
}
::buffa::impl_default_view_instance!(VersionView);
::buffa::impl_view_reborrow!(VersionView);
#[derive(Clone, Debug)]
pub struct VersionOwnedView(::buffa::OwnedView<VersionView<'static>>);
impl VersionOwnedView {
pub fn decode(
bytes: ::buffa::bytes::Bytes,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
::core::result::Result::Ok(VersionOwnedView(::buffa::OwnedView::decode(bytes)?))
}
pub fn decode_with_options(
bytes: ::buffa::bytes::Bytes,
opts: &::buffa::DecodeOptions,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
::core::result::Result::Ok(
VersionOwnedView(::buffa::OwnedView::decode_with_options(bytes, opts)?),
)
}
pub fn from_owned(
msg: &super::super::Version,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
::core::result::Result::Ok(
VersionOwnedView(::buffa::OwnedView::from_owned(msg)?),
)
}
#[must_use]
pub fn view(&self) -> &VersionView<'_> {
self.0.reborrow()
}
pub fn to_owned_message(
&self,
) -> ::core::result::Result<super::super::Version, ::buffa::DecodeError> {
self.0.to_owned_message()
}
#[must_use]
pub fn bytes(&self) -> &::buffa::bytes::Bytes {
self.0.bytes()
}
#[must_use]
pub fn into_bytes(self) -> ::buffa::bytes::Bytes {
self.0.into_bytes()
}
#[must_use]
pub fn major(&self) -> ::core::option::Option<i32> {
self.0.reborrow().major
}
#[must_use]
pub fn minor(&self) -> ::core::option::Option<i32> {
self.0.reborrow().minor
}
#[must_use]
pub fn patch(&self) -> ::core::option::Option<i32> {
self.0.reborrow().patch
}
#[must_use]
pub fn suffix(&self) -> ::core::option::Option<&'_ str> {
self.0.reborrow().suffix
}
}
impl ::core::convert::From<::buffa::OwnedView<VersionView<'static>>>
for VersionOwnedView {
fn from(inner: ::buffa::OwnedView<VersionView<'static>>) -> Self {
VersionOwnedView(inner)
}
}
impl ::core::convert::From<VersionOwnedView>
for ::buffa::OwnedView<VersionView<'static>> {
fn from(wrapper: VersionOwnedView) -> Self {
wrapper.0
}
}
impl ::core::convert::AsRef<::buffa::OwnedView<VersionView<'static>>>
for VersionOwnedView {
fn as_ref(&self) -> &::buffa::OwnedView<VersionView<'static>> {
&self.0
}
}
impl ::buffa::HasMessageView for super::super::Version {
type View<'a> = VersionView<'a>;
type ViewHandle = VersionOwnedView;
}
#[cfg(feature = "json")]
impl ::serde::Serialize for VersionOwnedView {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::serde::Serialize::serialize(&self.0, __s)
}
}
#[derive(Clone, Debug, Default)]
pub struct CodeGeneratorRequestView<'a> {
pub file_to_generate: ::buffa::RepeatedView<'a, &'a str>,
pub parameter: ::core::option::Option<&'a str>,
pub proto_file: ::buffa::RepeatedView<
'a,
super::super::super::__buffa::view::FileDescriptorProtoView<'a>,
>,
pub source_file_descriptors: ::buffa::RepeatedView<
'a,
super::super::super::__buffa::view::FileDescriptorProtoView<'a>,
>,
pub compiler_version: ::buffa::MessageFieldView<
super::super::__buffa::view::VersionView<'a>,
>,
pub __buffa_unknown_fields: ::buffa::UnknownFieldsView<'a>,
}
impl<'a> ::buffa::MessageView<'a> for CodeGeneratorRequestView<'a> {
type Owned = super::super::CodeGeneratorRequest;
fn decode_view(buf: &'a [u8]) -> ::core::result::Result<Self, ::buffa::DecodeError> {
let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT);
<Self as ::buffa::MessageView>::decode_view_ctx(
buf,
::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit),
)
}
fn decode_view_with_ctx(
buf: &'a [u8],
ctx: ::buffa::DecodeContext<'_>,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
<Self as ::buffa::MessageView>::decode_view_ctx(buf, ctx)
}
fn merge_view_field(
&mut self,
tag: ::buffa::encoding::Tag,
cur: &'a [u8],
before_tag: &'a [u8],
ctx: ::buffa::DecodeContext<'_>,
) -> ::core::result::Result<&'a [u8], ::buffa::DecodeError> {
let _ = ctx;
#[allow(unused_variables)]
let view = self;
let mut cur = cur;
match tag.field_number() {
2u32 => {
::buffa::encoding::check_wire_type(
tag,
::buffa::encoding::WireType::LengthDelimited,
)?;
view.parameter = Some(::buffa::types::borrow_str(&mut cur)?);
}
3u32 => {
::buffa::encoding::check_wire_type(
tag,
::buffa::encoding::WireType::LengthDelimited,
)?;
let __sub_ctx = ctx.descend()?;
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
match view.compiler_version.as_mut() {
Some(existing) => {
::buffa::MessageView::merge_into_view(existing, sub, __sub_ctx)?
}
None => {
view.compiler_version = ::buffa::MessageFieldView::set(
<super::super::__buffa::view::VersionView as ::buffa::MessageView>::decode_view_ctx(
sub,
__sub_ctx,
)?,
);
}
}
}
1u32 => {
::buffa::encoding::check_wire_type(
tag,
::buffa::encoding::WireType::LengthDelimited,
)?;
view.file_to_generate.push(::buffa::types::borrow_str(&mut cur)?);
}
15u32 => {
::buffa::encoding::check_wire_type(
tag,
::buffa::encoding::WireType::LengthDelimited,
)?;
let __sub_ctx = ctx.descend()?;
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
view.proto_file
.push(
<super::super::super::__buffa::view::FileDescriptorProtoView as ::buffa::MessageView>::decode_view_ctx(
sub,
__sub_ctx,
)?,
);
}
17u32 => {
::buffa::encoding::check_wire_type(
tag,
::buffa::encoding::WireType::LengthDelimited,
)?;
let __sub_ctx = ctx.descend()?;
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
view.source_file_descriptors
.push(
<super::super::super::__buffa::view::FileDescriptorProtoView as ::buffa::MessageView>::decode_view_ctx(
sub,
__sub_ctx,
)?,
);
}
_ => {
::buffa::encoding::skip_field_depth(tag, &mut cur, ctx.depth())?;
let span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_record(before_tag, span_len, ctx)?;
}
}
::core::result::Result::Ok(cur)
}
fn to_owned_message(
&self,
) -> ::core::result::Result<
super::super::CodeGeneratorRequest,
::buffa::DecodeError,
> {
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>,
) -> ::core::result::Result<
super::super::CodeGeneratorRequest,
::buffa::DecodeError,
> {
#[allow(unused_imports)]
use ::buffa::alloc::string::ToString as _;
let _ = __buffa_src;
::core::result::Result::Ok(super::super::CodeGeneratorRequest {
file_to_generate: self
.file_to_generate
.iter()
.map(|s| s.to_string())
.collect(),
parameter: self.parameter.map(|s| s.to_string()),
proto_file: self
.proto_file
.iter()
.map(|v| v.to_owned_from_source(__buffa_src))
.collect::<::core::result::Result<_, ::buffa::DecodeError>>()?,
source_file_descriptors: self
.source_file_descriptors
.iter()
.map(|v| v.to_owned_from_source(__buffa_src))
.collect::<::core::result::Result<_, ::buffa::DecodeError>>()?,
compiler_version: match self.compiler_version.as_option() {
Some(v) => {
::buffa::MessageField::<
super::super::Version,
>::some(v.to_owned_from_source(__buffa_src)?)
}
None => ::buffa::MessageField::none(),
},
__buffa_unknown_fields: self.__buffa_unknown_fields.to_owned()?.into(),
..::core::default::Default::default()
})
}
}
impl<'a> ::buffa::ViewEncode<'a> for CodeGeneratorRequestView<'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_to_generate {
size += 1u32 + ::buffa::types::string_encoded_len(v) as u32;
}
if let Some(ref v) = self.parameter {
size += 1u32 + ::buffa::types::string_encoded_len(v) as u32;
}
if self.compiler_version.is_set() {
let __slot = __cache.reserve();
let inner_size = self.compiler_version.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.proto_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;
}
for v in &self.source_file_descriptors {
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.file_to_generate {
::buffa::types::put_string_field(1u32, v, buf);
}
if let Some(ref v) = self.parameter {
::buffa::types::put_string_field(2u32, v, buf);
}
if self.compiler_version.is_set() {
::buffa::types::put_len_delimited_header(3u32, __cache.consume_next(), buf);
self.compiler_version.write_to(__cache, buf);
}
for v in &self.proto_file {
::buffa::types::put_len_delimited_header(15u32, __cache.consume_next(), buf);
v.write_to(__cache, buf);
}
for v in &self.source_file_descriptors {
::buffa::types::put_len_delimited_header(17u32, __cache.consume_next(), buf);
v.write_to(__cache, buf);
}
self.__buffa_unknown_fields.write_to(buf);
}
}
#[cfg(feature = "json")]
impl<'__a> ::serde::Serialize for CodeGeneratorRequestView<'__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_to_generate.is_empty() {
__map.serialize_entry("fileToGenerate", &*self.file_to_generate)?;
}
if let ::core::option::Option::Some(__v) = self.parameter {
__map.serialize_entry("parameter", __v)?;
}
if !self.proto_file.is_empty() {
__map.serialize_entry("protoFile", &*self.proto_file)?;
}
if !self.source_file_descriptors.is_empty() {
__map
.serialize_entry(
"sourceFileDescriptors",
&*self.source_file_descriptors,
)?;
}
{
if let ::core::option::Option::Some(__v) = self.compiler_version.as_option()
{
__map.serialize_entry("compilerVersion", __v)?;
}
}
__map.end()
}
}
impl<'a> ::buffa::MessageName for CodeGeneratorRequestView<'a> {
const PACKAGE: &'static str = "google.protobuf.compiler";
const NAME: &'static str = "CodeGeneratorRequest";
const FULL_NAME: &'static str = "google.protobuf.compiler.CodeGeneratorRequest";
const TYPE_URL: &'static str = "type.googleapis.com/google.protobuf.compiler.CodeGeneratorRequest";
}
::buffa::impl_default_view_instance!(CodeGeneratorRequestView);
::buffa::impl_view_reborrow!(CodeGeneratorRequestView);
#[derive(Clone, Debug)]
pub struct CodeGeneratorRequestOwnedView(
::buffa::OwnedView<CodeGeneratorRequestView<'static>>,
);
impl CodeGeneratorRequestOwnedView {
pub fn decode(
bytes: ::buffa::bytes::Bytes,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
::core::result::Result::Ok(
CodeGeneratorRequestOwnedView(::buffa::OwnedView::decode(bytes)?),
)
}
pub fn decode_with_options(
bytes: ::buffa::bytes::Bytes,
opts: &::buffa::DecodeOptions,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
::core::result::Result::Ok(
CodeGeneratorRequestOwnedView(
::buffa::OwnedView::decode_with_options(bytes, opts)?,
),
)
}
pub fn from_owned(
msg: &super::super::CodeGeneratorRequest,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
::core::result::Result::Ok(
CodeGeneratorRequestOwnedView(::buffa::OwnedView::from_owned(msg)?),
)
}
#[must_use]
pub fn view(&self) -> &CodeGeneratorRequestView<'_> {
self.0.reborrow()
}
pub fn to_owned_message(
&self,
) -> ::core::result::Result<
super::super::CodeGeneratorRequest,
::buffa::DecodeError,
> {
self.0.to_owned_message()
}
#[must_use]
pub fn bytes(&self) -> &::buffa::bytes::Bytes {
self.0.bytes()
}
#[must_use]
pub fn into_bytes(self) -> ::buffa::bytes::Bytes {
self.0.into_bytes()
}
#[must_use]
pub fn file_to_generate(&self) -> &::buffa::RepeatedView<'_, &'_ str> {
&self.0.reborrow().file_to_generate
}
#[must_use]
pub fn parameter(&self) -> ::core::option::Option<&'_ str> {
self.0.reborrow().parameter
}
#[must_use]
pub fn proto_file(
&self,
) -> &::buffa::RepeatedView<
'_,
super::super::super::__buffa::view::FileDescriptorProtoView<'_>,
> {
&self.0.reborrow().proto_file
}
#[must_use]
pub fn source_file_descriptors(
&self,
) -> &::buffa::RepeatedView<
'_,
super::super::super::__buffa::view::FileDescriptorProtoView<'_>,
> {
&self.0.reborrow().source_file_descriptors
}
#[must_use]
pub fn compiler_version(
&self,
) -> &::buffa::MessageFieldView<super::super::__buffa::view::VersionView<'_>> {
&self.0.reborrow().compiler_version
}
}
impl ::core::convert::From<::buffa::OwnedView<CodeGeneratorRequestView<'static>>>
for CodeGeneratorRequestOwnedView {
fn from(inner: ::buffa::OwnedView<CodeGeneratorRequestView<'static>>) -> Self {
CodeGeneratorRequestOwnedView(inner)
}
}
impl ::core::convert::From<CodeGeneratorRequestOwnedView>
for ::buffa::OwnedView<CodeGeneratorRequestView<'static>> {
fn from(wrapper: CodeGeneratorRequestOwnedView) -> Self {
wrapper.0
}
}
impl ::core::convert::AsRef<::buffa::OwnedView<CodeGeneratorRequestView<'static>>>
for CodeGeneratorRequestOwnedView {
fn as_ref(&self) -> &::buffa::OwnedView<CodeGeneratorRequestView<'static>> {
&self.0
}
}
impl ::buffa::HasMessageView for super::super::CodeGeneratorRequest {
type View<'a> = CodeGeneratorRequestView<'a>;
type ViewHandle = CodeGeneratorRequestOwnedView;
}
#[cfg(feature = "json")]
impl ::serde::Serialize for CodeGeneratorRequestOwnedView {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::serde::Serialize::serialize(&self.0, __s)
}
}
#[derive(Clone, Debug, Default)]
pub struct CodeGeneratorResponseView<'a> {
pub error: ::core::option::Option<&'a str>,
pub supported_features: ::core::option::Option<u64>,
pub minimum_edition: ::core::option::Option<i32>,
pub maximum_edition: ::core::option::Option<i32>,
pub file: ::buffa::RepeatedView<
'a,
super::super::__buffa::view::code_generator_response::FileView<'a>,
>,
pub __buffa_unknown_fields: ::buffa::UnknownFieldsView<'a>,
}
impl<'a> ::buffa::MessageView<'a> for CodeGeneratorResponseView<'a> {
type Owned = super::super::CodeGeneratorResponse;
fn decode_view(buf: &'a [u8]) -> ::core::result::Result<Self, ::buffa::DecodeError> {
let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT);
<Self as ::buffa::MessageView>::decode_view_ctx(
buf,
::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit),
)
}
fn decode_view_with_ctx(
buf: &'a [u8],
ctx: ::buffa::DecodeContext<'_>,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
<Self as ::buffa::MessageView>::decode_view_ctx(buf, ctx)
}
fn merge_view_field(
&mut self,
tag: ::buffa::encoding::Tag,
cur: &'a [u8],
before_tag: &'a [u8],
ctx: ::buffa::DecodeContext<'_>,
) -> ::core::result::Result<&'a [u8], ::buffa::DecodeError> {
let _ = ctx;
#[allow(unused_variables)]
let view = self;
let mut cur = cur;
match tag.field_number() {
1u32 => {
::buffa::encoding::check_wire_type(
tag,
::buffa::encoding::WireType::LengthDelimited,
)?;
view.error = Some(::buffa::types::borrow_str(&mut cur)?);
}
2u32 => {
::buffa::encoding::check_wire_type(
tag,
::buffa::encoding::WireType::Varint,
)?;
view.supported_features = Some(::buffa::types::decode_uint64(&mut cur)?);
}
3u32 => {
::buffa::encoding::check_wire_type(
tag,
::buffa::encoding::WireType::Varint,
)?;
view.minimum_edition = Some(::buffa::types::decode_int32(&mut cur)?);
}
4u32 => {
::buffa::encoding::check_wire_type(
tag,
::buffa::encoding::WireType::Varint,
)?;
view.maximum_edition = Some(::buffa::types::decode_int32(&mut cur)?);
}
15u32 => {
::buffa::encoding::check_wire_type(
tag,
::buffa::encoding::WireType::LengthDelimited,
)?;
let __sub_ctx = ctx.descend()?;
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
view.file
.push(
<super::super::__buffa::view::code_generator_response::FileView as ::buffa::MessageView>::decode_view_ctx(
sub,
__sub_ctx,
)?,
);
}
_ => {
::buffa::encoding::skip_field_depth(tag, &mut cur, ctx.depth())?;
let span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_record(before_tag, span_len, ctx)?;
}
}
::core::result::Result::Ok(cur)
}
fn to_owned_message(
&self,
) -> ::core::result::Result<
super::super::CodeGeneratorResponse,
::buffa::DecodeError,
> {
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>,
) -> ::core::result::Result<
super::super::CodeGeneratorResponse,
::buffa::DecodeError,
> {
#[allow(unused_imports)]
use ::buffa::alloc::string::ToString as _;
let _ = __buffa_src;
::core::result::Result::Ok(super::super::CodeGeneratorResponse {
error: self.error.map(|s| s.to_string()),
supported_features: self.supported_features,
minimum_edition: self.minimum_edition,
maximum_edition: self.maximum_edition,
file: self
.file
.iter()
.map(|v| v.to_owned_from_source(__buffa_src))
.collect::<::core::result::Result<_, ::buffa::DecodeError>>()?,
__buffa_unknown_fields: self.__buffa_unknown_fields.to_owned()?.into(),
..::core::default::Default::default()
})
}
}
impl<'a> ::buffa::ViewEncode<'a> for CodeGeneratorResponseView<'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.error {
size += 1u32 + ::buffa::types::string_encoded_len(v) as u32;
}
if let Some(v) = self.supported_features {
size += 1u32 + ::buffa::types::uint64_encoded_len(v) as u32;
}
if let Some(v) = self.minimum_edition {
size += 1u32 + ::buffa::types::int32_encoded_len(v) as u32;
}
if let Some(v) = self.maximum_edition {
size += 1u32 + ::buffa::types::int32_encoded_len(v) as u32;
}
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 _;
if let Some(ref v) = self.error {
::buffa::types::put_string_field(1u32, v, buf);
}
if let Some(v) = self.supported_features {
::buffa::types::put_uint64_field(2u32, v, buf);
}
if let Some(v) = self.minimum_edition {
::buffa::types::put_int32_field(3u32, v, buf);
}
if let Some(v) = self.maximum_edition {
::buffa::types::put_int32_field(4u32, v, buf);
}
for v in &self.file {
::buffa::types::put_len_delimited_header(15u32, __cache.consume_next(), buf);
v.write_to(__cache, buf);
}
self.__buffa_unknown_fields.write_to(buf);
}
}
#[cfg(feature = "json")]
impl<'__a> ::serde::Serialize for CodeGeneratorResponseView<'__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.error {
__map.serialize_entry("error", __v)?;
}
if let ::core::option::Option::Some(__v) = self.supported_features {
__map
.serialize_entry(
"supportedFeatures",
&::buffa::json_helpers::ProtoJson(&__v),
)?;
}
if let ::core::option::Option::Some(__v) = self.minimum_edition {
__map
.serialize_entry(
"minimumEdition",
&::buffa::json_helpers::ProtoJson(&__v),
)?;
}
if let ::core::option::Option::Some(__v) = self.maximum_edition {
__map
.serialize_entry(
"maximumEdition",
&::buffa::json_helpers::ProtoJson(&__v),
)?;
}
if !self.file.is_empty() {
__map.serialize_entry("file", &*self.file)?;
}
__map.end()
}
}
impl<'a> ::buffa::MessageName for CodeGeneratorResponseView<'a> {
const PACKAGE: &'static str = "google.protobuf.compiler";
const NAME: &'static str = "CodeGeneratorResponse";
const FULL_NAME: &'static str = "google.protobuf.compiler.CodeGeneratorResponse";
const TYPE_URL: &'static str = "type.googleapis.com/google.protobuf.compiler.CodeGeneratorResponse";
}
::buffa::impl_default_view_instance!(CodeGeneratorResponseView);
::buffa::impl_view_reborrow!(CodeGeneratorResponseView);
#[derive(Clone, Debug)]
pub struct CodeGeneratorResponseOwnedView(
::buffa::OwnedView<CodeGeneratorResponseView<'static>>,
);
impl CodeGeneratorResponseOwnedView {
pub fn decode(
bytes: ::buffa::bytes::Bytes,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
::core::result::Result::Ok(
CodeGeneratorResponseOwnedView(::buffa::OwnedView::decode(bytes)?),
)
}
pub fn decode_with_options(
bytes: ::buffa::bytes::Bytes,
opts: &::buffa::DecodeOptions,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
::core::result::Result::Ok(
CodeGeneratorResponseOwnedView(
::buffa::OwnedView::decode_with_options(bytes, opts)?,
),
)
}
pub fn from_owned(
msg: &super::super::CodeGeneratorResponse,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
::core::result::Result::Ok(
CodeGeneratorResponseOwnedView(::buffa::OwnedView::from_owned(msg)?),
)
}
#[must_use]
pub fn view(&self) -> &CodeGeneratorResponseView<'_> {
self.0.reborrow()
}
pub fn to_owned_message(
&self,
) -> ::core::result::Result<
super::super::CodeGeneratorResponse,
::buffa::DecodeError,
> {
self.0.to_owned_message()
}
#[must_use]
pub fn bytes(&self) -> &::buffa::bytes::Bytes {
self.0.bytes()
}
#[must_use]
pub fn into_bytes(self) -> ::buffa::bytes::Bytes {
self.0.into_bytes()
}
#[must_use]
pub fn error(&self) -> ::core::option::Option<&'_ str> {
self.0.reborrow().error
}
#[must_use]
pub fn supported_features(&self) -> ::core::option::Option<u64> {
self.0.reborrow().supported_features
}
#[must_use]
pub fn minimum_edition(&self) -> ::core::option::Option<i32> {
self.0.reborrow().minimum_edition
}
#[must_use]
pub fn maximum_edition(&self) -> ::core::option::Option<i32> {
self.0.reborrow().maximum_edition
}
#[must_use]
pub fn file(
&self,
) -> &::buffa::RepeatedView<
'_,
super::super::__buffa::view::code_generator_response::FileView<'_>,
> {
&self.0.reborrow().file
}
}
impl ::core::convert::From<::buffa::OwnedView<CodeGeneratorResponseView<'static>>>
for CodeGeneratorResponseOwnedView {
fn from(inner: ::buffa::OwnedView<CodeGeneratorResponseView<'static>>) -> Self {
CodeGeneratorResponseOwnedView(inner)
}
}
impl ::core::convert::From<CodeGeneratorResponseOwnedView>
for ::buffa::OwnedView<CodeGeneratorResponseView<'static>> {
fn from(wrapper: CodeGeneratorResponseOwnedView) -> Self {
wrapper.0
}
}
impl ::core::convert::AsRef<::buffa::OwnedView<CodeGeneratorResponseView<'static>>>
for CodeGeneratorResponseOwnedView {
fn as_ref(&self) -> &::buffa::OwnedView<CodeGeneratorResponseView<'static>> {
&self.0
}
}
impl ::buffa::HasMessageView for super::super::CodeGeneratorResponse {
type View<'a> = CodeGeneratorResponseView<'a>;
type ViewHandle = CodeGeneratorResponseOwnedView;
}
#[cfg(feature = "json")]
impl ::serde::Serialize for CodeGeneratorResponseOwnedView {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::serde::Serialize::serialize(&self.0, __s)
}
}
pub mod code_generator_response {
#[allow(unused_imports)]
use super::*;
#[derive(Clone, Debug, Default)]
pub struct FileView<'a> {
pub name: ::core::option::Option<&'a str>,
pub insertion_point: ::core::option::Option<&'a str>,
pub content: ::core::option::Option<&'a str>,
pub generated_code_info: ::buffa::MessageFieldView<
super::super::super::super::__buffa::view::GeneratedCodeInfoView<'a>,
>,
pub __buffa_unknown_fields: ::buffa::UnknownFieldsView<'a>,
}
impl<'a> ::buffa::MessageView<'a> for FileView<'a> {
type Owned = super::super::super::code_generator_response::File;
fn decode_view(
buf: &'a [u8],
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
let __limit = ::core::cell::Cell::new(::buffa::DEFAULT_UNKNOWN_FIELD_LIMIT);
<Self as ::buffa::MessageView>::decode_view_ctx(
buf,
::buffa::DecodeContext::new(::buffa::RECURSION_LIMIT, &__limit),
)
}
fn decode_view_with_ctx(
buf: &'a [u8],
ctx: ::buffa::DecodeContext<'_>,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
<Self as ::buffa::MessageView>::decode_view_ctx(buf, ctx)
}
fn merge_view_field(
&mut self,
tag: ::buffa::encoding::Tag,
cur: &'a [u8],
before_tag: &'a [u8],
ctx: ::buffa::DecodeContext<'_>,
) -> ::core::result::Result<&'a [u8], ::buffa::DecodeError> {
let _ = ctx;
#[allow(unused_variables)]
let view = self;
let mut cur = cur;
match tag.field_number() {
1u32 => {
::buffa::encoding::check_wire_type(
tag,
::buffa::encoding::WireType::LengthDelimited,
)?;
view.name = Some(::buffa::types::borrow_str(&mut cur)?);
}
2u32 => {
::buffa::encoding::check_wire_type(
tag,
::buffa::encoding::WireType::LengthDelimited,
)?;
view.insertion_point = Some(::buffa::types::borrow_str(&mut cur)?);
}
15u32 => {
::buffa::encoding::check_wire_type(
tag,
::buffa::encoding::WireType::LengthDelimited,
)?;
view.content = Some(::buffa::types::borrow_str(&mut cur)?);
}
16u32 => {
::buffa::encoding::check_wire_type(
tag,
::buffa::encoding::WireType::LengthDelimited,
)?;
let __sub_ctx = ctx.descend()?;
let sub = ::buffa::types::borrow_bytes(&mut cur)?;
match view.generated_code_info.as_mut() {
Some(existing) => {
::buffa::MessageView::merge_into_view(
existing,
sub,
__sub_ctx,
)?
}
None => {
view.generated_code_info = ::buffa::MessageFieldView::set(
<super::super::super::super::__buffa::view::GeneratedCodeInfoView as ::buffa::MessageView>::decode_view_ctx(
sub,
__sub_ctx,
)?,
);
}
}
}
_ => {
::buffa::encoding::skip_field_depth(tag, &mut cur, ctx.depth())?;
let span_len = before_tag.len() - cur.len();
view.__buffa_unknown_fields.push_record(before_tag, span_len, ctx)?;
}
}
::core::result::Result::Ok(cur)
}
fn to_owned_message(
&self,
) -> ::core::result::Result<
super::super::super::code_generator_response::File,
::buffa::DecodeError,
> {
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>,
) -> ::core::result::Result<
super::super::super::code_generator_response::File,
::buffa::DecodeError,
> {
#[allow(unused_imports)]
use ::buffa::alloc::string::ToString as _;
let _ = __buffa_src;
::core::result::Result::Ok(super::super::super::code_generator_response::File {
name: self.name.map(|s| s.to_string()),
insertion_point: self.insertion_point.map(|s| s.to_string()),
content: self.content.map(|s| s.to_string()),
generated_code_info: match self.generated_code_info.as_option() {
Some(v) => {
::buffa::MessageField::<
super::super::super::super::GeneratedCodeInfo,
>::some(v.to_owned_from_source(__buffa_src)?)
}
None => ::buffa::MessageField::none(),
},
__buffa_unknown_fields: self.__buffa_unknown_fields.to_owned()?.into(),
..::core::default::Default::default()
})
}
}
impl<'a> ::buffa::ViewEncode<'a> for FileView<'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.insertion_point {
size += 1u32 + ::buffa::types::string_encoded_len(v) as u32;
}
if let Some(ref v) = self.content {
size += 1u32 + ::buffa::types::string_encoded_len(v) as u32;
}
if self.generated_code_info.is_set() {
let __slot = __cache.reserve();
let inner_size = self.generated_code_info.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.name {
::buffa::types::put_string_field(1u32, v, buf);
}
if let Some(ref v) = self.insertion_point {
::buffa::types::put_string_field(2u32, v, buf);
}
if let Some(ref v) = self.content {
::buffa::types::put_string_field(15u32, v, buf);
}
if self.generated_code_info.is_set() {
::buffa::types::put_len_delimited_header(
16u32,
__cache.consume_next(),
buf,
);
self.generated_code_info.write_to(__cache, buf);
}
self.__buffa_unknown_fields.write_to(buf);
}
}
#[cfg(feature = "json")]
impl<'__a> ::serde::Serialize for FileView<'__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.insertion_point {
__map.serialize_entry("insertionPoint", __v)?;
}
if let ::core::option::Option::Some(__v) = self.content {
__map.serialize_entry("content", __v)?;
}
{
if let ::core::option::Option::Some(__v) = self
.generated_code_info
.as_option()
{
__map.serialize_entry("generatedCodeInfo", __v)?;
}
}
__map.end()
}
}
impl<'a> ::buffa::MessageName for FileView<'a> {
const PACKAGE: &'static str = "google.protobuf.compiler";
const NAME: &'static str = "CodeGeneratorResponse.File";
const FULL_NAME: &'static str = "google.protobuf.compiler.CodeGeneratorResponse.File";
const TYPE_URL: &'static str = "type.googleapis.com/google.protobuf.compiler.CodeGeneratorResponse.File";
}
::buffa::impl_default_view_instance!(FileView);
::buffa::impl_view_reborrow!(FileView);
#[derive(Clone, Debug)]
pub struct FileOwnedView(::buffa::OwnedView<FileView<'static>>);
impl FileOwnedView {
pub fn decode(
bytes: ::buffa::bytes::Bytes,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
::core::result::Result::Ok(FileOwnedView(::buffa::OwnedView::decode(bytes)?))
}
pub fn decode_with_options(
bytes: ::buffa::bytes::Bytes,
opts: &::buffa::DecodeOptions,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
::core::result::Result::Ok(
FileOwnedView(::buffa::OwnedView::decode_with_options(bytes, opts)?),
)
}
pub fn from_owned(
msg: &super::super::super::code_generator_response::File,
) -> ::core::result::Result<Self, ::buffa::DecodeError> {
::core::result::Result::Ok(
FileOwnedView(::buffa::OwnedView::from_owned(msg)?),
)
}
#[must_use]
pub fn view(&self) -> &FileView<'_> {
self.0.reborrow()
}
pub fn to_owned_message(
&self,
) -> ::core::result::Result<
super::super::super::code_generator_response::File,
::buffa::DecodeError,
> {
self.0.to_owned_message()
}
#[must_use]
pub fn bytes(&self) -> &::buffa::bytes::Bytes {
self.0.bytes()
}
#[must_use]
pub fn into_bytes(self) -> ::buffa::bytes::Bytes {
self.0.into_bytes()
}
#[must_use]
pub fn name(&self) -> ::core::option::Option<&'_ str> {
self.0.reborrow().name
}
#[must_use]
pub fn insertion_point(&self) -> ::core::option::Option<&'_ str> {
self.0.reborrow().insertion_point
}
#[must_use]
pub fn content(&self) -> ::core::option::Option<&'_ str> {
self.0.reborrow().content
}
#[must_use]
pub fn generated_code_info(
&self,
) -> &::buffa::MessageFieldView<
super::super::super::super::__buffa::view::GeneratedCodeInfoView<'_>,
> {
&self.0.reborrow().generated_code_info
}
}
impl ::core::convert::From<::buffa::OwnedView<FileView<'static>>> for FileOwnedView {
fn from(inner: ::buffa::OwnedView<FileView<'static>>) -> Self {
FileOwnedView(inner)
}
}
impl ::core::convert::From<FileOwnedView> for ::buffa::OwnedView<FileView<'static>> {
fn from(wrapper: FileOwnedView) -> Self {
wrapper.0
}
}
impl ::core::convert::AsRef<::buffa::OwnedView<FileView<'static>>>
for FileOwnedView {
fn as_ref(&self) -> &::buffa::OwnedView<FileView<'static>> {
&self.0
}
}
impl ::buffa::HasMessageView for super::super::super::code_generator_response::File {
type View<'a> = FileView<'a>;
type ViewHandle = FileOwnedView;
}
#[cfg(feature = "json")]
impl ::serde::Serialize for FileOwnedView {
fn serialize<__S: ::serde::Serializer>(
&self,
__s: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
::serde::Serialize::serialize(&self.0, __s)
}
}
}