pub mod churn;
pub mod cohesion;
pub mod complexity;
pub mod coupling;
pub mod coverage;
pub mod dead_code;
pub mod debt;
pub mod health;
pub mod hotspots;
pub mod maintainability;
pub mod martin;
pub mod similarity;
pub mod smells;
#[cfg(test)]
mod churn_tests;
#[cfg(test)]
mod debt_tests;
#[cfg(test)]
mod health_tests;
pub use churn::{
build_summary, check_shallow_clone, get_author_stats, get_file_churn, get_recommendation,
is_bot_author, is_git_repository, matches_exclude_pattern, AuthorStats, ChurnError,
ChurnReport, ChurnSummary, FileChurn, Hotspot,
};
pub use cohesion::{
analyze_cohesion, analyze_cohesion_with_options, ClassCohesion, CohesionOptions,
CohesionReport, CohesionSummary, CohesionVerdict, ComponentInfo,
};
pub use complexity::{
analyze_complexity, ComplexityHotspot, ComplexityOptions, ComplexityReport, ComplexitySummary,
FunctionComplexity,
};
pub use coupling::{
analyze_coupling, analyze_coupling_with_graph, build_cycle_membership, compute_ca_ce,
compute_instability, compute_martin_metrics_from_deps, CallSite, CouplingOptions,
CouplingReport, CouplingVerdict, MartinMetricsReport, MartinModuleMetrics, MartinOptions,
MartinSummary, ModuleCoupling,
};
pub use coverage::{
detect_format, parse_cobertura, parse_coverage, parse_coverage_py_json, parse_lcov,
CoverageFormat, CoverageOptions, CoverageReport, CoverageSummary, FileCoverage,
FunctionCoverage, LineCoverage, UncoveredFunction, UncoveredLineRange, UncoveredSummary,
};
pub use dead_code::{
analyze_dead_code, analyze_dead_code_with_graph, analyze_dead_code_with_refcount,
DeadCodeReport, DeadCodeSummary, DeadFunction, DeadReason, Visibility,
};
pub use debt::{
analyze_debt, analyze_file, compute_lcom4, count_loc, find_complexity_issues,
find_deep_nesting, find_god_classes, find_high_coupling, find_missing_docs, find_todo_comments,
DebtCategory, DebtIssue, DebtOptions, DebtReport, DebtRule, DebtSummary, FileDebt,
};
pub use health::{
run_health, HealthOptions, HealthReport, HealthSummary, Severity, SubAnalysisResult,
};
pub use hotspots::{
analyze_hotspots, calculate_trend, composite_score_weighted, has_variance,
knowledge_fragmentation, normalize_value, percentile_ranks, recency_weight, relative_churn,
HotspotEntry, HotspotsError, HotspotsMetadata, HotspotsOptions, HotspotsReport,
HotspotsSummary, ScoringWeights, TrendDirection, TrendInfo,
};
pub use maintainability::{
maintainability_index, FileMI, HalsteadMetrics, MISummary, MaintainabilityReport,
};
pub use martin::{
compute_martin_metrics, MartinReport, MetricsHealth, MetricsProblems, MetricsSummary,
PackageMetrics, Zone,
};
pub use similarity::{
find_similar, find_similar_with_options, FunctionRef as SimilarityFunctionRef, SimilarPair,
SimilarityOptions, SimilarityReason, SimilarityReport,
};
pub use smells::{
analyze_smells_aggregated, detect_smells, SmellFinding, SmellType, SmellsReport,
ThresholdPreset,
};
pub use smells::{
detect_data_classes, detect_deep_nesting, detect_lazy_elements, detect_message_chains,
detect_primitive_obsession,
};