Discovering main class does not work with arguments
まだ誰も着手していません。
評価
調査の方向性
JDTDelegateCommandHandler.java:94 から開始し、vscode.java.resolveMainClass パスをたどって ResolveMainClassHandler まで進みます。単一ファイルの URI を使って workspace/executeCommand リクエストを再現し、その引数が String-to-ArrayList cast failure なしで処理されること、および main-class の結果が関連するプロジェクトに絞り込まれることを確認します。
索引モデルが issue の本文から書いたものです。
説明
Hi i am attempting to call the vscode.java.resolveMainClass with a single argument (the arguments param being array with one entry, the uri) being the uri to a file which is part of a project to which jdtls has been attached to with the java-debug extension enabled. If i try to do that, i get empty response, no errors seemingly. If i pass no uri, just call the command to resolve the main classes it returns fine, the issue here is that i have single jdtls instance which has multiple workspaces / projects attached to it, and so i would like to use the argument to narrow down the result to only the current workspace / context by passing the uri. According to the implementation, it is supposed to handle file uris passed as the first and only argument to this method to use it to resolve the result in ResolveMainClassHandler
[ERROR][2023-05-22 16:04:05] ...lsp/handlers.lua:535 "May 22, 2023, 4:04:05 PM Error in calling delegate command handler\nclass java.lang.String cannot be cast to class java.util.ArrayList (java.lang.String and java.util.ArrayList are in module java.base of loader 'bootstrap')\njava.lang.ClassCastException: class java.lang.String cannot be cast to class java.util.ArrayList (java.lang.String and java.util.ArrayList are in module java.base of loader 'bootstrap')\n\tat org.eclipse.jdt.ls.core.internal.JDTDelegateCommandHandler.executeCommand(JDTDelegateCommandHandler.java:94)\n\tat org.eclipse.jdt.ls.core.internal.handlers.WorkspaceExecuteCommandHandler$1.run(WorkspaceExecuteCommandHandler.java:230)\n\tat org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)\n\tat org.eclipse.jdt.ls.core.internal.handlers.WorkspaceExecuteCommandHandler.executeCommand(WorkspaceExecuteCommandHandler.java:220)\n\tat org.eclipse.jdt.ls.core.internal.handlers.JDTLanguageServer.lambda$4(JDTLanguageServer.java:585)\n\tat org.eclipse.jdt.ls.core.internal.BaseJDTLanguageServer.lambda$0(BaseJDTLanguageServer.java:87)\n\tat java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:646)\n\tat java.base/java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:483)\n\tat java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)\n\tat java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)\n\tat java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)\n\tat java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)\n\tat java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)\n"
Here is what is being sent
[DEBUG][2023-05-22 16:13:01] .../vim/lsp/rpc.lua:284 "rpc.send" { id = 6, jsonrpc = "2.0", method = "workspace/executeCommand", params = { arguments = { "file:///home/asmodeus/.projects/javahehe/src/main/java/com/mycompany/app/App17.java" }, command = "vscode.java.resolveMainClass" }}
- 主要言語
- Java
- スター
- 409
- フォーク
- 204
- 平均マージ
- 1日 13時間
- マージ済み PR(30日)
- 4
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
microsoft/java-debug のほかの issue
-
ai-triaged bug
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
microsoft/java-debug#611 · コメント 2 件 ·
-
ai-triaged enhancement
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
microsoft/java-debug#608 · コメント 3 件 ·
-
ai-triaged question
難易度 5/5 1週間以上 初心者へのやさしさ 30/100
microsoft/java-debug#597 · コメント 1 件 ·
-
ai-triaged bug
難易度 4/5 3〜5日 初心者へのやさしさ 25/100
microsoft/java-debug#588 · コメント 1 件 ·
-
ai-triaged question
難易度 2/5 1〜3時間 初心者へのやさしさ 35/100
microsoft/java-debug#582 · コメント 1 件 ·
microsoft/java-debug の issue をすべて見る
似ている issue
-
awaiting triage bug Causes friction Hop Gui P1 P2 Transforms
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
apache/flink-agents#1152 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
jenkinsci/blueocean-plugin#5417 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
objectionary/eo-graphs#75 ·