starting generate work with quote and oh.... its.. bad?

This commit is contained in:
Dan Ballard 2022-01-10 11:30:08 -05:00
parent b6d8190525
commit d059959d45
1 changed files with 13 additions and 2 deletions

View File

@ -10,7 +10,8 @@ pub fn cbind(_def: TokenStream) -> TokenStream {
let (fn_name, fn_args, fn_ret, fn_call) = extract(ast);
generate(fn_name, fn_args, fn_ret, fn_call)
dbg!(generate(fn_name, fn_args, fn_ret, fn_call));
TokenStream::new()
}
fn extract(ast: syn::ItemFn) -> (String, Vec<(String, String)>, Option<String>, String) {
@ -65,7 +66,17 @@ fn extract(ast: syn::ItemFn) -> (String, Vec<(String, String)>, Option<String>,
}
fn generate(fn_name: String, fn_args: Vec<(String, String)>, fn_ret: Option<String>, fn_call: String) -> TokenStream {
quote!(fn #fn_name(&self) {}).into()
let mut arg_str = "&self".to_string();
for arg in fn_args {
arg_str.push_str(format!(", {}: {}", arg.0, arg.1).as_str());
}
dbg!(&arg_str);
dbg!(quote!(fn start_cwtch(&self, arg1: &str, arg2: &str) {} ));
dbg!(quote!("fn start_cwtch(&self, arg1: &str, arg2: &str) {} "));
quote!(fn #fn_name(#arg_str) {}).into()
//TokenStream::new()
}
#[cfg(test)]