aboutsummaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorLi Jin <dragon-fly@qq.com>2023-10-27 16:58:43 +0800
committerLi Jin <dragon-fly@qq.com>2023-10-27 16:58:43 +0800
commit7bfa002f3d4dcb62e6a301141be6d17889a94f55 (patch)
tree927eab759af3e333b1f7d80c3724ec4b869c02e1 /spec
parentbafe9b44212316a51ee00f7af15e881c81d96fe6 (diff)
downloadyuescript-7bfa002f3d4dcb62e6a301141be6d17889a94f55.tar.gz
yuescript-7bfa002f3d4dcb62e6a301141be6d17889a94f55.tar.bz2
yuescript-7bfa002f3d4dcb62e6a301141be6d17889a94f55.zip
fix a missing case for list destructuring.
Diffstat (limited to 'spec')
-rw-r--r--spec/inputs/destructure.yue8
-rw-r--r--spec/outputs/destructure.lua24
2 files changed, 32 insertions, 0 deletions
diff --git a/spec/inputs/destructure.yue b/spec/inputs/destructure.yue
index d161fd8..73e4d33 100644
--- a/spec/inputs/destructure.yue
+++ b/spec/inputs/destructure.yue
@@ -80,6 +80,8 @@ do
80 for {x,y} in *thing 80 for {x,y} in *thing
81 print x,y 81 print x,y
82 82
83 for [x,y] in *thing
84 print x,y
83 85
84-- 86--
85 87
@@ -178,10 +180,16 @@ do
178 for {left = "null", right = false} in *tuples 180 for {left = "null", right = false} in *tuples
179 print left, right 181 print left, right
180 182
183 for [left = "null", right = false] in *tuples
184 print left, right
185
181do 186do
182 {_, a, _, b} = tb -- list placeholder 187 {_, a, _, b} = tb -- list placeholder
183 188
184do 189do
190 [a, _, b, _] = tb -- list placeholder
191
192do
185 {x: a.b = 1, y: a.c = 2} = x.x.x 193 {x: a.b = 1, y: a.c = 2} = x.x.x
186 194
187do 195do
diff --git a/spec/outputs/destructure.lua b/spec/outputs/destructure.lua
index 25e0529..38f21ff 100644
--- a/spec/outputs/destructure.lua
+++ b/spec/outputs/destructure.lua
@@ -124,6 +124,11 @@ do
124 local x, y = _des_0[1], _des_0[2] 124 local x, y = _des_0[1], _des_0[2]
125 print(x, y) 125 print(x, y)
126 end 126 end
127 for _index_0 = 1, #thing do
128 local _des_0 = thing[_index_0]
129 local x, y = _des_0[1], _des_0[2]
130 print(x, y)
131 end
127end 132end
128do 133do
129 do 134 do
@@ -370,6 +375,18 @@ do
370 end 375 end
371 print(left, right) 376 print(left, right)
372 end 377 end
378 local _list_1 = tuples
379 for _index_0 = 1, #_list_1 do
380 local _des_0 = _list_1[_index_0]
381 local left, right = _des_0[1], _des_0[2]
382 if left == nil then
383 left = "null"
384 end
385 if right == nil then
386 right = false
387 end
388 print(left, right)
389 end
373end 390end
374do 391do
375 local a, b 392 local a, b
@@ -379,6 +396,13 @@ do
379 end 396 end
380end 397end
381do 398do
399 local a, b
400 do
401 local _obj_0 = tb
402 a, b = _obj_0[1], _obj_0[3]
403 end
404end
405do
382 do 406 do
383 local _obj_0 = x.x.x 407 local _obj_0 = x.x.x
384 local _tmp_0, _tmp_1 = _obj_0.x, _obj_0.y 408 local _tmp_0, _tmp_1 = _obj_0.x, _obj_0.y