Skip to main content

Crate xbp_analysis

Crate xbp_analysis 

Source
Expand description

XBP language-agnostic static analysis (Aspirator-inspired).

Hexagonal layout:

  • domain — pure model (findings, rules, abstract error concepts)
  • ports — inbound/outbound traits only
  • application — orchestration + language-independent rules
  • adapters — filesystem, config, output formats, cache, fixes
  • languages — per-language adapters (Rust first)

The domain does not depend on rustc, tree-sitter, the filesystem, clap, or SARIF/JSON crates.

Re-exports§

pub use application::engine::AnalysisEngine;
pub use application::engine::DefaultAnalysisService;
pub use domain::report::AnalysisReport;
pub use domain::request::AnalysisRequest;
pub use ports::inbound::AnalysisService;
pub use domain::types::*;

Modules§

adapters
Outbound adapters (filesystem, config, output, cache, fix).
application
Application services and language-independent rules.
domain
Language-independent analysis domain.
languages
Language adapters. Add a module + register in crate::application::engine::AdapterRegistry.
ports
Inbound and outbound ports (hexagonal boundaries).