Skip to main content

Plugin

Trait Plugin 

Source
pub trait Plugin: Send + Sync {
    // Required methods
    fn name(&self) -> &str;
    fn analyze(&self, ctx: &AnalysisContext<'_>) -> Vec<Finding>;

    // Provided methods
    fn version(&self) -> &str { ... }
    fn description(&self) -> &str { ... }
    fn authors(&self) -> Vec<String> { ... }
    fn smells(&self) -> Vec<String> { ... }
}
Expand description

Core trait that all analyzers implement.

Required Methods§

Source

fn name(&self) -> &str

Unique identifier for this plugin.

Source

fn analyze(&self, ctx: &AnalysisContext<'_>) -> Vec<Finding>

Run analysis on a single file and return findings.

Provided Methods§

Source

fn version(&self) -> &str

Plugin version (e.g. “1.0.0”).

Source

fn description(&self) -> &str

Short description of what the plugin detects.

Source

fn authors(&self) -> Vec<String>

List of authors.

Source

fn smells(&self) -> Vec<String>

Smell names this plugin can produce. Used by the host for smell-level filtering, docs, and cha plugin list. Default is empty — plugins should override to declare their smells.

Implementors§

Source§

impl Plugin for ApiSurfaceAnalyzer

Source§

impl Plugin for AsyncCallbackLeakAnalyzer

Source§

impl Plugin for BrainMethodAnalyzer

Source§

impl Plugin for CognitiveComplexityAnalyzer

Source§

impl Plugin for CommentsAnalyzer

Source§

impl Plugin for ComplexityAnalyzer

Source§

impl Plugin for CouplingAnalyzer

Source§

impl Plugin for DataClassAnalyzer

Source§

impl Plugin for DataClumpsAnalyzer

Source§

impl Plugin for DeadCodeAnalyzer

Source§

impl Plugin for DesignPatternAdvisor

Source§

impl Plugin for DivergentChangeAnalyzer

Source§

impl Plugin for DuplicateCodeAnalyzer

Source§

impl Plugin for ErrorHandlingAnalyzer

Source§

impl Plugin for FeatureEnvyAnalyzer

Source§

impl Plugin for GodClassAnalyzer

Source§

impl Plugin for HardcodedSecretAnalyzer

Source§

impl Plugin for HubLikeDependencyAnalyzer

Source§

impl Plugin for InappropriateIntimacyAnalyzer

Source§

impl Plugin for LayerViolationAnalyzer

Source§

impl Plugin for LazyClassAnalyzer

Source§

impl Plugin for LengthAnalyzer

Source§

impl Plugin for LongParameterListAnalyzer

Source§

impl Plugin for MessageChainAnalyzer

Source§

impl Plugin for MiddleManAnalyzer

Source§

impl Plugin for NamingAnalyzer

Source§

impl Plugin for PrimitiveObsessionAnalyzer

Source§

impl Plugin for RefusedBequestAnalyzer

Source§

impl Plugin for ShotgunSurgeryAnalyzer

Source§

impl Plugin for SpeculativeGeneralityAnalyzer

Source§

impl Plugin for SwitchStatementAnalyzer

Source§

impl Plugin for TemporaryFieldAnalyzer

Source§

impl Plugin for TodoTrackerAnalyzer

Source§

impl Plugin for UnsafeApiAnalyzer

Source§

impl Plugin for WasmPlugin