@@ -11,32 +11,30 @@ abstract class UnusedParameterSharedQuery extends Query { }
1111
1212Query getQuery ( ) { result instanceof UnusedParameterSharedQuery }
1313
14- query predicate isMaybeUnusedParameter ( Parameter parameter ) {
14+ predicate isMaybeUnusedParameter ( Parameter parameter ) {
1515 parameter .getAnAttribute ( ) .toString ( ) = "maybe_unused"
1616}
1717
1818predicate isLambdaParameter ( Parameter parameter ) {
1919 exists ( LambdaExpression lambda | lambda .getLambdaFunction ( ) .getParameter ( _) = parameter )
2020}
2121
22- predicate isLambdaMaybeUnusedParameter ( Parameter parameter ) {
23- exists ( LambdaExpression lambda | lambda .getLambdaFunction ( ) .getParameter ( _) = parameter ) and
24- isMaybeUnusedParameter ( parameter )
25- }
26-
27- query predicate lambdaExprParamHasAccess ( Parameter parameter ) {
28- exists ( VariableAccess va | isLambdaParameter ( parameter ) and parameter .getAnAccess ( ) = va )
29- }
30-
3122query predicate problems ( UnusedParameter p , string message , Function f , string fName ) {
3223 not isExcluded ( p , getQuery ( ) ) and
33- (
24+ if isLambdaParameter ( p )
25+ then (
26+ not isMaybeUnusedParameter ( p ) and
27+ f = p .getFunction ( ) and
28+ // Virtual functions are covered by a different rule
29+ not f .isVirtual ( ) and
30+ message = "Unused parameter '" + p .getName ( ) + "' for function $@." and
31+ fName = "lambda expression"
32+ ) else (
3433 not isMaybeUnusedParameter ( p ) and
3534 f = p .getFunction ( ) and
3635 // Virtual functions are covered by a different rule
37- not f .isVirtual ( )
38- ) and
39- message = "Unused parameter '" + p .getName ( ) + "' for function $@." and
40- // fName = f.getQualifiedName()
41- fName = "TODO."
36+ not f .isVirtual ( ) and
37+ message = "Unused parameter '" + p .getName ( ) + "' for function $@." and
38+ fName = f .getQualifiedName ( )
39+ )
4240}
0 commit comments