mirror of
https://github.com/github/codeql.git
synced 2026-04-30 11:15:13 +02:00
Initial commit of Python queries and QL libraries.
This commit is contained in:
committed by
Mark Shannon
parent
90c75cd362
commit
5f58824d1b
21
python/ql/src/Functions/OverlyComplexDelMethod.ql
Normal file
21
python/ql/src/Functions/OverlyComplexDelMethod.ql
Normal file
@@ -0,0 +1,21 @@
|
||||
/**
|
||||
* @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 FunctionObject method
|
||||
where exists(ClassObject c | c.declaredAttribute("__del__") = method and
|
||||
method.getFunction().getMetrics().getCyclomaticComplexity() > 3)
|
||||
select method, "Overly complex '__del__' method."
|
||||
Reference in New Issue
Block a user