LuaLS / LuaLS/lua-language-server
[Feature request]: Cast class fields
未关闭
还没有人认领这个 Issue。
enhancement
feat/type check
- 主要语言
- Lua
- 星标
- 4.4k
- 派生
- 442
- PR 合并指标
- 30 天内没有已合并 PR
描述
If I have any class, and I get a warning like the following on a function that is being given a class field as a parameter (e.g., tohex(class_name.class_field)):
Cannot assign `string|integer` to parameter `integer`.
[Lua Diagnostics.: param-type-mismatch]
Is there already a way to cast this class field? If not, could it be implemented?
When trying to cast something like ---@cast group.foreground -string, I get the warning:
Unknown type conversion variable `{}`.
[Lua Diagnostics.: unknown-cast-variable]
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
首先跟踪 issue 中描述的 unknown-cast-variable 和 param-type-mismatch 诊断,然后检查 cast 当前如何解析变量和类字段。当诸如 ---@cast group.foreground -string 这样的 cast 被接受,并且在将该字段传递给仅接受整数的函数时移除报告的类型警告,即表示完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- lua
- 领域
- devtools
- Issue 类型
- 功能
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100