From 853df144683ead450489d69e8ba5663a39ddb764 Mon Sep 17 00:00:00 2001 From: Taus Date: Tue, 24 Feb 2026 16:11:56 +0000 Subject: [PATCH] Python: Port OverlyComplexDelMethod.ql Only trivial test changes. --- python/ql/src/Functions/OverlyComplexDelMethod.ql | 11 +++++------ .../Functions/general/OverlyComplexDelMethod.expected | 2 +- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/python/ql/src/Functions/OverlyComplexDelMethod.ql b/python/ql/src/Functions/OverlyComplexDelMethod.ql index 6b08a40fa29..3510c0daac4 100644 --- a/python/ql/src/Functions/OverlyComplexDelMethod.ql +++ b/python/ql/src/Functions/OverlyComplexDelMethod.ql @@ -12,12 +12,11 @@ */ import python -private import LegacyPointsTo +import semmle.python.Metrics -from FunctionValue method +from FunctionMetrics method where - exists(ClassValue c | - c.declaredAttribute("__del__") = method and - method.getScope().(FunctionMetricsWithPointsTo).getCyclomaticComplexity() > 3 - ) + method.getName() = "__del__" and + method.isMethod() and + method.getCyclomaticComplexity() > 3 select method, "Overly complex '__del__' method." diff --git a/python/ql/test/query-tests/Functions/general/OverlyComplexDelMethod.expected b/python/ql/test/query-tests/Functions/general/OverlyComplexDelMethod.expected index 2eff178d972..84c08d89426 100644 --- a/python/ql/test/query-tests/Functions/general/OverlyComplexDelMethod.expected +++ b/python/ql/test/query-tests/Functions/general/OverlyComplexDelMethod.expected @@ -1 +1 @@ -| protocols.py:74:5:74:22 | Function MegaDel.__del__ | Overly complex '__del__' method. | +| protocols.py:74:5:74:22 | Function __del__ | Overly complex '__del__' method. |