False positive for java 21 switch case with null, default

オープン
#22,040 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
55/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
静か
技術スタック
java
領域
compilers

調査の方向性

最小限の Java 21 の switch 例と、参照されている PrintixService.java のケースを使って、CodeQL の Java 抽出の失敗を再現します。まず、null と default を含む switch ラベルについて、Java extractor による解析を追跡します。正常な Java 21 ソースが正常に抽出され、finalization で報告されたエラーなしに Java コードが処理されれば完了です。

索引モデルが issue の本文から書いたものです。

説明

false-positive Stale
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
static String f(Object x) {
  return switch (x) {
    case null, default -> "v";
  };
}
主要言語
CodeQL
スター
10.1k
フォーク
2.1k
平均マージ
2日 10時間
マージ済み PR(30日)
134

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

github/codeql のほかの issue

github/codeql の issue をすべて見る

似ている issue

Compilers の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。