CppCXY / EmmyLuaAnalyzer

a new EmmyLua Language Server
MIT License
39 stars 6 forks source link

索引查找bug #17

Closed luqingyang closed 1 month ago

luqingyang commented 1 month ago
---@field a number
---@field b number
local A = {
    a = 1,
    aa = 2
}

function A:print()

end

---@generic V
---@param super any
---@param name `V`
---@return V
function inherit(super, name)
    local newClass = {}
    newClass.__index = newClass
    return setmetatable(newClass, super)
end

---@class B : A
local B = inherit(A, "B")

function B:print()
    local sf = self
    sf.a = 10
end

如上代码,期望倒数第二行sf.a可以查到找基类A中a字段的定义,基类A中查找field a的引用可以查找到sf.a=10的代码行。 目前测试下来,a的定义和引用极大概率查找不成功,小概率成功

xuhuanzy commented 1 month ago

A没有声明class

luqingyang commented 1 month ago

。确实