From 51c74412043e7f31e6ee9eab3167e532d65725f7 Mon Sep 17 00:00:00 2001 From: Jacob Walls Date: Sat, 1 Jul 2023 11:47:01 -0400 Subject: [PATCH] Use walrus operator to avoid mypy disable --- pylint/checkers/refactoring/refactoring_checker.py | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/pylint/checkers/refactoring/refactoring_checker.py b/pylint/checkers/refactoring/refactoring_checker.py index d873e9c60d..e068468267 100644 --- a/pylint/checkers/refactoring/refactoring_checker.py +++ b/pylint/checkers/refactoring/refactoring_checker.py @@ -1133,16 +1133,12 @@ def _check_super_with_arguments(self, node: nodes.Call) -> None: if not isinstance(node.func, nodes.Name) or node.func.name != "super": return - # pylint: disable=too-many-boolean-expressions if ( len(node.args) != 2 - or not isinstance(node.args[1], nodes.Name) + or not all(isinstance(arg, nodes.Name) for arg in node.args) or node.args[1].name != "self" - or not isinstance(node.args[0], nodes.Name) - or not isinstance(node.args[1], nodes.Name) - or node_frame_class(node) is None - # TODO: PY38: Use walrus operator, this will also fix the mypy issue - or node.args[0].name != node_frame_class(node).name # type: ignore[union-attr] + or (frame_class := node_frame_class(node)) is None + or node.args[0].name != frame_class.name ): return