Skip to content

Commit 3feee23

Browse files
committed
fix performance in ql/override-parameter-name and lower the precision to low (it has 1407 results)
1 parent 39973df commit 3feee23

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

ql/ql/src/queries/style/OverridingParameterName.ql

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
* @id ql/override-parameter-name
77
* @tags correctness
88
* maintainability
9-
* @precision medium
9+
* @precision low
1010
*/
1111

1212
import ql
@@ -19,13 +19,18 @@ private predicate getAnOverridingParameter(
1919
parameter = pred.getParameter(index)
2020
}
2121

22+
pragma[nomagic]
23+
string getParameterName(ClassPredicate pred, int index) {
24+
pred.getParameter(index).getName() = result
25+
}
26+
2227
from ClassPredicate pred, ClassPredicate sup, VarDecl parameter, int index
2328
where
2429
getAnOverridingParameter(pred, sup, parameter, index) and
25-
sup.getParameter(index).getName() != pred.getParameter(index).getName() and
30+
getParameterName(sup, index) != getParameterName(pred, index) and
2631
// avoid duplicated alerts with `ql/override-swapped-name`
2732
not exists(int other | other != index |
28-
sup.getParameter(other).getName() = pred.getParameter(index).getName()
33+
getParameterName(sup, other) = getParameterName(pred, index)
2934
)
3035
select parameter, pred.getParameter(index).getName() + " was $@ in the super class.",
3136
sup.getParameter(index), "named " + sup.getParameter(index).getName()

0 commit comments

Comments
 (0)