Split serde_macros into multiple files

This commit is contained in:
Erick Tryzelaar
2015-03-14 13:09:37 -07:00
parent 99f4efd313
commit 5c62b7ed06
4 changed files with 1507 additions and 1465 deletions
+29
View File
@@ -0,0 +1,29 @@
use syntax::ast;
pub fn field_alias(field: &ast::StructField) -> Option<&ast::Lit> {
field.node.attrs.iter()
.find(|sa| {
if let ast::MetaList(ref n, _) = sa.node.value.node {
n == &"serde"
} else {
false
}
})
.and_then(|sa| {
if let ast::MetaList(_, ref vals) = sa.node.value.node {
vals.iter().fold(None, |v, mi| {
if let ast::MetaNameValue(ref n, ref lit) = mi.node {
if n == &"alias" {
Some(lit)
} else {
v
}
} else {
v
}
})
} else {
None
}
})
}