Coverage for lintro / parsers / clippy / clippy_issue.py: 100%

11 statements  

« prev     ^ index     » next       coverage.py v7.13.0, created at 2026-04-03 18:53 +0000

1"""Models for Clippy issues.""" 

2 

3from __future__ import annotations 

4 

5from dataclasses import dataclass, field 

6from typing import ClassVar 

7 

8from lintro.parsers.base_issue import BaseIssue 

9 

10 

11@dataclass 

12class ClippyIssue(BaseIssue): 

13 """Represents a Clippy linting issue. 

14 

15 Attributes: 

16 DISPLAY_FIELD_MAP: Mapping of display field names to attribute names. 

17 code: Clippy lint code (e.g., clippy::needless_return). 

18 level: Severity level (e.g., warning, error). 

19 end_line: Optional end line number. 

20 end_column: Optional end column number. 

21 """ 

22 

23 DISPLAY_FIELD_MAP: ClassVar[dict[str, str]] = { 

24 **BaseIssue.DISPLAY_FIELD_MAP, 

25 "severity": "level", 

26 } 

27 

28 code: str = field(default="") 

29 level: str | None = field(default=None) 

30 end_line: int | None = field(default=None) 

31 end_column: int | None = field(default=None)