1pub mod attributes;
6pub mod brain_trait_metrics;
7pub mod brain_type_metrics;
8pub mod complexity_signal;
9pub mod context;
10pub mod decomposition_advice;
11pub mod diagnostics;
12pub mod expr;
13pub mod i18n;
14pub mod lcom4;
15pub mod path;
16pub mod span;
17pub mod test_support;
18
19pub use attributes::{
20 Attribute, AttributeKind, AttributePath, PARSED_ATTRIBUTE_PLACEHOLDER, has_test_like_attribute,
21 has_test_like_attribute_with, outer_attributes, split_doc_attributes,
22};
23pub use brain_trait_metrics::evaluation::{
24 BrainTraitDiagnostic, BrainTraitDisposition, BrainTraitThresholds, BrainTraitThresholdsBuilder,
25 evaluate_brain_trait,
26};
27pub use brain_trait_metrics::{
28 TraitItemKind, TraitItemMetrics, TraitMetrics, TraitMetricsBuilder, default_method_cc_sum,
29 default_method_count, required_method_count, trait_item_count,
30};
31pub use brain_type_metrics::evaluation::{
32 BrainTypeDiagnostic, BrainTypeDisposition, BrainTypeThresholds, BrainTypeThresholdsBuilder,
33 evaluate_brain_type, format_help, format_note, format_primary_message,
34};
35pub use brain_type_metrics::{
36 CognitiveComplexityBuilder, ForeignReferenceSet, MethodMetrics, TypeMetrics,
37 TypeMetricsBuilder, brain_methods, foreign_reach_count, weighted_methods_count,
38};
39pub use context::{
40 ContextEntry, ContextKind, in_test_like_context, in_test_like_context_with, is_in_main_fn,
41 is_test_fn, is_test_fn_with,
42};
43pub use decomposition_advice::{
44 DecompositionContext, DecompositionSuggestion, MethodProfile, MethodProfileBuilder,
45 SubjectKind, SuggestedExtractionKind, format_diagnostic_note, suggest_decomposition,
46};
47pub use diagnostics::{Applicability, Diagnostic, DiagnosticBuilder, Suggestion, span_lint};
48pub use expr::{Expr, def_id_of_expr_callee, is_path_to, recv_is_option_or_result};
49pub use i18n::{
50 Arguments, FALLBACK_LOCALE, I18nError, LocaleSelection, LocaleSource, Localizer,
51 MessageResolution, available_locales, branch_phrase, get_localizer_for_lint, noop_reporter,
52 normalise_locale, resolve_localizer, safe_resolve_message_set, supports_locale,
53};
54pub use lcom4::{MethodInfo, MethodInfoBuilder, cohesion_components, collect_method_infos};
55pub use path::SimplePath;
56pub use span::{SourceLocation, SourceSpan, SpanError, span_line_count, span_to_lines};