pub mod arch_rules;
pub mod architecture;
pub mod change_impact;
pub mod clones;
pub mod dead;
pub mod deps;
pub mod hubs;
pub mod impact;
pub mod importers;
pub mod refcount;
pub mod references;
pub mod similarity;
pub mod tarjan;
pub mod whatbreaks;
pub use arch_rules::{
build_import_graph, check_rules, check_transitive_violations, generate_rules, ImportEdge,
ImportGraph,
};
pub use architecture::{
architecture_analysis, circular_deps_to_cycle_report, find_circular_dependencies_tarjan,
};
pub use change_impact::{
change_impact, change_impact_extended, ChangeImpactMetadata, ChangeImpactReport,
DetectionMethod, TestFunction,
};
pub use clones::{
classify_clone_type, compute_dice_similarity, compute_rolling_hashes, detect_clones,
find_verified_clones, hash_token, interpret_similarity, is_generated_file, normalize_tokens,
verify_clone_match, CloneClass, CloneConfig, CloneFragment, ClonePair, CloneStats, CloneType,
ClonesOptions, ClonesReport, HashEntry, HashIndex, NormalizationMode, NormalizedToken,
RollingHash, TokenCategory, TokenSequence, UnionFind,
};
pub use dead::{collect_all_functions, dead_code_analysis, dead_code_analysis_refcount};
pub use deps::{
analyze_dependencies, classify_import, format_deps_dot, format_deps_text, is_go_stdlib,
is_python_stdlib, is_rust_internal, is_rust_stdlib, is_typescript_external,
is_typescript_relative, DepCycle, DepEdge, DepKind, DepNode, DepStats, DepsOptions, DepsReport,
};
pub use hubs::{
compute_hub_report, compute_hub_scores, compute_in_degree, compute_out_degree, HubAlgorithm,
HubReport, HubScore, RiskLevel,
};
pub use impact::{impact_analysis, impact_analysis_with_ast_fallback};
pub use importers::find_importers;
pub use references::{
classify_reference_kind, find_references, find_text_candidates, verify_candidates_with_ast,
Definition, DefinitionKind, Reference, ReferenceKind, ReferenceStats, ReferencesOptions,
ReferencesReport, SearchScope, TextCandidate, VerifiedReference,
};
pub use similarity::{
compute_pairwise_similarity, compute_similarity, dice_coefficient, dice_to_jaccard,
interpret_similarity_score, jaccard_coefficient, jaccard_to_dice, parse_target,
ComparisonLevel, PairwiseSimilarityEntry, PairwiseSimilarityReport, ParsedTarget,
SimilarityConfig, SimilarityFragment, SimilarityMetric, SimilarityOptions, SimilarityReport,
SimilarityScores, TokenBreakdown,
};
pub use tarjan::{detect_cycles, find_sccs, ToSccString};
pub use whatbreaks::{
detect_target_type, whatbreaks_analysis, SubResult, SubStatus, TargetType, WhatbreaksOptions,
WhatbreaksReport, WhatbreaksSummary,
};
#[cfg(test)]
mod callgraph_tests;
#[cfg(test)]
mod architecture_tests;
#[cfg(test)]
mod change_impact_tests;
#[cfg(test)]
mod deps_tests;
#[cfg(test)]
mod references_tests;
#[cfg(test)]
mod clones_tests;
#[cfg(test)]
mod dice_tests;
#[cfg(test)]
mod clones_integration_tests;