Skip to content

Commit ea1ee68

Browse files
committed
QL: fix join order of ql/override-swapped-name
1 parent 5717a21 commit ea1ee68

File tree

1 file changed

+24
-5
lines changed

1 file changed

+24
-5
lines changed

ql/ql/src/queries/style/SwappedParameterNames.ql

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,31 @@ private predicate getAnOverridingParameter(
1919
parameter = pred.getParameter(index)
2020
}
2121

22-
from ClassPredicate pred, ClassPredicate sup, VarDecl parameter, int index
23-
where
22+
pragma[noinline]
23+
private predicate getAnOverridingParameterWithDifferentNames(
24+
ClassPredicate pred, ClassPredicate sup, VarDecl parameter, int index
25+
) {
2426
getAnOverridingParameter(pred, sup, parameter, index) and
25-
sup.getParameter(index).getName() != pred.getParameter(index).getName() and
2627
exists(int other | other != index |
2728
sup.getParameter(other).getName() = pred.getParameter(index).getName()
2829
)
29-
select parameter, pred.getParameter(index).getName() + " was $@ in the super class.",
30-
sup.getParameter(index), "named " + sup.getParameter(index).getName()
30+
}
31+
32+
pragma[noinline]
33+
private predicate getAnOverridingParameterWithDifferentNames2(
34+
ClassPredicate pred, ClassPredicate sup, VarDecl parameter, int index, string supName,
35+
string predName
36+
) {
37+
getAnOverridingParameterWithDifferentNames(pred, sup, parameter, index) and
38+
supName = pragma[only_bind_out](pragma[only_bind_out](sup).getParameter(index)).getName() and
39+
predName = pragma[only_bind_out](pragma[only_bind_out](pred).getParameter(index)).getName()
40+
}
41+
42+
from
43+
ClassPredicate pred, ClassPredicate sup, VarDecl parameter, int index, string supName,
44+
string predName
45+
where
46+
getAnOverridingParameterWithDifferentNames2(pred, sup, parameter, index, supName, predName) and
47+
supName != predName
48+
select parameter, predName + " was $@ in the super class.", sup.getParameter(index),
49+
"named " + supName

0 commit comments

Comments
 (0)