mirror of
https://github.com/github/codeql.git
synced 2026-04-22 07:15:15 +02:00
Exclude expressions that are part of a conditional expression
This commit is contained in:
@@ -178,6 +178,13 @@ predicate hasNoEffect(Expr e) {
|
||||
e.getParent() = parent and
|
||||
e.getLastToken().getNextToken().getValue() = ":"
|
||||
) and
|
||||
// exclude expressions that are part of a conditional expression
|
||||
not exists(ConditionalExpr cond | e.getParent() = cond |
|
||||
e instanceof NullLiteral or
|
||||
e instanceof GlobalVarAccess or
|
||||
e.(NumberLiteral).getIntValue() = 0 or
|
||||
e.(UnaryExpr).getOperator() = "void"
|
||||
) and
|
||||
// exclude the first statement of a try block
|
||||
not e = any(TryStmt stmt).getBody().getStmt(0).(ExprStmt).getExpr() and
|
||||
// exclude expressions that are alone in a file, and file doesn't contain a function.
|
||||
|
||||
@@ -12,6 +12,4 @@
|
||||
| tst.js:50:3:50:36 | new Err ... age(e)) | This expression has no effect. |
|
||||
| tst.js:61:2:61:20 | o.trivialNonGetter1 | This expression has no effect. |
|
||||
| tst.js:77:24:77:24 | o | This expression has no effect. |
|
||||
| tst.js:83:43:83:46 | null | This expression has no effect. |
|
||||
| tst.js:84:42:84:45 | null | This expression has no effect. |
|
||||
| uselessfn.js:1:2:1:26 | functio ... d.");\\n} | This expression has no effect. |
|
||||
|
||||
@@ -80,6 +80,8 @@ function g() {
|
||||
consume(testSomeCondition() ? o :
|
||||
doSomethingDangerous());
|
||||
|
||||
("release" === isRelease() ? warning() : null); // $ Alert
|
||||
"release" === isRelease() ? warning() : null; // $ Alert
|
||||
("release" === isRelease() ? warning() : null);
|
||||
"release" === isRelease() ? warning() : null;
|
||||
"release" === isRelease() ? warning() : 0;
|
||||
"release" === isRelease() ? warning() : undefined;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user