aboutsummaryrefslogtreecommitdiff
path: root/pylint/reporters/base_reporter.py
diff options
context:
space:
mode:
Diffstat (limited to 'pylint/reporters/base_reporter.py')
-rw-r--r--pylint/reporters/base_reporter.py17
1 files changed, 12 insertions, 5 deletions
diff --git a/pylint/reporters/base_reporter.py b/pylint/reporters/base_reporter.py
index e74ffdd89..9bd9e80e6 100644
--- a/pylint/reporters/base_reporter.py
+++ b/pylint/reporters/base_reporter.py
@@ -3,11 +3,15 @@
import os
import sys
-from typing import List, Optional
+from typing import TYPE_CHECKING, List, Optional
from pylint.message import Message
+from pylint.reporters.ureports.nodes import Text
from pylint.typing import CheckerStats
+if TYPE_CHECKING:
+ from pylint.reporters.ureports.nodes import Section
+
class BaseReporter:
"""base class for reporters
@@ -39,18 +43,21 @@ class BaseReporter:
"""write a line in the output buffer"""
print(string, file=self.out)
- def display_reports(self, layout):
+ def display_reports(self, layout: "Section") -> None:
"""display results encapsulated in the layout tree"""
self.section = 0
if layout.report_id:
- layout.children[0].children[0].data += f" ({layout.report_id})"
+ if isinstance(layout.children[0].children[0], Text):
+ layout.children[0].children[0].data += f" ({layout.report_id})"
+ else:
+ raise ValueError(f"Incorrect child for {layout.children[0].children}")
self._display(layout)
- def _display(self, layout):
+ def _display(self, layout: "Section") -> None:
"""display the layout"""
raise NotImplementedError()
- def display_messages(self, layout):
+ def display_messages(self, layout: Optional["Section"]) -> None:
"""Hook for displaying the messages of the reporter
This will be called whenever the underlying messages