File tree Expand file tree Collapse file tree 3 files changed +11
-4
lines changed
test/query-tests/Expressions/ExprHasNoEffect Expand file tree Collapse file tree 3 files changed +11
-4
lines changed Original file line number Diff line number Diff line change @@ -178,6 +178,13 @@ predicate hasNoEffect(Expr e) {
178178 e .getParent ( ) = parent and
179179 e .getLastToken ( ) .getNextToken ( ) .getValue ( ) = ":"
180180 ) and
181+ // exclude expressions that are part of a conditional expression
182+ not exists ( ConditionalExpr cond | e .getParent ( ) = cond |
183+ e instanceof NullLiteral or
184+ e instanceof GlobalVarAccess or
185+ e .( NumberLiteral ) .getIntValue ( ) = 0 or
186+ e .( UnaryExpr ) .getOperator ( ) = "void"
187+ ) and
181188 // exclude the first statement of a try block
182189 not e = any ( TryStmt stmt ) .getBody ( ) .getStmt ( 0 ) .( ExprStmt ) .getExpr ( ) and
183190 // exclude expressions that are alone in a file, and file doesn't contain a function.
Original file line number Diff line number Diff line change 1212| tst.js:50:3:50:36 | new Err ... age(e)) | This expression has no effect. |
1313| tst.js:61:2:61:20 | o.trivialNonGetter1 | This expression has no effect. |
1414| tst.js:77:24:77:24 | o | This expression has no effect. |
15- | tst.js:83:43:83:46 | null | This expression has no effect. |
16- | tst.js:84:42:84:45 | null | This expression has no effect. |
1715| uselessfn.js:1:2:1:26 | functio ... d.");\\n} | This expression has no effect. |
Original file line number Diff line number Diff line change @@ -80,6 +80,8 @@ function g() {
8080 consume ( testSomeCondition ( ) ? o :
8181 doSomethingDangerous ( ) ) ;
8282
83- ( "release" === isRelease ( ) ? warning ( ) : null ) ; // $ Alert
84- "release" === isRelease ( ) ? warning ( ) : null ; // $ Alert
83+ ( "release" === isRelease ( ) ? warning ( ) : null ) ;
84+ "release" === isRelease ( ) ? warning ( ) : null ;
85+ "release" === isRelease ( ) ? warning ( ) : 0 ;
86+ "release" === isRelease ( ) ? warning ( ) : undefined ;
8587} ;
You can’t perform that action at this time.
0 commit comments