add query to detect uses of getAQlClass

This commit is contained in:
Erik Krogh Kristensen
2021-10-14 11:12:22 +02:00
parent 486fc453e7
commit 949ead913f

View File

@@ -0,0 +1,22 @@
/**
* @name Don't use getAQlClass.
* @description Any use of getAQlClass causes both compile-time and runtime to be significantly slower.
* @kind problem
* @problem.severity warning
* @id ql/dont-use-getAQlClass
* @tags performance
* @precision very-high
*/
import ql
from Call call
where
(
call.(PredicateCall).getPredicateName() = "getAQlClass" or
call.(MemberCall).getMemberName() = "getAQlClass"
) and
not call.getLocation().getFile().getAbsolutePath().matches("%/" + ["meta", "test"] + "/%") and
not call.getLocation().getFile().getBaseName().toLowerCase() =
["consistency.ql", "test.ql", "tst.ql", "tests.ql"]
select call, "Don't use .getAQlClass"