11// generated by { {generator} }
22
3- use crate::trap::{ TrapLabel, TrapId, TrapEntry, quoted } ;
4- use std::io::Write ;
3+ use crate::trap::{ TrapId, TrapEntry} ;
4+ use codeql_extractor::trap ;
55{ {#classes} }
66
77#[derive(Debug)]
@@ -17,37 +17,36 @@ impl TrapEntry for {{name}} {
1717 std::mem::replace(&mut self.id, TrapId::Star)
1818 }
1919
20- fn emit< W: Write > (self, id: TrapLabel , out: &mut W) -> std::io::Result<()> {
20+ fn emit(self, id: trap::Label , out: &mut trap::Writer) {
2121 {{#single_field_entries} }
22- write!( out, "{ {table_name} }( { id } { {#fields } }, { } { {/fields } })\n" { {#fields} }, { {#emitter } } self.{ {field_name} }{ {/emitter } } { {/ fields} })? ;
22+ out.add_tuple( "{ {table_name} }", vec![trap::Arg::Label(id) { {#fields} }, self.{ {field_name} }.into() { {/fields} }]) ;
2323 { {/single_field_entries} }
2424 { {#fields} }
2525 { {#is_predicate} }
2626 if self.{ {field_name} } {
27- write ! ( out, " {{table_name}}({id}) \n " )? ;
27+ out.add_tuple( " {{table_name}}" , vec ! [trap::Arg::Label(id)]) ;
2828 }
2929 { {/is_predicate} }
3030 { {#is_optional} }
3131 { {^is_repeated} }
32- if let Some(ref v) = & self.{ {field_name} } {
33- write ! ( out, " {{table_name}}({id}, {}) \n " , {{#emitter } }v { {/emitter } })? ;
32+ if let Some(v) = self.{ {field_name} } {
33+ out.add_tuple( " {{table_name}}" , vec ! [trap::Arg::Label(id), v.into()]) ;
3434 }
3535 { {/is_repeated} }
3636 { {/is_optional} }
3737 { {#is_repeated} }
38- for (i, &ref v) in self.{ {field_name} }.iter().enumerate() {
38+ for (i, &v) in self.{ {field_name} }.iter().enumerate() {
3939 {{^is_optional} }
40- write!( out, "{ {table_name} }( { id } , { {^is_unordered} }{ } , { {/is_unordered} }{ } )\n", { {^is_unordered } }i, { {/is_unordered } } { {#emitter } }v { {/emitter } })? ;
40+ out.add_tuple( "{ {table_name} }", vec![trap::Arg::Label(id) { {^is_unordered} }, i.into() { {/is_unordered} }, v.into()]) ;
4141 { {/is_optional} }
4242 { {#is_optional} }
43- if let Some(ref vv) = & v {
44- write ! ( out, " {{table_name}}({id}, {{^is_unordered}}{}, {{/is_unordered}}{}) \n " , {{^is_unordered } }i, { {/is_unordered } } { {#emitter } }vv { {/emitter } })? ;
43+ if let Some(vv) = v {
44+ out.add_tuple( " {{table_name}}" , vec ! [trap::Arg::Label(id) {{^is_unordered} }, i.into() { {/is_unordered} }, v.into()]) ;
4545 }
4646 { {/is_optional} }
4747 }
4848 { {/is_repeated} }
4949 { {/fields} }
50- Ok(())
5150 }
5251}
5352{ {/classes} }
0 commit comments