MagicStack / MagicStack/MagicPython

[Bug] Class method 'self' looses special self scope with added type annotation

未關閉
#209 1 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

還沒有人認領這個 Issue。

主要語言
JavaScript
星號
1.4k
分支
98
PR 合併指標
30 天內沒有已合併 PR

描述

Got send here from 'vscode-python' https://github.com/microsoft/vscode-python/issues/11593

* **Editor name and version**: VS Code version: 1.44.2
* **Platform**: Windows_NT x64 10.0.17134
* **Color scheme**: Custom (close to Monokai)
* **MagicPython version**: Dunno which vscode uses

Without type annotation everything is just fine.
![image](https://user-images.githubusercontent.com/43916661/81209538-fa16f700-8fd0-11ea-80c4-73b9e1b86bd8.png)

When a type annotation is added to the `self` parameter the special scope for `self` is missing.
![image](https://user-images.githubusercontent.com/43916661/81209597-0602b900-8fd1-11ea-92b1-0444b29f0643.png)

## Steps to reproduce:

Paste the following code into a *.py file and inspect the `self` parameter with the developer token inspect tool. Like in the screenshots above.
The `self` parameter of the `bad_func` should show the actual scopes and the `self` parameter of the `good_func` should show the expected scopes.
```
class Test:
def bad_func(self: Test):
pass

def good_func(self):
pass
```

貢獻指南

這個儲存庫沒有索引到貢獻指南

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

研究方向

從重現的 Python 程式碼片段開始,使用開發者 token 檢查工具檢查有註解和無註解的 self 參數的 token 範圍。追蹤處理類別方法參數的語法醒目提示路徑;當 self: Test 保留與未註解的 self 相同的特殊 self 範圍時,即表示完成。

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

評估

技術堆疊
javascript, python
領域
tooling
Issue 類型
缺陷
難度
3/5
預估耗時
1-2 天
活躍度
停滯
描述清晰度
描述清楚
新手友好度
35/100

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

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