diff options
Diffstat (limited to 'spec/outputs/comprehension.lua')
-rw-r--r-- | spec/outputs/comprehension.lua | 277 |
1 files changed, 277 insertions, 0 deletions
diff --git a/spec/outputs/comprehension.lua b/spec/outputs/comprehension.lua new file mode 100644 index 0000000..9a7c478 --- /dev/null +++ b/spec/outputs/comprehension.lua | |||
@@ -0,0 +1,277 @@ | |||
1 | local items = { | ||
2 | 1, | ||
3 | 2, | ||
4 | 3, | ||
5 | 4, | ||
6 | 5, | ||
7 | 6 | ||
8 | } | ||
9 | local out | ||
10 | do | ||
11 | local _tbl_0 = { } | ||
12 | for k in items do | ||
13 | _tbl_0[k] = k * 2 | ||
14 | end | ||
15 | out = _tbl_0 | ||
16 | end | ||
17 | local x = { | ||
18 | hello = "world", | ||
19 | okay = 2323 | ||
20 | } | ||
21 | local copy | ||
22 | do | ||
23 | local _tbl_0 = { } | ||
24 | for k, v in pairs(x) do | ||
25 | if k ~= "okay" then | ||
26 | _tbl_0[k] = v | ||
27 | end | ||
28 | end | ||
29 | copy = _tbl_0 | ||
30 | end | ||
31 | local _ | ||
32 | do | ||
33 | local _tbl_0 = { } | ||
34 | for x in yes do | ||
35 | local _key_0, _val_0 = unpack(x) | ||
36 | _tbl_0[_key_0] = _val_0 | ||
37 | end | ||
38 | _ = _tbl_0 | ||
39 | end | ||
40 | do | ||
41 | local _tbl_0 = { } | ||
42 | local _list_0 = yes | ||
43 | for _index_0 = 1, #_list_0 do | ||
44 | local x = _list_0[_index_0] | ||
45 | local _key_0, _val_0 = unpack(x) | ||
46 | _tbl_0[_key_0] = _val_0 | ||
47 | end | ||
48 | _ = _tbl_0 | ||
49 | end | ||
50 | do | ||
51 | local _tbl_0 = { } | ||
52 | for x in yes do | ||
53 | local _key_0, _val_0 = xxxx | ||
54 | _tbl_0[_key_0] = _val_0 | ||
55 | end | ||
56 | _ = _tbl_0 | ||
57 | end | ||
58 | do | ||
59 | local _tbl_0 = { } | ||
60 | local _list_0 = { | ||
61 | { | ||
62 | 1, | ||
63 | 2 | ||
64 | }, | ||
65 | { | ||
66 | 3, | ||
67 | 4 | ||
68 | } | ||
69 | } | ||
70 | for _index_0 = 1, #_list_0 do | ||
71 | local x = _list_0[_index_0] | ||
72 | local _key_0, _val_0 = unpack((function() | ||
73 | local _accum_0 = { } | ||
74 | local _len_0 = 1 | ||
75 | for i, a in ipairs(x) do | ||
76 | _accum_0[_len_0] = a * i | ||
77 | _len_0 = _len_0 + 1 | ||
78 | end | ||
79 | return _accum_0 | ||
80 | end)()) | ||
81 | _tbl_0[_key_0] = _val_0 | ||
82 | end | ||
83 | _ = _tbl_0 | ||
84 | end | ||
85 | local n1 | ||
86 | do | ||
87 | local _accum_0 = { } | ||
88 | local _len_0 = 1 | ||
89 | for i = 1, 10 do | ||
90 | _accum_0[_len_0] = i | ||
91 | _len_0 = _len_0 + 1 | ||
92 | end | ||
93 | n1 = _accum_0 | ||
94 | end | ||
95 | local n2 | ||
96 | do | ||
97 | local _accum_0 = { } | ||
98 | local _len_0 = 1 | ||
99 | for i = 1, 10 do | ||
100 | if i % 2 == 1 then | ||
101 | _accum_0[_len_0] = i | ||
102 | _len_0 = _len_0 + 1 | ||
103 | end | ||
104 | end | ||
105 | n2 = _accum_0 | ||
106 | end | ||
107 | local aa | ||
108 | do | ||
109 | local _accum_0 = { } | ||
110 | local _len_0 = 1 | ||
111 | for x = 1, 10 do | ||
112 | for y = 5, 14 do | ||
113 | _accum_0[_len_0] = { | ||
114 | x, | ||
115 | y | ||
116 | } | ||
117 | _len_0 = _len_0 + 1 | ||
118 | end | ||
119 | end | ||
120 | aa = _accum_0 | ||
121 | end | ||
122 | local bb | ||
123 | do | ||
124 | local _accum_0 = { } | ||
125 | local _len_0 = 1 | ||
126 | for thing in y do | ||
127 | for i = 1, 10 do | ||
128 | _accum_0[_len_0] = y | ||
129 | _len_0 = _len_0 + 1 | ||
130 | end | ||
131 | end | ||
132 | bb = _accum_0 | ||
133 | end | ||
134 | local cc | ||
135 | do | ||
136 | local _accum_0 = { } | ||
137 | local _len_0 = 1 | ||
138 | for i = 1, 10 do | ||
139 | for thing in y do | ||
140 | _accum_0[_len_0] = y | ||
141 | _len_0 = _len_0 + 1 | ||
142 | end | ||
143 | end | ||
144 | cc = _accum_0 | ||
145 | end | ||
146 | local dd | ||
147 | do | ||
148 | local _accum_0 = { } | ||
149 | local _len_0 = 1 | ||
150 | for i = 1, 10 do | ||
151 | if cool then | ||
152 | for thing in y do | ||
153 | if x > 3 then | ||
154 | if c + 3 then | ||
155 | _accum_0[_len_0] = y | ||
156 | _len_0 = _len_0 + 1 | ||
157 | end | ||
158 | end | ||
159 | end | ||
160 | end | ||
161 | end | ||
162 | dd = _accum_0 | ||
163 | end | ||
164 | do | ||
165 | local _tbl_0 = { } | ||
166 | for i = 1, 10 do | ||
167 | _tbl_0["hello"] = "world" | ||
168 | end | ||
169 | _ = _tbl_0 | ||
170 | end | ||
171 | local j | ||
172 | do | ||
173 | local _accum_0 = { } | ||
174 | local _len_0 = 1 | ||
175 | for _des_0 in things do | ||
176 | local a, b, c = _des_0[1], _des_0[2], _des_0[3] | ||
177 | _accum_0[_len_0] = a | ||
178 | _len_0 = _len_0 + 1 | ||
179 | end | ||
180 | j = _accum_0 | ||
181 | end | ||
182 | local k | ||
183 | do | ||
184 | local _accum_0 = { } | ||
185 | local _len_0 = 1 | ||
186 | local _list_0 = things | ||
187 | for _index_0 = 1, #_list_0 do | ||
188 | local _des_0 = _list_0[_index_0] | ||
189 | local a, b, c = _des_0[1], _des_0[2], _des_0[3] | ||
190 | _accum_0[_len_0] = a | ||
191 | _len_0 = _len_0 + 1 | ||
192 | end | ||
193 | k = _accum_0 | ||
194 | end | ||
195 | local i | ||
196 | do | ||
197 | local _accum_0 = { } | ||
198 | local _len_0 = 1 | ||
199 | local _list_0 = things | ||
200 | for _index_0 = 1, #_list_0 do | ||
201 | local _des_0 = _list_0[_index_0] | ||
202 | local hello, world = _des_0.hello, _des_0.world | ||
203 | _accum_0[_len_0] = hello | ||
204 | _len_0 = _len_0 + 1 | ||
205 | end | ||
206 | i = _accum_0 | ||
207 | end | ||
208 | local hj | ||
209 | do | ||
210 | local _tbl_0 = { } | ||
211 | for _des_0 in things do | ||
212 | local a, b, c = _des_0[1], _des_0[2], _des_0[3] | ||
213 | _tbl_0[a] = c | ||
214 | end | ||
215 | hj = _tbl_0 | ||
216 | end | ||
217 | local hk | ||
218 | do | ||
219 | local _tbl_0 = { } | ||
220 | local _list_0 = things | ||
221 | for _index_0 = 1, #_list_0 do | ||
222 | local _des_0 = _list_0[_index_0] | ||
223 | local a, b, c = _des_0[1], _des_0[2], _des_0[3] | ||
224 | _tbl_0[a] = c | ||
225 | end | ||
226 | hk = _tbl_0 | ||
227 | end | ||
228 | local hi | ||
229 | do | ||
230 | local _tbl_0 = { } | ||
231 | local _list_0 = things | ||
232 | for _index_0 = 1, #_list_0 do | ||
233 | local _des_0 = _list_0[_index_0] | ||
234 | local hello, world = _des_0.hello, _des_0.world | ||
235 | _tbl_0[hello] = world | ||
236 | end | ||
237 | hi = _tbl_0 | ||
238 | end | ||
239 | for _des_0 in things do | ||
240 | local a, b, c = _des_0[1], _des_0[2], _des_0[3] | ||
241 | ok(a, b, c) | ||
242 | end | ||
243 | do | ||
244 | local _accum_0 = { } | ||
245 | local _len_0 = 1 | ||
246 | local _max_0 = 3 + 4 | ||
247 | for _index_0 = 1 + 2, _max_0 < 0 and #items + _max_0 or _max_0 do | ||
248 | local item = items[_index_0] | ||
249 | _accum_0[_len_0] = item | ||
250 | _len_0 = _len_0 + 1 | ||
251 | end | ||
252 | _ = _accum_0 | ||
253 | end | ||
254 | do | ||
255 | local _accum_0 = { } | ||
256 | local _len_0 = 1 | ||
257 | local _max_0 = 2 - thing[4] | ||
258 | for _index_0 = hello() * 4, _max_0 < 0 and #items + _max_0 or _max_0 do | ||
259 | local item = items[_index_0] | ||
260 | _accum_0[_len_0] = item | ||
261 | _len_0 = _len_0 + 1 | ||
262 | end | ||
263 | _ = _accum_0 | ||
264 | end | ||
265 | local list | ||
266 | do | ||
267 | local _accum_0 = { } | ||
268 | local _len_0 = 1 | ||
269 | for item in items do | ||
270 | if item ~= nil then | ||
271 | _accum_0[_len_0] = item:invoke(123) | ||
272 | end | ||
273 | _len_0 = _len_0 + 1 | ||
274 | end | ||
275 | list = _accum_0 | ||
276 | end | ||
277 | return nil | ||