| 12 | // Entry point of function breaking parsing |
| 13 | impl ParseFunction for syn::Item { |
| 14 | fn parse(&self) -> Vec<FunctionDef> { |
| 15 | match self { |
| 16 | // Parse standalone function |
| 17 | syn::Item::Fn(item_fn) => item_fn.parse(), |
| 18 | // Parse impl block |
| 19 | syn::Item::Impl(item_impl) => item_impl.parse(), |
| 20 | // Parse default implementation of trait method |
| 21 | syn::Item::Trait(item_trait) => item_trait.parse(), |
| 22 | // Parse `Item` in module |
| 23 | syn::Item::Mod(item_mod) => item_mod.parse(), |
| 24 | _ => Vec::new(), |
| 25 | } |
| 26 | } |
| 27 | } |
| 28 | |
| 29 | // Parse standalone function |