Skip to content

Commit

Permalink
Generate code for negative iteration #9
Browse files Browse the repository at this point in the history
  • Loading branch information
maghoff committed Mar 10, 2017
1 parent c9fa52a commit ad5490e
Showing 1 changed file with 10 additions and 1 deletion.
11 changes: 10 additions & 1 deletion libs/bart_derive/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,16 @@ fn generate(node: Ast, scope_level: u32) -> quote::Tokens {
}
}
},
NegativeIteration { name, nested } => {
let name = syn::Ident::new(name.resolve(scope_level));
let scope_variable = syn::Ident::new(format!("_s{}", scope_level));
let nested_generated = generate(*nested, scope_level + 1);
quote! {
for ref #scope_variable in _bart::NegativeIterator::neg_iter(&#name) {
#nested_generated
}
}
},
Conditional { name, nested } => {
let name = syn::Ident::new(name.resolve(scope_level));
let scope_variable = syn::Ident::new(format!("_s{}", scope_level));
Expand Down Expand Up @@ -92,7 +102,6 @@ fn generate(node: Ast, scope_level: u32) -> quote::Tokens {
}
}
},
_ => unimplemented!()
}
}

Expand Down

0 comments on commit ad5490e

Please sign in to comment.