Skip to main content

Crate crap_core

Crate crap_core 

Source
Expand description

crap-core — language-agnostic CRAP analyzer foundation.

Domain types, port traits, and shared invariants used by every per-language CRAP adapter (crap4rs, future crap4ts, …). Pure domain — no syn, no LCOV, no I/O. Coverage adapters supply a concrete ParseDiagnostic impl; the analyzer pipeline flows that type through ParseOutput<P> and AnalysisDiagnostics<P>.

Imported in S2 (crap4rs#134). Adapter relocation (reporters + baseline + config + diff + filesystem walker) landed in S3 (crap4rs#135). Core orchestration + CLI dispatch landed in S4 (crap4rs#136) — core::analyze<P> and cli::run<P> are language-agnostic; the per-adapter binaries (crap4rs, future crap4ts) inject their own ComplexityPort + CoveragePort<Diagnostic = P>.

Modules§

adapters
Language-agnostic adapters — IO and presentation layers that make no assumptions about the source language being analyzed.
cli
CLI entry point — thin shell over the library crate.
core
Wiring layer — composes adapters through ports, exposes analyze() API.
domain
ports