aboutsummaryrefslogtreecommitdiff
path: root/guests_macro/src
diff options
context:
space:
mode:
Diffstat (limited to 'guests_macro/src')
-rw-r--r--guests_macro/src/parse_fn.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/guests_macro/src/parse_fn.rs b/guests_macro/src/parse_fn.rs
index 0e57879..e5558ad 100644
--- a/guests_macro/src/parse_fn.rs
+++ b/guests_macro/src/parse_fn.rs
@@ -79,6 +79,15 @@ pub fn args_split(item: &TokenStream) -> Vec<TokenStream> {
}
/// Input: "(p1 : t1, p2: t2, ...)"
+/// Output: vec!["p1 : t1", "p2: t2", ...]
+pub fn args_split_public(item: &TokenStream, public: &Vec<&String>) -> Vec<TokenStream> {
+ args_split(item)
+ .into_iter()
+ .filter(|a| public.iter().any(|x| a.to_string().starts_with(*x)))
+ .collect()
+}
+
+/// Input: "(p1 : t1, p2: t2, ...)"
/// Output: vec![p1, p2, ...], vec![t1, t2, ...]
pub fn args_divide(item: &TokenStream) -> (Vec<TokenStream>, Vec<TokenStream>) {
let contents;