format code

This commit is contained in:
Marc-Antoine Arnaud
2019-10-08 09:04:29 +02:00
parent dd5ca6df6b
commit 29e6736d8d
10 changed files with 172 additions and 114 deletions

View File

@@ -1,11 +1,6 @@
use proc_macro2::{Ident, Span, TokenStream};
pub fn enclose_formatted_characters(
label: &Ident,
label_name: String
) -> TokenStream {
pub fn enclose_formatted_characters(label: &Ident, label_name: String) -> TokenStream {
quote! {
let start_event = XmlEvent::start_element(#label_name);
let _ret = writer.write(start_event);
@@ -19,10 +14,7 @@ pub fn enclose_formatted_characters(
}
}
pub fn enclose_formatted_characters_for_value(
label: &Ident,
label_name: String
) -> TokenStream {
pub fn enclose_formatted_characters_for_value(label: &Ident, label_name: String) -> TokenStream {
quote! {
let start_event = XmlEvent::start_element(#label_name);
let _ret = writer.write(start_event);
@@ -36,10 +28,7 @@ pub fn enclose_formatted_characters_for_value(
}
}
pub fn enclose_characters(
label: &Option<Ident>,
label_name: String
) -> TokenStream {
pub fn enclose_characters(label: &Option<Ident>, label_name: String) -> TokenStream {
quote! {
let start_event = XmlEvent::start_element(#label_name);
let _ret = writer.write(start_event);
@@ -57,7 +46,7 @@ pub fn serialize_element(
label: &Option<Ident>,
label_name: String,
default: &Option<String>,
) -> Option<TokenStream> {
) -> Option<TokenStream> {
let inner = enclose_characters(label, label_name);
if let Some(ref d) = default {

View File

@@ -79,7 +79,7 @@ pub fn serialize(
});
})
}
},
}
Some(FieldType::FieldTypeOption { data_type }) => {
let dt = Box::into_raw(data_type);
match unsafe { dt.as_ref() } {
@@ -108,7 +108,7 @@ pub fn serialize(
};
})
}
},
}
Some(&FieldType::FieldTypeBool)
| Some(&FieldType::FieldTypeI8)
| Some(&FieldType::FieldTypeU8)
@@ -160,7 +160,7 @@ pub fn serialize(
};
})
}
},
}
Some(&FieldType::FieldTypeVec { .. }) => {
let item_ident = Ident::new("yas_item", Span::call_site());
let inner = enclose_formatted_characters(&item_ident, label_name);
@@ -184,7 +184,7 @@ pub fn serialize(
}
})
}
},
}
_ => unimplemented!(),
}
}
@@ -228,7 +228,7 @@ pub fn serialize(
});
})
}
},
}
_ => None,
}
})
@@ -293,8 +293,9 @@ pub fn serialize(
| Some(FieldType::FieldTypeI64)
| Some(FieldType::FieldTypeU64)
| Some(FieldType::FieldTypeF32)
| Some(FieldType::FieldTypeF64) =>
serialize_element(label, label_name, &field_attrs.default),
| Some(FieldType::FieldTypeF64) => {
serialize_element(label, label_name, &field_attrs.default)
}
Some(FieldType::FieldTypeOption { data_type }) => {
let dt = Box::into_raw(data_type);
match unsafe { dt.as_ref() } {
@@ -330,7 +331,7 @@ pub fn serialize(
}
})
}
},
}
Some(&FieldType::FieldTypeVec { .. }) => {
let item_ident = Ident::new("yas_item", Span::call_site());
let inner = enclose_formatted_characters_for_value(&item_ident, label_name);
@@ -356,7 +357,7 @@ pub fn serialize(
}
})
}
},
}
Some(&FieldType::FieldTypeStruct { .. }) => Some(quote! {
if let Some(ref item) = &self.#label {
writer.set_start_event_name(Some(#label_name.to_string()));
@@ -416,7 +417,7 @@ pub fn serialize(
#inner
}
})
},
}
Some(&FieldType::FieldTypeBool)
| Some(&FieldType::FieldTypeI8)
| Some(&FieldType::FieldTypeU8)
@@ -436,7 +437,7 @@ pub fn serialize(
#inner
}
})
},
}
Some(&FieldType::FieldTypeOption { .. }) => Some(quote! {
for item in &self.#label {
if let Some(value) = item {

View File

@@ -1,4 +1,3 @@
pub mod element;
pub mod expand_enum;
pub mod expand_struct;