diff options
author | Li Jin <dragon-fly@qq.com> | 2024-03-19 02:22:56 +0800 |
---|---|---|
committer | Li Jin <dragon-fly@qq.com> | 2024-03-19 02:22:56 +0800 |
commit | afc86619d710a578dc3f2bfc2ee1d62913f9abe8 (patch) | |
tree | 726ffe4d33bbaf8be411f73add51a1ffe734bc6f /spec | |
parent | 4f399a181dc773bcc1a86737522915c2c776fb2b (diff) | |
download | yuescript-afc86619d710a578dc3f2bfc2ee1d62913f9abe8.tar.gz yuescript-afc86619d710a578dc3f2bfc2ee1d62913f9abe8.tar.bz2 yuescript-afc86619d710a578dc3f2bfc2ee1d62913f9abe8.zip |
try fixing issue #162.
Diffstat (limited to 'spec')
-rw-r--r-- | spec/inputs/attrib.yue | 2 | ||||
-rw-r--r-- | spec/inputs/unicode/multiline_chain.yue | 6 | ||||
-rw-r--r-- | spec/outputs/5.1/attrib.lua | 183 | ||||
-rw-r--r-- | spec/outputs/assign.lua | 9 | ||||
-rw-r--r-- | spec/outputs/attrib.lua | 1 | ||||
-rw-r--r-- | spec/outputs/unicode/assign.lua | 9 | ||||
-rw-r--r-- | spec/outputs/unicode/macro.lua | 26 | ||||
-rw-r--r-- | spec/outputs/unicode/multiline_chain.lua | 35 | ||||
-rw-r--r-- | spec/outputs/unicode/syntax.lua | 13 | ||||
-rw-r--r-- | spec/outputs/unicode/vararg.lua | 488 | ||||
-rw-r--r-- | spec/outputs/vararg.lua | 488 |
11 files changed, 682 insertions, 578 deletions
diff --git a/spec/inputs/attrib.yue b/spec/inputs/attrib.yue index 36aca99..f66f0db 100644 --- a/spec/inputs/attrib.yue +++ b/spec/inputs/attrib.yue | |||
@@ -41,6 +41,8 @@ do | |||
41 | 41 | ||
42 | close _ = <close>: -> print "first" | 42 | close _ = <close>: -> print "first" |
43 | 43 | ||
44 | print "third" | ||
45 | |||
44 | _defers = setmetatable {}, __close: => | 46 | _defers = setmetatable {}, __close: => |
45 | @[#@]! | 47 | @[#@]! |
46 | @[#@] = nil | 48 | @[#@] = nil |
diff --git a/spec/inputs/unicode/multiline_chain.yue b/spec/inputs/unicode/multiline_chain.yue index 403f93b..6e8551c 100644 --- a/spec/inputs/unicode/multiline_chain.yue +++ b/spec/inputs/unicode/multiline_chain.yue | |||
@@ -21,8 +21,10 @@ | |||
21 | 21 | ||
22 | 表bb = | 22 | 表bb = |
23 | 键1: 变量a | 23 | 键1: 变量a |
24 | \变量b 123 | 24 | \变量b 123, |
25 | .变量c! | 25 | :字段A |
26 | .变量c 1, 2, 3 | ||
27 | :字段B | ||
26 | 键2: | 28 | 键2: |
27 | 键w1: 变量a! | 29 | 键w1: 变量a! |
28 | .变量b | 30 | .变量b |
diff --git a/spec/outputs/5.1/attrib.lua b/spec/outputs/5.1/attrib.lua index 70e7e24..e28dca4 100644 --- a/spec/outputs/5.1/attrib.lua +++ b/spec/outputs/5.1/attrib.lua | |||
@@ -50,6 +50,22 @@ do | |||
50 | a, b = _obj_0[1], _obj_0[2] | 50 | a, b = _obj_0[1], _obj_0[2] |
51 | end | 51 | end |
52 | end | 52 | end |
53 | local _anon_func_0 = function(f, error, _close_1, _arg_0, ...) | ||
54 | do | ||
55 | local _ok_0 = _arg_0 | ||
56 | _close_1(f) | ||
57 | if _ok_0 then | ||
58 | return ... | ||
59 | else | ||
60 | return error(...) | ||
61 | end | ||
62 | end | ||
63 | end | ||
64 | local _anon_func_1 = function(io) | ||
65 | local _with_0 = io.open("file.txt") | ||
66 | _with_0:write("Hello") | ||
67 | return _with_0 | ||
68 | end | ||
53 | do | 69 | do |
54 | local v = (function() | 70 | local v = (function() |
55 | if flag then | 71 | if flag then |
@@ -70,23 +86,43 @@ do | |||
70 | return error(...) | 86 | return error(...) |
71 | end | 87 | end |
72 | end)(pcall(function(...) | 88 | end)(pcall(function(...) |
73 | local f = (function() | 89 | local f = _anon_func_1(io) |
74 | local _with_0 = io.open("file.txt") | ||
75 | _with_0:write("Hello") | ||
76 | return _with_0 | ||
77 | end)() | ||
78 | local _close_1 = assert(getmetatable(f).__close) | 90 | local _close_1 = assert(getmetatable(f).__close) |
79 | return (function(_arg_0, ...) | 91 | return _anon_func_0(f, error, _close_1, pcall(function(...) end, ...)) |
80 | local _ok_0 = _arg_0 | ||
81 | _close_1(f) | ||
82 | if _ok_0 then | ||
83 | return ... | ||
84 | else | ||
85 | return error(...) | ||
86 | end | ||
87 | end)(pcall(function(...) end, ...)) | ||
88 | end, ...)) | 92 | end, ...)) |
89 | end | 93 | end |
94 | local _anon_func_2 = function(d, error, _close_1, _arg_0, ...) | ||
95 | do | ||
96 | local _ok_0 = _arg_0 | ||
97 | _close_1(d) | ||
98 | if _ok_0 then | ||
99 | return ... | ||
100 | else | ||
101 | return error(...) | ||
102 | end | ||
103 | end | ||
104 | end | ||
105 | local _anon_func_3 = function(x) | ||
106 | if true then | ||
107 | if "abc" == x then | ||
108 | return 998 | ||
109 | end | ||
110 | end | ||
111 | end | ||
112 | local _anon_func_5 = function(a, b) | ||
113 | if a ~= nil then | ||
114 | return a | ||
115 | else | ||
116 | return b | ||
117 | end | ||
118 | end | ||
119 | local _anon_func_4 = function(a, b) | ||
120 | if _anon_func_5(a, b) then | ||
121 | return { | ||
122 | value = value | ||
123 | } | ||
124 | end | ||
125 | end | ||
90 | do | 126 | do |
91 | local a = (function() | 127 | local a = (function() |
92 | if true then | 128 | if true then |
@@ -110,39 +146,34 @@ do | |||
110 | return error(...) | 146 | return error(...) |
111 | end | 147 | end |
112 | end)(pcall(function(...) | 148 | end)(pcall(function(...) |
113 | local c = (function() | 149 | local c = _anon_func_3(x) |
114 | if true then | 150 | local d = _anon_func_4(a, b) |
115 | local _exp_0 = x | ||
116 | if "abc" == _exp_0 then | ||
117 | return 998 | ||
118 | end | ||
119 | end | ||
120 | end)() | ||
121 | local d = (function() | ||
122 | if (function() | ||
123 | if a ~= nil then | ||
124 | return a | ||
125 | else | ||
126 | return b | ||
127 | end | ||
128 | end)() then | ||
129 | return { | ||
130 | value = value | ||
131 | } | ||
132 | end | ||
133 | end)() | ||
134 | local _close_1 = assert(getmetatable(d).__close) | 151 | local _close_1 = assert(getmetatable(d).__close) |
135 | return (function(_arg_0, ...) | 152 | return _anon_func_2(d, error, _close_1, pcall(function(...) end, ...)) |
136 | local _ok_0 = _arg_0 | ||
137 | _close_1(d) | ||
138 | if _ok_0 then | ||
139 | return ... | ||
140 | else | ||
141 | return error(...) | ||
142 | end | ||
143 | end)(pcall(function(...) end, ...)) | ||
144 | end, ...)) | 153 | end, ...)) |
145 | end | 154 | end |
155 | local _anon_func_6 = function(_, error, _close_1, _arg_0, ...) | ||
156 | do | ||
157 | local _ok_0 = _arg_0 | ||
158 | _close_1(_) | ||
159 | if _ok_0 then | ||
160 | return ... | ||
161 | else | ||
162 | return error(...) | ||
163 | end | ||
164 | end | ||
165 | end | ||
166 | local _anon_func_7 = function(_, _close_2, error, _arg_0, ...) | ||
167 | do | ||
168 | local _ok_0 = _arg_0 | ||
169 | _close_2(_) | ||
170 | if _ok_0 then | ||
171 | return ... | ||
172 | else | ||
173 | return error(...) | ||
174 | end | ||
175 | end | ||
176 | end | ||
146 | do | 177 | do |
147 | local _ = (function() | 178 | local _ = (function() |
148 | local _with_0 = io.open("file.txt") | 179 | local _with_0 = io.open("file.txt") |
@@ -165,30 +196,16 @@ do | |||
165 | end | 196 | end |
166 | }) | 197 | }) |
167 | local _close_1 = assert(getmetatable(_).__close) | 198 | local _close_1 = assert(getmetatable(_).__close) |
168 | return (function(_arg_0, ...) | 199 | return _anon_func_6(_, error, _close_1, pcall(function(...) |
169 | local _ok_0 = _arg_0 | ||
170 | _close_1(_) | ||
171 | if _ok_0 then | ||
172 | return ... | ||
173 | else | ||
174 | return error(...) | ||
175 | end | ||
176 | end)(pcall(function(...) | ||
177 | local _ = setmetatable({ }, { | 200 | local _ = setmetatable({ }, { |
178 | __close = function() | 201 | __close = function() |
179 | return print("first") | 202 | return print("first") |
180 | end | 203 | end |
181 | }) | 204 | }) |
182 | local _close_2 = assert(getmetatable(_).__close) | 205 | local _close_2 = assert(getmetatable(_).__close) |
183 | return (function(_arg_0, ...) | 206 | return _anon_func_7(_, _close_2, error, pcall(function(...) |
184 | local _ok_0 = _arg_0 | 207 | return print("third") |
185 | _close_2(_) | 208 | end, ...)) |
186 | if _ok_0 then | ||
187 | return ... | ||
188 | else | ||
189 | return error(...) | ||
190 | end | ||
191 | end)(pcall(function(...) end, ...)) | ||
192 | end, ...)) | 209 | end, ...)) |
193 | end, ...)) | 210 | end, ...)) |
194 | end | 211 | end |
@@ -203,6 +220,28 @@ def = function(item) | |||
203 | _defers[#_defers + 1] = item | 220 | _defers[#_defers + 1] = item |
204 | return _defers | 221 | return _defers |
205 | end | 222 | end |
223 | local _anon_func_8 = function(_, error, _close_1, _arg_0, ...) | ||
224 | do | ||
225 | local _ok_0 = _arg_0 | ||
226 | _close_1(_) | ||
227 | if _ok_0 then | ||
228 | return ... | ||
229 | else | ||
230 | return error(...) | ||
231 | end | ||
232 | end | ||
233 | end | ||
234 | local _anon_func_9 = function(_, _close_2, error, _arg_0, ...) | ||
235 | do | ||
236 | local _ok_0 = _arg_0 | ||
237 | _close_2(_) | ||
238 | if _ok_0 then | ||
239 | return ... | ||
240 | else | ||
241 | return error(...) | ||
242 | end | ||
243 | end | ||
244 | end | ||
206 | do | 245 | do |
207 | local _ = def(function() | 246 | local _ = def(function() |
208 | return print(3) | 247 | return print(3) |
@@ -221,28 +260,12 @@ do | |||
221 | return print(2) | 260 | return print(2) |
222 | end) | 261 | end) |
223 | local _close_1 = assert(getmetatable(_).__close) | 262 | local _close_1 = assert(getmetatable(_).__close) |
224 | return (function(_arg_0, ...) | 263 | return _anon_func_8(_, error, _close_1, pcall(function(...) |
225 | local _ok_0 = _arg_0 | ||
226 | _close_1(_) | ||
227 | if _ok_0 then | ||
228 | return ... | ||
229 | else | ||
230 | return error(...) | ||
231 | end | ||
232 | end)(pcall(function(...) | ||
233 | local _ = def(function() | 264 | local _ = def(function() |
234 | return print(1) | 265 | return print(1) |
235 | end) | 266 | end) |
236 | local _close_2 = assert(getmetatable(_).__close) | 267 | local _close_2 = assert(getmetatable(_).__close) |
237 | return (function(_arg_0, ...) | 268 | return _anon_func_9(_, _close_2, error, pcall(function(...) end, ...)) |
238 | local _ok_0 = _arg_0 | ||
239 | _close_2(_) | ||
240 | if _ok_0 then | ||
241 | return ... | ||
242 | else | ||
243 | return error(...) | ||
244 | end | ||
245 | end)(pcall(function(...) end, ...)) | ||
246 | end, ...)) | 269 | end, ...)) |
247 | end, ...)) | 270 | end, ...)) |
248 | end | 271 | end |
diff --git a/spec/outputs/assign.lua b/spec/outputs/assign.lua index 228e859..8bf7b35 100644 --- a/spec/outputs/assign.lua +++ b/spec/outputs/assign.lua | |||
@@ -42,11 +42,14 @@ do | |||
42 | end | 42 | end |
43 | end | 43 | end |
44 | end | 44 | end |
45 | return _(function() | 45 | local _anon_func_0 = function(print) |
46 | setmetatable(a, (function() | 46 | do |
47 | print(123) | 47 | print(123) |
48 | return { } | 48 | return { } |
49 | end)()) | 49 | end |
50 | end | ||
51 | return _(function() | ||
52 | setmetatable(a, _anon_func_0(print)) | ||
50 | do | 53 | do |
51 | local a, b | 54 | local a, b |
52 | if "a" == c then | 55 | if "a" == c then |
diff --git a/spec/outputs/attrib.lua b/spec/outputs/attrib.lua index 181555f..07fc165 100644 --- a/spec/outputs/attrib.lua +++ b/spec/outputs/attrib.lua | |||
@@ -106,6 +106,7 @@ do | |||
106 | return print("first") | 106 | return print("first") |
107 | end | 107 | end |
108 | }) | 108 | }) |
109 | print("third") | ||
109 | end | 110 | end |
110 | local _defers = setmetatable({ }, { | 111 | local _defers = setmetatable({ }, { |
111 | __close = function(self) | 112 | __close = function(self) |
diff --git a/spec/outputs/unicode/assign.lua b/spec/outputs/unicode/assign.lua index b530093..290b248 100644 --- a/spec/outputs/unicode/assign.lua +++ b/spec/outputs/unicode/assign.lua | |||
@@ -42,11 +42,14 @@ do | |||
42 | end | 42 | end |
43 | end | 43 | end |
44 | end | 44 | end |
45 | return __u65e0_u6548_u53d8_u91cf(function() | 45 | local _anon_func_0 = function(_u6253_u5370) |
46 | setmetatable(a_u53d8_u91cf, (function() | 46 | do |
47 | _u6253_u5370(123) | 47 | _u6253_u5370(123) |
48 | return { } | 48 | return { } |
49 | end)()) | 49 | end |
50 | end | ||
51 | return __u65e0_u6548_u53d8_u91cf(function() | ||
52 | setmetatable(a_u53d8_u91cf, _anon_func_0(_u6253_u5370)) | ||
50 | do | 53 | do |
51 | local _u5143_u7d20a, _u5143_u7d20b | 54 | local _u5143_u7d20a, _u5143_u7d20b |
52 | do | 55 | do |
diff --git a/spec/outputs/unicode/macro.lua b/spec/outputs/unicode/macro.lua index 2ae5dce..88f6de7 100644 --- a/spec/outputs/unicode/macro.lua +++ b/spec/outputs/unicode/macro.lua | |||
@@ -211,11 +211,11 @@ local _call_1 = (_({ | |||
211 | -2, | 211 | -2, |
212 | 3 | 212 | 3 |
213 | })) | 213 | })) |
214 | _call_1 = _call_1["链"](_call_1, _call_1, _call_1, _call_1, _call_1, _call_1, _call_1, _call_1) | 214 | _call_1 = _call_1["链"](_call_1) |
215 | _call_1 = _call_1["映射"](_call_1, _call_1, _call_1, _call_1, function(self) | 215 | _call_1 = _call_1["映射"](_call_1, function(self) |
216 | return self * 2 | 216 | return self * 2 |
217 | end) | 217 | end) |
218 | _call_1 = _call_1["过滤"](_call_1, _call_1, function(self) | 218 | _call_1 = _call_1["过滤"](_call_1, function(self) |
219 | return self > 3 | 219 | return self > 3 |
220 | end) | 220 | end) |
221 | local _u7ed3_u679ca = _call_1["取值"](_call_1) | 221 | local _u7ed3_u679ca = _call_1["取值"](_call_1) |
@@ -227,25 +227,25 @@ local _call_2 = (_({ | |||
227 | -2, | 227 | -2, |
228 | 3 | 228 | 3 |
229 | })) | 229 | })) |
230 | _call_2 = _call_2["链"](_call_2, _call_2, _call_2, _call_2, _call_2, _call_2, _call_2, _call_2) | 230 | _call_2 = _call_2["链"](_call_2) |
231 | _call_2 = _call_2["映射"](_call_2, _call_2, _call_2, _call_2, function(self) | 231 | _call_2 = _call_2["映射"](_call_2, function(self) |
232 | return self * 2 | 232 | return self * 2 |
233 | end) | 233 | end) |
234 | _call_2 = _call_2["过滤"](_call_2, _call_2, function(self) | 234 | _call_2 = _call_2["过滤"](_call_2, function(self) |
235 | return self > 3 | 235 | return self > 3 |
236 | end) | 236 | end) |
237 | _call_2["每一个"](_call_2, function(self) | 237 | _call_2["每一个"](_call_2, function(self) |
238 | return _u6253_u5370(self) | 238 | return _u6253_u5370(self) |
239 | end) | 239 | end) |
240 | local _call_3 = _u539f_u70b9["变换"]["根节点"]["游戏对象"] | 240 | local _call_3 = _u539f_u70b9["变换"]["根节点"]["游戏对象"] |
241 | _call_3 = _call_3["父节点"](_call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3) | 241 | _call_3 = _call_3["父节点"](_call_3) |
242 | _call_3 = _call_3["后代"](_call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3) | 242 | _call_3 = _call_3["后代"](_call_3) |
243 | _call_3 = _call_3["选择启用"](_call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3) | 243 | _call_3 = _call_3["选择启用"](_call_3) |
244 | _call_3 = _call_3["选择可见"](_call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3, _call_3) | 244 | _call_3 = _call_3["选择可见"](_call_3) |
245 | _call_3 = _call_3["标签等于"](_call_3, _call_3, _call_3, _call_3, "fx") | 245 | _call_3 = _call_3["标签等于"](_call_3, "fx") |
246 | _call_3 = _call_3["其中"](_call_3, _call_3, function(x) | 246 | _call_3 = _call_3["其中"](_call_3, function(x) |
247 | local _call_4 = x["名称"] | 247 | local _call_4 = x["名称"] |
248 | return _call_4["结尾为"](_call_4, _call_4, "(克隆)") | 248 | return _call_4["结尾为"](_call_4, "(克隆)") |
249 | end) | 249 | end) |
250 | _u7ed3_u679c = _call_3["摧毁"](_call_3) | 250 | _u7ed3_u679c = _call_3["摧毁"](_call_3) |
251 | do | 251 | do |
diff --git a/spec/outputs/unicode/multiline_chain.lua b/spec/outputs/unicode/multiline_chain.lua index 90fdf0b..f45e71f 100644 --- a/spec/outputs/unicode/multiline_chain.lua +++ b/spec/outputs/unicode/multiline_chain.lua | |||
@@ -24,7 +24,11 @@ end)(), { | |||
24 | local _u8868bb = { | 24 | local _u8868bb = { |
25 | ["键1"] = (function() | 25 | ["键1"] = (function() |
26 | local _call_1 = _u53d8_u91cfa | 26 | local _call_1 = _u53d8_u91cfa |
27 | return _call_1["变量b"](_call_1, 123)["变量c"]() | 27 | return (_call_1["变量b"](_call_1, 123, { |
28 | ["字段A"] = _u5b57_u6bb5A | ||
29 | }))["变量c"](1, 2, 3, { | ||
30 | ["字段B"] = _u5b57_u6bb5B | ||
31 | }) | ||
28 | end)(), | 32 | end)(), |
29 | ["键2"] = { | 33 | ["键2"] = { |
30 | ["键w1"] = (function() | 34 | ["键w1"] = (function() |
@@ -54,37 +58,40 @@ _u51fd_u6570 = function() | |||
54 | end | 58 | end |
55 | return _accum_0 | 59 | return _accum_0 |
56 | end | 60 | end |
61 | local _anon_func_0 = function(_u53d8_u91cfa) | ||
62 | do | ||
63 | local _call_1 = _u53d8_u91cfa | ||
64 | return (_call_1["变量b"](_call_1, 123))["变量c"]("abc") | ||
65 | end | ||
66 | end | ||
57 | local _u51fd_u65701 | 67 | local _u51fd_u65701 |
58 | _u51fd_u65701 = function() | 68 | _u51fd_u65701 = function() |
59 | return _u53d8_u91cfx, (function() | 69 | return _u53d8_u91cfx, _anon_func_0(_u53d8_u91cfa) |
60 | local _call_1 = _u53d8_u91cfa | ||
61 | return _call_1["变量b"](_call_1, 123)["变量c"]("abc") | ||
62 | end)() | ||
63 | end | 70 | end |
64 | local _call_1 = _u539f_u59cb["转换"].root.gameObject | 71 | local _call_1 = _u539f_u59cb["转换"].root.gameObject |
65 | local _call_2 = _call_1["父节点"](_call_1) | 72 | local _call_2 = _call_1["父节点"](_call_1) |
66 | local _call_3 = _call_2["后代节点"](_call_2) | 73 | local _call_3 = _call_2["后代节点"](_call_2) |
67 | local _call_4 = _call_3["选择启用"](_call_3) | 74 | local _call_4 = _call_3["选择启用"](_call_3) |
68 | local _call_5 = _call_4["选择可见"](_call_4) | 75 | local _call_5 = _call_4["选择可见"](_call_4) |
69 | local _call_6 = _call_5["标签相等"](_call_5, "fx") | 76 | local _call_6 = (_call_5["标签相等"](_call_5, "fx")) |
70 | local _call_7 = _call_6["筛选"](_call_6, function(_u5143_u7d20) | 77 | local _call_7 = (_call_6["筛选"](_call_6, function(_u5143_u7d20) |
71 | if _u5143_u7d20["是否目标"](_u5143_u7d20, _u5143_u7d20) then | 78 | if _u5143_u7d20["是否目标"](_u5143_u7d20) then |
72 | return false | 79 | return false |
73 | end | 80 | end |
74 | local _call_7 = _u5143_u7d20["名称"] | 81 | local _call_7 = _u5143_u7d20["名称"] |
75 | return _call_7["结束于"](_call_7, _call_7, "(Clone)") | 82 | return _call_7["结束于"](_call_7, "(Clone)") |
76 | end) | 83 | end)) |
77 | local _u7ed3_u679c = _call_7["销毁"](_call_7) | 84 | local _u7ed3_u679c = _call_7["销毁"](_call_7) |
78 | local _call_8 = _u539f_u70b9["变换"]["根节点"]["游戏对象"] | 85 | local _call_8 = _u539f_u70b9["变换"]["根节点"]["游戏对象"] |
79 | local _call_9 = _call_8["父节点"](_call_8) | 86 | local _call_9 = _call_8["父节点"](_call_8) |
80 | local _call_10 = _call_9["后代节点"](_call_9) | 87 | local _call_10 = _call_9["后代节点"](_call_9) |
81 | local _call_11 = _call_10["选择启用"](_call_10) | 88 | local _call_11 = _call_10["选择启用"](_call_10) |
82 | local _call_12 = _call_11["选择可见"](_call_11) | 89 | local _call_12 = _call_11["选择可见"](_call_11) |
83 | local _call_13 = _call_12["标签相等"](_call_12, "fx") | 90 | local _call_13 = (_call_12["标签相等"](_call_12, "fx")) |
84 | local _call_14 = _call_13["筛选"](_call_13, function(_u5143_u7d20) | 91 | local _call_14 = (_call_13["筛选"](_call_13, function(_u5143_u7d20) |
85 | local _call_14 = _u5143_u7d20["名称"] | 92 | local _call_14 = _u5143_u7d20["名称"] |
86 | return _call_14["结束于"](_call_14, _call_14, "(Clone)") | 93 | return _call_14["结束于"](_call_14, "(Clone)") |
87 | end) | 94 | end)) |
88 | _call_14["销毁"](_call_14) | 95 | _call_14["销毁"](_call_14) |
89 | do | 96 | do |
90 | local _with_0 = _u9879_u76ee | 97 | local _with_0 = _u9879_u76ee |
diff --git a/spec/outputs/unicode/syntax.lua b/spec/outputs/unicode/syntax.lua index 664fa46..f086db6 100644 --- a/spec/outputs/unicode/syntax.lua +++ b/spec/outputs/unicode/syntax.lua | |||
@@ -282,13 +282,16 @@ _ = 5 + _u4ec0_u4e48(_u65e0_u804a) | |||
282 | _u4ec0_u4e48(_u65e0_u804a + 5) | 282 | _u4ec0_u4e48(_u65e0_u804a + 5) |
283 | _ = 5 - _u4ec0_u4e48(_u65e0_u804a) | 283 | _ = 5 - _u4ec0_u4e48(_u65e0_u804a) |
284 | _u4ec0_u4e48(_u65e0_u804a - 5) | 284 | _u4ec0_u4e48(_u65e0_u804a - 5) |
285 | _u53d8_u91cfx = _u4f60_u597d - _u4e16_u754c - _u67d0_u7269; | 285 | _u53d8_u91cfx = _u4f60_u597d - _u4e16_u754c - _u67d0_u7269 |
286 | local _anon_func_0 = function(_u4ec0_u4e48) | ||
287 | do | ||
288 | local _call_8 = _u4ec0_u4e48 | ||
289 | return _call_8["酷"](_call_8, 100) | ||
290 | end | ||
291 | end | ||
286 | (function(_u67d0_u7269) | 292 | (function(_u67d0_u7269) |
287 | if _u67d0_u7269 == nil then | 293 | if _u67d0_u7269 == nil then |
288 | _u67d0_u7269 = _u4e0e((function() | 294 | _u67d0_u7269 = _u4e0e(_anon_func_0(_u4ec0_u4e48)) |
289 | local _call_8 = _u4ec0_u4e48 | ||
290 | return _call_8["酷"](_call_8, 100) | ||
291 | end)()) | ||
292 | end | 295 | end |
293 | return _u6253_u5370(_u67d0_u7269) | 296 | return _u6253_u5370(_u67d0_u7269) |
294 | end)() | 297 | end)() |
diff --git a/spec/outputs/unicode/vararg.lua b/spec/outputs/unicode/vararg.lua index 41d1bfd..39fbf0c 100644 --- a/spec/outputs/unicode/vararg.lua +++ b/spec/outputs/unicode/vararg.lua | |||
@@ -1,211 +1,264 @@ | |||
1 | local _u8fde_u63a5 | 1 | local _anon_func_0 = function(_u53d8_u91cfa) |
2 | _u8fde_u63a5 = function(...) | 2 | _u53d8_u91cfa["函数"](_u53d8_u91cfa) |
3 | _u5e26_u6709((function() | 3 | return _u53d8_u91cfa |
4 | local _with_0 = _u53d8_u91cfa | 4 | end |
5 | _with_0["函数"](_with_0) | 5 | local _anon_func_1 = function(_u53d8_u91cfa, ...) |
6 | return _with_0 | 6 | _u53d8_u91cfa["函数"](_u53d8_u91cfa, ...) |
7 | end)()) | 7 | return _u53d8_u91cfa |
8 | _u5e26_u6709((function(...) | 8 | end |
9 | local _with_0 = _u53d8_u91cfa | 9 | local _anon_func_2 = function(_u9879_u76ee) |
10 | _with_0["函数"](_with_0, ...) | 10 | local _accum_0 = { } |
11 | return _with_0 | 11 | local _len_0 = 1 |
12 | end)(...)) | 12 | for i = 1, 10 do |
13 | _u5217_u8868_u751f_u6210((function() | 13 | _accum_0[_len_0] = _u9879_u76ee[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] = _u9879_u76ee[i] | 17 | end |
18 | _len_0 = _len_0 + 1 | 18 | local _anon_func_3 = function(_u9879_u76ee, ...) |
19 | end | 19 | local _accum_0 = { } |
20 | return _accum_0 | 20 | local _len_0 = 1 |
21 | end)()) | 21 | for i = 1, 10 do |
22 | _u5217_u8868_u751f_u6210((function(...) | 22 | _accum_0[_len_0] = _u9879_u76ee[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] = _u9879_u76ee[i](...) | 26 | end |
27 | _len_0 = _len_0 + 1 | 27 | local _anon_func_4 = function(_u9879_u76ee) |
28 | end | 28 | local _accum_0 = { } |
29 | return _accum_0 | 29 | local _len_0 = 1 |
30 | end)(...)) | 30 | for _index_0 = 1, #_u9879_u76ee do |
31 | _u5217_u8868_u751f_u6210((function() | 31 | local _u7269_u54c1 = _u9879_u76ee[_index_0] |
32 | local _accum_0 = { } | 32 | _accum_0[_len_0] = _u7269_u54c1 |
33 | local _len_0 = 1 | 33 | _len_0 = _len_0 + 1 |
34 | local _list_0 = _u9879_u76ee | 34 | end |
35 | for _index_0 = 1, #_list_0 do | 35 | return _accum_0 |
36 | local _u7269_u54c1 = _list_0[_index_0] | 36 | end |
37 | _accum_0[_len_0] = _u7269_u54c1 | 37 | local _anon_func_5 = function(_u9879_u76ee, ...) |
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, #_u9879_u76ee do |
41 | end)()) | 41 | local _u7269_u54c1 = _u9879_u76ee[_index_0] |
42 | _u5217_u8868_u751f_u6210((function(...) | 42 | _accum_0[_len_0] = _u7269_u54c1(...) |
43 | local _accum_0 = { } | 43 | _len_0 = _len_0 + 1 |
44 | local _len_0 = 1 | 44 | end |
45 | local _list_0 = _u9879_u76ee | 45 | return _accum_0 |
46 | for _index_0 = 1, #_list_0 do | 46 | end |
47 | local _u7269_u54c1 = _list_0[_index_0] | 47 | local _anon_func_6 = function(setmetatable, _u51fd_u6570) |
48 | _accum_0[_len_0] = _u7269_u54c1(...) | 48 | local _u53d8_u91cfA |
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 | _u7c7b_u751f_u6210((function() | 57 | __base = _base_0, |
54 | local _u53d8_u91cfA | 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 | _u51fd_u6570() |
65 | }, { | 70 | _u53d8_u91cfA = _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, _u51fd_u6570, ...) |
70 | return _self_0 | 75 | local _u53d8_u91cfA |
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 | _u51fd_u6570() | 80 | _base_0.__index = _base_0 |
76 | _u53d8_u91cfA = _class_0 | ||
77 | return _class_0 | ||
78 | end | 81 | end |
79 | end)()) | 82 | _class_0 = setmetatable({ |
80 | _u7c7b_u751f_u6210((function(...) | 83 | __init = function() end, |
81 | local _u53d8_u91cfA | 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 | _u51fd_u6570(...) |
92 | }, { | 97 | _u53d8_u91cfA = _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, _u8868) |
97 | return _self_0 | 102 | local _tbl_0 = { } |
98 | end | 103 | for _u952e, _u503c in pairs(_u8868) do |
99 | }) | 104 | _tbl_0[_u952e] = _u503c |
100 | _base_0.__class = _class_0 | 105 | end |
101 | local self = _class_0; | 106 | return _tbl_0 |
102 | _u51fd_u6570(...) | 107 | end |
103 | _u53d8_u91cfA = _class_0 | 108 | local _anon_func_9 = function(pairs, _u8868, ...) |
104 | return _class_0 | 109 | local _tbl_0 = { } |
105 | end | 110 | for _u952e, _u503c in pairs(_u8868) do |
106 | end)(...)) | 111 | _tbl_0[_u952e] = _u503c(...) |
107 | _u8868_u751f_u6210((function() | 112 | end |
108 | local _tbl_0 = { } | 113 | return _tbl_0 |
109 | for _u952e, _u503c in pairs(_u8868) do | 114 | end |
110 | _tbl_0[_u952e] = _u503c | 115 | local _anon_func_10 = function(_u9879_u76ee) |
111 | end | 116 | local _tbl_0 = { } |
112 | return _tbl_0 | 117 | for _index_0 = 1, #_u9879_u76ee do |
113 | end)()) | 118 | local _u7269_u54c1 = _u9879_u76ee[_index_0] |
114 | _u8868_u751f_u6210((function(...) | 119 | _tbl_0[_u7269_u54c1] = true |
115 | local _tbl_0 = { } | 120 | end |
116 | for _u952e, _u503c in pairs(_u8868) do | 121 | return _tbl_0 |
117 | _tbl_0[_u952e] = _u503c(...) | 122 | end |
118 | end | 123 | local _anon_func_11 = function(_u9879_u76ee, ...) |
119 | return _tbl_0 | 124 | local _tbl_0 = { } |
120 | end)(...)) | 125 | for _index_0 = 1, #_u9879_u76ee do |
121 | _u8868_u751f_u6210((function() | 126 | local _u7269_u54c1 = _u9879_u76ee[_index_0] |
122 | local _tbl_0 = { } | 127 | _tbl_0[_u7269_u54c1(...)] = true |
123 | local _list_0 = _u9879_u76ee | 128 | end |
124 | for _index_0 = 1, #_list_0 do | 129 | return _tbl_0 |
125 | local _u7269_u54c1 = _list_0[_index_0] | 130 | end |
126 | _tbl_0[_u7269_u54c1] = true | 131 | local _anon_func_12 = function(_u51fd_u6570) |
127 | end | 132 | do |
128 | return _tbl_0 | ||
129 | end)()) | ||
130 | _u8868_u751f_u6210((function(...) | ||
131 | local _tbl_0 = { } | ||
132 | local _list_0 = _u9879_u76ee | ||
133 | for _index_0 = 1, #_list_0 do | ||
134 | local _u7269_u54c1 = _list_0[_index_0] | ||
135 | _tbl_0[_u7269_u54c1(...)] = true | ||
136 | end | ||
137 | return _tbl_0 | ||
138 | end)(...)) | ||
139 | _u505a_u64cd_u4f5c((function() | ||
140 | return _u51fd_u6570() | 133 | return _u51fd_u6570() |
141 | end)()) | 134 | end |
142 | _u505a_u64cd_u4f5c((function(...) | 135 | end |
136 | local _anon_func_13 = function(_u51fd_u6570, ...) | ||
137 | do | ||
143 | return _u51fd_u6570(...) | 138 | return _u51fd_u6570(...) |
144 | end)(...)) | 139 | end |
145 | _u5f53_u64cd_u4f5c((function() | 140 | end |
146 | local _accum_0 = { } | 141 | local _anon_func_14 = function(_u51fd_u6570) |
147 | local _len_0 = 1 | 142 | local _accum_0 = { } |
148 | while false do | 143 | local _len_0 = 1 |
149 | _accum_0[_len_0] = _u51fd_u6570() | 144 | while false do |
150 | _len_0 = _len_0 + 1 | 145 | _accum_0[_len_0] = _u51fd_u6570() |
151 | end | 146 | _len_0 = _len_0 + 1 |
152 | return _accum_0 | 147 | end |
153 | end)()) | 148 | return _accum_0 |
154 | _u5f53_u64cd_u4f5c((function(...) | 149 | end |
155 | local _accum_0 = { } | 150 | local _anon_func_15 = function(_u51fd_u6570, ...) |
156 | local _len_0 = 1 | 151 | local _accum_0 = { } |
157 | while false do | 152 | local _len_0 = 1 |
158 | _accum_0[_len_0] = _u51fd_u6570(...) | 153 | while false do |
159 | _len_0 = _len_0 + 1 | 154 | _accum_0[_len_0] = _u51fd_u6570(...) |
160 | end | 155 | _len_0 = _len_0 + 1 |
161 | return _accum_0 | 156 | end |
162 | end)(...)) | 157 | return _accum_0 |
163 | _u5982_u679c_u64cd_u4f5c((function() | 158 | end |
164 | if false then | 159 | local _anon_func_16 = function(_u51fd_u6570) |
165 | return _u51fd_u6570() | 160 | if false then |
166 | end | 161 | return _u51fd_u6570() |
167 | end)()) | 162 | end |
168 | _u5982_u679c_u64cd_u4f5c((function(...) | 163 | end |
169 | if false then | 164 | local _anon_func_17 = function(_u51fd_u6570, ...) |
170 | return _u51fd_u6570(...) | 165 | if false then |
171 | end | 166 | return _u51fd_u6570(...) |
172 | end)(...)) | 167 | end |
173 | _u9664_u975e_u64cd_u4f5c((function() | 168 | end |
174 | if not true then | 169 | local _anon_func_18 = function(_u51fd_u6570) |
175 | return _u51fd_u6570() | 170 | if not true then |
176 | end | 171 | return _u51fd_u6570() |
177 | end)()) | 172 | end |
178 | _u9664_u975e_u64cd_u4f5c((function(...) | 173 | end |
179 | if not true then | 174 | local _anon_func_19 = function(_u51fd_u6570, ...) |
180 | return _u51fd_u6570(...) | 175 | if not true then |
181 | end | 176 | return _u51fd_u6570(...) |
182 | end)(...)) | 177 | end |
183 | _u5207_u6362_u64cd_u4f5c((function() | 178 | end |
184 | local _exp_0 = _u53d8_u91cfx | 179 | local _anon_func_20 = function(_u53d8_u91cfx, _u51fd_u6570) |
185 | if "abc" == _exp_0 then | 180 | if "abc" == _u53d8_u91cfx then |
186 | return _u51fd_u6570() | 181 | return _u51fd_u6570() |
187 | end | 182 | end |
188 | end)()) | 183 | end |
189 | _u5207_u6362_u64cd_u4f5c((function(...) | 184 | local _anon_func_21 = function(_u53d8_u91cfx, _u51fd_u6570, ...) |
190 | local _exp_0 = _u53d8_u91cfx | 185 | if "abc" == _u53d8_u91cfx then |
191 | if "abc" == _exp_0 then | 186 | return _u51fd_u6570(...) |
192 | return _u51fd_u6570(...) | 187 | end |
193 | end | 188 | end |
194 | end)(...)) | 189 | local _anon_func_22 = function(_u51fd_u6570) |
195 | _u8868_u8fbe_u5f0f_u64cd_u4f5c((function() | 190 | if _u51fd_u6570 ~= nil then |
196 | local _obj_0 = _u51fd_u6570 | 191 | return _u51fd_u6570() |
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(_u51fd_u6570, ...) |
201 | end)()) | 196 | if _u51fd_u6570 ~= nil then |
202 | _u8868_u8fbe_u5f0f_u64cd_u4f5c((function(...) | 197 | return _u51fd_u6570(...) |
203 | local _obj_0 = _u51fd_u6570 | 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, _u6253_u5370, ...) |
207 | return nil | 202 | do |
208 | end)(...)) | 203 | _u6253_u5370(select("#", ...)) |
204 | return _u6253_u5370(...) | ||
205 | end | ||
206 | end | ||
207 | local _anon_func_25 = function(_u6253_u5370, ...) | ||
208 | do | ||
209 | return _u6253_u5370(...) | ||
210 | end | ||
211 | end | ||
212 | local _anon_func_26 = function(_u53d8_u91cfx, _u8868, _u88682) | ||
213 | if 1 == _u53d8_u91cfx then | ||
214 | _u8868["变量x"] = 123 | ||
215 | return _u8868 | ||
216 | else | ||
217 | return _u88682 | ||
218 | end | ||
219 | end | ||
220 | local _anon_func_27 = function(_u6253_u5370, ...) | ||
221 | do | ||
222 | return _u6253_u5370(...) | ||
223 | end | ||
224 | end | ||
225 | local _anon_func_28 = function(_u6761_u4ef6) | ||
226 | if _u6761_u4ef6 then | ||
227 | return 3, 4, 5 | ||
228 | end | ||
229 | end | ||
230 | local _anon_func_29 = function(_u6253_u5370, _arg_0, ...) | ||
231 | do | ||
232 | local _u8868 = _arg_0 | ||
233 | return _u6253_u5370(...) | ||
234 | end | ||
235 | end | ||
236 | local _u8fde_u63a5 | ||
237 | _u8fde_u63a5 = function(...) | ||
238 | _u5e26_u6709(_anon_func_0(_u53d8_u91cfa)) | ||
239 | _u5e26_u6709(_anon_func_1(_u53d8_u91cfa, ...)) | ||
240 | _u5217_u8868_u751f_u6210(_anon_func_2(_u9879_u76ee)) | ||
241 | _u5217_u8868_u751f_u6210(_anon_func_3(_u9879_u76ee, ...)) | ||
242 | _u5217_u8868_u751f_u6210(_anon_func_4(_u9879_u76ee)) | ||
243 | _u5217_u8868_u751f_u6210(_anon_func_5(_u9879_u76ee, ...)) | ||
244 | _u7c7b_u751f_u6210(_anon_func_6(setmetatable, _u51fd_u6570)) | ||
245 | _u7c7b_u751f_u6210(_anon_func_7(setmetatable, _u51fd_u6570, ...)) | ||
246 | _u8868_u751f_u6210(_anon_func_8(pairs, _u8868)) | ||
247 | _u8868_u751f_u6210(_anon_func_9(pairs, _u8868, ...)) | ||
248 | _u8868_u751f_u6210(_anon_func_10(_u9879_u76ee)) | ||
249 | _u8868_u751f_u6210(_anon_func_11(_u9879_u76ee, ...)) | ||
250 | _u505a_u64cd_u4f5c(_anon_func_12(_u51fd_u6570)) | ||
251 | _u505a_u64cd_u4f5c(_anon_func_13(_u51fd_u6570, ...)) | ||
252 | _u5f53_u64cd_u4f5c(_anon_func_14(_u51fd_u6570)) | ||
253 | _u5f53_u64cd_u4f5c(_anon_func_15(_u51fd_u6570, ...)) | ||
254 | _u5982_u679c_u64cd_u4f5c(_anon_func_16(_u51fd_u6570)) | ||
255 | _u5982_u679c_u64cd_u4f5c(_anon_func_17(_u51fd_u6570, ...)) | ||
256 | _u9664_u975e_u64cd_u4f5c(_anon_func_18(_u51fd_u6570)) | ||
257 | _u9664_u975e_u64cd_u4f5c(_anon_func_19(_u51fd_u6570, ...)) | ||
258 | _u5207_u6362_u64cd_u4f5c(_anon_func_20(_u53d8_u91cfx, _u51fd_u6570)) | ||
259 | _u5207_u6362_u64cd_u4f5c(_anon_func_21(_u53d8_u91cfx, _u51fd_u6570, ...)) | ||
260 | _u8868_u8fbe_u5f0f_u64cd_u4f5c(_anon_func_22(_u51fd_u6570)) | ||
261 | _u8868_u8fbe_u5f0f_u64cd_u4f5c(_anon_func_23(_u51fd_u6570, ...)) | ||
209 | _u5192_u53f7((function() | 262 | _u5192_u53f7((function() |
210 | local _base_0 = f() | 263 | local _base_0 = f() |
211 | local _fn_0 = _base_0["函数"] | 264 | local _fn_0 = _base_0["函数"] |
@@ -240,40 +293,17 @@ _u8fde_u63a5 = function(...) | |||
240 | _u591a_u53c2_u6570_u51fd_u6570 = function() | 293 | _u591a_u53c2_u6570_u51fd_u6570 = 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, _u6253_u5370, _u591a_u53c2_u6570_u51fd_u6570()) |
244 | _u6253_u5370(select("#", ...)) | ||
245 | return _u6253_u5370(...) | ||
246 | end)(_u591a_u53c2_u6570_u51fd_u6570()) | ||
247 | end)(_u51fd_u6570_u540d(true)) | 297 | end)(_u51fd_u6570_u540d(true)) |
248 | end | 298 | end |
249 | do | 299 | do |
250 | (function(...) | 300 | _anon_func_25(_u6253_u5370, _anon_func_26(_u53d8_u91cfx, _u8868, _u88682)) |
251 | return _u6253_u5370(...) | ||
252 | end)((function() | ||
253 | local _exp_0 = _u53d8_u91cfx | ||
254 | if 1 == _exp_0 then | ||
255 | local _with_0 = _u8868 | ||
256 | _with_0["变量x"] = 123 | ||
257 | return _with_0 | ||
258 | else | ||
259 | return _u88682 | ||
260 | end | ||
261 | end)()) | ||
262 | end | 301 | end |
263 | do | 302 | do |
264 | (function(...) | 303 | _anon_func_27(_u6253_u5370, 1, 2, _anon_func_28(_u6761_u4ef6)) |
265 | return _u6253_u5370(...) | ||
266 | end)(1, 2, (function() | ||
267 | if _u6761_u4ef6 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(_u6253_u5370, { |
274 | local _u8868 = _arg_0 | ||
275 | return _u6253_u5370(...) | ||
276 | end)({ | ||
277 | ["名字"] = "abc", | 307 | ["名字"] = "abc", |
278 | ["值"] = 123 | 308 | ["值"] = 123 |
279 | }) | 309 | }) |
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 | }) |