pub struct ComplexityViolation {Show 23 fields
pub path: PathBuf,
pub name: String,
pub line: u32,
pub col: u32,
pub cyclomatic: u16,
pub cognitive: u16,
pub line_count: u32,
pub param_count: u8,
pub react_hook_count: u16,
pub react_jsx_max_depth: u16,
pub react_prop_count: u16,
pub react_hook_profile: Option<ReactHookProfile>,
pub exceeded: ExceededThreshold,
pub severity: FindingSeverity,
pub crap: Option<f64>,
pub coverage_pct: Option<f64>,
pub coverage_tier: Option<CoverageTier>,
pub coverage_source: Option<CoverageSource>,
pub inherited_from: Option<PathBuf>,
pub component_rollup: Option<ComponentRollup>,
pub contributions: Vec<ComplexityContribution>,
pub effective_thresholds: Option<HealthEffectiveThresholds>,
pub threshold_source: Option<ThresholdSource>,
}Expand description
Inner complexity-violation payload.
Fields§
§path: PathBufFile path relative to the project root.
name: StringFunction name, or a synthesized name for anonymous functions.
line: u321-based line the function starts on.
col: u321-based column the function starts on.
cyclomatic: u16Cyclomatic complexity of the function.
cognitive: u16Cognitive complexity of the function.
line_count: u32Lines of code in the function body.
param_count: u8Number of declared parameters.
react_hook_count: u16Number of React hook calls in this function’s body (useState /
useEffect / useMemo / useCallback / custom use*). Descriptive
hotspot context for React components; omitted when zero (non-React).
react_jsx_max_depth: u16Deepest JSX element nesting reached in this function’s body. Descriptive hotspot context; omitted when zero (renders no JSX).
react_prop_count: u16Number of props destructured from this component’s first parameter. Descriptive hotspot context; omitted when zero.
react_hook_profile: Option<ReactHookProfile>Per-kind React hook breakdown (state/effect/memo/callback/custom) plus
the max useEffect dependency-array arity, derived from the cached
hook_uses IR at the health layer. Descriptive refinement of
react_hook_count; present only when at least one component-scope hook
was attributed, so non-React findings stay byte-identical.
exceeded: ExceededThresholdWhich metric crossed its threshold.
severity: FindingSeverityFinding severity derived from how far thresholds were crossed.
crap: Option<f64>CRAP score (change risk anti-pattern), when coverage data exists.
coverage_pct: Option<f64>Test coverage percentage (0-100) backing the CRAP score.
coverage_tier: Option<CoverageTier>Coverage tier bucket.
Derived from coverage_pct when coverage was measured. When
coverage_source is estimated, coverage_pct is absent and the tier
describes the static estimate behind the CRAP score rather than an
observation, so read the two fields together.
coverage_source: Option<CoverageSource>Provenance of the coverage signal.
inherited_from: Option<PathBuf>Component file the inherited coverage estimate came from, for component-inherited coverage.
component_rollup: Option<ComponentRollup>Aggregate of the enclosing component’s findings, when rolled up.
contributions: Vec<ComplexityContribution>Per-decision-point complexity breakdown explaining WHICH constructs drove
the cyclomatic and cognitive scores. Populated only when the caller opts
in via health --complexity-breakdown; empty (and omitted from JSON)
otherwise so default and CI output stay lean.
effective_thresholds: Option<HealthEffectiveThresholds>Resolved thresholds used for this finding when a config override changed at least one ceiling. Omitted for findings using global thresholds.
threshold_source: Option<ThresholdSource>Source of the effective thresholds. Omitted when thresholds are global.
Implementations§
Source§impl ComplexityViolation
impl ComplexityViolation
Sourcepub fn resolved_thresholds(
&self,
summary: &HealthSummary,
) -> HealthEffectiveThresholds
pub fn resolved_thresholds( &self, summary: &HealthSummary, ) -> HealthEffectiveThresholds
Ceilings this finding was actually evaluated against: the per-file
thresholdOverrides result when an override matched, otherwise the
run’s global summary ceilings.
Every renderer that prints or compares a threshold must go through this so a finding is never described against a ceiling it was not measured with.
Trait Implementations§
Source§impl Clone for ComplexityViolation
impl Clone for ComplexityViolation
Source§fn clone(&self) -> ComplexityViolation
fn clone(&self) -> ComplexityViolation
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ComplexityViolation
impl Debug for ComplexityViolation
Source§impl From<ComplexityViolation> for HealthFinding
impl From<ComplexityViolation> for HealthFinding
Source§fn from(violation: ComplexityViolation) -> Self
fn from(violation: ComplexityViolation) -> Self
Wrap a violation with empty actions and no introduced flag.
Auto Trait Implementations§
impl Freeze for ComplexityViolation
impl RefUnwindSafe for ComplexityViolation
impl Send for ComplexityViolation
impl Sync for ComplexityViolation
impl Unpin for ComplexityViolation
impl UnsafeUnpin for ComplexityViolation
impl UnwindSafe for ComplexityViolation
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<D> OwoColorize for D
impl<D> OwoColorize for D
Source§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
Source§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
Source§fn black(&self) -> FgColorDisplay<'_, Black, Self>
fn black(&self) -> FgColorDisplay<'_, Black, Self>
Source§fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
Source§fn red(&self) -> FgColorDisplay<'_, Red, Self>
fn red(&self) -> FgColorDisplay<'_, Red, Self>
Source§fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
Source§fn green(&self) -> FgColorDisplay<'_, Green, Self>
fn green(&self) -> FgColorDisplay<'_, Green, Self>
Source§fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
Source§fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
Source§fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
Source§fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
Source§fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
Source§fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
Source§fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
Source§fn white(&self) -> FgColorDisplay<'_, White, Self>
fn white(&self) -> FgColorDisplay<'_, White, Self>
Source§fn on_white(&self) -> BgColorDisplay<'_, White, Self>
fn on_white(&self) -> BgColorDisplay<'_, White, Self>
Source§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
Source§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
Source§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
Source§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
Source§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
Source§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
Source§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
Source§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
Source§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
Source§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
Source§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
Source§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
Source§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
Source§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
Source§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
Source§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
Source§fn bold(&self) -> BoldDisplay<'_, Self>
fn bold(&self) -> BoldDisplay<'_, Self>
Source§fn dimmed(&self) -> DimDisplay<'_, Self>
fn dimmed(&self) -> DimDisplay<'_, Self>
Source§fn italic(&self) -> ItalicDisplay<'_, Self>
fn italic(&self) -> ItalicDisplay<'_, Self>
Source§fn underline(&self) -> UnderlineDisplay<'_, Self>
fn underline(&self) -> UnderlineDisplay<'_, Self>
Source§fn blink(&self) -> BlinkDisplay<'_, Self>
fn blink(&self) -> BlinkDisplay<'_, Self>
Source§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
Source§fn reversed(&self) -> ReversedDisplay<'_, Self>
fn reversed(&self) -> ReversedDisplay<'_, Self>
Source§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
Source§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg or
a color-specific method, such as OwoColorize::green, Read moreSource§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg or
a color-specific method, such as OwoColorize::on_yellow, Read more