forked from python/mypy
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy patherrors.py
28 lines (20 loc) · 853 Bytes
/
errors.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
from typing import List
import mypy.errors
class Errors:
def __init__(self) -> None:
self.num_errors = 0
self.num_warnings = 0
self._errors = mypy.errors.Errors()
def error(self, msg: str, path: str, line: int) -> None:
self._errors.report(line, None, msg, severity='error', file=path)
self.num_errors += 1
def note(self, msg: str, path: str, line: int) -> None:
self._errors.report(line, None, msg, severity='note', file=path)
def warning(self, msg: str, path: str, line: int) -> None:
self._errors.report(line, None, msg, severity='warning', file=path)
self.num_warnings += 1
def new_messages(self) -> List[str]:
return self._errors.new_messages()
def flush_errors(self) -> None:
for error in self.new_messages():
print(error)