LuaLS / LuaLS/lua-language-server

duplicate field error when setting a field to a function in an if/else

未關閉
#1,794 2 則留言 5 個 reaction 已指派 0 人 在 GitHub 檢視

還沒有人認領這個 Issue。

enhancement
主要語言
Lua
星號
4.4k
分支
442
PR 合併指標
30 天內沒有已合併 PR

描述

### How are you using the lua-language-server?

Visual Studio Code Extension (sumneko.lua)

### Which OS are you using?

Windows

### What is the issue affecting?

Diagnostics/Syntax Checking

### Expected Behaviour

No duplicate field error

### Actual Behaviour

![image](https://user-images.githubusercontent.com/12116957/209880315-80b766fb-41da-4a94-9454-d0229cc7a943.png)
``` local t = {}
if x then
t.s = function() return 1 end
else
t.s = function() return 2 end
end
```
This is not a duplicate field and should not be an error

### Reproduction steps

``` local t = {}
if x then
t.s = function() return 1 end
else
t.s = function() return 2 end
end
```
Write that into the editor. See error as indicated above.

### Additional Notes

v3.6.4

### Log File

[file_c%3A_Users_User_AppData_Roaming_Factorio_mods_space-exploration.log](https://github.com/sumneko/lua-language-server/files/10316714/file_c.3A_Users_User_AppData_Roaming_Factorio_mods_space-exploration.log)

貢獻指南

開啟貢獻指南

從這裡開始

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

研究方向

使用提供的條件指派程式碼片段在 Visual Studio Code 擴充功能中重現該診斷,重點關注 Diagnostics/Syntax Checking 進入點。追蹤為什麼兩個分支指派會被回報為重複欄位,然後驗證同一個範例不再產生該錯誤。

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

評估

技術堆疊
lua
領域
devtools
Issue 類型
缺陷
難度
4/5
預估耗時
3-5 天
活躍度
停滯
描述清晰度
描述清楚
新手友好度
45/100

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

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