#![cfg_attr(coverage_nightly, coverage(off))]
pub mod aggregation;
pub mod analysis;
pub mod formatting;
pub mod rules;
pub mod types;
pub mod uncached;
pub mod visitor;
pub use aggregation::{aggregate_results, aggregate_results_with_thresholds};
pub use formatting::{format_as_sarif, format_complexity_report, format_complexity_summary};
pub use rules::{CognitiveComplexityRule, ComplexityRule, CyclomaticComplexityRule};
pub use types::{
ClassComplexity, ComplexityHotspot, ComplexityMetrics, ComplexityReport, ComplexitySummary,
ComplexityThresholds, FileComplexityMetrics, FunctionComplexity, HalsteadMetrics, Violation,
};
pub use uncached::{analyze_file_complexity_uncached, compute_complexity_cache_key};
pub use visitor::ComplexityVisitor;
#[cfg(test)]
mod tests;
#[cfg(all(test, feature = "broken-tests"))]
#[path = "complexity_tests.rs"]
mod broken_tests;