Method signature and method documentation can be out of sync in IntelliSense
還沒有人認領這個 Issue。
評估
- 難度
- 3/5
- 預估耗時
- 1-2 天
- 新手友好度
- 45/100
- Issue 類型
- 缺陷
- 描述清晰度
- 基本清楚
- 活躍度
- 停滯
- 技術堆疊
- typescript, vscode
研究方向
首先使用 issue 中的 QL 查詢重現此行為,並檢查將方法簽章與 QLDoc 結合的 IntelliSense 路徑。當 override 沒有自己的 QLDoc 時,顯示的參數清單與文件來自相同的方法定義,即表示完成。
由索引模型根據 Issue 內容生成。
描述
Describe the bug
This was discussed on Slack where I suggested this could be handled via a compiler warning. Thinking about it some more, however, I think it could equally be handled through a small change in the IDE.
(I wasn't sure whether to classify this as a bug, but it certainly is suprising and potentially confusing behaviour, so I figured "bug" was the most suitable label.)
To Reproduce
Create a query file with the following contents
class SmallNat extends int {
SmallNat() { this in [0 .. 10] }
}
class Super extends int {
Super() { this in [1, 2] }
/** Gets the result of subtracting `bar` from `foo`. */
int subtract(SmallNat foo, SmallNat bar) { result = foo - bar }
}
class Sub extends Super {
Sub() { this = 1 }
override int subtract(SmallNat bar, SmallNat foo) { result = bar - foo }
}
from Sub s, int val
where val = s.subtract(7, 5)
select val
If you hover over the call to s.subtract, the IntelliSense displayed will have the QLDoc associated with Super::subtract, but the parameter list associated with Sub::subtract (and thus incorrectly specify the behaviour of Sub::subtract).
Expected behavior
The parameter list should agree with the QLDoc presented. The most convenient way of achieving this would be to simply reuse the parameter list from Super::subtract when Sub::subtract doesn't supply any QLDoc of its own. In other words, making sure that the parameter list displayed comes from the same method definition as the QLDoc displayed.
- 主要語言
- TypeScript
- 星號
- 539
- 分支
- 240
- 平均合併
- 2 天 18 小時
- 30 天內合併 PR
- 37
貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
github/vscode-codeql 的其他 Issue
-
bug VSCode
難度 2/5 1-3 小時 新手友好度 68/100
github/vscode-codeql#4471 · 1 則留言 ·
-
bug enhancement VSCode
難度 2/5 1-3 小時 新手友好度 68/100
github/vscode-codeql#592 · 2 則留言 ·
-
enhancement VSCode
難度 3/5 1-2 天 新手友好度 55/100
github/vscode-codeql#4432 · 1 則留言 ·
-
bug VSCode
難度 3/5 1-2 天 新手友好度 52/100
github/vscode-codeql#4356 ·
-
bug VSCode
難度 3/5 1-2 天 新手友好度 64/100
github/vscode-codeql#4339 · 1 則留言 ·
查看 github/vscode-codeql 的全部 Issue
相似的 Issue
-
bug(cli): hapi doctor inline-media prints a fabricated B:\ helper-script path in packaged installs 未關閉
難度 2/5 1-3 小時 新手友好度 70/100
-
Crush 未關閉
難度 1/5 1 小時以內 新手友好度 85/100
catppuccin/catppuccin#3125 ·
-
難度 1/5 1 小時以內 新手友好度 90/100
ElementsProject/cln-application#167 · 1 則留言 · 1 個 reaction ·
-
難度 2/5 1-3 小時 新手友好度 75/100
Quantco/pnpm-licenses#17 ·
-
難度 2/5 1-3 小時 新手友好度 75/100