aboutsummaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorLi Jin <dragon-fly@qq.com>2024-03-25 08:25:06 +0800
committerLi Jin <dragon-fly@qq.com>2024-03-25 08:25:06 +0800
commit21004f1fb9b2f6129a231a6c8d99179f0d6e3edf (patch)
treed94c69b9758e0e8ff38dc5f23bc888d084846110 /spec
parent4e3656da3711fd045fdf90dec7084bd4556c5b7f (diff)
downloadyuescript-21004f1fb9b2f6129a231a6c8d99179f0d6e3edf.tar.gz
yuescript-21004f1fb9b2f6129a231a6c8d99179f0d6e3edf.tar.bz2
yuescript-21004f1fb9b2f6129a231a6c8d99179f0d6e3edf.zip
remove one more redundant 'do' block from destructuring.
Diffstat (limited to 'spec')
-rw-r--r--spec/outputs/5.1/attrib.lua12
-rw-r--r--spec/outputs/assign.lua12
-rw-r--r--spec/outputs/attrib.lua12
-rw-r--r--spec/outputs/backcall.lua14
-rw-r--r--spec/outputs/codes_from_doc.lua104
-rw-r--r--spec/outputs/codes_from_doc_zh.lua104
-rw-r--r--spec/outputs/cond.lua6
-rw-r--r--spec/outputs/destructure.lua198
-rw-r--r--spec/outputs/import.lua12
-rw-r--r--spec/outputs/lists.lua16
-rw-r--r--spec/outputs/local.lua6
-rw-r--r--spec/outputs/metatable.lua24
-rw-r--r--spec/outputs/unicode/assign.lua12
-rw-r--r--spec/outputs/unicode/backcall.lua14
-rw-r--r--spec/outputs/unicode/cond.lua6
-rw-r--r--spec/outputs/unicode/destructure.lua198
-rw-r--r--spec/outputs/unicode/import.lua12
-rw-r--r--spec/outputs/unicode/local.lua6
-rw-r--r--spec/outputs/unicode/metatable.lua24
19 files changed, 303 insertions, 489 deletions
diff --git a/spec/outputs/5.1/attrib.lua b/spec/outputs/5.1/attrib.lua
index 0edaf0e..9cacd97 100644
--- a/spec/outputs/5.1/attrib.lua
+++ b/spec/outputs/5.1/attrib.lua
@@ -38,13 +38,11 @@ do
38end 38end
39do 39do
40 local a, b 40 local a, b
41 do 41 local _obj_0 = {
42 local _obj_0 = { 42 2,
43 2, 43 3
44 3 44 }
45 } 45 a, b = _obj_0[1], _obj_0[2]
46 a, b = _obj_0[1], _obj_0[2]
47 end
48end 46end
49local _anon_func_0 = function(_close_1, error, f, _arg_0, ...) 47local _anon_func_0 = function(_close_1, error, f, _arg_0, ...)
50 do 48 do
diff --git a/spec/outputs/assign.lua b/spec/outputs/assign.lua
index 61b0843..5552f73 100644
--- a/spec/outputs/assign.lua
+++ b/spec/outputs/assign.lua
@@ -53,15 +53,11 @@ return _(function()
53 do 53 do
54 local a, b 54 local a, b
55 if "a" == c then 55 if "a" == c then
56 do 56 local _obj_0 = tb
57 local _obj_0 = tb 57 a, b = _obj_0[1], _obj_0[2]
58 a, b = _obj_0[1], _obj_0[2]
59 end
60 elseif "b" == c then 58 elseif "b" == c then
61 do 59 local _obj_0 = f()
62 local _obj_0 = f() 60 a, b = _obj_0[1], _obj_0[2]
63 a, b = _obj_0[1], _obj_0[2]
64 end
65 end 61 end
66 end 62 end
67 if x then 63 if x then
diff --git a/spec/outputs/attrib.lua b/spec/outputs/attrib.lua
index f6b0784..626944e 100644
--- a/spec/outputs/attrib.lua
+++ b/spec/outputs/attrib.lua
@@ -27,13 +27,11 @@ do
27end 27end
28do 28do
29 local a, b 29 local a, b
30 do 30 local _obj_0 = {
31 local _obj_0 = { 31 2,
32 2, 32 3
33 3 33 }
34 } 34 a, b = _obj_0[1], _obj_0[2]
35 a, b = _obj_0[1], _obj_0[2]
36 end
37end 35end
38do 36do
39 local v <close> = (function() 37 local v <close> = (function()
diff --git a/spec/outputs/backcall.lua b/spec/outputs/backcall.lua
index 38e5754..cb8b2b7 100644
--- a/spec/outputs/backcall.lua
+++ b/spec/outputs/backcall.lua
@@ -80,15 +80,13 @@ end
80do 80do
81 local result, msg 81 local result, msg
82 do 82 do
83 do 83 local _obj_0 = receiveAsync("filename.txt", function(data)
84 local _obj_0 = receiveAsync("filename.txt", function(data) 84 print(data)
85 print(data) 85 return processAsync(data, function(info)
86 return processAsync(data, function(info) 86 return check(info)
87 return check(info)
88 end)
89 end) 87 end)
90 result, msg = _obj_0.result, _obj_0.msg 88 end)
91 end 89 result, msg = _obj_0.result, _obj_0.msg
92 end 90 end
93 print(result, msg) 91 print(result, msg)
94 local totalSize = reduce(((function() 92 local totalSize = reduce(((function()
diff --git a/spec/outputs/codes_from_doc.lua b/spec/outputs/codes_from_doc.lua
index 1f593db..ca54086 100644
--- a/spec/outputs/codes_from_doc.lua
+++ b/spec/outputs/codes_from_doc.lua
@@ -359,10 +359,8 @@ do
359 C, Ct, Cmt = _obj_0.C, _obj_0.Ct, _obj_0.Cmt 359 C, Ct, Cmt = _obj_0.C, _obj_0.Ct, _obj_0.Cmt
360 end 360 end
361 local one, two, ch 361 local one, two, ch
362 do 362 local _obj_0 = require("export")
363 local _obj_0 = require("export") 363 one, two, ch = _obj_0[1], _obj_0[2], _obj_0.Something.umm[1]
364 one, two, ch = _obj_0[1], _obj_0[2], _obj_0.Something.umm[1]
365 end
366end 364end
367local _module_0 = { } 365local _module_0 = { }
368local a, b, c = 1, 2, 3 366local a, b, c = 1, 2, 3
@@ -527,36 +525,26 @@ local obj2 = {
527local first, second = obj2.numbers[1], obj2.numbers[2] 525local first, second = obj2.numbers[1], obj2.numbers[2]
528print(first, second, color) 526print(first, second, color)
529local first, second, color 527local first, second, color
530do 528local _obj_0 = obj2
531 local _obj_0 = obj2 529first, second, color = _obj_0.numbers[1], _obj_0.numbers[2], _obj_0.properties.color
532 first, second, color = _obj_0.numbers[1], _obj_0.numbers[2], _obj_0.properties.color
533end
534local concat, insert 530local concat, insert
535do 531local _obj_0 = table
536 local _obj_0 = table 532concat, insert = _obj_0.concat, _obj_0.insert
537 concat, insert = _obj_0.concat, _obj_0.insert
538end
539local mix, max, rand 533local mix, max, rand
540do 534local _obj_0 = math
541 local _obj_0 = math 535mix, max, rand = _obj_0.mix, _obj_0.max, _obj_0.random
542 mix, max, rand = _obj_0.mix, _obj_0.max, _obj_0.random
543end
544local name, job 536local name, job
545do 537local _obj_0 = person
546 local _obj_0 = person 538name, job = _obj_0.name, _obj_0.job
547 name, job = _obj_0.name, _obj_0.job 539if name == nil then
548 if name == nil then 540 name = "nameless"
549 name = "nameless"
550 end
551 if job == nil then
552 job = "jobless"
553 end
554end 541end
555local two, four 542if job == nil then
556do 543 job = "jobless"
557 local _obj_0 = items
558 two, four = _obj_0[2], _obj_0[4]
559end 544end
545local two, four
546local _obj_0 = items
547two, four = _obj_0[2], _obj_0[4]
560local tuples = { 548local tuples = {
561 { 549 {
562 "hello", 550 "hello",
@@ -647,10 +635,8 @@ local _ <close> = setmetatable({ }, {
647 end 635 end
648}) 636})
649local a, b, c, d 637local a, b, c, d
650do 638local _obj_0 = tb
651 local _obj_0 = tb 639a, b, c, d = _obj_0.a, _obj_0.b, _obj_0[1], _obj_0[2]
652 a, b, c, d = _obj_0.a, _obj_0.b, _obj_0[1], _obj_0[2]
653end
654local some_string = "Here is a string\n that has a line break in it." 640local some_string = "Here is a string\n that has a line break in it."
655print("I am " .. tostring(math.random() * 100) .. "% sure.") 641print("I am " .. tostring(math.random() * 100) .. "% sure.")
656local integer = 1000000 642local integer = 1000000
@@ -2360,10 +2346,8 @@ do
2360 C, Ct, Cmt = _obj_0.C, _obj_0.Ct, _obj_0.Cmt 2346 C, Ct, Cmt = _obj_0.C, _obj_0.Ct, _obj_0.Cmt
2361 end 2347 end
2362 local one, two, ch 2348 local one, two, ch
2363 do 2349 local _obj_0 = require("export")
2364 local _obj_0 = require("export") 2350 one, two, ch = _obj_0[1], _obj_0[2], _obj_0.Something.umm[1]
2365 one, two, ch = _obj_0[1], _obj_0[2], _obj_0.Something.umm[1]
2366 end
2367end 2351end
2368local _module_0 = { } 2352local _module_0 = { }
2369local a, b, c = 1, 2, 3 2353local a, b, c = 1, 2, 3
@@ -2528,36 +2512,26 @@ local obj2 = {
2528local first, second = obj2.numbers[1], obj2.numbers[2] 2512local first, second = obj2.numbers[1], obj2.numbers[2]
2529print(first, second, color) 2513print(first, second, color)
2530local first, second, color 2514local first, second, color
2531do 2515local _obj_0 = obj2
2532 local _obj_0 = obj2 2516first, second, color = _obj_0.numbers[1], _obj_0.numbers[2], _obj_0.properties.color
2533 first, second, color = _obj_0.numbers[1], _obj_0.numbers[2], _obj_0.properties.color
2534end
2535local concat, insert 2517local concat, insert
2536do 2518local _obj_0 = table
2537 local _obj_0 = table 2519concat, insert = _obj_0.concat, _obj_0.insert
2538 concat, insert = _obj_0.concat, _obj_0.insert
2539end
2540local mix, max, rand 2520local mix, max, rand
2541do 2521local _obj_0 = math
2542 local _obj_0 = math 2522mix, max, rand = _obj_0.mix, _obj_0.max, _obj_0.random
2543 mix, max, rand = _obj_0.mix, _obj_0.max, _obj_0.random
2544end
2545local name, job 2523local name, job
2546do 2524local _obj_0 = person
2547 local _obj_0 = person 2525name, job = _obj_0.name, _obj_0.job
2548 name, job = _obj_0.name, _obj_0.job 2526if name == nil then
2549 if name == nil then 2527 name = "nameless"
2550 name = "nameless"
2551 end
2552 if job == nil then
2553 job = "jobless"
2554 end
2555end 2528end
2556local two, four 2529if job == nil then
2557do 2530 job = "jobless"
2558 local _obj_0 = items
2559 two, four = _obj_0[2], _obj_0[4]
2560end 2531end
2532local two, four
2533local _obj_0 = items
2534two, four = _obj_0[2], _obj_0[4]
2561local tuples = { 2535local tuples = {
2562 { 2536 {
2563 "hello", 2537 "hello",
@@ -2648,10 +2622,8 @@ local _ <close> = setmetatable({ }, {
2648 end 2622 end
2649}) 2623})
2650local a, b, c, d 2624local a, b, c, d
2651do 2625local _obj_0 = tb
2652 local _obj_0 = tb 2626a, b, c, d = _obj_0.a, _obj_0.b, _obj_0[1], _obj_0[2]
2653 a, b, c, d = _obj_0.a, _obj_0.b, _obj_0[1], _obj_0[2]
2654end
2655local some_string = "Here is a string\n that has a line break in it." 2627local some_string = "Here is a string\n that has a line break in it."
2656print("I am " .. tostring(math.random() * 100) .. "% sure.") 2628print("I am " .. tostring(math.random() * 100) .. "% sure.")
2657local integer = 1000000 2629local integer = 1000000
diff --git a/spec/outputs/codes_from_doc_zh.lua b/spec/outputs/codes_from_doc_zh.lua
index fff0bdd..dfa6efd 100644
--- a/spec/outputs/codes_from_doc_zh.lua
+++ b/spec/outputs/codes_from_doc_zh.lua
@@ -359,10 +359,8 @@ do
359 C, Ct, Cmt = _obj_0.C, _obj_0.Ct, _obj_0.Cmt 359 C, Ct, Cmt = _obj_0.C, _obj_0.Ct, _obj_0.Cmt
360 end 360 end
361 local one, two, ch 361 local one, two, ch
362 do 362 local _obj_0 = require("export")
363 local _obj_0 = require("export") 363 one, two, ch = _obj_0[1], _obj_0[2], _obj_0.Something.umm[1]
364 one, two, ch = _obj_0[1], _obj_0[2], _obj_0.Something.umm[1]
365 end
366end 364end
367local _module_0 = { } 365local _module_0 = { }
368local a, b, c = 1, 2, 3 366local a, b, c = 1, 2, 3
@@ -527,36 +525,26 @@ local obj2 = {
527local first, second = obj2.numbers[1], obj2.numbers[2] 525local first, second = obj2.numbers[1], obj2.numbers[2]
528print(first, second, color) 526print(first, second, color)
529local first, second, color 527local first, second, color
530do 528local _obj_0 = obj2
531 local _obj_0 = obj2 529first, second, color = _obj_0.numbers[1], _obj_0.numbers[2], _obj_0.properties.color
532 first, second, color = _obj_0.numbers[1], _obj_0.numbers[2], _obj_0.properties.color
533end
534local concat, insert 530local concat, insert
535do 531local _obj_0 = table
536 local _obj_0 = table 532concat, insert = _obj_0.concat, _obj_0.insert
537 concat, insert = _obj_0.concat, _obj_0.insert
538end
539local mix, max, rand 533local mix, max, rand
540do 534local _obj_0 = math
541 local _obj_0 = math 535mix, max, rand = _obj_0.mix, _obj_0.max, _obj_0.random
542 mix, max, rand = _obj_0.mix, _obj_0.max, _obj_0.random
543end
544local name, job 536local name, job
545do 537local _obj_0 = person
546 local _obj_0 = person 538name, job = _obj_0.name, _obj_0.job
547 name, job = _obj_0.name, _obj_0.job 539if name == nil then
548 if name == nil then 540 name = "nameless"
549 name = "nameless"
550 end
551 if job == nil then
552 job = "jobless"
553 end
554end 541end
555local two, four 542if job == nil then
556do 543 job = "jobless"
557 local _obj_0 = items
558 two, four = _obj_0[2], _obj_0[4]
559end 544end
545local two, four
546local _obj_0 = items
547two, four = _obj_0[2], _obj_0[4]
560local tuples = { 548local tuples = {
561 { 549 {
562 "hello", 550 "hello",
@@ -647,10 +635,8 @@ local _ <close> = setmetatable({ }, {
647 end 635 end
648}) 636})
649local a, b, c, d 637local a, b, c, d
650do 638local _obj_0 = tb
651 local _obj_0 = tb 639a, b, c, d = _obj_0.a, _obj_0.b, _obj_0[1], _obj_0[2]
652 a, b, c, d = _obj_0.a, _obj_0.b, _obj_0[1], _obj_0[2]
653end
654local some_string = "这是一个字符串\n 并包括一个换行。" 640local some_string = "这是一个字符串\n 并包括一个换行。"
655print("我有" .. tostring(math.random() * 100) .. "%的把握。") 641print("我有" .. tostring(math.random() * 100) .. "%的把握。")
656local integer = 1000000 642local integer = 1000000
@@ -2354,10 +2340,8 @@ do
2354 C, Ct, Cmt = _obj_0.C, _obj_0.Ct, _obj_0.Cmt 2340 C, Ct, Cmt = _obj_0.C, _obj_0.Ct, _obj_0.Cmt
2355 end 2341 end
2356 local one, two, ch 2342 local one, two, ch
2357 do 2343 local _obj_0 = require("export")
2358 local _obj_0 = require("export") 2344 one, two, ch = _obj_0[1], _obj_0[2], _obj_0.Something.umm[1]
2359 one, two, ch = _obj_0[1], _obj_0[2], _obj_0.Something.umm[1]
2360 end
2361end 2345end
2362local _module_0 = { } 2346local _module_0 = { }
2363local a, b, c = 1, 2, 3 2347local a, b, c = 1, 2, 3
@@ -2522,36 +2506,26 @@ local obj2 = {
2522local first, second = obj2.numbers[1], obj2.numbers[2] 2506local first, second = obj2.numbers[1], obj2.numbers[2]
2523print(first, second, color) 2507print(first, second, color)
2524local first, second, color 2508local first, second, color
2525do 2509local _obj_0 = obj2
2526 local _obj_0 = obj2 2510first, second, color = _obj_0.numbers[1], _obj_0.numbers[2], _obj_0.properties.color
2527 first, second, color = _obj_0.numbers[1], _obj_0.numbers[2], _obj_0.properties.color
2528end
2529local concat, insert 2511local concat, insert
2530do 2512local _obj_0 = table
2531 local _obj_0 = table 2513concat, insert = _obj_0.concat, _obj_0.insert
2532 concat, insert = _obj_0.concat, _obj_0.insert
2533end
2534local mix, max, rand 2514local mix, max, rand
2535do 2515local _obj_0 = math
2536 local _obj_0 = math 2516mix, max, rand = _obj_0.mix, _obj_0.max, _obj_0.random
2537 mix, max, rand = _obj_0.mix, _obj_0.max, _obj_0.random
2538end
2539local name, job 2517local name, job
2540do 2518local _obj_0 = person
2541 local _obj_0 = person 2519name, job = _obj_0.name, _obj_0.job
2542 name, job = _obj_0.name, _obj_0.job 2520if name == nil then
2543 if name == nil then 2521 name = "nameless"
2544 name = "nameless"
2545 end
2546 if job == nil then
2547 job = "jobless"
2548 end
2549end 2522end
2550local two, four 2523if job == nil then
2551do 2524 job = "jobless"
2552 local _obj_0 = items
2553 two, four = _obj_0[2], _obj_0[4]
2554end 2525end
2526local two, four
2527local _obj_0 = items
2528two, four = _obj_0[2], _obj_0[4]
2555local tuples = { 2529local tuples = {
2556 { 2530 {
2557 "hello", 2531 "hello",
@@ -2642,10 +2616,8 @@ local _ <close> = setmetatable({ }, {
2642 end 2616 end
2643}) 2617})
2644local a, b, c, d 2618local a, b, c, d
2645do 2619local _obj_0 = tb
2646 local _obj_0 = tb 2620a, b, c, d = _obj_0.a, _obj_0.b, _obj_0[1], _obj_0[2]
2647 a, b, c, d = _obj_0.a, _obj_0.b, _obj_0[1], _obj_0[2]
2648end
2649local some_string = "这是一个字符串\n 并包括一个换行。" 2621local some_string = "这是一个字符串\n 并包括一个换行。"
2650print("我有" .. tostring(math.random() * 100) .. "%的把握。") 2622print("我有" .. tostring(math.random() * 100) .. "%的把握。")
2651local integer = 1000000 2623local integer = 1000000
diff --git a/spec/outputs/cond.lua b/spec/outputs/cond.lua
index 5a5aae5..083419a 100644
--- a/spec/outputs/cond.lua
+++ b/spec/outputs/cond.lua
@@ -318,10 +318,8 @@ do
318 if _des_0 then 318 if _des_0 then
319 _M = _des_0 319 _M = _des_0
320 local Thing = _M.Thing 320 local Thing = _M.Thing
321 do 321 local _obj_0 = _M
322 local _obj_0 = _M 322 a, b = _obj_0.a, _obj_0.b
323 a, b = _obj_0.a, _obj_0.b
324 end
325 end 323 end
326 end 324 end
327end 325end
diff --git a/spec/outputs/destructure.lua b/spec/outputs/destructure.lua
index 224ed2d..2d0d46f 100644
--- a/spec/outputs/destructure.lua
+++ b/spec/outputs/destructure.lua
@@ -10,10 +10,8 @@ do
10 a, b, c = _obj_0[1][1], _obj_0[2], _obj_0[3][1] 10 a, b, c = _obj_0[1][1], _obj_0[2], _obj_0[3][1]
11 end 11 end
12 local hello, world 12 local hello, world
13 do 13 local _obj_0 = value
14 local _obj_0 = value 14 hello, world = _obj_0.hello, _obj_0.world
15 hello, world = _obj_0.hello, _obj_0.world
16 end
17end 15end
18do 16do
19 local no, thing 17 local no, thing
@@ -49,17 +47,13 @@ do
49 end 47 end
50 do 48 do
51 c = nil 49 c = nil
52 do 50 local _obj_0 = tbl
53 local _obj_0 = tbl 51 a, b = _obj_0.a, _obj_0.b
54 a, b = _obj_0.a, _obj_0.b
55 end
56 end 52 end
57 do 53 do
58 a = tbl 54 a = tbl
59 do 55 local _obj_0 = _
60 local _obj_0 = _ 56 b, c = _obj_0.b, _obj_0.c
61 b, c = _obj_0.b, _obj_0.c
62 end
63 end 57 end
64 do 58 do
65 b = _ 59 b = _
@@ -88,17 +82,13 @@ do
88end 82end
89do 83do
90 local c, e 84 local c, e
91 do 85 local _obj_0 = tb
92 local _obj_0 = tb 86 c, e = _obj_0.a.b, _obj_0.a.d
93 c, e = _obj_0.a.b, _obj_0.a.d
94 end
95end 87end
96do 88do
97 local c, e, f 89 local c, e, f
98 do 90 local _obj_0 = tb
99 local _obj_0 = tb 91 c, e, f = _obj_0.a[1].b, _obj_0.a[2].d, _obj_0.a[3]
100 c, e, f = _obj_0.a[1].b, _obj_0.a[2].d, _obj_0.a[3]
101 end
102end 92end
103do 93do
104 self.world = x[1] 94 self.world = x[1]
@@ -169,10 +159,8 @@ do
169end 159end
170do 160do
171 local a, b, c 161 local a, b, c
172 do 162 local _obj_0 = z
173 local _obj_0 = z 163 a, b, c = _obj_0[1], _obj_0[2], _obj_0[3]
174 a, b, c = _obj_0[1], _obj_0[2], _obj_0[3]
175 end
176end 164end
177local _ 165local _
178_ = function(z) 166_ = function(z)
@@ -189,21 +177,17 @@ do
189end 177end
190do 178do
191 local a, b, c 179 local a, b, c
192 do 180 local _obj_0 = thing
193 local _obj_0 = thing 181 a, b, c = _obj_0["if"][1], _obj_0["if"][2], _obj_0["if"][3]
194 a, b, c = _obj_0["if"][1], _obj_0["if"][2], _obj_0["if"][3]
195 end
196end 182end
197do 183do
198 local a, b 184 local a, b
199 if true then 185 if true then
200 do 186 local _obj_0 = {
201 local _obj_0 = { 187 a = "Hello",
202 a = "Hello", 188 b = "World"
203 b = "World" 189 }
204 } 190 a, b = _obj_0.a, _obj_0.b
205 a, b = _obj_0.a, _obj_0.b
206 end
207 end 191 end
208 local days, hours, mins, secs 192 local days, hours, mins, secs
209 do 193 do
@@ -305,41 +289,33 @@ do
305 end 289 end
306 end 290 end
307 end 291 end
308 do 292 local _tmp_0
309 local _tmp_0 293 local _obj_0 = getmetatable(tb)
310 do 294 _tmp_0 = _obj_0.func
311 local _obj_0 = getmetatable(tb) 295 if _tmp_0 == nil then
312 _tmp_0 = _obj_0.func 296 local _obj_1 = item
297 if _obj_1 ~= nil then
298 _tmp_0 = _obj_1.defVal
313 end 299 end
314 if _tmp_0 == nil then
315 local _obj_0 = item
316 if _obj_0 ~= nil then
317 _tmp_0 = _obj_0.defVal
318 end
319 end
320 a.b(function()
321 return 123
322 end).c = _tmp_0
323 end 300 end
301 a.b(function()
302 return 123
303 end).c = _tmp_0
324end 304end
325do 305do
326 local mt, subFunc 306 local mt, subFunc
327 do 307 local _obj_0 = getmetatable(tb.x)
328 local _obj_0 = getmetatable(tb.x) 308 mt, subFunc = _obj_0, _obj_0.__sub
329 mt, subFunc = _obj_0, _obj_0.__sub 309 if mt == nil then
330 if mt == nil then 310 mt = { }
331 mt = { }
332 end
333 end 311 end
334end 312end
335do 313do
336 local mt, subFunc 314 local mt, subFunc
337 do 315 local _obj_0 = tb
338 local _obj_0 = tb 316 mt, subFunc = getmetatable(_obj_0.x), getmetatable(_obj_0.x).__sub
339 mt, subFunc = getmetatable(_obj_0.x), getmetatable(_obj_0.x).__sub 317 if mt == nil then
340 if mt == nil then 318 mt = { }
341 mt = { }
342 end
343 end 319 end
344end 320end
345do 321do
@@ -386,31 +362,25 @@ do
386end 362end
387do 363do
388 local a, b 364 local a, b
389 do 365 local _obj_0 = tb
390 local _obj_0 = tb 366 a, b = _obj_0[2], _obj_0[4]
391 a, b = _obj_0[2], _obj_0[4]
392 end
393end 367end
394do 368do
395 local a, b 369 local a, b
396 do 370 local _obj_0 = tb
397 local _obj_0 = tb 371 a, b = _obj_0[1], _obj_0[3]
398 a, b = _obj_0[1], _obj_0[3]
399 end
400end 372end
401do 373do
402 do 374 local _obj_0 = x.x.x
403 local _obj_0 = x.x.x 375 local _tmp_0, _tmp_1 = _obj_0.x, _obj_0.y
404 local _tmp_0, _tmp_1 = _obj_0.x, _obj_0.y 376 if _tmp_0 == nil then
405 if _tmp_0 == nil then 377 _tmp_0 = 1
406 _tmp_0 = 1
407 end
408 if _tmp_1 == nil then
409 _tmp_1 = 2
410 end
411 a.b = _tmp_0
412 a.c = _tmp_1
413 end 378 end
379 if _tmp_1 == nil then
380 _tmp_1 = 2
381 end
382 a.b = _tmp_0
383 a.c = _tmp_1
414end 384end
415do 385do
416 local width, height 386 local width, height
@@ -419,15 +389,13 @@ do
419 width, height = _obj_0.width, _obj_0.height 389 width, height = _obj_0.width, _obj_0.height
420 end 390 end
421 local x, y 391 local x, y
422 do 392 local _obj_0 = point
423 local _obj_0 = point 393 x, y = _obj_0.x, _obj_0.y
424 x, y = _obj_0.x, _obj_0.y 394 if x == nil then
425 if x == nil then 395 x = 0.0
426 x = 0.0 396 end
427 end 397 if y == nil then
428 if y == nil then 398 y = 0.0
429 y = 0.0
430 end
431 end 399 end
432end 400end
433do 401do
@@ -451,29 +419,25 @@ do
451end 419end
452do 420do
453 local v1, v2, v3, v4 421 local v1, v2, v3, v4
454 do 422 local _obj_0 = tb
455 local _obj_0 = tb 423 local _tmp_0, _tmp_1 = 1 + 1, self.x
456 local _tmp_0, _tmp_1 = 1 + 1, self.x 424 v1, v2, v3, v4 = _obj_0[ [["abc"]]], _obj_0[_tmp_0][1], _obj_0[_tmp_0][2], _obj_0[_tmp_1]
457 v1, v2, v3, v4 = _obj_0[ [["abc"]]], _obj_0[_tmp_0][1], _obj_0[_tmp_0][2], _obj_0[_tmp_1] 425 if v1 == nil then
458 if v1 == nil then 426 v1 = 111
459 v1 = 111
460 end
461 if v2 == nil then
462 v2 = 222
463 end
464 if v3 == nil then
465 v3 = 333
466 end
467 if v4 == nil then
468 v4 = 444
469 end
470 end 427 end
471 local v5, v6, v7 428 if v2 == nil then
472 do 429 v2 = 222
473 local _obj_0 = tb2 430 end
474 local _tmp_2, _tmp_3 = func(), func2() 431 if v3 == nil then
475 v5, v6, v7 = _obj_0['x-y-z'], _obj_0[_tmp_2][_tmp_3], _obj_0[_tmp_2][1] 432 v3 = 333
433 end
434 if v4 == nil then
435 v4 = 444
476 end 436 end
437 local v5, v6, v7
438 local _obj_1 = tb2
439 local _tmp_2, _tmp_3 = func(), func2()
440 v5, v6, v7 = _obj_1['x-y-z'], _obj_1[_tmp_2][_tmp_3], _obj_1[_tmp_2][1]
477end 441end
478do 442do
479 local value, value_meta 443 local value, value_meta
@@ -512,16 +476,12 @@ do
512end 476end
513do 477do
514 local tb = { } 478 local tb = { }
515 do 479 local _tmp_0 = c()
516 local _tmp_0 = c() 480 local v2 = tb[_tmp_0]
517 local v2 = tb[_tmp_0]
518 end
519 local v1 481 local v1
520 do 482 local _obj_0 = getmetatable(tb)
521 local _obj_0 = getmetatable(tb) 483 local _tmp_1 = a + b
522 local _tmp_1 = a + b 484 v1 = _obj_0[_tmp_1]
523 v1 = _obj_0[_tmp_1]
524 end
525end 485end
526do 486do
527 local add, field 487 local add, field
diff --git a/spec/outputs/import.lua b/spec/outputs/import.lua
index ffe688b..83c99e2 100644
--- a/spec/outputs/import.lua
+++ b/spec/outputs/import.lua
@@ -149,10 +149,8 @@ do
149end 149end
150do 150do
151 local func, ifVar 151 local func, ifVar
152 do 152 local _obj_1 = require("org.package.module")
153 local _obj_1 = require("org.package.module") 153 func, ifVar = _obj_1["function"], _obj_1["if"]
154 func, ifVar = _obj_1["function"], _obj_1["if"]
155 end
156end 154end
157do 155do
158 local b = getmetatable(require("m")).__gc 156 local b = getmetatable(require("m")).__gc
@@ -165,8 +163,6 @@ do
165 end 163 end
166 local d = require("m").c 164 local d = require("m").c
167 local g, i 165 local g, i
168 do 166 local _obj_1 = require("m")
169 local _obj_1 = require("m") 167 g, i = _obj_1[1], getmetatable(_obj_1[2]).__close
170 g, i = _obj_1[1], getmetatable(_obj_1[2]).__close
171 end
172end 168end
diff --git a/spec/outputs/lists.lua b/spec/outputs/lists.lua
index e2d512d..48ec9c8 100644
--- a/spec/outputs/lists.lua
+++ b/spec/outputs/lists.lua
@@ -318,15 +318,13 @@ end
318do 318do
319 a, b = hello[1], hello[2] 319 a, b = hello[1], hello[2]
320 local name, job 320 local name, job
321 do 321 local _obj_0 = person
322 local _obj_0 = person 322 name, job = _obj_0[1], _obj_0[2]
323 name, job = _obj_0[1], _obj_0[2] 323 if name == nil then
324 if name == nil then 324 name = "nameless"
325 name = "nameless" 325 end
326 end 326 if job == nil then
327 if job == nil then 327 job = "jobless"
328 job = "jobless"
329 end
330 end 328 end
331end 329end
332return nil 330return nil
diff --git a/spec/outputs/local.lua b/spec/outputs/local.lua
index 5d215e0..c5b3931 100644
--- a/spec/outputs/local.lua
+++ b/spec/outputs/local.lua
@@ -55,10 +55,8 @@ do
55 k = 10 55 k = 10
56 end 56 end
57 x = 100 57 x = 100
58 do 58 local _obj_0 = y
59 local _obj_0 = y 59 a, b, c = _obj_0.a, _obj_0.b, _obj_0.c
60 a, b, c = _obj_0.a, _obj_0.b, _obj_0.c
61 end
62end 60end
63do 61do
64 local a, b, c, d 62 local a, b, c, d
diff --git a/spec/outputs/metatable.lua b/spec/outputs/metatable.lua
index 78de433..6af10e5 100644
--- a/spec/outputs/metatable.lua
+++ b/spec/outputs/metatable.lua
@@ -51,15 +51,11 @@ do
51 local _obj_0, _obj_1 51 local _obj_0, _obj_1
52 x, _obj_0, _obj_1 = 123, a.b.c, func() 52 x, _obj_0, _obj_1 = 123, a.b.c, func()
53 new, var = _obj_0.new, _obj_0.var 53 new, var = _obj_0.new, _obj_0.var
54 do 54 local _obj_2 = getmetatable(_obj_0)
55 local _obj_2 = getmetatable(_obj_0) 55 close, closeA = _obj_2.__close, _obj_2.__close
56 close, closeA = _obj_2.__close, _obj_2.__close
57 end
58 num = _obj_1.num 56 num = _obj_1.num
59 do 57 local _obj_3 = getmetatable(_obj_1)
60 local _obj_2 = getmetatable(_obj_1) 58 add, sub = _obj_3.__add, _obj_3.__sub
61 add, sub = _obj_2.__add, _obj_2.__sub
62 end
63end 59end
64setmetatable(a.b, { }) 60setmetatable(a.b, { })
65x.abc = 123 61x.abc = 123
@@ -107,17 +103,13 @@ index = getmetatable(a).__index
107index = getmetatable(a).__index 103index = getmetatable(a).__index
108do 104do
109 local ctor, update 105 local ctor, update
110 do 106 local _obj_0 = getmetatable(a)
111 local _obj_0 = getmetatable(a) 107 ctor, update = _obj_0.new, _obj_0.update
112 ctor, update = _obj_0.new, _obj_0.update
113 end
114end 108end
115do 109do
116 local ctor, update 110 local ctor, update
117 do 111 local _obj_0 = getmetatable(a)
118 local _obj_0 = getmetatable(a) 112 ctor, update = _obj_0.new, _obj_0.update
119 ctor, update = _obj_0.new, _obj_0.update
120 end
121end 113end
122local tb = { } 114local tb = { }
123do 115do
diff --git a/spec/outputs/unicode/assign.lua b/spec/outputs/unicode/assign.lua
index 16ece1a..cb53159 100644
--- a/spec/outputs/unicode/assign.lua
+++ b/spec/outputs/unicode/assign.lua
@@ -54,15 +54,11 @@ return __u65e0_u6548_u53d8_u91cf(function()
54 local _u5143_u7d20a, _u5143_u7d20b 54 local _u5143_u7d20a, _u5143_u7d20b
55 local _exp_0 = _u5bf9_u8c61c 55 local _exp_0 = _u5bf9_u8c61c
56 if "a" == _exp_0 then 56 if "a" == _exp_0 then
57 do 57 local _obj_0 = _u5b57_u5178
58 local _obj_0 = _u5b57_u5178 58 _u5143_u7d20a, _u5143_u7d20b = _obj_0[1], _obj_0[2]
59 _u5143_u7d20a, _u5143_u7d20b = _obj_0[1], _obj_0[2]
60 end
61 elseif "b" == _exp_0 then 59 elseif "b" == _exp_0 then
62 do 60 local _obj_0 = _u51fd_u6570()
63 local _obj_0 = _u51fd_u6570() 61 _u5143_u7d20a, _u5143_u7d20b = _obj_0[1], _obj_0[2]
64 _u5143_u7d20a, _u5143_u7d20b = _obj_0[1], _obj_0[2]
65 end
66 end 62 end
67 end 63 end
68 do 64 do
diff --git a/spec/outputs/unicode/backcall.lua b/spec/outputs/unicode/backcall.lua
index f4bd5a3..85d7592 100644
--- a/spec/outputs/unicode/backcall.lua
+++ b/spec/outputs/unicode/backcall.lua
@@ -82,15 +82,13 @@ end
82do 82do
83 local _u7ed3_u679c, _u6d88_u606f 83 local _u7ed3_u679c, _u6d88_u606f
84 do 84 do
85 do 85 local _obj_0 = _u5f02_u6b65_u63a5_u6536("文件名.txt", function(_u6570_u636e)
86 local _obj_0 = _u5f02_u6b65_u63a5_u6536("文件名.txt", function(_u6570_u636e) 86 _u6253_u5370(_u6570_u636e)
87 _u6253_u5370(_u6570_u636e) 87 return _u5f02_u6b65_u5904_u7406(_u6570_u636e, function(_u4fe1_u606f)
88 return _u5f02_u6b65_u5904_u7406(_u6570_u636e, function(_u4fe1_u606f) 88 return _u68c0_u67e5(_u4fe1_u606f)
89 return _u68c0_u67e5(_u4fe1_u606f)
90 end)
91 end) 89 end)
92 _u7ed3_u679c, _u6d88_u606f = _obj_0["结果"], _obj_0["消息"] 90 end)
93 end 91 _u7ed3_u679c, _u6d88_u606f = _obj_0["结果"], _obj_0["消息"]
94 end 92 end
95 _u6253_u5370(_u7ed3_u679c, _u6d88_u606f) 93 _u6253_u5370(_u7ed3_u679c, _u6d88_u606f)
96 local _u603b_u5927_u5c0f = _u5408_u5e76(((function() 94 local _u603b_u5927_u5c0f = _u5408_u5e76(((function()
diff --git a/spec/outputs/unicode/cond.lua b/spec/outputs/unicode/cond.lua
index 2b5af8a..7229001 100644
--- a/spec/outputs/unicode/cond.lua
+++ b/spec/outputs/unicode/cond.lua
@@ -320,10 +320,8 @@ do
320 __u6a21_u5757 = _des_0 320 __u6a21_u5757 = _des_0
321 local _u4e1c_u897f = __u6a21_u5757["东西"] 321 local _u4e1c_u897f = __u6a21_u5757["东西"]
322 local a_u529f_u80fd, b_u529f_u80fd 322 local a_u529f_u80fd, b_u529f_u80fd
323 do 323 local _obj_0 = __u6a21_u5757
324 local _obj_0 = __u6a21_u5757 324 a_u529f_u80fd, b_u529f_u80fd = _obj_0["a功能"], _obj_0["b功能"]
325 a_u529f_u80fd, b_u529f_u80fd = _obj_0["a功能"], _obj_0["b功能"]
326 end
327 end 325 end
328 end 326 end
329end 327end
diff --git a/spec/outputs/unicode/destructure.lua b/spec/outputs/unicode/destructure.lua
index 7263d49..e1cd6ae 100644
--- a/spec/outputs/unicode/destructure.lua
+++ b/spec/outputs/unicode/destructure.lua
@@ -10,10 +10,8 @@ do
10 _u5143_u7d20a, _u5143_u7d20b, _u5143_u7d20c = _obj_0[1][1], _obj_0[2], _obj_0[3][1] 10 _u5143_u7d20a, _u5143_u7d20b, _u5143_u7d20c = _obj_0[1][1], _obj_0[2], _obj_0[3][1]
11 end 11 end
12 local _u4f60_u597d, _u4e16_u754c 12 local _u4f60_u597d, _u4e16_u754c
13 do 13 local _obj_0 = _u503c
14 local _obj_0 = _u503c 14 _u4f60_u597d, _u4e16_u754c = _obj_0["你好"], _obj_0["世界"]
15 _u4f60_u597d, _u4e16_u754c = _obj_0["你好"], _obj_0["世界"]
16 end
17end 15end
18do 16do
19 local _u5426, _u4e1c_u897f 17 local _u5426, _u4e1c_u897f
@@ -50,17 +48,13 @@ do
50 end 48 end
51 do 49 do
52 _u53d8_u91cfc = nil 50 _u53d8_u91cfc = nil
53 do 51 local _obj_0 = _u8868
54 local _obj_0 = _u8868 52 _u5b57_u6bb5a, _u5b57_u6bb5b = _obj_0["字段a"], _obj_0["字段b"]
55 _u5b57_u6bb5a, _u5b57_u6bb5b = _obj_0["字段a"], _obj_0["字段b"]
56 end
57 end 53 end
58 do 54 do
59 local _u53d8_u91cfa = _u8868 55 local _u53d8_u91cfa = _u8868
60 do 56 local _obj_0 = __u65e0_u6548_u53d8_u91cf
61 local _obj_0 = __u65e0_u6548_u53d8_u91cf 57 _u5b57_u6bb5b, _u5b57_u6bb5c = _obj_0["字段b"], _obj_0["字段c"]
62 _u5b57_u6bb5b, _u5b57_u6bb5c = _obj_0["字段b"], _obj_0["字段c"]
63 end
64 end 58 end
65 do 59 do
66 _u53d8_u91cfb = __u65e0_u6548_u53d8_u91cf 60 _u53d8_u91cfb = __u65e0_u6548_u53d8_u91cf
@@ -89,17 +83,13 @@ do
89end 83end
90do 84do
91 local _u53d8_u91cfc, _u53d8_u91cfe 85 local _u53d8_u91cfc, _u53d8_u91cfe
92 do 86 local _obj_0 = _u5bf9_u8c61tb
93 local _obj_0 = _u5bf9_u8c61tb 87 _u53d8_u91cfc, _u53d8_u91cfe = _obj_0["字段a"]["字段b"], _obj_0["字段a"]["字段d"]
94 _u53d8_u91cfc, _u53d8_u91cfe = _obj_0["字段a"]["字段b"], _obj_0["字段a"]["字段d"]
95 end
96end 88end
97do 89do
98 local _u53d8_u91cfc, _u53d8_u91cfe, _u5143_u7d20f 90 local _u53d8_u91cfc, _u53d8_u91cfe, _u5143_u7d20f
99 do 91 local _obj_0 = _u5bf9_u8c61tb
100 local _obj_0 = _u5bf9_u8c61tb 92 _u53d8_u91cfc, _u53d8_u91cfe, _u5143_u7d20f = _obj_0["字段a"][1]["字段b"], _obj_0["字段a"][2]["字段d"], _obj_0["字段a"][3]
101 _u53d8_u91cfc, _u53d8_u91cfe, _u5143_u7d20f = _obj_0["字段a"][1]["字段b"], _obj_0["字段a"][2]["字段d"], _obj_0["字段a"][3]
102 end
103end 93end
104do 94do
105 self["世界"] = _u53d8_u91cfx[1] 95 self["世界"] = _u53d8_u91cfx[1]
@@ -165,10 +155,8 @@ do
165end 155end
166do 156do
167 local _u5143_u7d20a, _u5143_u7d20b, _u5143_u7d20c 157 local _u5143_u7d20a, _u5143_u7d20b, _u5143_u7d20c
168 do 158 local _obj_0 = _u53d8_u91cfz
169 local _obj_0 = _u53d8_u91cfz 159 _u5143_u7d20a, _u5143_u7d20b, _u5143_u7d20c = _obj_0[1], _obj_0[2], _obj_0[3]
170 _u5143_u7d20a, _u5143_u7d20b, _u5143_u7d20c = _obj_0[1], _obj_0[2], _obj_0[3]
171 end
172end 160end
173local _ 161local _
174_ = function(_u53c2_u6570z) 162_ = function(_u53c2_u6570z)
@@ -178,10 +166,8 @@ do
178 local _u53d8_u91cfz = "〇〇" 166 local _u53d8_u91cfz = "〇〇"
179 _ = function(_u53c2_u6570k) 167 _ = function(_u53c2_u6570k)
180 local _u5143_u7d20a, _u5143_u7d20b, _u5143_u7d20c 168 local _u5143_u7d20a, _u5143_u7d20b, _u5143_u7d20c
181 do 169 local _obj_0 = _u53c2_u6570z
182 local _obj_0 = _u53c2_u6570z 170 _u5143_u7d20a, _u5143_u7d20b, _u5143_u7d20c = _obj_0[1], _obj_0[2], _obj_0[3]
183 _u5143_u7d20a, _u5143_u7d20b, _u5143_u7d20c = _obj_0[1], _obj_0[2], _obj_0[3]
184 end
185 end 171 end
186end 172end
187do 173do
@@ -189,21 +175,17 @@ do
189end 175end
190do 176do
191 local _u5143_u7d20a, _u5143_u7d20b, _u5143_u7d20c 177 local _u5143_u7d20a, _u5143_u7d20b, _u5143_u7d20c
192 do 178 local _obj_0 = _u4e1c_u897f
193 local _obj_0 = _u4e1c_u897f 179 _u5143_u7d20a, _u5143_u7d20b, _u5143_u7d20c = _obj_0["如果"][1], _obj_0["如果"][2], _obj_0["如果"][3]
194 _u5143_u7d20a, _u5143_u7d20b, _u5143_u7d20c = _obj_0["如果"][1], _obj_0["如果"][2], _obj_0["如果"][3]
195 end
196end 180end
197do 181do
198 local _u5b57_u6bb5a, _u5b57_u6bb5b 182 local _u5b57_u6bb5a, _u5b57_u6bb5b
199 if true then 183 if true then
200 do 184 local _obj_0 = {
201 local _obj_0 = { 185 ["字段a"] = "你好",
202 ["字段a"] = "你好", 186 ["字段b"] = "世界"
203 ["字段b"] = "世界" 187 }
204 } 188 _u5b57_u6bb5a, _u5b57_u6bb5b = _obj_0["字段a"], _obj_0["字段b"]
205 _u5b57_u6bb5a, _u5b57_u6bb5b = _obj_0["字段a"], _obj_0["字段b"]
206 end
207 end 189 end
208 local _u5929, _u5c0f_u65f6, _u5206_u949f, _u79d2 190 local _u5929, _u5c0f_u65f6, _u5206_u949f, _u79d2
209 do 191 do
@@ -311,41 +293,33 @@ do
311 end 293 end
312 end 294 end
313 end 295 end
314 do 296 local _tmp_0
315 local _tmp_0 297 local _obj_0 = getmetatable(_u5bf9_u8c61tb)
316 do 298 _tmp_0 = _obj_0["函数"]
317 local _obj_0 = getmetatable(_u5bf9_u8c61tb) 299 if _tmp_0 == nil then
318 _tmp_0 = _obj_0["函数"] 300 local _obj_1 = _u9879_u76ee
301 if _obj_1 ~= nil then
302 _tmp_0 = _obj_1["默认值"]
319 end 303 end
320 if _tmp_0 == nil then
321 local _obj_0 = _u9879_u76ee
322 if _obj_0 ~= nil then
323 _tmp_0 = _obj_0["默认值"]
324 end
325 end
326 a_u5bf9_u8c61["b字段"](function()
327 return 123
328 end)["字段c"] = _tmp_0
329 end 304 end
305 a_u5bf9_u8c61["b字段"](function()
306 return 123
307 end)["字段c"] = _tmp_0
330end 308end
331do 309do
332 local _u5143_u8868, _u51cf_u51fd_u6570 310 local _u5143_u8868, _u51cf_u51fd_u6570
333 do 311 local _obj_0 = getmetatable(_u5bf9_u8c61tb["字段x"])
334 local _obj_0 = getmetatable(_u5bf9_u8c61tb["字段x"]) 312 _u5143_u8868, _u51cf_u51fd_u6570 = _obj_0, _obj_0.__sub
335 _u5143_u8868, _u51cf_u51fd_u6570 = _obj_0, _obj_0.__sub 313 if _u5143_u8868 == nil then
336 if _u5143_u8868 == nil then 314 _u5143_u8868 = { }
337 _u5143_u8868 = { }
338 end
339 end 315 end
340end 316end
341do 317do
342 local _u5143_u8868, _u51cf_u51fd_u6570 318 local _u5143_u8868, _u51cf_u51fd_u6570
343 do 319 local _obj_0 = _u5bf9_u8c61tb
344 local _obj_0 = _u5bf9_u8c61tb 320 _u5143_u8868, _u51cf_u51fd_u6570 = getmetatable(_obj_0["x字段"]), getmetatable(_obj_0["x字段"]).__sub
345 _u5143_u8868, _u51cf_u51fd_u6570 = getmetatable(_obj_0["x字段"]), getmetatable(_obj_0["x字段"]).__sub 321 if _u5143_u8868 == nil then
346 if _u5143_u8868 == nil then 322 _u5143_u8868 = { }
347 _u5143_u8868 = { }
348 end
349 end 323 end
350end 324end
351do 325do
@@ -380,24 +354,20 @@ do
380end 354end
381do 355do
382 local a_u5143_u7d20, b_u5143_u7d20 356 local a_u5143_u7d20, b_u5143_u7d20
383 do 357 local _obj_0 = _u5bf9_u8c61tb
384 local _obj_0 = _u5bf9_u8c61tb 358 a_u5143_u7d20, b_u5143_u7d20 = _obj_0[2], _obj_0[4]
385 a_u5143_u7d20, b_u5143_u7d20 = _obj_0[2], _obj_0[4]
386 end
387end 359end
388do 360do
389 do 361 local _obj_0 = _u5bf9_u8c61x["字段x"]["字段x"]
390 local _obj_0 = _u5bf9_u8c61x["字段x"]["字段x"] 362 local _tmp_0, _tmp_1 = _obj_0["字段x"], _obj_0["y字段"]
391 local _tmp_0, _tmp_1 = _obj_0["字段x"], _obj_0["y字段"] 363 if _tmp_0 == nil then
392 if _tmp_0 == nil then 364 _tmp_0 = 1
393 _tmp_0 = 1
394 end
395 if _tmp_1 == nil then
396 _tmp_1 = 2
397 end
398 _u5bf9_u8c61a["字段b"] = _tmp_0
399 a_u5bf9_u8c61["c字段"] = _tmp_1
400 end 365 end
366 if _tmp_1 == nil then
367 _tmp_1 = 2
368 end
369 _u5bf9_u8c61a["字段b"] = _tmp_0
370 a_u5bf9_u8c61["c字段"] = _tmp_1
401end 371end
402do 372do
403 local _u5bbd, _u9ad8 373 local _u5bbd, _u9ad8
@@ -406,15 +376,13 @@ do
406 _u5bbd, _u9ad8 = _obj_0["宽"], _obj_0["高"] 376 _u5bbd, _u9ad8 = _obj_0["宽"], _obj_0["高"]
407 end 377 end
408 local x_u5750_u6807, y_u5750_u6807 378 local x_u5750_u6807, y_u5750_u6807
409 do 379 local _obj_0 = _u70b9
410 local _obj_0 = _u70b9 380 x_u5750_u6807, y_u5750_u6807 = _obj_0["x坐标"], _obj_0["y坐标"]
411 x_u5750_u6807, y_u5750_u6807 = _obj_0["x坐标"], _obj_0["y坐标"] 381 if x_u5750_u6807 == nil then
412 if x_u5750_u6807 == nil then 382 x_u5750_u6807 = 0.0
413 x_u5750_u6807 = 0.0 383 end
414 end 384 if y_u5750_u6807 == nil then
415 if y_u5750_u6807 == nil then 385 y_u5750_u6807 = 0.0
416 y_u5750_u6807 = 0.0
417 end
418 end 386 end
419end 387end
420do 388do
@@ -438,29 +406,25 @@ do
438end 406end
439do 407do
440 local _u53d8_u91cfv1, _u53d8_u91cfv2, _u53d8_u91cfv3, _u53d8_u91cfv4 408 local _u53d8_u91cfv1, _u53d8_u91cfv2, _u53d8_u91cfv3, _u53d8_u91cfv4
441 do 409 local _obj_0 = _u5bf9_u8c61tb
442 local _obj_0 = _u5bf9_u8c61tb 410 local _tmp_0, _tmp_1 = 1 + 1, self.x
443 local _tmp_0, _tmp_1 = 1 + 1, self.x 411 _u53d8_u91cfv1, _u53d8_u91cfv2, _u53d8_u91cfv3, _u53d8_u91cfv4 = _obj_0[ [["abc"]]], _obj_0[_tmp_0][1], _obj_0[_tmp_0][2], _obj_0[_tmp_1]
444 _u53d8_u91cfv1, _u53d8_u91cfv2, _u53d8_u91cfv3, _u53d8_u91cfv4 = _obj_0[ [["abc"]]], _obj_0[_tmp_0][1], _obj_0[_tmp_0][2], _obj_0[_tmp_1] 412 if _u53d8_u91cfv1 == nil then
445 if _u53d8_u91cfv1 == nil then 413 _u53d8_u91cfv1 = 111
446 _u53d8_u91cfv1 = 111
447 end
448 if _u53d8_u91cfv2 == nil then
449 _u53d8_u91cfv2 = 222
450 end
451 if _u53d8_u91cfv3 == nil then
452 _u53d8_u91cfv3 = 333
453 end
454 if _u53d8_u91cfv4 == nil then
455 _u53d8_u91cfv4 = 444
456 end
457 end 414 end
458 local _u53d8_u91cfv5, _u53d8_u91cfv6, _u53d8_u91cfv7 415 if _u53d8_u91cfv2 == nil then
459 do 416 _u53d8_u91cfv2 = 222
460 local _obj_0 = _u5bf9_u8c61tb2 417 end
461 local _tmp_2, _tmp_3 = _u51fd_u6570(), _u51fd_u65702() 418 if _u53d8_u91cfv3 == nil then
462 _u53d8_u91cfv5, _u53d8_u91cfv6, _u53d8_u91cfv7 = _obj_0['x-y-z'], _obj_0[_tmp_2][_tmp_3], _obj_0[_tmp_2][1] 419 _u53d8_u91cfv3 = 333
420 end
421 if _u53d8_u91cfv4 == nil then
422 _u53d8_u91cfv4 = 444
463 end 423 end
424 local _u53d8_u91cfv5, _u53d8_u91cfv6, _u53d8_u91cfv7
425 local _obj_1 = _u5bf9_u8c61tb2
426 local _tmp_2, _tmp_3 = _u51fd_u6570(), _u51fd_u65702()
427 _u53d8_u91cfv5, _u53d8_u91cfv6, _u53d8_u91cfv7 = _obj_1['x-y-z'], _obj_1[_tmp_2][_tmp_3], _obj_1[_tmp_2][1]
464end 428end
465do 429do
466 local _u503c, _u5143_u503c 430 local _u503c, _u5143_u503c
@@ -499,16 +463,12 @@ do
499end 463end
500do 464do
501 local _u5bf9_u8c61tb = { } 465 local _u5bf9_u8c61tb = { }
502 do 466 local _tmp_0 = _u51fd_u6570c()
503 local _tmp_0 = _u51fd_u6570c() 467 local _u53d8_u91cfv2 = _u5bf9_u8c61tb[_tmp_0]
504 local _u53d8_u91cfv2 = _u5bf9_u8c61tb[_tmp_0]
505 end
506 local _u53d8_u91cfv1 468 local _u53d8_u91cfv1
507 do 469 local _obj_0 = getmetatable(_u5bf9_u8c61tb)
508 local _obj_0 = getmetatable(_u5bf9_u8c61tb) 470 local _tmp_1 = _u53d8_u91cfa + _u53d8_u91cfb
509 local _tmp_1 = _u53d8_u91cfa + _u53d8_u91cfb 471 _u53d8_u91cfv1 = _obj_0[_tmp_1]
510 _u53d8_u91cfv1 = _obj_0[_tmp_1]
511 end
512end 472end
513do 473do
514 local add, _u5b57_u6bb5 474 local add, _u5b57_u6bb5
diff --git a/spec/outputs/unicode/import.lua b/spec/outputs/unicode/import.lua
index e4aec89..7c31ceb 100644
--- a/spec/outputs/unicode/import.lua
+++ b/spec/outputs/unicode/import.lua
@@ -87,10 +87,8 @@ do
87end 87end
88do 88do
89 local _u51fd_u6570, _u5982_u679c_u53d8_u91cf 89 local _u51fd_u6570, _u5982_u679c_u53d8_u91cf
90 do 90 local _obj_1 = require("组织.包.模块")
91 local _obj_1 = require("组织.包.模块") 91 _u51fd_u6570, _u5982_u679c_u53d8_u91cf = _obj_1["函数体"], _obj_1["如果"]
92 _u51fd_u6570, _u5982_u679c_u53d8_u91cf = _obj_1["函数体"], _obj_1["如果"]
93 end
94end 92end
95do 93do
96 local _u53d8_u91cfb = getmetatable(require("块")).__gc 94 local _u53d8_u91cfb = getmetatable(require("块")).__gc
@@ -103,8 +101,6 @@ do
103 end 101 end
104 local _u53d8_u91cfd = require("块")["字段c"] 102 local _u53d8_u91cfd = require("块")["字段c"]
105 local _u5143_u7d20g, _u53d8_u91cfi 103 local _u5143_u7d20g, _u53d8_u91cfi
106 do 104 local _obj_1 = require("块")
107 local _obj_1 = require("块") 105 _u5143_u7d20g, _u53d8_u91cfi = _obj_1[1], getmetatable(_obj_1[2]).__close
108 _u5143_u7d20g, _u53d8_u91cfi = _obj_1[1], getmetatable(_obj_1[2]).__close
109 end
110end 106end
diff --git a/spec/outputs/unicode/local.lua b/spec/outputs/unicode/local.lua
index 4b4b366..194fd06 100644
--- a/spec/outputs/unicode/local.lua
+++ b/spec/outputs/unicode/local.lua
@@ -55,10 +55,8 @@ do
55 _u53d8_u91cfk = 10 55 _u53d8_u91cfk = 10
56 end 56 end
57 _u53d8_u91cfx = 100 57 _u53d8_u91cfx = 100
58 do 58 local _obj_0 = _u53d8_u91cfy
59 local _obj_0 = _u53d8_u91cfy 59 _u53d8_u91cfa, _u53d8_u91cfb, _u53d8_u91cfc = _obj_0[1], _obj_0[2], _obj_0[3]
60 _u53d8_u91cfa, _u53d8_u91cfb, _u53d8_u91cfc = _obj_0[1], _obj_0[2], _obj_0[3]
61 end
62end 60end
63do 61do
64 local _u53d8_u91cfa, _u53d8_u91cfb, _u53d8_u91cfc, _u53d8_u91cfd 62 local _u53d8_u91cfa, _u53d8_u91cfb, _u53d8_u91cfc, _u53d8_u91cfd
diff --git a/spec/outputs/unicode/metatable.lua b/spec/outputs/unicode/metatable.lua
index c7c8730..ca48d0d 100644
--- a/spec/outputs/unicode/metatable.lua
+++ b/spec/outputs/unicode/metatable.lua
@@ -51,15 +51,11 @@ do
51 local _obj_0, _obj_1 51 local _obj_0, _obj_1
52 _u53d8_u91cfx, _obj_0, _obj_1 = 123, _u53d8_u91cfa["变量b"]["变量c"], _u51fd_u6570() 52 _u53d8_u91cfx, _obj_0, _obj_1 = 123, _u53d8_u91cfa["变量b"]["变量c"], _u51fd_u6570()
53 _u65b0, _u53d8_u91cf = _obj_0["新"], _obj_0["变量"] 53 _u65b0, _u53d8_u91cf = _obj_0["新"], _obj_0["变量"]
54 do 54 local _obj_2 = getmetatable(_obj_0)
55 local _obj_2 = getmetatable(_obj_0) 55 close, _u5173_u95edA = _obj_2.__close, _obj_2.__close
56 close, _u5173_u95edA = _obj_2.__close, _obj_2.__close
57 end
58 num = _obj_1.num 56 num = _obj_1.num
59 do 57 local _obj_3 = getmetatable(_obj_1)
60 local _obj_2 = getmetatable(_obj_1) 58 add, sub = _obj_3.__add, _obj_3.__sub
61 add, sub = _obj_2.__add, _obj_2.__sub
62 end
63end 59end
64setmetatable(_u53d8_u91cfa["变量b"], { }) 60setmetatable(_u53d8_u91cfa["变量b"], { })
65_u53d8_u91cfx.abc = 123 61_u53d8_u91cfx.abc = 123
@@ -108,17 +104,13 @@ local _u7d22_u5f15 = getmetatable(_u53d8_u91cfa).__index
108index = getmetatable(_u53d8_u91cfa).__index 104index = getmetatable(_u53d8_u91cfa).__index
109do 105do
110 local _u6784_u9020, _u66f4_u65b0 106 local _u6784_u9020, _u66f4_u65b0
111 do 107 local _obj_0 = getmetatable(_u53d8_u91cfa)
112 local _obj_0 = getmetatable(_u53d8_u91cfa) 108 _u6784_u9020, _u66f4_u65b0 = _obj_0["新"], _obj_0["更新"]
113 _u6784_u9020, _u66f4_u65b0 = _obj_0["新"], _obj_0["更新"]
114 end
115end 109end
116do 110do
117 local _u6784_u9020, _u66f4_u65b0 111 local _u6784_u9020, _u66f4_u65b0
118 do 112 local _obj_0 = getmetatable(_u53d8_u91cfa)
119 local _obj_0 = getmetatable(_u53d8_u91cfa) 113 _u6784_u9020, _u66f4_u65b0 = _obj_0["新"], _obj_0["更新"]
120 _u6784_u9020, _u66f4_u65b0 = _obj_0["新"], _obj_0["更新"]
121 end
122end 114end
123local _u8868 = { } 115local _u8868 = { }
124do 116do