LuaLS / LuaLS/lua-language-server
`@deprecated` is ignored on globals when assigned by another global
Đang mở
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- Lua
- Star
- 4.4k
- Fork
- 442
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
meta.lua
---@meta
--
--Assigning a global fails.
--
Global = {}
---@deprecated
AssignedGlobal = Global
--
--Assigning a field of a global also fails.
--
Global.field = {}
---@deprecated
AssignedGlobalField = Global.field
--
--Standard object works.
--
---@deprecated
Object = {}
--
--Assignment of local object works.
--
local alsoWorking = {}
---@deprecated
AssignedLocalObject = alsoWorking
test.lua
local x = AssignedGlobal
local y = AssignedGlobalField
local z = Object
local a = AssignedLocalObject
Interestingly the deprecation is shown correctly in the autocomplete:
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Bắt đầu với reproducer trong meta.lua và test.lua, sau đó chạy nó qua language server để so sánh cách xử lý deprecation đối với các phép gán toàn cục, trường, đối tượng chuẩn và cục bộ. Hoàn tất khi AssignedGlobal và AssignedGlobalField được đánh dấu là deprecated giống như Object và AssignedLocalObject, đồng thời giữ nguyên hành vi autocomplete.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- lua
- Lĩnh vực
- devtools
- Loại issue
- Lỗi
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 45/100