UNPKG

pi-lens

Version:

Real-time code feedback for pi — LSP, linters, formatters, type-checking, structural analysis & booboo

66 lines (54 loc) • 1.38 kB
# Case Ranges Should Cover Multiple Values # Detects case statements with ranges that only cover single values id: case-range-multiple-values name: Case Ranges Should Cover Multiple Values severity: warning category: maintainability defect_class: correctness inline_tier: warning language: c message: "Case range should cover multiple values" description: | GCC case ranges (case 1..5:) should cover multiple values. Using ranges for single values is confusing and unnecessary. ✅ FIX: Use regular case for single values, ranges for multiple ```c switch (value) { case 1: // Single value - use regular case break; case 10..20: // Range - multiple values break; } ``` query: | (switch_statement body: (compound_statement (case_statement value: (range_expression (number_literal) @START (number_literal) @END) @RANGE))) metavars: - START - END - RANGE post_filter: case_range_single_value tags: - maintainability - c - gnu - switch examples: bad: | switch (val) { case 5..5: // BAD - range with single value break; } good: | switch (val) { case 5: // GOOD - single value break; case 10..20: // GOOD - actual range break; } has_fix: true fix_action: simplify_single_case_range