diff options
author | Ms2ger <Ms2ger@gmail.com> | 2016-06-01 10:24:17 +0200 |
---|---|---|
committer | Ms2ger <Ms2ger@gmail.com> | 2016-06-01 10:24:17 +0200 |
commit | 0298b90f2023f42349a7dd827081ed7d7b98c33c (patch) | |
tree | 939f5ecb5eb41a0aa92eda86719111cc72363a94 | |
parent | 7bddcb274e5c4851e9e02b7973ea74b0b9d48eed (diff) |
Reduce some nesting in cstruct_to_rs.
-rw-r--r-- | src/gen.rs | 26 |
1 files changed, 9 insertions, 17 deletions
@@ -883,24 +883,16 @@ fn cstruct_to_rs(ctx: &mut GenCtx, name: &str, ci: CompInfo) -> Vec<P<ast::Item> if ci.has_vtable { let mut vffields = vec![]; - let base_vftable = if !members.is_empty() { - if let CompMember::Field(ref fi) = members[0] { - match fi.ty { - TComp(ref ci2) => { - let ci2 = ci2.borrow(); - if ci2.has_vtable { - Some(format!("_vftable_{}", ci2.name)) - } else { - None - } - }, - _ => None + let base_vftable = match members.get(0) { + Some(&CompMember::Field(FieldInfo { ty: TComp(ref ci2), .. })) => { + let ci2 = ci2.borrow(); + if ci2.has_vtable { + Some(format!("_vftable_{}", ci2.name)) + } else { + None } - } else { - None - } - } else { - None + }, + _ => None, }; if let Some(ref base) = base_vftable { |