Skip to content

Commit 651f325

Browse files
author
Esben Sparre Andreasen
committed
JS: use 'Util::describeExpression' in js/trivial-conditional
1 parent 4e54af3 commit 651f325

File tree

2 files changed

+19
-22
lines changed

2 files changed

+19
-22
lines changed

javascript/ql/src/Statements/UselessConditional.ql

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -138,10 +138,7 @@ where isConditional(cond, op.asExpr()) and
138138
// otherwise we just report that `op` always evaluates to `cv`
139139
else (
140140
sel = op.asExpr().stripParens() and
141-
if sel instanceof VarAccess then
142-
msg = "Variable '" + sel.(VarAccess).getVariable().getName() + "' always evaluates to " + cv + " here."
143-
else
144-
msg = "This expression always evaluates to " + cv + "."
141+
msg = "This " + describeExpression(sel) + " always evaluates to " + cv + "."
145142
)
146143

147144
select sel, msg
Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
1-
| UselessConditional.js:5:7:5:12 | !lines | This expression always evaluates to false. |
1+
| UselessConditional.js:5:7:5:12 | !lines | This negation always evaluates to false. |
22
| UselessConditional.js:12:34:12:79 | (v = ne ... k] = v) | This logical 'and' expression can be replaced with a comma expression. |
3-
| UselessConditional.js:17:9:17:9 | a | Use of variable 'a' always evaluates to false here. |
4-
| UselessConditional.js:18:9:18:9 | b | Use of variable 'b' always evaluates to false here. |
5-
| UselessConditional.js:21:9:21:9 | a | Use of variable 'a' always evaluates to false here. |
6-
| UselessConditional.js:22:9:22:9 | b | Use of variable 'b' always evaluates to false here. |
7-
| UselessConditional.js:26:6:26:6 | x | Use of variable 'x' always evaluates to true here. |
3+
| UselessConditional.js:17:9:17:9 | a | This use of variable 'a' always evaluates to false. |
4+
| UselessConditional.js:18:9:18:9 | b | This use of variable 'b' always evaluates to false. |
5+
| UselessConditional.js:21:9:21:9 | a | This use of variable 'a' always evaluates to false. |
6+
| UselessConditional.js:22:9:22:9 | b | This use of variable 'b' always evaluates to false. |
7+
| UselessConditional.js:26:6:26:6 | x | This use of variable 'x' always evaluates to true. |
88
| UselessConditional.js:27:7:27:13 | new X() | This constructor call to X always evaluates to true. |
9-
| UselessConditional.js:28:7:28:7 | x | Use of variable 'x' always evaluates to true here. |
10-
| UselessConditional.js:29:8:29:8 | x | Use of variable 'x' always evaluates to true here. |
9+
| UselessConditional.js:28:7:28:7 | x | This use of variable 'x' always evaluates to true. |
10+
| UselessConditional.js:29:8:29:8 | x | This use of variable 'x' always evaluates to true. |
1111
| UselessConditional.js:30:8:30:14 | new X() | This constructor call to X always evaluates to true. |
12-
| UselessConditional.js:33:7:33:7 | x | Use of variable 'x' always evaluates to false here. |
13-
| UselessConditional.js:54:9:54:13 | known | Use of variable 'known' always evaluates to false here. |
14-
| UselessConditional.js:60:9:60:15 | unknown | Use of variable 'unknown' always evaluates to false here. |
15-
| UselessConditional.js:65:5:65:5 | x | Use of variable 'x' always evaluates to true here. |
16-
| UselessConditional.js:76:13:76:13 | x | Use of variable 'x' always evaluates to true here. |
17-
| UselessConditional.js:82:13:82:13 | x | Use of variable 'x' always evaluates to true here. |
12+
| UselessConditional.js:33:7:33:7 | x | This use of variable 'x' always evaluates to false. |
13+
| UselessConditional.js:54:9:54:13 | known | This use of variable 'known' always evaluates to false. |
14+
| UselessConditional.js:60:9:60:15 | unknown | This use of variable 'unknown' always evaluates to false. |
15+
| UselessConditional.js:65:5:65:5 | x | This use of variable 'x' always evaluates to true. |
16+
| UselessConditional.js:76:13:76:13 | x | This use of variable 'x' always evaluates to true. |
17+
| UselessConditional.js:82:13:82:13 | x | This use of variable 'x' always evaluates to true. |
1818
| UselessConditional.js:89:10:89:16 | x, true | This expression always evaluates to true. |
19-
| UselessConditionalGood.js:58:12:58:13 | x2 | Use of variable 'x2' always evaluates to false here. |
20-
| UselessConditionalGood.js:69:12:69:13 | xy | Use of variable 'xy' always evaluates to false here. |
21-
| UselessConditionalGood.js:85:12:85:13 | xy | Use of variable 'xy' always evaluates to false here. |
22-
| UselessConditionalGood.js:97:12:97:13 | xy | Use of variable 'xy' always evaluates to false here. |
19+
| UselessConditionalGood.js:58:12:58:13 | x2 | This use of variable 'x2' always evaluates to false. |
20+
| UselessConditionalGood.js:69:12:69:13 | xy | This use of variable 'xy' always evaluates to false. |
21+
| UselessConditionalGood.js:85:12:85:13 | xy | This use of variable 'xy' always evaluates to false. |
22+
| UselessConditionalGood.js:97:12:97:13 | xy | This use of variable 'xy' always evaluates to false. |

0 commit comments

Comments
 (0)