Skip to content

Commit 3cd0a8d

Browse files
committed
fix type checkings
1 parent c2fb295 commit 3cd0a8d

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

script/vm/compiler.lua

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -305,7 +305,7 @@ end
305305

306306
---@param uri uri
307307
---@param classGlobal vm.global
308-
---@param field parser.object
308+
---@param field parser.object | vm.generic
309309
---@param signs parser.object[]
310310
---@return parser.object?
311311
local function resolveGenericField(uri, classGlobal, field, signs)
@@ -1688,7 +1688,7 @@ local function bindReturnOfFunction(source, mfunc, index, args)
16881688
if mfunc.type == 'function' then
16891689
local hasUnresolvedGeneric = false
16901690
for rnode in returnNode:eachObject() do
1691-
if rnode.type == 'doc.generic.name' and not rnode._resolved then
1691+
if vm.isGenericUnsolved(rnode) then
16921692
hasUnresolvedGeneric = true
16931693
break
16941694
end

script/vm/generic.lua

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ local mt = {}
1212
mt.__index = mt
1313
mt.type = 'generic'
1414

15-
---@param source vm.object?
15+
---@param source table?
1616
---@param resolved? table<string, vm.node>
1717
---@return vm.object?
1818
local function cloneObject(source, resolved)
@@ -196,6 +196,14 @@ function vm.getGenericResolved(source)
196196
return source._resolved
197197
end
198198

199+
---@param source table
200+
function vm.isGenericUnsolved(source)
201+
if source.type == 'doc.generic.name' and not source._resolved then
202+
return true
203+
end
204+
return false
205+
end
206+
199207
---@param source parser.object
200208
---@param generic vm.generic
201209
function vm.setGeneric(source, generic)
@@ -219,7 +227,7 @@ function vm.createGeneric(proto, sign)
219227
return generic
220228
end
221229

222-
---@param source vm.object?
230+
---@param source table?
223231
---@param resolved? table<string, vm.node>
224232
---@return vm.object?
225233
function vm.cloneObject(source, resolved)

0 commit comments

Comments
 (0)