Skip to content

Commit dd49a6d

Browse files
authored
Merge branch 'master' into plugin-OnNodeCompileFunctionParam
2 parents 326a033 + 34319c7 commit dd49a6d

File tree

5 files changed

+40
-11
lines changed

5 files changed

+40
-11
lines changed

script/vm/compiler.lua

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1091,6 +1091,35 @@ local function compileLocal(source)
10911091
end
10921092
end
10931093
end
1094+
if not hasDocArg
1095+
and func.parent.type == 'local' then
1096+
local refs = func.parent.ref
1097+
local findCall
1098+
if refs then
1099+
for i, ref in ipairs(refs) do
1100+
if ref.parent.type == 'call' then
1101+
findCall = ref.parent
1102+
break
1103+
end
1104+
end
1105+
end
1106+
if findCall and findCall.args then
1107+
local index
1108+
for i, arg in ipairs(source.parent) do
1109+
if arg == source then
1110+
index = i
1111+
break
1112+
end
1113+
end
1114+
if index then
1115+
local callerArg = findCall.args[index]
1116+
if callerArg then
1117+
hasDocArg = true
1118+
vm.setNode(source, vm.compileNode(callerArg))
1119+
end
1120+
end
1121+
end
1122+
end
10941123
if not hasDocArg then
10951124
local suc, node = plugin.dispatch("OnNodeCompileFunctionParam", guide.getUri(source), source)
10961125
if suc and node then

test/diagnostics/await-in-sync.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ end
119119

120120
TEST [[
121121
local function f(cb)
122-
cb()
122+
<!cb!>()
123123
end
124124
125125
local function af()

test/diagnostics/redundant-parameter.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ print(1, 2, 3, 4, 5)
9494

9595
TEST [[
9696
local function f(callback)
97-
callback(1, 2, 3)
97+
callback(<!1!>, <!2!>, <!3!>)
9898
end
9999
f(function () end)
100100
]]

test/hover/init.lua

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -276,15 +276,15 @@ function string.lower(s: string|number)
276276
-> string
277277
]]
278278

279-
-- 不根据传入值推测参数类型
279+
-- 根据传入值推测参数类型
280280
TEST [[
281281
local function x(a, ...)
282282
end
283283
284284
<?x?>(1, 2, 3, 4, 5, 6, 7)
285285
]]
286286
[[
287-
function x(a: any, ...any)
287+
function x(a: integer, ...any)
288288
]]
289289

290290
TEST [[

test/signature/init.lua

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ end
8888
8989
x(1, 2, 3, <??>
9090
]]
91-
{'function x(a: any, <!...any!>)'}
91+
{'function x(a: integer, <!...any!>)'}
9292

9393
TEST [[
9494
(''):sub(<??>
@@ -106,7 +106,7 @@ end
106106
107107
f(1, 'string<??>')
108108
]]
109-
{'function f(a: any, <!b: any!>, c: any)'}
109+
{'function f(a: integer, <!b: string!>, c: any)'}
110110

111111
TEST [[
112112
pcall(function () <??> end)
@@ -156,7 +156,7 @@ end
156156
157157
f({},<??>)
158158
]]
159-
{'function f(a: any, <!b: any!>, c: any)'}
159+
{'function f(a: table, <!b: any!>, c: any)'}
160160

161161
TEST [[
162162
for _ in pairs(<??>) do
@@ -188,31 +188,31 @@ end
188188
189189
x( aaaa <??>, 2)
190190
]]
191-
{"function x(<!a: any!>, b: any)"}
191+
{"function x(<!a: any!>, b: integer)"}
192192

193193
TEST [[
194194
local function x(a, b)
195195
end
196196
197197
x(<??> aaaa , 2)
198198
]]
199-
{'function x(<!a: any!>, b: any)'}
199+
{'function x(<!a: any!>, b: integer)'}
200200

201201
TEST [[
202202
local function x(a, b)
203203
end
204204
205205
x(aaaa ,<??> 2)
206206
]]
207-
{'function x(a: any, <!b: any!>)'}
207+
{'function x(a: any, <!b: integer!>)'}
208208

209209
TEST [[
210210
local function x(a, b)
211211
end
212212
213213
x(aaaa , 2 <??>)
214214
]]
215-
{'function x(a: any, <!b: any!>)'}
215+
{'function x(a: any, <!b: integer!>)'}
216216

217217
TEST [[
218218
local fooC

0 commit comments

Comments
 (0)