use std::fmt::Debug;
use syn::{AttributeArgs, Ident, Path};
use crate::result::Result;
#[cfg_attr(feature = "debug-impls", derive(Debug))]
#[derive(Default)]
pub(crate) struct MockableAttr {
pub(crate) name: Option<Ident>,
pub(crate) force_static_lifetimes: bool,
pub(crate) remote_trait_path: Option<RemoteTraitPath>,
}
#[cfg_attr(feature = "debug-impls", derive(Debug))]
pub(crate) enum RemoteTraitPath {
SameAsLocalIdent,
Path(Path),
}
#[cfg_attr(test, mockiato::mockable)]
pub(crate) trait MockableAttrParser: Debug {
fn parse(&self, args: AttributeArgs) -> Result<MockableAttr>;
}