secador-macro 0.1.0

Proc macros for secador crate
Documentation
use syn::{ImplItem, Macro, Stmt};

pub trait TryToMacro {
    fn try_to_macro(&self) -> Option<&Macro>;
}

impl TryToMacro for Macro {
    fn try_to_macro(&self) -> Option<&Macro> {
        Some(self)
    }
}

impl TryToMacro for Stmt {
    fn try_to_macro(&self) -> Option<&Macro> {
        if let Stmt::Macro(sm) = self {
            sm.mac.try_to_macro()
        } else {
            None
        }
    }
}

impl TryToMacro for ImplItem {
    fn try_to_macro(&self) -> Option<&Macro> {
        if let ImplItem::Macro(m) = self {
            m.mac.try_to_macro()
        } else {
            None
        }
    }
}