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 | }) |
