JS: use 'Util::describeExpression' in js/trivial-conditional

This commit is contained in:
Esben Sparre Andreasen
2018-10-31 09:09:40 +01:00
parent 4e54af3b41
commit 651f32514b
2 changed files with 19 additions and 22 deletions

View File

@@ -138,10 +138,7 @@ where isConditional(cond, op.asExpr()) and
// otherwise we just report that `op` always evaluates to `cv`
else (
sel = op.asExpr().stripParens() and
if sel instanceof VarAccess then
msg = "Variable '" + sel.(VarAccess).getVariable().getName() + "' always evaluates to " + cv + " here."
else
msg = "This expression always evaluates to " + cv + "."
msg = "This " + describeExpression(sel) + " always evaluates to " + cv + "."
)
select sel, msg

View File

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