Struct cairo_lang_semantic::plugin::PluginSuite
source · 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 !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