Skip to main content

Crate whitaker_common

Crate whitaker_common 

Source
Expand description

Shared lint infrastructure providing attribute helpers, context tracking, path, expression, span, diagnostic, cohesion analysis, and brain type/trait metric collection utilities for Whitaker lints.

Re-exports§

pub use attributes::Attribute;
pub use attributes::AttributeKind;
pub use attributes::AttributePath;
pub use attributes::PARSED_ATTRIBUTE_PLACEHOLDER;
pub use attributes::has_test_like_attribute;
pub use attributes::has_test_like_attribute_with;
pub use attributes::outer_attributes;
pub use attributes::split_doc_attributes;
pub use brain_trait_metrics::evaluation::BrainTraitDiagnostic;
pub use brain_trait_metrics::evaluation::BrainTraitDisposition;
pub use brain_trait_metrics::evaluation::BrainTraitThresholds;
pub use brain_trait_metrics::evaluation::BrainTraitThresholdsBuilder;
pub use brain_trait_metrics::evaluation::evaluate_brain_trait;
pub use brain_trait_metrics::TraitItemKind;
pub use brain_trait_metrics::TraitItemMetrics;
pub use brain_trait_metrics::TraitMetrics;
pub use brain_trait_metrics::TraitMetricsBuilder;
pub use brain_trait_metrics::default_method_cc_sum;
pub use brain_trait_metrics::default_method_count;
pub use brain_trait_metrics::required_method_count;
pub use brain_trait_metrics::trait_item_count;
pub use brain_type_metrics::evaluation::BrainTypeDiagnostic;
pub use brain_type_metrics::evaluation::BrainTypeDisposition;
pub use brain_type_metrics::evaluation::BrainTypeThresholds;
pub use brain_type_metrics::evaluation::BrainTypeThresholdsBuilder;
pub use brain_type_metrics::evaluation::evaluate_brain_type;
pub use brain_type_metrics::evaluation::format_help;
pub use brain_type_metrics::evaluation::format_note;
pub use brain_type_metrics::evaluation::format_primary_message;
pub use brain_type_metrics::CognitiveComplexityBuilder;
pub use brain_type_metrics::ForeignReferenceSet;
pub use brain_type_metrics::MethodMetrics;
pub use brain_type_metrics::TypeMetrics;
pub use brain_type_metrics::TypeMetricsBuilder;
pub use brain_type_metrics::brain_methods;
pub use brain_type_metrics::foreign_reach_count;
pub use brain_type_metrics::weighted_methods_count;
pub use context::ContextEntry;
pub use context::ContextKind;
pub use context::in_test_like_context;
pub use context::in_test_like_context_with;
pub use context::is_in_main_fn;
pub use context::is_test_fn;
pub use context::is_test_fn_with;
pub use decomposition_advice::DecompositionContext;
pub use decomposition_advice::DecompositionSuggestion;
pub use decomposition_advice::MethodProfile;
pub use decomposition_advice::MethodProfileBuilder;
pub use decomposition_advice::SubjectKind;
pub use decomposition_advice::SuggestedExtractionKind;
pub use decomposition_advice::format_diagnostic_note;
pub use decomposition_advice::suggest_decomposition;
pub use diagnostics::Applicability;
pub use diagnostics::Diagnostic;
pub use diagnostics::DiagnosticBuilder;
pub use diagnostics::Suggestion;
pub use diagnostics::span_lint;
pub use expr::Expr;
pub use expr::def_id_of_expr_callee;
pub use expr::is_path_to;
pub use expr::recv_is_option_or_result;
pub use i18n::Arguments;
pub use i18n::FALLBACK_LOCALE;
pub use i18n::I18nError;
pub use i18n::LocaleSelection;
pub use i18n::LocaleSource;
pub use i18n::Localizer;
pub use i18n::MessageResolution;
pub use i18n::available_locales;
pub use i18n::branch_phrase;
pub use i18n::get_localizer_for_lint;
pub use i18n::noop_reporter;
pub use i18n::normalise_locale;
pub use i18n::resolve_localizer;
pub use i18n::safe_resolve_message_set;
pub use i18n::supports_locale;
pub use lcom4::MethodInfo;
pub use lcom4::MethodInfoBuilder;
pub use lcom4::cohesion_components;
pub use lcom4::collect_method_infos;
pub use path::SimplePath;
pub use rstest::ExpansionTrace;
pub use rstest::ParameterBinding;
pub use rstest::RstestDetectionOptions;
pub use rstest::RstestParameter;
pub use rstest::RstestParameterKind;
pub use rstest::SpanRecoveryFrame;
pub use rstest::UserEditableSpan;
pub use rstest::classify_rstest_parameter;
pub use rstest::fixture_local_names;
pub use rstest::is_rstest_fixture;
pub use rstest::is_rstest_fixture_with;
pub use rstest::is_rstest_test;
pub use rstest::is_rstest_test_with;
pub use rstest::recover_user_editable_span;
pub use span::SourceLocation;
pub use span::SourceSpan;
pub use span::SpanError;
pub use span::span_line_count;
pub use span::span_to_lines;

Modules§

attributes
Helpers for reasoning about Rust attributes.
brain_trait_metrics
Metric collection and threshold evaluation for brain trait detection.
brain_type_metrics
Metric collection for brain type detection.
complexity_signal
Per-line complexity signal helpers used by higher-level lints.
context
Context tracking utilities for analysing traversal stacks.
decomposition_advice
Shared decomposition analysis for brain-trust diagnostics.
diagnostics
Ergonomic builders for lint diagnostics and suggestions.
expr
Lightweight expression helpers for lint analysis.
i18n
Localisation loader and helpers for Whitaker diagnostics.
lcom4
LCOM4 cohesion analysis for method relationship graphs.
path
Shared helpers for working with ::-delimited paths.
rstest
Shared helpers for strict rstest detection, parameter analysis, and span recovery.
span
Utilities for working with source locations and spans.
test_support
Shared test helpers for Whitaker crates.