Skip to content

Commit 89edbfa

Browse files
committed
Revert "Merge pull request #2481 from fesily/automatic-derivation-function-param-type"
This reverts commit 34319c7, reversing changes made to ef7157c.
1 parent dcacfe7 commit 89edbfa

File tree

5 files changed

+29
-14
lines changed

5 files changed

+29
-14
lines changed

script/vm/compiler.lua

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1121,9 +1121,24 @@ local function compileLocal(source)
11211121
end
11221122
if source.parent.type == 'funcargs' and not hasMarkDoc and not hasMarkParam then
11231123
local func = source.parent.parent
1124-
local vmPlugin = plugin.getVmPlugin(guide.getUri(source))
1125-
local hasDocArg = vmPlugin and vmPlugin.OnCompileFunctionParam(compileFunctionParam, func, source)
1126-
or compileFunctionParam(func, source)
1124+
-- local call ---@type fun(f: fun(x: number));call(function (x) end) --> x -> number
1125+
local funcNode = vm.compileNode(func)
1126+
local hasDocArg
1127+
for n in funcNode:eachObject() do
1128+
if n.type == 'doc.type.function' then
1129+
for index, arg in ipairs(n.args) do
1130+
if func.args[index] == source then
1131+
local argNode = vm.compileNode(arg)
1132+
for an in argNode:eachObject() do
1133+
if an.type ~= 'doc.generic.name' then
1134+
vm.setNode(source, an)
1135+
end
1136+
end
1137+
hasDocArg = true
1138+
end
1139+
end
1140+
end
1141+
end
11271142
if not hasDocArg then
11281143
vm.setNode(source, vm.declareGlobal('type', 'any'))
11291144
end

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: integer, ...any)
287+
function x(a: any, ...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: integer, <!...any!>)'}
91+
{'function x(a: any, <!...any!>)'}
9292

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

111111
TEST [[
112112
pcall(function () <??> end)
@@ -156,7 +156,7 @@ end
156156
157157
f({},<??>)
158158
]]
159-
{'function f(a: table, <!b: any!>, c: any)'}
159+
{'function f(a: any, <!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: integer)"}
191+
{"function x(<!a: any!>, b: any)"}
192192

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

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

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

217217
TEST [[
218218
local fooC

0 commit comments

Comments
 (0)