Skip to main content

PatternProvider

Trait PatternProvider 

Source
pub trait PatternProvider: Send + Sync {
    // Required methods
    fn get_patterns(&self) -> Vec<Pattern>;
    fn add_pattern(&mut self, pattern: PatternDef) -> AnalysisResult<()>;
    fn remove_pattern(&mut self, name: &str) -> AnalysisResult<()>;
    fn update_pattern(&mut self, pattern: PatternDef) -> AnalysisResult<()>;
}
Expand description

Provider interface for validated analysis patterns.

Required Methods§

Source

fn get_patterns(&self) -> Vec<Pattern>

Return a snapshot of all patterns in evaluation order.

Source

fn add_pattern(&mut self, pattern: PatternDef) -> AnalysisResult<()>

Validate and add a uniquely named pattern.

Source

fn remove_pattern(&mut self, name: &str) -> AnalysisResult<()>

Remove an existing pattern by name.

Source

fn update_pattern(&mut self, pattern: PatternDef) -> AnalysisResult<()>

Atomically validate and replace an existing pattern by name.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§