github / github/codeql

False positive for java 21 switch case with null, default

未關閉
#22,040 2 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
false-positive Stale
主要語言
CodeQL
星號
10.1k
分支
2.1k
平均合併
2 天 15 小時
30 天內合併 PR
141

描述

### Version
CodeQL CLI: 2.25.6
github/codeql-action: v3
JDK: 21
OS: ubuntu-latest

### What happened?
CodeQL Java extraction fails on valid Java 21 switch syntax.

Error:
- Unable to parse source file: `.../PrintixService.java`
- Parse error at line 84 column 23: Syntax error on token "default", invalid Expression

Then finalize fails with:
- "CodeQL detected code written in Java/Kotlin but could not process any of it."
- exit code 32

### Minimal reproducible example
```java
static String f(Object x) {
return switch (x) {
case null, default -> "v";
};
}

貢獻指南

開啟貢獻指南

研究方向

使用最小的 Java 21 switch 範例和所參照的 PrintixService.java 案例,重現 CodeQL Java 擷取失敗。首先追蹤 Java extractor 對涉及 null 和 default 的 switch 標籤的解析。完成標準是:有效的 Java 21 原始碼能夠成功擷取,且 finalization 能夠在沒有報告的錯誤下處理 Java 程式碼。

由索引模型根據 Issue 內容生成。

評估

技術堆疊
java
領域
compilers
Issue 類型
缺陷
難度
3/5
預估耗時
1-2 天
活躍度
冷清
描述清晰度
基本清楚
新手友好度
55/100

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。