pub mod classification_types;
pub mod core_types;
pub mod metrics_types;
pub mod split_types;
pub mod ast_visitor;
pub mod classifier;
pub mod detector;
pub mod heuristics; pub mod predicates;
pub mod scoring;
pub mod thresholds;
pub mod types;
pub mod metrics;
pub mod traits;
pub use ast_visitor::{FunctionParameter, ModuleFunctionInfo, TypeAnalysis, TypeVisitor};
pub use classifier::{
analyze_function_responsibility, calculate_domain_cohesion, calculate_struct_ratio,
classify_struct_domain, count_distinct_domains, determine_confidence, extract_domain_from_name,
extract_domain_keywords, group_methods_by_responsibility, infer_responsibility_with_confidence,
is_cohesive_struct,
};
pub use detector::GodObjectDetector;
pub use heuristics::{
detect_from_content, fallback_god_object_heuristics, fallback_with_preserved_analysis,
};
pub use scoring::{calculate_god_object_score, calculate_god_object_score_weighted};
pub use thresholds::*;
pub use types::*;
pub use classification_types::{
MethodAnalysis, MethodBodyAnalysis, MethodComplexityClass, ReturnExprType,
};
pub use classifier::{
calculate_weighted_count_from_names, calculate_weighted_method_count, classify_method_by_name,
classify_method_complexity,
};
pub use classification_types::{MethodSelfUsage, MethodSelfUsageBreakdown};
pub use classification_types::{CompositionPattern, FunctionalDecompositionMetrics};
pub use classifier::{
calculate_combined_method_weight, calculate_combined_weighted_count, classify_self_usage,
classify_self_usage_standalone,
};
pub use metrics_types::{calculate_complexity_metrics, ComplexityMetrics, MethodComplexity};
pub use scoring::{calculate_complexity_factor, calculate_god_object_score_with_complexity};
pub use thresholds::ComplexityThresholds;
pub use scoring::{calculate_effective_method_count, calculate_god_object_score_with_self_usage};
pub use scoring::{apply_functional_bonus, calculate_god_object_score_with_functional_bonus};
pub use traits::{
classify_all_methods, classify_method_origin, ClassifiedMethod, KnownTraitRegistry,
MethodOrigin, MethodPattern, TraitCategory, TraitImplInfo, TraitMethodSummary,
};