diff options
Diffstat (limited to 'pylint/reporters/base_reporter.py')
-rw-r--r-- | pylint/reporters/base_reporter.py | 17 |
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 |