summaryrefslogtreecommitdiff
path: root/coverage/annotate.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2022-12-31 19:36:23 -0500
committerNed Batchelder <ned@nedbatchelder.com>2022-12-31 20:39:09 -0500
commit586726322069bab62f33dccab70101ca76f595c2 (patch)
tree5b11f2e5c1a4e3801974c3d294abf604250bcac6 /coverage/annotate.py
parente3c523c98cbc9ecdd37e36da19848ca9d0aef4a3 (diff)
downloadpython-coveragepy-git-586726322069bab62f33dccab70101ca76f595c2.tar.gz
mypy: add annotate.py and jsonreport.py
Diffstat (limited to 'coverage/annotate.py')
-rw-r--r--coverage/annotate.py18
1 files changed, 14 insertions, 4 deletions
diff --git a/coverage/annotate.py b/coverage/annotate.py
index 07ff644d..c92c29b7 100644
--- a/coverage/annotate.py
+++ b/coverage/annotate.py
@@ -3,12 +3,22 @@
"""Source file annotation for coverage.py."""
+from __future__ import annotations
+
import os
import re
+from typing import Iterable, Optional, TYPE_CHECKING
+
from coverage.files import flat_rootname
from coverage.misc import ensure_dir, isolate_module
+from coverage.plugin import FileReporter
from coverage.report import get_analysis_to_report
+from coverage.results import Analysis
+from coverage.types import TMorf
+
+if TYPE_CHECKING:
+ from coverage import Coverage
os = isolate_module(os)
@@ -35,15 +45,15 @@ class AnnotateReporter:
"""
- def __init__(self, coverage):
+ def __init__(self, coverage: Coverage) -> None:
self.coverage = coverage
self.config = self.coverage.config
- self.directory = None
+ self.directory: Optional[str] = None
blank_re = re.compile(r"\s*(#|$)")
else_re = re.compile(r"\s*else\s*:\s*(#|$)")
- def report(self, morfs, directory=None):
+ def report(self, morfs: Optional[Iterable[TMorf]], directory: Optional[str]=None) -> None:
"""Run the report.
See `coverage.report()` for arguments.
@@ -54,7 +64,7 @@ class AnnotateReporter:
for fr, analysis in get_analysis_to_report(self.coverage, morfs):
self.annotate_file(fr, analysis)
- def annotate_file(self, fr, analysis):
+ def annotate_file(self, fr: FileReporter, analysis: Analysis) -> None:
"""Annotate a single file.
`fr` is the FileReporter for the file to annotate.