src/eric7/Plugins/CheckerPlugins/CodeStyleChecker/Simplify/SimplifyNodeVisitor.py

branch
eric7
changeset 11150
73d80859079c
parent 11148
15e30f0c76a8
--- a/src/eric7/Plugins/CheckerPlugins/CodeStyleChecker/Simplify/SimplifyNodeVisitor.py	Thu Feb 27 09:22:15 2025 +0100
+++ b/src/eric7/Plugins/CheckerPlugins/CodeStyleChecker/Simplify/SimplifyNodeVisitor.py	Thu Feb 27 14:42:39 2025 +0100
@@ -459,7 +459,7 @@
         """
         if isinstance(node.op, ast.Or):
             for variable in self.__getDuplicatedIsinstanceCall(node):
-                self.__error(node.lineno - 1, node.col_offset, "Y-101", variable)
+                self.__error(node, "Y-101", variable)
 
     def __check102(self, node):
         """
@@ -496,7 +496,7 @@
         #     if c: <---
         #         d
         if isPattern1:
-            self.__error(node.lineno - 1, node.col_offset, "Y-102")
+            self.__error(node, "Y-102")
 
     def __check103(self, node):
         """
@@ -526,7 +526,7 @@
             )
         ):
             condition = unparse(node.test)
-            self.__error(node.lineno - 1, node.col_offset, "Y-103", condition)
+            self.__error(node, "Y-103", condition)
 
     def __check104(self, node):
         """
@@ -557,7 +557,7 @@
 
             if not isinstance(parent, ast.AsyncFunctionDef):
                 iterable = unparse(node.iter)
-                self.__error(node.lineno - 1, node.col_offset, "Y-104", iterable)
+                self.__error(node, "Y-104", iterable)
 
     def __check105(self, node):
         """
@@ -583,7 +583,7 @@
                 exception = ", ".join([unparse(n) for n in node.handlers[0].type.elts])
             else:
                 exception = unparse(node.handlers[0].type)
-            self.__error(node.lineno - 1, node.col_offset, "Y-105", exception)
+            self.__error(node, "Y-105", exception)
 
     def __check106(self, node):
         """
@@ -609,7 +609,7 @@
             and not isinstance(node.body[-1], ast.Raise)
         )
         if just_one or many:
-            self.__error(node.lineno - 1, node.col_offset, "Y-106")
+            self.__error(node, "Y-106")
 
     def __check107(self, node):
         """
@@ -648,7 +648,7 @@
                 break
 
         if (tryHasReturn or exceptHasReturn) and finallyHasReturn:
-            self.__error(finallyReturn.lineno - 1, finallyReturn.col_offset, "Y-107")
+            self.__error(finallyReturn, "Y-107")
 
     def __check108(self, node):
         """
@@ -699,9 +699,7 @@
             cond = unparse(node.test)
             orelse = unparse(node.orelse[0].value)
 
-            self.__error(
-                node.lineno - 1, node.col_offset, "Y-108", assign, body, cond, orelse
-            )
+            self.__error(node, "Y-108", assign, body, cond, orelse)
 
     def __check109(self, node):
         """
@@ -738,12 +736,7 @@
                     continue
 
                 self.__error(
-                    node.lineno - 1,
-                    node.col_offset,
-                    "Y-109",
-                    value,
-                    unparse(ast.Tuple(elts=values)),
-                    unparse(node),
+                    node, "Y-109", value, unparse(ast.Tuple(elts=values)), unparse(node)
                 )
 
     def __check110_111(self, node):
@@ -775,9 +768,7 @@
             target = unparse(node.target)
             iterable = unparse(node.iter)
             if node.body[0].body[0].value.value is True:
-                self.__error(
-                    node.lineno - 1, node.col_offset, "Y-110", check, target, iterable
-                )
+                self.__error(node, "Y-110", check, target, iterable)
             elif node.body[0].body[0].value.value is False:
                 isCompoundExpression = " and " in check or " or " in check
 
@@ -788,9 +779,7 @@
                         check = check[len("not ") :]
                     else:
                         check = f"not {check}"
-                self.__error(
-                    node.lineno - 1, node.col_offset, "Y-111", check, target, iterable
-                )
+                self.__error(node, "Y-111", check, target, iterable)
 
     def __check112(self, node):
         """
@@ -862,7 +851,7 @@
         else:
             return
 
-        self.__error(node.lineno - 1, node.col_offset, "Y-112", expected, original)
+        self.__error(node, "Y-112", expected, original)
 
     def __check113(self, node):
         """
@@ -911,7 +900,7 @@
 
             for match in matches:
                 variable = unparse(match)
-                self.__error(match.lineno - 1, match.col_offset, "Y-113", variable)
+                self.__error(match, "Y-113", variable)
 
     def __check114(self, node):
         """
@@ -934,13 +923,7 @@
             if self.__isSameBody(ifbody1[1], ifbody2[1]):
                 errorPairs.append((ifbody1, ifbody2))
         for ifbody1, ifbody2 in errorPairs:
-            self.__error(
-                ifbody1[0].lineno - 1,
-                ifbody1[0].col_offset,
-                "Y-114",
-                unparse(ifbody1[0]),
-                unparse(ifbody2[0]),
-            )
+            self.__error(ifbody1[0], "Y-114", unparse(ifbody1[0]), unparse(ifbody2[0]))
 
     def __check115(self, node):
         """
@@ -958,7 +941,7 @@
             and node.func.id == "open"
             and not isinstance(node.parent, ast.withitem)
         ):
-            self.__error(node.lineno - 1, node.col_offset, "Y-115")
+            self.__error(node, "Y-115")
 
     def __check116(self, node):
         """
@@ -1054,7 +1037,7 @@
             else:
                 ret = f"{keyValuePairs}.get({variable.id})"
 
-            self.__error(node.lineno - 1, node.col_offset, "Y-116", ret)
+            self.__error(node, "Y-116", ret)
 
     def __check117(self, node):
         """
@@ -1071,7 +1054,7 @@
             for withitem in node.items + node.body[0].items:
                 withItems.append(f"{unparse(withitem)}")
             mergedWith = f"with {', '.join(withItems)}:"
-            self.__error(node.lineno - 1, node.col_offset, "Y-117", mergedWith)
+            self.__error(node, "Y-117", mergedWith)
 
     def __check118(self, node):
         """
@@ -1115,7 +1098,7 @@
             else:
                 keyStr = unparse(node.target)
             dictStr = unparse(attrNode.value)
-            self.__error(node.lineno - 1, node.col_offset, "Y-118", keyStr, dictStr)
+            self.__error(node, "Y-118", keyStr, dictStr)
 
     def __check119(self, node):
         """
@@ -1145,7 +1128,7 @@
                 hasOnlyConstructorMethod
                 and sum(1 for el in node.body if isinstance(el, ast.FunctionDef)) > 0
             ):
-                self.__error(node.lineno - 1, node.col_offset, "Y-119", node.name)
+                self.__error(node, "Y-119", node.name)
 
     def __check120_121(self, node):
         """
@@ -1161,7 +1144,7 @@
             and isinstance(node.bases[0], ast.Name)
             and node.bases[0].id == "object"
         ):
-            self.__error(node.lineno - 1, node.col_offset, "Y-120", node.name)
+            self.__error(node, "Y-120", node.name)
 
         elif (
             len(node.bases) > 1
@@ -1169,11 +1152,7 @@
             and node.bases[-1].id == "object"
         ):
             self.__error(
-                node.lineno - 1,
-                node.col_offset,
-                "Y-121",
-                node.name,
-                ", ".join(b.id for b in node.bases[:-1]),
+                node, "Y-121", node.name, ", ".join(b.id for b in node.bases[:-1])
             )
 
     def __check122(self, node):
@@ -1204,7 +1183,7 @@
         ):
             key = unparse(node.test.left)
             dictname = unparse(node.test.comparators[0])
-            self.__error(node.lineno - 1, node.col_offset, "Y-122", dictname, key)
+            self.__error(node, "Y-122", dictname, key)
 
     def __check123(self, node):
         """
@@ -1266,15 +1245,7 @@
             valueStr = unparse(valueNode)
         else:
             return
-        self.__error(
-            node.lineno - 1,
-            node.col_offset,
-            "Y-123",
-            valueStr,
-            dictStr,
-            keyStr,
-            defaultStr,
-        )
+        self.__error(node, "Y-123", valueStr, dictStr, keyStr, defaultStr)
 
     def __check181(self, node):
         """
@@ -1294,13 +1265,7 @@
             and not isinstance(node.value.right, ast.Tuple)
         ):
             newNode = ast.AugAssign(node.targets[0], node.value.op, node.value.right)
-            self.__error(
-                node.lineno - 1,
-                node.col_offset,
-                "Y-181",
-                unparse(newNode),
-                unparse(node),
-            )
+            self.__error(node, "Y-181", unparse(newNode), unparse(node))
 
     def __check182(self, node):
         """
@@ -1320,7 +1285,7 @@
             and node.args[0].id == self.__classDefinitionStack[-1]
             and node.args[1].id == "self"
         ):
-            self.__error(node.lineno - 1, node.col_offset, "Y-182", unparse(node))
+            self.__error(node, "Y-182", unparse(node))
 
     def __check201(self, node):
         """
@@ -1344,7 +1309,7 @@
             comparison = node.operand
             left = unparse(comparison.left)
             right = unparse(comparison.comparators[0])
-            self.__error(node.lineno - 1, node.col_offset, "Y-201", left, right)
+            self.__error(node, "Y-201", left, right)
 
     def __check202(self, node):
         """
@@ -1368,7 +1333,7 @@
             comparison = node.operand
             left = unparse(comparison.left)
             right = unparse(comparison.comparators[0])
-            self.__error(node.lineno - 1, node.col_offset, "Y-202", left, right)
+            self.__error(node, "Y-202", left, right)
 
     def __check203(self, node):
         """
@@ -1392,7 +1357,7 @@
             comparison = node.operand
             left = unparse(comparison.left)
             right = unparse(comparison.comparators[0])
-            self.__error(node.lineno - 1, node.col_offset, "Y-203", left, right)
+            self.__error(node, "Y-203", left, right)
 
     def __check204(self, node):
         """
@@ -1415,7 +1380,7 @@
             comparison = node.operand
             left = unparse(comparison.left)
             right = unparse(comparison.comparators[0])
-            self.__error(node.lineno - 1, node.col_offset, "Y-204", left, right)
+            self.__error(node, "Y-204", left, right)
 
     def __check205(self, node):
         """
@@ -1438,7 +1403,7 @@
             comparison = node.operand
             left = unparse(comparison.left)
             right = unparse(comparison.comparators[0])
-            self.__error(node.lineno - 1, node.col_offset, "Y-205", left, right)
+            self.__error(node, "Y-205", left, right)
 
     def __check206(self, node):
         """
@@ -1461,7 +1426,7 @@
             comparison = node.operand
             left = unparse(comparison.left)
             right = unparse(comparison.comparators[0])
-            self.__error(node.lineno - 1, node.col_offset, "Y-206", left, right)
+            self.__error(node, "Y-206", left, right)
 
     def __check207(self, node):
         """
@@ -1484,7 +1449,7 @@
             comparison = node.operand
             left = unparse(comparison.left)
             right = unparse(comparison.comparators[0])
-            self.__error(node.lineno - 1, node.col_offset, "Y-207", left, right)
+            self.__error(node, "Y-207", left, right)
 
     def __check208(self, node):
         """
@@ -1500,7 +1465,7 @@
             and isinstance(node.operand.op, ast.Not)
         ):
             var = unparse(node.operand.operand)
-            self.__error(node.lineno - 1, node.col_offset, "Y-208", var)
+            self.__error(node, "Y-208", var)
 
     def __check211(self, node):
         """
@@ -1521,7 +1486,7 @@
                 newCond = "bool({0})".format(cond)
             else:
                 newCond = cond
-            self.__error(node.lineno - 1, node.col_offset, "Y-211", cond, newCond)
+            self.__error(node, "Y-211", cond, newCond)
 
     def __check212(self, node):
         """
@@ -1545,7 +1510,7 @@
                     newCond = unparse(self.__negateTest(node.test))
                 else:
                     newCond = "not ({0})".format(cond)
-            self.__error(node.lineno - 1, node.col_offset, "Y-212", cond, newCond)
+            self.__error(node, "Y-212", cond, newCond)
 
     def __check213(self, node):
         """
@@ -1562,7 +1527,7 @@
         ):
             a = unparse(node.test.operand)
             b = unparse(node.body)
-            self.__error(node.lineno - 1, node.col_offset, "Y-213", a, b)
+            self.__error(node, "Y-213", a, b)
 
     def __check221(self, node):
         """
@@ -1586,7 +1551,7 @@
                 for nonNegatedExpression in nonNegatedExpressions:
                     if self.__isSameExpression(negatedExpression, nonNegatedExpression):
                         negExp = unparse(negatedExpression)
-                        self.__error(node.lineno - 1, node.col_offset, "Y-221", negExp)
+                        self.__error(node, "Y-221", negExp)
 
     def __check222(self, node):
         """
@@ -1610,7 +1575,7 @@
                 for nonNegatedExpression in nonNegatedExpressions:
                     if self.__isSameExpression(negatedExpression, nonNegatedExpression):
                         negExp = unparse(negatedExpression)
-                        self.__error(node.lineno - 1, node.col_offset, "Y-222", negExp)
+                        self.__error(node, "Y-222", negExp)
 
     def __check223(self, node):
         """
@@ -1623,7 +1588,7 @@
         if isinstance(node.op, ast.Or):
             for exp in node.values:
                 if isinstance(exp, ast.Constant) and exp.value is True:
-                    self.__error(node.lineno - 1, node.col_offset, "Y-223")
+                    self.__error(node, "Y-223")
 
     def __check224(self, node):
         """
@@ -1636,7 +1601,7 @@
         if isinstance(node.op, ast.And):
             for exp in node.values:
                 if isinstance(exp, ast.Constant) and exp.value is False:
-                    self.__error(node.lineno - 1, node.col_offset, "Y-224")
+                    self.__error(node, "Y-224")
 
     def __check301(self, node):
         """
@@ -1658,7 +1623,7 @@
             if isStr:
                 left = f"'{left}'"
             right = unparse(node.comparators[0])
-            self.__error(node.lineno - 1, node.col_offset, "Y-301", left, right)
+            self.__error(node, "Y-301", left, right)
 
     def __check401(self, node):
         """
@@ -1677,7 +1642,7 @@
         isException = isinstance(node.func, ast.Attribute) and node.func.attr in ["get"]
 
         if hasBareBool and not isException:
-            self.__error(node.lineno - 1, node.col_offset, "Y-401")
+            self.__error(node, "Y-401")
 
     def __check402(self, node):
         """
@@ -1698,7 +1663,7 @@
         )
 
         if hasBareNumeric and not isException:
-            self.__error(node.lineno - 1, node.col_offset, "Y-402")
+            self.__error(node, "Y-402")
 
     def __check411(self, node):
         """
@@ -1715,7 +1680,7 @@
                     self.__check411(innerNode)
 
             if fieldName == "value" and isinstance(value, ast.JoinedStr):
-                self.__error(node.lineno - 1, node.col_offset, "Y-411")
+                self.__error(node, "Y-411")
 
     def __check901(self, node):
         """
@@ -1732,7 +1697,7 @@
         ):
             actual = unparse(node)
             expected = unparse(node.args[0])
-            self.__error(node.lineno - 1, node.col_offset, "Y-901", expected, actual)
+            self.__error(node, "Y-901", expected, actual)
 
     def __check904(self, node):
         """
@@ -1755,7 +1720,7 @@
         ):
             dictName = unparse(node.targets[0])
             if not self.__expressionUsesVariable(n2.value, dictName):
-                self.__error(node.lineno - 1, node.col_offset, "Y-904", dictName)
+                self.__error(node, "Y-904", dictName)
 
     def __check905(self, node):
         """
@@ -1773,7 +1738,7 @@
 
             expected = json.dumps(value.split())
             actual = unparse(node.func.value) + ".split()"
-            self.__error(node.lineno - 1, node.col_offset, "Y-905", expected, actual)
+            self.__error(node, "Y-905", expected, actual)
 
     def __check906(self, node):
         """
@@ -1827,7 +1792,7 @@
 
             actual = unparse(node)
             expected = "os.path.join({0})".format(", ".join(names))
-            self.__error(node.lineno - 1, node.col_offset, "Y-906", expected, actual)
+            self.__error(node, "Y-906", expected, actual)
 
     def __check907(self, node):
         """
@@ -1858,9 +1823,7 @@
 
             if len(others) == 1 and hasNone:
                 type_ = unparse(others[0])
-                self.__error(
-                    node.lineno - 1, node.col_offset, "Y-907", type_, unparse(node)
-                )
+                self.__error(node, "Y-907", type_, unparse(node))
 
     def __check909(self, node):
         """
@@ -1877,7 +1840,7 @@
 
         if len(names) != len(set(names)) and not isinstance(node.parent, ast.ClassDef):
             srccode = unparse(node)
-            self.__error(node.lineno - 1, node.col_offset, "Y-909", srccode)
+            self.__error(node, "Y-909", srccode)
 
     def __check910(self, node):
         """
@@ -1905,7 +1868,7 @@
         func = unparse(node.func)
         key = unparse(node.args[0])
         expected = f"{func}({key})"
-        self.__error(node.lineno - 1, node.col_offset, "Y-910", expected, actual)
+        self.__error(node, "Y-910", expected, actual)
 
     def __check911(self, node):
         """
@@ -1931,9 +1894,7 @@
                 and secondArg.func.attr == "values"
                 and firstArg.func.value.id == secondArg.func.value.id
             ):
-                self.__error(
-                    node.lineno - 1, node.col_offset, "Y-911", firstArg.func.value.id
-                )
+                self.__error(node, "Y-911", firstArg.func.value.id)
 
 
 #

eric ide

mercurial