From 695f90bf900015df1e2728445f833dabced838a9 Mon Sep 17 00:00:00 2001 From: HampusM Date: Sat, 24 Sep 2022 13:13:20 +0200 Subject: refactor: reorganize modules in the macros crate --- macros/src/injectable_macro_args.rs | 67 ------------------------------------- 1 file changed, 67 deletions(-) delete mode 100644 macros/src/injectable_macro_args.rs (limited to 'macros/src/injectable_macro_args.rs') diff --git a/macros/src/injectable_macro_args.rs b/macros/src/injectable_macro_args.rs deleted file mode 100644 index 50d4087..0000000 --- a/macros/src/injectable_macro_args.rs +++ /dev/null @@ -1,67 +0,0 @@ -use syn::parse::{Parse, ParseStream}; -use syn::punctuated::Punctuated; -use syn::{Token, TypePath}; - -use crate::macro_flag::MacroFlag; -use crate::util::iterator_ext::IteratorExt; - -pub const INJECTABLE_MACRO_FLAGS: &[&str] = &["no_doc_hidden", "async"]; - -pub struct InjectableMacroArgs -{ - pub interface: Option, - pub flags: Punctuated, -} - -impl Parse for InjectableMacroArgs -{ - fn parse(input: ParseStream) -> syn::Result - { - let interface = input.parse::().ok(); - - if interface.is_some() { - let comma_input_lookahead = input.lookahead1(); - - if !comma_input_lookahead.peek(Token![,]) { - return Ok(Self { - interface, - flags: Punctuated::new(), - }); - } - - input.parse::()?; - } - - if input.is_empty() { - return Ok(Self { - interface, - flags: Punctuated::new(), - }); - } - - let flags = Punctuated::::parse_terminated(input)?; - - for flag in &flags { - let flag_str = flag.flag.to_string(); - - if !INJECTABLE_MACRO_FLAGS.contains(&flag_str.as_str()) { - return Err(input.error(format!( - "Unknown flag '{}'. Expected one of [ {} ]", - flag_str, - INJECTABLE_MACRO_FLAGS.join(",") - ))); - } - } - - let flag_names = flags - .iter() - .map(|flag| flag.flag.to_string()) - .collect::>(); - - if let Some(dupe_flag_name) = flag_names.iter().find_duplicate() { - return Err(input.error(format!("Duplicate flag '{}'", dupe_flag_name))); - } - - Ok(Self { interface, flags }) - } -} -- cgit v1.2.3-18-g5258