Skip to content

Commit 3c45587

Browse files
committed
update narrow assign
1 parent 6e2d3d4 commit 3c45587

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

script/vm/compiler.lua

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1180,8 +1180,20 @@ local compilerSwitch = util.switch()
11801180
if bindDocs(source) then
11811181
return
11821182
end
1183+
local locNode = vm.compileNode(source.node)
1184+
if not source.value then
1185+
vm.setNode(source, locNode)
1186+
return
1187+
end
11831188
local valueNode = vm.compileNode(source.value)
11841189
vm.setNode(source, valueNode)
1190+
if locNode:getData 'hasDefined'
1191+
and guide.isLiteral(source.value) then
1192+
vm.setNode(source, locNode)
1193+
vm.getNode(source):narrow(guide.getUri(source), source.value.type)
1194+
else
1195+
vm.setNode(source, valueNode)
1196+
end
11851197
end)
11861198
: case 'getlocal'
11871199
---@async

0 commit comments

Comments
 (0)