diff options
Diffstat (limited to 'spec/outputs/vararg.lua')
-rw-r--r-- | spec/outputs/vararg.lua | 488 |
1 files changed, 259 insertions, 229 deletions
diff --git a/spec/outputs/vararg.lua b/spec/outputs/vararg.lua index ea40da1..39becd4 100644 --- a/spec/outputs/vararg.lua +++ b/spec/outputs/vararg.lua | |||
@@ -1,211 +1,264 @@ | |||
1 | local join | 1 | local _anon_func_0 = function(a) |
2 | join = function(...) | 2 | a:func() |
3 | f_with((function() | 3 | return a |
4 | local _with_0 = a | 4 | end |
5 | _with_0:func() | 5 | local _anon_func_1 = function(a, ...) |
6 | return _with_0 | 6 | a:func(...) |
7 | end)()) | 7 | return a |
8 | f_with((function(...) | 8 | end |
9 | local _with_0 = a | 9 | local _anon_func_2 = function(items) |
10 | _with_0:func(...) | 10 | local _accum_0 = { } |
11 | return _with_0 | 11 | local _len_0 = 1 |
12 | end)(...)) | 12 | for i = 1, 10 do |
13 | f_listcomp((function() | 13 | _accum_0[_len_0] = items[i] |
14 | local _accum_0 = { } | 14 | _len_0 = _len_0 + 1 |
15 | local _len_0 = 1 | 15 | end |
16 | for i = 1, 10 do | 16 | return _accum_0 |
17 | _accum_0[_len_0] = items[i] | 17 | end |
18 | _len_0 = _len_0 + 1 | 18 | local _anon_func_3 = function(items, ...) |
19 | end | 19 | local _accum_0 = { } |
20 | return _accum_0 | 20 | local _len_0 = 1 |
21 | end)()) | 21 | for i = 1, 10 do |
22 | f_listcomp((function(...) | 22 | _accum_0[_len_0] = items[i](...) |
23 | local _accum_0 = { } | 23 | _len_0 = _len_0 + 1 |
24 | local _len_0 = 1 | 24 | end |
25 | for i = 1, 10 do | 25 | return _accum_0 |
26 | _accum_0[_len_0] = items[i](...) | 26 | end |
27 | _len_0 = _len_0 + 1 | 27 | local _anon_func_4 = function(items) |
28 | end | 28 | local _accum_0 = { } |
29 | return _accum_0 | 29 | local _len_0 = 1 |
30 | end)(...)) | 30 | for _index_0 = 1, #items do |
31 | f_listcomp((function() | 31 | local item = items[_index_0] |
32 | local _accum_0 = { } | 32 | _accum_0[_len_0] = item |
33 | local _len_0 = 1 | 33 | _len_0 = _len_0 + 1 |
34 | local _list_0 = items | 34 | end |
35 | for _index_0 = 1, #_list_0 do | 35 | return _accum_0 |
36 | local item = _list_0[_index_0] | 36 | end |
37 | _accum_0[_len_0] = item | 37 | local _anon_func_5 = function(items, ...) |
38 | _len_0 = _len_0 + 1 | 38 | local _accum_0 = { } |
39 | end | 39 | local _len_0 = 1 |
40 | return _accum_0 | 40 | for _index_0 = 1, #items do |
41 | end)()) | 41 | local item = items[_index_0] |
42 | f_listcomp((function(...) | 42 | _accum_0[_len_0] = item(...) |
43 | local _accum_0 = { } | 43 | _len_0 = _len_0 + 1 |
44 | local _len_0 = 1 | 44 | end |
45 | local _list_0 = items | 45 | return _accum_0 |
46 | for _index_0 = 1, #_list_0 do | 46 | end |
47 | local item = _list_0[_index_0] | 47 | local _anon_func_6 = function(setmetatable, func) |
48 | _accum_0[_len_0] = item(...) | 48 | local A |
49 | _len_0 = _len_0 + 1 | 49 | do |
50 | local _class_0 | ||
51 | local _base_0 = { } | ||
52 | if _base_0.__index == nil then | ||
53 | _base_0.__index = _base_0 | ||
50 | end | 54 | end |
51 | return _accum_0 | 55 | _class_0 = setmetatable({ |
52 | end)(...)) | 56 | __init = function() end, |
53 | f_class((function() | 57 | __base = _base_0, |
54 | local A | 58 | __name = "A" |
55 | do | 59 | }, { |
56 | local _class_0 | 60 | __index = _base_0, |
57 | local _base_0 = { } | 61 | __call = function(cls, ...) |
58 | if _base_0.__index == nil then | 62 | local _self_0 = setmetatable({ }, _base_0) |
59 | _base_0.__index = _base_0 | 63 | cls.__init(_self_0, ...) |
64 | return _self_0 | ||
60 | end | 65 | end |
61 | _class_0 = setmetatable({ | 66 | }) |
62 | __init = function() end, | 67 | _base_0.__class = _class_0 |
63 | __base = _base_0, | 68 | local self = _class_0; |
64 | __name = "A" | 69 | func() |
65 | }, { | 70 | A = _class_0 |
66 | __index = _base_0, | 71 | return _class_0 |
67 | __call = function(cls, ...) | 72 | end |
68 | local _self_0 = setmetatable({ }, _base_0) | 73 | end |
69 | cls.__init(_self_0, ...) | 74 | local _anon_func_7 = function(setmetatable, func, ...) |
70 | return _self_0 | 75 | local A |
71 | end | 76 | do |
72 | }) | 77 | local _class_0 |
73 | _base_0.__class = _class_0 | 78 | local _base_0 = { } |
74 | local self = _class_0; | 79 | if _base_0.__index == nil then |
75 | func() | 80 | _base_0.__index = _base_0 |
76 | A = _class_0 | ||
77 | return _class_0 | ||
78 | end | 81 | end |
79 | end)()) | 82 | _class_0 = setmetatable({ |
80 | f_class((function(...) | 83 | __init = function() end, |
81 | local A | 84 | __base = _base_0, |
82 | do | 85 | __name = "A" |
83 | local _class_0 | 86 | }, { |
84 | local _base_0 = { } | 87 | __index = _base_0, |
85 | if _base_0.__index == nil then | 88 | __call = function(cls, ...) |
86 | _base_0.__index = _base_0 | 89 | local _self_0 = setmetatable({ }, _base_0) |
90 | cls.__init(_self_0, ...) | ||
91 | return _self_0 | ||
87 | end | 92 | end |
88 | _class_0 = setmetatable({ | 93 | }) |
89 | __init = function() end, | 94 | _base_0.__class = _class_0 |
90 | __base = _base_0, | 95 | local self = _class_0; |
91 | __name = "A" | 96 | func(...) |
92 | }, { | 97 | A = _class_0 |
93 | __index = _base_0, | 98 | return _class_0 |
94 | __call = function(cls, ...) | 99 | end |
95 | local _self_0 = setmetatable({ }, _base_0) | 100 | end |
96 | cls.__init(_self_0, ...) | 101 | local _anon_func_8 = function(pairs, tb) |
97 | return _self_0 | 102 | local _tbl_0 = { } |
98 | end | 103 | for k, v in pairs(tb) do |
99 | }) | 104 | _tbl_0[k] = v |
100 | _base_0.__class = _class_0 | 105 | end |
101 | local self = _class_0; | 106 | return _tbl_0 |
102 | func(...) | 107 | end |
103 | A = _class_0 | 108 | local _anon_func_9 = function(pairs, tb, ...) |
104 | return _class_0 | 109 | local _tbl_0 = { } |
105 | end | 110 | for k, v in pairs(tb) do |
106 | end)(...)) | 111 | _tbl_0[k] = v(...) |
107 | f_tblcomp((function() | 112 | end |
108 | local _tbl_0 = { } | 113 | return _tbl_0 |
109 | for k, v in pairs(tb) do | 114 | end |
110 | _tbl_0[k] = v | 115 | local _anon_func_10 = function(items) |
111 | end | 116 | local _tbl_0 = { } |
112 | return _tbl_0 | 117 | for _index_0 = 1, #items do |
113 | end)()) | 118 | local item = items[_index_0] |
114 | f_tblcomp((function(...) | 119 | _tbl_0[item] = true |
115 | local _tbl_0 = { } | 120 | end |
116 | for k, v in pairs(tb) do | 121 | return _tbl_0 |
117 | _tbl_0[k] = v(...) | 122 | end |
118 | end | 123 | local _anon_func_11 = function(items, ...) |
119 | return _tbl_0 | 124 | local _tbl_0 = { } |
120 | end)(...)) | 125 | for _index_0 = 1, #items do |
121 | f_tblcomp((function() | 126 | local item = items[_index_0] |
122 | local _tbl_0 = { } | 127 | _tbl_0[item(...)] = true |
123 | local _list_0 = items | 128 | end |
124 | for _index_0 = 1, #_list_0 do | 129 | return _tbl_0 |
125 | local item = _list_0[_index_0] | 130 | end |
126 | _tbl_0[item] = true | 131 | local _anon_func_12 = function(func) |
127 | end | 132 | do |
128 | return _tbl_0 | ||
129 | end)()) | ||
130 | f_tblcomp((function(...) | ||
131 | local _tbl_0 = { } | ||
132 | local _list_0 = items | ||
133 | for _index_0 = 1, #_list_0 do | ||
134 | local item = _list_0[_index_0] | ||
135 | _tbl_0[item(...)] = true | ||
136 | end | ||
137 | return _tbl_0 | ||
138 | end)(...)) | ||
139 | f_do((function() | ||
140 | return func() | 133 | return func() |
141 | end)()) | 134 | end |
142 | f_do((function(...) | 135 | end |
136 | local _anon_func_13 = function(func, ...) | ||
137 | do | ||
143 | return func(...) | 138 | return func(...) |
144 | end)(...)) | 139 | end |
145 | f_while((function() | 140 | end |
146 | local _accum_0 = { } | 141 | local _anon_func_14 = function(func) |
147 | local _len_0 = 1 | 142 | local _accum_0 = { } |
148 | while false do | 143 | local _len_0 = 1 |
149 | _accum_0[_len_0] = func() | 144 | while false do |
150 | _len_0 = _len_0 + 1 | 145 | _accum_0[_len_0] = func() |
151 | end | 146 | _len_0 = _len_0 + 1 |
152 | return _accum_0 | 147 | end |
153 | end)()) | 148 | return _accum_0 |
154 | f_while((function(...) | 149 | end |
155 | local _accum_0 = { } | 150 | local _anon_func_15 = function(func, ...) |
156 | local _len_0 = 1 | 151 | local _accum_0 = { } |
157 | while false do | 152 | local _len_0 = 1 |
158 | _accum_0[_len_0] = func(...) | 153 | while false do |
159 | _len_0 = _len_0 + 1 | 154 | _accum_0[_len_0] = func(...) |
160 | end | 155 | _len_0 = _len_0 + 1 |
161 | return _accum_0 | 156 | end |
162 | end)(...)) | 157 | return _accum_0 |
163 | f_if((function() | 158 | end |
164 | if false then | 159 | local _anon_func_16 = function(func) |
165 | return func() | 160 | if false then |
166 | end | 161 | return func() |
167 | end)()) | 162 | end |
168 | f_if((function(...) | 163 | end |
169 | if false then | 164 | local _anon_func_17 = function(func, ...) |
170 | return func(...) | 165 | if false then |
171 | end | 166 | return func(...) |
172 | end)(...)) | 167 | end |
173 | f_unless((function() | 168 | end |
174 | if not true then | 169 | local _anon_func_18 = function(func) |
175 | return func() | 170 | if not true then |
176 | end | 171 | return func() |
177 | end)()) | 172 | end |
178 | f_unless((function(...) | 173 | end |
179 | if not true then | 174 | local _anon_func_19 = function(func, ...) |
180 | return func(...) | 175 | if not true then |
181 | end | 176 | return func(...) |
182 | end)(...)) | 177 | end |
183 | f_switch((function() | 178 | end |
184 | local _exp_0 = x | 179 | local _anon_func_20 = function(x, func) |
185 | if "abc" == _exp_0 then | 180 | if "abc" == x then |
186 | return func() | 181 | return func() |
187 | end | 182 | end |
188 | end)()) | 183 | end |
189 | f_switch((function(...) | 184 | local _anon_func_21 = function(x, func, ...) |
190 | local _exp_0 = x | 185 | if "abc" == x then |
191 | if "abc" == _exp_0 then | 186 | return func(...) |
192 | return func(...) | 187 | end |
193 | end | 188 | end |
194 | end)(...)) | 189 | local _anon_func_22 = function(func) |
195 | f_eop((function() | 190 | if func ~= nil then |
196 | local _obj_0 = func | 191 | return func() |
197 | if _obj_0 ~= nil then | 192 | end |
198 | return _obj_0() | 193 | return nil |
199 | end | 194 | end |
200 | return nil | 195 | local _anon_func_23 = function(func, ...) |
201 | end)()) | 196 | if func ~= nil then |
202 | f_eop((function(...) | 197 | return func(...) |
203 | local _obj_0 = func | 198 | end |
204 | if _obj_0 ~= nil then | 199 | return nil |
205 | return _obj_0(...) | 200 | end |
206 | end | 201 | local _anon_func_24 = function(select, print, ...) |
207 | return nil | 202 | do |
208 | end)(...)) | 203 | print(select("#", ...)) |
204 | return print(...) | ||
205 | end | ||
206 | end | ||
207 | local _anon_func_25 = function(print, ...) | ||
208 | do | ||
209 | return print(...) | ||
210 | end | ||
211 | end | ||
212 | local _anon_func_26 = function(x, tb, tb2) | ||
213 | if 1 == x then | ||
214 | tb.x = 123 | ||
215 | return tb | ||
216 | else | ||
217 | return tb2 | ||
218 | end | ||
219 | end | ||
220 | local _anon_func_27 = function(print, ...) | ||
221 | do | ||
222 | return print(...) | ||
223 | end | ||
224 | end | ||
225 | local _anon_func_28 = function(cond) | ||
226 | if cond then | ||
227 | return 3, 4, 5 | ||
228 | end | ||
229 | end | ||
230 | local _anon_func_29 = function(print, _arg_0, ...) | ||
231 | do | ||
232 | local tb = _arg_0 | ||
233 | return print(...) | ||
234 | end | ||
235 | end | ||
236 | local join | ||
237 | join = function(...) | ||
238 | f_with(_anon_func_0(a)) | ||
239 | f_with(_anon_func_1(a, ...)) | ||
240 | f_listcomp(_anon_func_2(items)) | ||
241 | f_listcomp(_anon_func_3(items, ...)) | ||
242 | f_listcomp(_anon_func_4(items)) | ||
243 | f_listcomp(_anon_func_5(items, ...)) | ||
244 | f_class(_anon_func_6(setmetatable, func)) | ||
245 | f_class(_anon_func_7(setmetatable, func, ...)) | ||
246 | f_tblcomp(_anon_func_8(pairs, tb)) | ||
247 | f_tblcomp(_anon_func_9(pairs, tb, ...)) | ||
248 | f_tblcomp(_anon_func_10(items)) | ||
249 | f_tblcomp(_anon_func_11(items, ...)) | ||
250 | f_do(_anon_func_12(func)) | ||
251 | f_do(_anon_func_13(func, ...)) | ||
252 | f_while(_anon_func_14(func)) | ||
253 | f_while(_anon_func_15(func, ...)) | ||
254 | f_if(_anon_func_16(func)) | ||
255 | f_if(_anon_func_17(func, ...)) | ||
256 | f_unless(_anon_func_18(func)) | ||
257 | f_unless(_anon_func_19(func, ...)) | ||
258 | f_switch(_anon_func_20(x, func)) | ||
259 | f_switch(_anon_func_21(x, func, ...)) | ||
260 | f_eop(_anon_func_22(func)) | ||
261 | f_eop(_anon_func_23(func, ...)) | ||
209 | f_colon((function() | 262 | f_colon((function() |
210 | local _base_0 = f() | 263 | local _base_0 = f() |
211 | local _fn_0 = _base_0.func | 264 | local _fn_0 = _base_0.func |
@@ -240,40 +293,17 @@ join = function(...) | |||
240 | fn_many_args = function() | 293 | fn_many_args = function() |
241 | return 10, nil, 20, nil, 30 | 294 | return 10, nil, 20, nil, 30 |
242 | end | 295 | end |
243 | return (function(...) | 296 | return _anon_func_24(select, print, fn_many_args()) |
244 | print(select("#", ...)) | ||
245 | return print(...) | ||
246 | end)(fn_many_args()) | ||
247 | end)(fn(true)) | 297 | end)(fn(true)) |
248 | end | 298 | end |
249 | do | 299 | do |
250 | (function(...) | 300 | _anon_func_25(print, _anon_func_26(x, tb, tb2)) |
251 | return print(...) | ||
252 | end)((function() | ||
253 | local _exp_0 = x | ||
254 | if 1 == _exp_0 then | ||
255 | local _with_0 = tb | ||
256 | _with_0.x = 123 | ||
257 | return _with_0 | ||
258 | else | ||
259 | return tb2 | ||
260 | end | ||
261 | end)()) | ||
262 | end | 301 | end |
263 | do | 302 | do |
264 | (function(...) | 303 | _anon_func_27(print, 1, 2, _anon_func_28(cond)) |
265 | return print(...) | ||
266 | end)(1, 2, (function() | ||
267 | if cond then | ||
268 | return 3, 4, 5 | ||
269 | end | ||
270 | end)()) | ||
271 | end | 304 | end |
272 | do | 305 | do |
273 | (function(_arg_0, ...) | 306 | _anon_func_29(print, { |
274 | local tb = _arg_0 | ||
275 | return print(...) | ||
276 | end)({ | ||
277 | name = "abc", | 307 | name = "abc", |
278 | value = 123 | 308 | value = 123 |
279 | }) | 309 | }) |