LuaLS / LuaLS/lua-language-server
Advanced missing nil check
未关闭
还没有人认领这个 Issue。
enhancement
- 主要语言
- Lua
- 星标
- 4.4k
- 派生
- 442
- PR 合并指标
- 30 天内没有已合并 PR
描述
This is probably really hard to "fix".
```lua
---@type table|nil
local blueprint = { x = 1 }
local hasBlueprint = true
if blueprint == nil then
hasBlueprint = false
end
if hasBlueprint then
error("no blueprint found")
end
local s = blueprint.x
```

贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
首先复现所提供的 Lua 示例,并检查语言服务器的 nil 检查和控制流分析。确认访问 blueprint.x 时预期的诊断,然后跟踪相关的分析器入口点,并添加或更新有针对性的覆盖测试,以便所示案例得到一致处理。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- lua
- 领域
- devtools
- Issue 类型
- 缺陷
- 难度
- 5/5
- 预计耗时
- 一周以上
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 25/100