Merge pull request #120 from Felerius/derive-log-targets
Use "yaserde_derive" as the log target for generated logging calls
This commit is contained in:
commit
31440a76a5
@ -85,7 +85,7 @@ impl<'de, R: Read> Deserializer<R> {
|
|||||||
}
|
}
|
||||||
_ => {}
|
_ => {}
|
||||||
}
|
}
|
||||||
debug!("Fetched {:?}, new depth {}", next_event, self.depth);
|
log::debug!("Fetched {:?}, new depth {}", next_event, self.depth);
|
||||||
Ok(next_event)
|
Ok(next_event)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -81,10 +81,6 @@
|
|||||||
//! Avoid using either `{:?}` or `{:#?}` println! formatters since it'll garble the output of your
|
//! Avoid using either `{:?}` or `{:#?}` println! formatters since it'll garble the output of your
|
||||||
//! XML.
|
//! XML.
|
||||||
|
|
||||||
#[macro_use]
|
|
||||||
pub extern crate log;
|
|
||||||
pub extern crate xml;
|
|
||||||
|
|
||||||
#[cfg(feature = "yaserde_derive")]
|
#[cfg(feature = "yaserde_derive")]
|
||||||
#[allow(unused_imports)]
|
#[allow(unused_imports)]
|
||||||
#[macro_use]
|
#[macro_use]
|
||||||
@ -217,6 +213,28 @@ serialize_type!(i64);
|
|||||||
serialize_type!(f32);
|
serialize_type!(f32);
|
||||||
serialize_type!(f64);
|
serialize_type!(f64);
|
||||||
|
|
||||||
|
/// Re-export for use in yaserde_derive
|
||||||
|
#[doc(hidden)]
|
||||||
|
pub use xml as __xml;
|
||||||
|
|
||||||
|
/// Re-export for use in yaserde_derive
|
||||||
|
#[doc(hidden)]
|
||||||
|
pub use log as __log;
|
||||||
|
|
||||||
|
/// Used in code generated by yaserde_derive for logging
|
||||||
|
#[macro_export]
|
||||||
|
#[doc(hidden)]
|
||||||
|
macro_rules! __derive_debug {
|
||||||
|
($($arg:tt)+) => { ::yaserde::__log::debug!(target: "yaserde_derive", $($arg)+) };
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Used in code generated by yaserde_derive for logging
|
||||||
|
#[macro_export]
|
||||||
|
#[doc(hidden)]
|
||||||
|
macro_rules! __derive_trace {
|
||||||
|
($($arg:tt)+) => { ::yaserde::__log::trace!(target: "yaserde_derive", $($arg)+) };
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn default_visitor() {
|
fn default_visitor() {
|
||||||
struct Test;
|
struct Test;
|
||||||
|
|||||||
@ -32,14 +32,14 @@ pub fn parse(
|
|||||||
reader: &mut ::yaserde::de::Deserializer<R>,
|
reader: &mut ::yaserde::de::Deserializer<R>,
|
||||||
) -> ::std::result::Result<Self, ::std::string::String> {
|
) -> ::std::result::Result<Self, ::std::string::String> {
|
||||||
let (named_element, enum_namespace) =
|
let (named_element, enum_namespace) =
|
||||||
if let ::yaserde::xml::reader::XmlEvent::StartElement{ name, .. } = reader.peek()?.to_owned() {
|
if let ::yaserde::__xml::reader::XmlEvent::StartElement{ name, .. } = reader.peek()?.to_owned() {
|
||||||
(name.local_name.to_owned(), name.namespace.clone())
|
(name.local_name.to_owned(), name.namespace.clone())
|
||||||
} else {
|
} else {
|
||||||
(::std::string::String::from(#root), ::std::option::Option::None)
|
(::std::string::String::from(#root), ::std::option::Option::None)
|
||||||
};
|
};
|
||||||
|
|
||||||
let start_depth = reader.depth();
|
let start_depth = reader.depth();
|
||||||
::yaserde::log::debug!("Enum {} @ {}: start to parse {:?}", stringify!(#name), start_depth, named_element);
|
::yaserde::__derive_debug!("Enum {} @ {}: start to parse {:?}", stringify!(#name), start_depth, named_element);
|
||||||
|
|
||||||
#namespaces_matching
|
#namespaces_matching
|
||||||
|
|
||||||
@ -48,9 +48,9 @@ pub fn parse(
|
|||||||
|
|
||||||
loop {
|
loop {
|
||||||
let event = reader.peek()?.to_owned();
|
let event = reader.peek()?.to_owned();
|
||||||
::yaserde::log::trace!("Enum {} @ {}: matching {:?}", stringify!(#name), start_depth, event);
|
::yaserde::__derive_trace!("Enum {} @ {}: matching {:?}", stringify!(#name), start_depth, event);
|
||||||
match event {
|
match event {
|
||||||
::yaserde::xml::reader::XmlEvent::StartElement { ref name, ref attributes, .. } => {
|
::yaserde::__xml::reader::XmlEvent::StartElement { ref name, ref attributes, .. } => {
|
||||||
match name.local_name.as_str() {
|
match name.local_name.as_str() {
|
||||||
#match_to_enum
|
#match_to_enum
|
||||||
_named_element => {
|
_named_element => {
|
||||||
@ -58,23 +58,23 @@ pub fn parse(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if let ::yaserde::xml::reader::XmlEvent::Characters(content) = reader.peek()?.to_owned() {
|
if let ::yaserde::__xml::reader::XmlEvent::Characters(content) = reader.peek()?.to_owned() {
|
||||||
match content.as_str() {
|
match content.as_str() {
|
||||||
#match_to_enum
|
#match_to_enum
|
||||||
_ => {}
|
_ => {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
::yaserde::xml::reader::XmlEvent::EndElement { ref name } => {
|
::yaserde::__xml::reader::XmlEvent::EndElement { ref name } => {
|
||||||
if name.local_name == named_element {
|
if name.local_name == named_element {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
let _root = reader.next_event();
|
let _root = reader.next_event();
|
||||||
}
|
}
|
||||||
::yaserde::xml::reader::XmlEvent::Characters(ref text_content) => {
|
::yaserde::__xml::reader::XmlEvent::Characters(ref text_content) => {
|
||||||
let _root = reader.next_event();
|
let _root = reader.next_event();
|
||||||
}
|
}
|
||||||
::yaserde::xml::reader::XmlEvent::EndDocument => {
|
::yaserde::__xml::reader::XmlEvent::EndDocument => {
|
||||||
if #flatten {
|
if #flatten {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -89,7 +89,7 @@ pub fn parse(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
::yaserde::log::debug!("Enum {} @ {}: success", stringify!(#name), start_depth);
|
::yaserde::__derive_debug!("Enum {} @ {}: success", stringify!(#name), start_depth);
|
||||||
match enum_value {
|
match enum_value {
|
||||||
::std::option::Option::Some(value) => ::std::result::Result::Ok(value),
|
::std::option::Option::Some(value) => ::std::result::Result::Ok(value),
|
||||||
::std::option::Option::None => {
|
::std::option::Option::None => {
|
||||||
@ -231,11 +231,11 @@ fn build_unnamed_visitor_calls(
|
|||||||
let visitor = #visitor_label{};
|
let visitor = #visitor_label{};
|
||||||
|
|
||||||
let result = reader.read_inner_value::<#field_type, _>(|reader| {
|
let result = reader.read_inner_value::<#field_type, _>(|reader| {
|
||||||
if let ::yaserde::xml::reader::XmlEvent::EndElement { .. } = *reader.peek()? {
|
if let ::yaserde::__xml::reader::XmlEvent::EndElement { .. } = *reader.peek()? {
|
||||||
return visitor.#visitor("");
|
return visitor.#visitor("");
|
||||||
}
|
}
|
||||||
|
|
||||||
if let ::std::result::Result::Ok(::yaserde::xml::reader::XmlEvent::Characters(s))
|
if let ::std::result::Result::Ok(::yaserde::__xml::reader::XmlEvent::Characters(s))
|
||||||
= reader.next_event()
|
= reader.next_event()
|
||||||
{
|
{
|
||||||
visitor.#visitor(&s)
|
visitor.#visitor(&s)
|
||||||
|
|||||||
@ -156,7 +156,7 @@ pub fn parse(
|
|||||||
// Don't count current struct's StartElement as substruct's StartElement
|
// Don't count current struct's StartElement as substruct's StartElement
|
||||||
let _root = reader.next_event();
|
let _root = reader.next_event();
|
||||||
}
|
}
|
||||||
if let Ok(::yaserde::xml::reader::XmlEvent::StartElement { .. }) = reader.peek() {
|
if let Ok(::yaserde::__xml::reader::XmlEvent::StartElement { .. }) = reader.peek() {
|
||||||
// If substruct's start element found then deserialize substruct
|
// If substruct's start element found then deserialize substruct
|
||||||
let value = <#struct_name as ::yaserde::YaDeserialize>::deserialize(reader)?;
|
let value = <#struct_name as ::yaserde::YaDeserialize>::deserialize(reader)?;
|
||||||
#value_label #action;
|
#value_label #action;
|
||||||
@ -346,13 +346,13 @@ pub fn parse(
|
|||||||
reader: &mut ::yaserde::de::Deserializer<R>,
|
reader: &mut ::yaserde::de::Deserializer<R>,
|
||||||
) -> ::std::result::Result<Self, ::std::string::String> {
|
) -> ::std::result::Result<Self, ::std::string::String> {
|
||||||
let (named_element, struct_namespace) =
|
let (named_element, struct_namespace) =
|
||||||
if let ::yaserde::xml::reader::XmlEvent::StartElement { name, .. } = reader.peek()?.to_owned() {
|
if let ::yaserde::__xml::reader::XmlEvent::StartElement { name, .. } = reader.peek()?.to_owned() {
|
||||||
(name.local_name.to_owned(), name.namespace.clone())
|
(name.local_name.to_owned(), name.namespace.clone())
|
||||||
} else {
|
} else {
|
||||||
(::std::string::String::from(#root), ::std::option::Option::None)
|
(::std::string::String::from(#root), ::std::option::Option::None)
|
||||||
};
|
};
|
||||||
let start_depth = reader.depth();
|
let start_depth = reader.depth();
|
||||||
::yaserde::log::debug!("Struct {} @ {}: start to parse {:?}", stringify!(#name), start_depth,
|
::yaserde::__derive_debug!("Struct {} @ {}: start to parse {:?}", stringify!(#name), start_depth,
|
||||||
named_element);
|
named_element);
|
||||||
|
|
||||||
if reader.depth() == 0 {
|
if reader.depth() == 0 {
|
||||||
@ -367,12 +367,12 @@ pub fn parse(
|
|||||||
|
|
||||||
loop {
|
loop {
|
||||||
let event = reader.peek()?.to_owned();
|
let event = reader.peek()?.to_owned();
|
||||||
::yaserde::log::trace!(
|
::yaserde::__derive_trace!(
|
||||||
"Struct {} @ {}: matching {:?}",
|
"Struct {} @ {}: matching {:?}",
|
||||||
stringify!(#name), start_depth, event,
|
stringify!(#name), start_depth, event,
|
||||||
);
|
);
|
||||||
match event {
|
match event {
|
||||||
::yaserde::xml::reader::XmlEvent::StartElement{ref name, ref attributes, ..} => {
|
::yaserde::__xml::reader::XmlEvent::StartElement{ref name, ref attributes, ..} => {
|
||||||
if depth == 0 && name.local_name == #root {
|
if depth == 0 && name.local_name == #root {
|
||||||
// Consume root element. We must do this first. In the case it shares a name with a child element, we don't
|
// Consume root element. We must do this first. In the case it shares a name with a child element, we don't
|
||||||
// want to prematurely match the child element below.
|
// want to prematurely match the child element below.
|
||||||
@ -398,7 +398,7 @@ pub fn parse(
|
|||||||
}
|
}
|
||||||
depth += 1;
|
depth += 1;
|
||||||
}
|
}
|
||||||
::yaserde::xml::reader::XmlEvent::EndElement { ref name } => {
|
::yaserde::__xml::reader::XmlEvent::EndElement { ref name } => {
|
||||||
if name.local_name == named_element {
|
if name.local_name == named_element {
|
||||||
#write_unused
|
#write_unused
|
||||||
break;
|
break;
|
||||||
@ -407,12 +407,12 @@ pub fn parse(
|
|||||||
#write_unused
|
#write_unused
|
||||||
depth -= 1;
|
depth -= 1;
|
||||||
}
|
}
|
||||||
::yaserde::xml::reader::XmlEvent::EndDocument => {
|
::yaserde::__xml::reader::XmlEvent::EndDocument => {
|
||||||
if #flatten {
|
if #flatten {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
::yaserde::xml::reader::XmlEvent::Characters(ref text_content) => {
|
::yaserde::__xml::reader::XmlEvent::Characters(ref text_content) => {
|
||||||
#set_text
|
#set_text
|
||||||
let event = reader.next_event()?;
|
let event = reader.next_event()?;
|
||||||
#write_unused
|
#write_unused
|
||||||
@ -425,7 +425,7 @@ pub fn parse(
|
|||||||
|
|
||||||
#visit_unused
|
#visit_unused
|
||||||
|
|
||||||
::yaserde::log::debug!("Struct {} @ {}: success", stringify!(#name), start_depth);
|
::yaserde::__derive_debug!("Struct {} @ {}: success", stringify!(#name), start_depth);
|
||||||
::std::result::Result::Ok(#name{#struct_builder})
|
::std::result::Result::Ok(#name{#struct_builder})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -456,7 +456,7 @@ fn build_call_visitor(
|
|||||||
#namespaces_matching
|
#namespaces_matching
|
||||||
|
|
||||||
let result = reader.read_inner_value::<#field_type, _>(|reader| {
|
let result = reader.read_inner_value::<#field_type, _>(|reader| {
|
||||||
if let ::std::result::Result::Ok(::yaserde::xml::reader::XmlEvent::Characters(s)) = reader.peek() {
|
if let ::std::result::Result::Ok(::yaserde::__xml::reader::XmlEvent::Characters(s)) = reader.peek() {
|
||||||
let val = visitor.#visitor(&s);
|
let val = visitor.#visitor(&s);
|
||||||
let _event = reader.next_event()?;
|
let _event = reader.next_event()?;
|
||||||
val
|
val
|
||||||
@ -504,7 +504,7 @@ fn build_code_for_unused_xml_events(
|
|||||||
(
|
(
|
||||||
Some(quote! {
|
Some(quote! {
|
||||||
let mut buf = ::std::vec![];
|
let mut buf = ::std::vec![];
|
||||||
let mut writer = ::std::option::Option::Some(::yaserde::xml::writer::EventWriter::new(&mut buf));
|
let mut writer = ::std::option::Option::Some(::yaserde::__xml::writer::EventWriter::new(&mut buf));
|
||||||
}),
|
}),
|
||||||
Some(quote! {
|
Some(quote! {
|
||||||
if let ::std::option::Option::Some(ref mut w) = writer {
|
if let ::std::option::Option::Some(ref mut w) = writer {
|
||||||
|
|||||||
@ -16,14 +16,14 @@ pub fn enclose_characters(label: &Option<Ident>, label_name: String) -> TokenStr
|
|||||||
|
|
||||||
fn enclose_xml_event(label_name: String, yaserde_format: TokenStream) -> TokenStream {
|
fn enclose_xml_event(label_name: String, yaserde_format: TokenStream) -> TokenStream {
|
||||||
quote! {
|
quote! {
|
||||||
let start_event = ::yaserde::xml::writer::XmlEvent::start_element(#label_name);
|
let start_event = ::yaserde::__xml::writer::XmlEvent::start_element(#label_name);
|
||||||
writer.write(start_event).map_err(|e| e.to_string())?;
|
writer.write(start_event).map_err(|e| e.to_string())?;
|
||||||
|
|
||||||
let yaserde_value = #yaserde_format;
|
let yaserde_value = #yaserde_format;
|
||||||
let data_event = ::yaserde::xml::writer::XmlEvent::characters(&yaserde_value);
|
let data_event = ::yaserde::__xml::writer::XmlEvent::characters(&yaserde_value);
|
||||||
writer.write(data_event).map_err(|e| e.to_string())?;
|
writer.write(data_event).map_err(|e| e.to_string())?;
|
||||||
|
|
||||||
let end_event = ::yaserde::xml::writer::XmlEvent::end_element();
|
let end_event = ::yaserde::__xml::writer::XmlEvent::end_element();
|
||||||
writer.write(end_event).map_err(|e| e.to_string())?;
|
writer.write(end_event).map_err(|e| e.to_string())?;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -42,7 +42,7 @@ fn inner_enum_inspector(
|
|||||||
match variant.fields {
|
match variant.fields {
|
||||||
Fields::Unit => Some(quote! {
|
Fields::Unit => Some(quote! {
|
||||||
&#name::#label => {
|
&#name::#label => {
|
||||||
let data_event = ::yaserde::xml::writer::XmlEvent::characters(#label_name);
|
let data_event = ::yaserde::__xml::writer::XmlEvent::characters(#label_name);
|
||||||
writer.write(data_event).map_err(|e| e.to_string())?;
|
writer.write(data_event).map_err(|e| e.to_string())?;
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
@ -57,7 +57,7 @@ fn inner_enum_inspector(
|
|||||||
|
|
||||||
if field.is_text_content() {
|
if field.is_text_content() {
|
||||||
return Some(quote!(
|
return Some(quote!(
|
||||||
let data_event = ::yaserde::xml::writer::XmlEvent::characters(&self.#field_label);
|
let data_event = ::yaserde::__xml::writer::XmlEvent::characters(&self.#field_label);
|
||||||
writer.write(data_event).map_err(|e| e.to_string())?;
|
writer.write(data_event).map_err(|e| e.to_string())?;
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
@ -81,14 +81,14 @@ fn inner_enum_inspector(
|
|||||||
match self {
|
match self {
|
||||||
&#name::#label { ref #field_label, .. } => {
|
&#name::#label { ref #field_label, .. } => {
|
||||||
let struct_start_event =
|
let struct_start_event =
|
||||||
::yaserde::xml::writer::XmlEvent::start_element(#field_label_name);
|
::yaserde::__xml::writer::XmlEvent::start_element(#field_label_name);
|
||||||
writer.write(struct_start_event).map_err(|e| e.to_string())?;
|
writer.write(struct_start_event).map_err(|e| e.to_string())?;
|
||||||
|
|
||||||
let string_value = #field_label.to_string();
|
let string_value = #field_label.to_string();
|
||||||
let data_event = ::yaserde::xml::writer::XmlEvent::characters(&string_value);
|
let data_event = ::yaserde::__xml::writer::XmlEvent::characters(&string_value);
|
||||||
writer.write(data_event).map_err(|e| e.to_string())?;
|
writer.write(data_event).map_err(|e| e.to_string())?;
|
||||||
|
|
||||||
let struct_end_event = ::yaserde::xml::writer::XmlEvent::end_element();
|
let struct_end_event = ::yaserde::__xml::writer::XmlEvent::end_element();
|
||||||
writer.write(struct_end_event).map_err(|e| e.to_string())?;
|
writer.write(struct_end_event).map_err(|e| e.to_string())?;
|
||||||
},
|
},
|
||||||
_ => {},
|
_ => {},
|
||||||
@ -142,24 +142,24 @@ fn inner_enum_inspector(
|
|||||||
.map(|field| {
|
.map(|field| {
|
||||||
let write_element = |action: &TokenStream| {
|
let write_element = |action: &TokenStream| {
|
||||||
quote! {
|
quote! {
|
||||||
let struct_start_event = ::yaserde::xml::writer::XmlEvent::start_element(#label_name);
|
let struct_start_event = ::yaserde::__xml::writer::XmlEvent::start_element(#label_name);
|
||||||
writer.write(struct_start_event).map_err(|e| e.to_string())?;
|
writer.write(struct_start_event).map_err(|e| e.to_string())?;
|
||||||
|
|
||||||
#action
|
#action
|
||||||
|
|
||||||
let struct_end_event = ::yaserde::xml::writer::XmlEvent::end_element();
|
let struct_end_event = ::yaserde::__xml::writer::XmlEvent::end_element();
|
||||||
writer.write(struct_end_event).map_err(|e| e.to_string())?;
|
writer.write(struct_end_event).map_err(|e| e.to_string())?;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
let write_string_chars = quote! {
|
let write_string_chars = quote! {
|
||||||
let data_event = ::yaserde::xml::writer::XmlEvent::characters(item);
|
let data_event = ::yaserde::__xml::writer::XmlEvent::characters(item);
|
||||||
writer.write(data_event).map_err(|e| e.to_string())?;
|
writer.write(data_event).map_err(|e| e.to_string())?;
|
||||||
};
|
};
|
||||||
|
|
||||||
let write_simple_type = write_element("e! {
|
let write_simple_type = write_element("e! {
|
||||||
let s = item.to_string();
|
let s = item.to_string();
|
||||||
let data_event = ::yaserde::xml::writer::XmlEvent::characters(&s);
|
let data_event = ::yaserde::__xml::writer::XmlEvent::characters(&s);
|
||||||
writer.write(data_event).map_err(|e| e.to_string())?;
|
writer.write(data_event).map_err(|e| e.to_string())?;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -125,7 +125,7 @@ pub fn serialize(
|
|||||||
quote!(
|
quote!(
|
||||||
let (attributes, namespace) = self.#label.serialize_attributes(
|
let (attributes, namespace) = self.#label.serialize_attributes(
|
||||||
::std::vec![],
|
::std::vec![],
|
||||||
::yaserde::xml::namespace::Namespace::empty(),
|
::yaserde::__xml::namespace::Namespace::empty(),
|
||||||
)?;
|
)?;
|
||||||
child_attributes_namespace.extend(&namespace);
|
child_attributes_namespace.extend(&namespace);
|
||||||
child_attributes.extend(attributes);
|
child_attributes.extend(attributes);
|
||||||
@ -148,11 +148,11 @@ pub fn serialize(
|
|||||||
return match field.get_type() {
|
return match field.get_type() {
|
||||||
Field::FieldOption { .. } => Some(quote!(
|
Field::FieldOption { .. } => Some(quote!(
|
||||||
let s = self.#label.as_deref().unwrap_or_default();
|
let s = self.#label.as_deref().unwrap_or_default();
|
||||||
let data_event = ::yaserde::xml::writer::XmlEvent::characters(s);
|
let data_event = ::yaserde::__xml::writer::XmlEvent::characters(s);
|
||||||
writer.write(data_event).map_err(|e| e.to_string())?;
|
writer.write(data_event).map_err(|e| e.to_string())?;
|
||||||
)),
|
)),
|
||||||
_ => Some(quote!(
|
_ => Some(quote!(
|
||||||
let data_event = ::yaserde::xml::writer::XmlEvent::characters(&self.#label);
|
let data_event = ::yaserde::__xml::writer::XmlEvent::characters(&self.#label);
|
||||||
writer.write(data_event).map_err(|e| e.to_string())?;
|
writer.write(data_event).map_err(|e| e.to_string())?;
|
||||||
)),
|
)),
|
||||||
};
|
};
|
||||||
|
|||||||
@ -25,21 +25,21 @@ pub fn implement_serializer(
|
|||||||
|
|
||||||
if !#flatten && !skip {
|
if !#flatten && !skip {
|
||||||
let mut child_attributes = ::std::vec![];
|
let mut child_attributes = ::std::vec![];
|
||||||
let mut child_attributes_namespace = ::yaserde::xml::namespace::Namespace::empty();
|
let mut child_attributes_namespace = ::yaserde::__xml::namespace::Namespace::empty();
|
||||||
|
|
||||||
let yaserde_label = writer.get_start_event_name().unwrap_or_else(|| #root.to_string());
|
let yaserde_label = writer.get_start_event_name().unwrap_or_else(|| #root.to_string());
|
||||||
let struct_start_event =
|
let struct_start_event =
|
||||||
::yaserde::xml::writer::XmlEvent::start_element(yaserde_label.as_ref()) #namespaces_definition;
|
::yaserde::__xml::writer::XmlEvent::start_element(yaserde_label.as_ref()) #namespaces_definition;
|
||||||
#append_attributes
|
#append_attributes
|
||||||
|
|
||||||
let event: ::yaserde::xml::writer::events::XmlEvent = struct_start_event.into();
|
let event: ::yaserde::__xml::writer::events::XmlEvent = struct_start_event.into();
|
||||||
|
|
||||||
if let ::yaserde::xml::writer::events::XmlEvent::StartElement {
|
if let ::yaserde::__xml::writer::events::XmlEvent::StartElement {
|
||||||
name,
|
name,
|
||||||
attributes,
|
attributes,
|
||||||
namespace,
|
namespace,
|
||||||
} = event {
|
} = event {
|
||||||
let mut attributes: ::std::vec::Vec<::yaserde::xml::attribute::OwnedAttribute> =
|
let mut attributes: ::std::vec::Vec<::yaserde::__xml::attribute::OwnedAttribute> =
|
||||||
attributes.into_owned().to_vec().iter().map(|k| k.to_owned()).collect();
|
attributes.into_owned().to_vec().iter().map(|k| k.to_owned()).collect();
|
||||||
attributes.extend(child_attributes);
|
attributes.extend(child_attributes);
|
||||||
|
|
||||||
@ -48,7 +48,7 @@ pub fn implement_serializer(
|
|||||||
let mut all_namespaces = namespace.into_owned();
|
let mut all_namespaces = namespace.into_owned();
|
||||||
all_namespaces.extend(&child_attributes_namespace);
|
all_namespaces.extend(&child_attributes_namespace);
|
||||||
|
|
||||||
writer.write(::yaserde::xml::writer::events::XmlEvent::StartElement{
|
writer.write(::yaserde::__xml::writer::events::XmlEvent::StartElement{
|
||||||
name,
|
name,
|
||||||
attributes: ::std::borrow::Cow::Owned(all_attributes),
|
attributes: ::std::borrow::Cow::Owned(all_attributes),
|
||||||
namespace: ::std::borrow::Cow::Owned(all_namespaces)
|
namespace: ::std::borrow::Cow::Owned(all_namespaces)
|
||||||
@ -61,7 +61,7 @@ pub fn implement_serializer(
|
|||||||
#inner_inspector
|
#inner_inspector
|
||||||
|
|
||||||
if !#flatten && !skip {
|
if !#flatten && !skip {
|
||||||
let struct_end_event = ::yaserde::xml::writer::XmlEvent::end_element();
|
let struct_end_event = ::yaserde::__xml::writer::XmlEvent::end_element();
|
||||||
writer.write(struct_end_event).map_err(|e| e.to_string())?;
|
writer.write(struct_end_event).map_err(|e| e.to_string())?;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -70,27 +70,27 @@ pub fn implement_serializer(
|
|||||||
|
|
||||||
fn serialize_attributes(
|
fn serialize_attributes(
|
||||||
&self,
|
&self,
|
||||||
mut source_attributes: ::std::vec::Vec<::yaserde::xml::attribute::OwnedAttribute>,
|
mut source_attributes: ::std::vec::Vec<::yaserde::__xml::attribute::OwnedAttribute>,
|
||||||
mut source_namespace: ::yaserde::xml::namespace::Namespace,
|
mut source_namespace: ::yaserde::__xml::namespace::Namespace,
|
||||||
) -> ::std::result::Result<
|
) -> ::std::result::Result<
|
||||||
(::std::vec::Vec<::yaserde::xml::attribute::OwnedAttribute>, ::yaserde::xml::namespace::Namespace),
|
(::std::vec::Vec<::yaserde::__xml::attribute::OwnedAttribute>, ::yaserde::__xml::namespace::Namespace),
|
||||||
::std::string::String
|
::std::string::String
|
||||||
> {
|
> {
|
||||||
let mut child_attributes = ::std::vec::Vec::<::yaserde::xml::attribute::OwnedAttribute>::new();
|
let mut child_attributes = ::std::vec::Vec::<::yaserde::__xml::attribute::OwnedAttribute>::new();
|
||||||
let mut child_attributes_namespace = ::yaserde::xml::namespace::Namespace::empty();
|
let mut child_attributes_namespace = ::yaserde::__xml::namespace::Namespace::empty();
|
||||||
|
|
||||||
let struct_start_event =
|
let struct_start_event =
|
||||||
::yaserde::xml::writer::XmlEvent::start_element("temporary_element_to_generate_attributes")
|
::yaserde::__xml::writer::XmlEvent::start_element("temporary_element_to_generate_attributes")
|
||||||
#namespaces_definition;
|
#namespaces_definition;
|
||||||
|
|
||||||
#append_attributes
|
#append_attributes
|
||||||
let event: ::yaserde::xml::writer::events::XmlEvent = struct_start_event.into();
|
let event: ::yaserde::__xml::writer::events::XmlEvent = struct_start_event.into();
|
||||||
|
|
||||||
if let ::yaserde::xml::writer::events::XmlEvent::StartElement { attributes, namespace, .. } = event {
|
if let ::yaserde::__xml::writer::events::XmlEvent::StartElement { attributes, namespace, .. } = event {
|
||||||
source_namespace.extend(&namespace.into_owned());
|
source_namespace.extend(&namespace.into_owned());
|
||||||
source_namespace.extend(&child_attributes_namespace);
|
source_namespace.extend(&child_attributes_namespace);
|
||||||
|
|
||||||
let a: ::std::vec::Vec<::yaserde::xml::attribute::OwnedAttribute> =
|
let a: ::std::vec::Vec<::yaserde::__xml::attribute::OwnedAttribute> =
|
||||||
attributes.into_owned().to_vec().iter().map(|k| k.to_owned()).collect();
|
attributes.into_owned().to_vec().iter().map(|k| k.to_owned()).collect();
|
||||||
source_attributes.extend(a);
|
source_attributes.extend(a);
|
||||||
source_attributes.extend(child_attributes);
|
source_attributes.extend(child_attributes);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user