summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMs2ger <Ms2ger@gmail.com>2016-06-01 10:24:17 +0200
committerMs2ger <Ms2ger@gmail.com>2016-06-01 10:24:17 +0200
commit0298b90f2023f42349a7dd827081ed7d7b98c33c (patch)
tree939f5ecb5eb41a0aa92eda86719111cc72363a94
parent7bddcb274e5c4851e9e02b7973ea74b0b9d48eed (diff)
Reduce some nesting in cstruct_to_rs.
-rw-r--r--src/gen.rs26
1 files changed, 9 insertions, 17 deletions
diff --git a/src/gen.rs b/src/gen.rs
index 277a8aa1..2c8b0bd2 100644
--- a/src/gen.rs
+++ b/src/gen.rs
@@ -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 {