mirror of
https://github.com/github/codeql.git
synced 2025-12-24 12:46:34 +01:00
Without backticks, the text UNDERSCORE UNDERSCORE eq UNDERSCORE UNDERSCORE would be considered to make things bold in our markdown output, making the query info look strange. Example https://codeql.github.com/codeql-query-help/python/py-slots-in-old-style-class/
25 lines
644 B
Plaintext
25 lines
644 B
Plaintext
/**
|
|
* @name Overly complex `__del__` method
|
|
* @description `__del__` methods may be called at arbitrary times, perhaps never called at all, and should be simple.
|
|
* @kind problem
|
|
* @tags efficiency
|
|
* maintainability
|
|
* complexity
|
|
* statistical
|
|
* non-attributable
|
|
* @problem.severity recommendation
|
|
* @sub-severity low
|
|
* @precision high
|
|
* @id py/overly-complex-delete
|
|
*/
|
|
|
|
import python
|
|
|
|
from FunctionValue method
|
|
where
|
|
exists(ClassValue c |
|
|
c.declaredAttribute("__del__") = method and
|
|
method.getScope().getMetrics().getCyclomaticComplexity() > 3
|
|
)
|
|
select method, "Overly complex '__del__' method."
|