diff --git a/java/ql/lib/semmle/code/java/deadcode/DeadCode.qll b/java/ql/lib/semmle/code/java/deadcode/DeadCode.qll index 8dbb9bb530e..c9d77a17115 100644 --- a/java/ql/lib/semmle/code/java/deadcode/DeadCode.qll +++ b/java/ql/lib/semmle/code/java/deadcode/DeadCode.qll @@ -304,6 +304,9 @@ class RootdefCallable extends Callable { this.getAnAnnotation() instanceof OverrideAnnotation or this.hasModifier("override") + or + // Exclude generated callables, such as `...$default` ones extracted from Kotlin code. + this.isCompilerGenerated() } } diff --git a/java/ql/test/kotlin/query-tests/UselessParameter/UselessParameter.expected b/java/ql/test/kotlin/query-tests/UselessParameter/UselessParameter.expected index e53f04ec1c9..106448e7ed7 100644 --- a/java/ql/test/kotlin/query-tests/UselessParameter/UselessParameter.expected +++ b/java/ql/test/kotlin/query-tests/UselessParameter/UselessParameter.expected @@ -1,2 +1 @@ -| Test.kt:11:1:11:22 | p2 | The parameter 'p2' is never used. | | Test.kt:11:8:11:18 | a | The parameter 'a' is never used. |