pub struct PluginSuite {
pub plugins: Vec<Arc<dyn MacroPlugin>>,
pub inline_macro_plugins: OrderedHashMap<String, Arc<dyn InlineMacroExprPlugin>>,
pub analyzer_plugins: Vec<Arc<dyn AnalyzerPlugin>>,
}
Expand description
A suite of plugins.
Fields§
§plugins: Vec<Arc<dyn MacroPlugin>>
The macro plugins, running on all items.
inline_macro_plugins: OrderedHashMap<String, Arc<dyn InlineMacroExprPlugin>>
The inline macro plugins, running on matching inline macro expressions.
analyzer_plugins: Vec<Arc<dyn AnalyzerPlugin>>
The analyzer plugins, running on all modules.
Implementations§
Source§impl PluginSuite
impl PluginSuite
Sourcepub fn add_plugin_ex(&mut self, plugin: Arc<dyn MacroPlugin>) -> &mut Self
pub fn add_plugin_ex(&mut self, plugin: Arc<dyn MacroPlugin>) -> &mut Self
Adds a macro plugin.
Sourcepub fn add_plugin<T: MacroPlugin + Default + 'static>(&mut self) -> &mut Self
pub fn add_plugin<T: MacroPlugin + Default + 'static>(&mut self) -> &mut Self
Adds a macro plugin.
Sourcepub fn add_inline_macro_plugin_ex(
&mut self,
name: &str,
plugin: Arc<dyn InlineMacroExprPlugin>,
) -> &mut Self
pub fn add_inline_macro_plugin_ex( &mut self, name: &str, plugin: Arc<dyn InlineMacroExprPlugin>, ) -> &mut Self
Adds an inline macro plugin.
Sourcepub fn add_inline_macro_plugin<T: NamedPlugin + InlineMacroExprPlugin>(
&mut self,
) -> &mut Self
pub fn add_inline_macro_plugin<T: NamedPlugin + InlineMacroExprPlugin>( &mut self, ) -> &mut Self
Adds an inline macro plugin.
Sourcepub fn add_analyzer_plugin_ex(
&mut self,
plugin: Arc<dyn AnalyzerPlugin>,
) -> &mut Self
pub fn add_analyzer_plugin_ex( &mut self, plugin: Arc<dyn AnalyzerPlugin>, ) -> &mut Self
Adds an analyzer plugin.
Sourcepub fn add_analyzer_plugin<T: AnalyzerPlugin + Default + 'static>(
&mut self,
) -> &mut Self
pub fn add_analyzer_plugin<T: AnalyzerPlugin + Default + 'static>( &mut self, ) -> &mut Self
Adds an analyzer plugin.
Sourcepub fn add(&mut self, suite: PluginSuite) -> &mut Self
pub fn add(&mut self, suite: PluginSuite) -> &mut Self
Adds another plugin suite into this suite.
Trait Implementations§
Source§impl Clone for PluginSuite
impl Clone for PluginSuite
Source§fn clone(&self) -> PluginSuite
fn clone(&self) -> PluginSuite
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for PluginSuite
impl Debug for PluginSuite
Source§impl Default for PluginSuite
impl Default for PluginSuite
Source§fn default() -> PluginSuite
fn default() -> PluginSuite
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for PluginSuite
impl !RefUnwindSafe for PluginSuite
impl Send for PluginSuite
impl Sync for PluginSuite
impl Unpin for PluginSuite
impl !UnwindSafe for PluginSuite
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more