From d059959d45f963e9fa8ee5f0e02e9b50834a23d8 Mon Sep 17 00:00:00 2001 From: Dan Ballard Date: Mon, 10 Jan 2022 11:30:08 -0500 Subject: [PATCH] starting generate work with quote and oh.... its.. bad? --- src/lib.rs | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 408fab4..04bfa79 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -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) { @@ -65,7 +66,17 @@ fn extract(ast: syn::ItemFn) -> (String, Vec<(String, String)>, Option, } fn generate(fn_name: String, fn_args: Vec<(String, String)>, fn_ret: Option, 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)]