def line_for_node(self, node: ast.AST) -> TLineNo:
        """What is the right line number to use for this node?

        This dispatches to _line__Node functions where needed.

        """
        node_name = node.__class__.__name__
        handler = cast(
            Optional[Callable[[ast.AST], TLineNo]],
            getattr(self, f"_line__{node_name}", None),
        )
        if handler is not None:
            line = handler(node)
        else:
            line = node.lineno      # type: ignore[attr-defined]
        return self.multiline.get(line, line)
What is the right line number to use for this node?

        This dispatches to _line__Node functions where needed.

        
coverage/parser.py