diff --git a/mypy/semanal.py b/mypy/semanal.py index 563e9a580d2b..af81d59d5d53 100644 --- a/mypy/semanal.py +++ b/mypy/semanal.py @@ -2385,9 +2385,15 @@ def __init__(self, modules: Dict[str, MypyFile], errors: Errors) -> None: def visit_file(self, file_node: MypyFile, fnam: str) -> None: self.errors.set_file(fnam) self.errors.set_ignored_lines(file_node.ignored_lines) - file_node.accept(self) + self.accept(file_node) self.errors.set_ignored_lines(set()) + def accept(self, node: Node) -> None: + try: + node.accept(self) + except Exception as err: + report_internal_error(err, self.errors.file, node.line) + def visit_block(self, b: Block) -> None: if b.is_unreachable: return