diff options
Diffstat (limited to 'spec')
| -rw-r--r-- | spec/inputs/try_catch.yue | 86 | ||||
| -rw-r--r-- | spec/outputs/5.1/try_catch.lua | 141 | ||||
| -rw-r--r-- | spec/outputs/try_catch.lua | 117 | ||||
| -rw-r--r-- | spec/outputs/unicode/try_catch.lua | 39 |
4 files changed, 215 insertions, 168 deletions
diff --git a/spec/inputs/try_catch.yue b/spec/inputs/try_catch.yue index ccb3f52..419eef4 100644 --- a/spec/inputs/try_catch.yue +++ b/spec/inputs/try_catch.yue | |||
| @@ -1,60 +1,60 @@ | |||
| 1 | try | 1 | f = -> |
| 2 | func 1, 2, 3 | 2 | try |
| 3 | catch err | ||
| 4 | print err | ||
| 5 | |||
| 6 | try func 1, 2, 3 | ||
| 7 | catch err | ||
| 8 | print err | ||
| 9 | |||
| 10 | try | ||
| 11 | print "trying" | ||
| 12 | func 1, 2, 3 | ||
| 13 | |||
| 14 | do | ||
| 15 | success, result = try | ||
| 16 | func 1, 2, 3 | 3 | func 1, 2, 3 |
| 17 | catch err | 4 | catch err |
| 18 | print err | 5 | print err |
| 19 | 6 | ||
| 20 | success, result = try func 1, 2, 3 | 7 | try func 1, 2, 3 |
| 8 | catch err | ||
| 9 | print err | ||
| 21 | 10 | ||
| 22 | try tb.func | 11 | try |
| 23 | try tb.func! | 12 | print "trying" |
| 24 | try tb.func() | 13 | func 1, 2, 3 |
| 25 | try (tb.func!) | ||
| 26 | try (tb\func(1, 2, 3)) | ||
| 27 | 14 | ||
| 28 | try tb.func 1 | 15 | do |
| 29 | try tb.func(1) | 16 | success, result = try |
| 17 | func 1, 2, 3 | ||
| 18 | catch err | ||
| 19 | print err | ||
| 30 | 20 | ||
| 31 | if (try func 1 | 21 | success, result = try func 1, 2, 3 |
| 32 | catch err | ||
| 33 | print err) | ||
| 34 | print "OK" | ||
| 35 | 22 | ||
| 36 | if try (func 1) | 23 | try tb.func |
| 37 | catch err | 24 | try tb.func! |
| 38 | print err | 25 | try tb.func() |
| 39 | print "OK" | 26 | try (tb.func!) |
| 27 | try (tb\func(1, 2, 3)) | ||
| 40 | 28 | ||
| 41 | do | 29 | try tb.func 1 |
| 42 | if success, result := try func "abc", 123 | 30 | try tb.func(1) |
| 43 | print result | ||
| 44 | 31 | ||
| 45 | success, result = try func "abc", 123 | 32 | if (try func 1 |
| 46 | catch err | 33 | catch err |
| 47 | print err | 34 | print err) |
| 35 | print "OK" | ||
| 48 | 36 | ||
| 49 | print result if success, result := try func "abc", 123 | 37 | if try (func 1) |
| 50 | catch err | 38 | catch err |
| 51 | print err | 39 | print err |
| 40 | print "OK" | ||
| 52 | 41 | ||
| 53 | do | 42 | do |
| 54 | try | 43 | if success, result := try func "abc", 123 |
| 55 | func 1, 2, 3 | 44 | print result |
| 56 | 45 | ||
| 57 | try func 1, 2, 3 | 46 | success, result = try func "abc", 123 |
| 47 | catch err | ||
| 48 | print err | ||
| 49 | |||
| 50 | print result if success, result := try func "abc", 123 | ||
| 51 | catch err | ||
| 52 | print err | ||
| 53 | |||
| 54 | do | ||
| 55 | try | ||
| 56 | func 1, 2, 3 | ||
| 58 | 57 | ||
| 59 | nil | 58 | try func 1, 2, 3 |
| 60 | 59 | ||
| 60 | nil | ||
diff --git a/spec/outputs/5.1/try_catch.lua b/spec/outputs/5.1/try_catch.lua index 9972dca..f63cd91 100644 --- a/spec/outputs/5.1/try_catch.lua +++ b/spec/outputs/5.1/try_catch.lua | |||
| @@ -1,75 +1,94 @@ | |||
| 1 | xpcall(function() | 1 | local _anon_func_0 = function(func, print) |
| 2 | return func(1, 2, 3) | ||
| 3 | end, function(err) | ||
| 4 | return print(err) | ||
| 5 | end) | ||
| 6 | xpcall(function() | ||
| 7 | return func(1, 2, 3) | ||
| 8 | end, function(err) | ||
| 9 | return print(err) | ||
| 10 | end) | ||
| 11 | pcall(function() | ||
| 12 | print("trying") | 2 | print("trying") |
| 13 | return func(1, 2, 3) | 3 | return func(1, 2, 3) |
| 14 | end) | 4 | end |
| 15 | do | 5 | local _anon_func_1 = function(tb) |
| 16 | local success, result = xpcall(function() | 6 | return tb.func |
| 7 | end | ||
| 8 | local _anon_func_2 = function(tb) | ||
| 9 | return tb.func() | ||
| 10 | end | ||
| 11 | local _anon_func_3 = function(tb) | ||
| 12 | return tb.func() | ||
| 13 | end | ||
| 14 | local _anon_func_4 = function(tb) | ||
| 15 | return tb.func() | ||
| 16 | end | ||
| 17 | local _anon_func_5 = function(tb) | ||
| 18 | return tb:func(1, 2, 3) | ||
| 19 | end | ||
| 20 | local _anon_func_6 = function(tb) | ||
| 21 | return tb.func(1) | ||
| 22 | end | ||
| 23 | local _anon_func_7 = function(tb) | ||
| 24 | return tb.func(1) | ||
| 25 | end | ||
| 26 | local f | ||
| 27 | f = function() | ||
| 28 | xpcall(function() | ||
| 17 | return func(1, 2, 3) | 29 | return func(1, 2, 3) |
| 18 | end, function(err) | 30 | end, function(err) |
| 19 | return print(err) | 31 | return print(err) |
| 20 | end) | 32 | end) |
| 21 | success, result = pcall(func, 1, 2, 3) | 33 | xpcall(function() |
| 22 | end | 34 | return func(1, 2, 3) |
| 23 | pcall(tb.func) | 35 | end, function(err) |
| 24 | pcall(tb.func) | 36 | return print(err) |
| 25 | pcall(tb.func) | 37 | end) |
| 26 | pcall((tb.func)) | 38 | pcall(_anon_func_0, func, print) |
| 27 | pcall(((function() | ||
| 28 | local _base_0 = tb | ||
| 29 | local _fn_0 = _base_0.func | ||
| 30 | return _fn_0 and function(...) | ||
| 31 | return _fn_0(_base_0, ...) | ||
| 32 | end | ||
| 33 | end)()), 1, 2, 3) | ||
| 34 | pcall(tb.func, 1) | ||
| 35 | pcall(tb.func, 1) | ||
| 36 | if (xpcall(function() | ||
| 37 | return func(1) | ||
| 38 | end, function(err) | ||
| 39 | return print(err) | ||
| 40 | end)) then | ||
| 41 | print("OK") | ||
| 42 | end | ||
| 43 | if xpcall(function() | ||
| 44 | return func(1) | ||
| 45 | end, function(err) | ||
| 46 | return print(err) | ||
| 47 | end) then | ||
| 48 | print("OK") | ||
| 49 | end | ||
| 50 | do | ||
| 51 | do | 39 | do |
| 52 | local success, result = pcall(func, "abc", 123) | 40 | local success, result = xpcall(function() |
| 53 | if success then | 41 | return func(1, 2, 3) |
| 54 | print(result) | 42 | end, function(err) |
| 55 | end | 43 | return print(err) |
| 44 | end) | ||
| 45 | success, result = pcall(func, 1, 2, 3) | ||
| 56 | end | 46 | end |
| 57 | local success, result = xpcall(function() | 47 | pcall(_anon_func_1, tb) |
| 58 | return func("abc", 123) | 48 | pcall(_anon_func_2, tb) |
| 49 | pcall(_anon_func_3, tb) | ||
| 50 | pcall(_anon_func_4, tb) | ||
| 51 | pcall(_anon_func_5, tb) | ||
| 52 | pcall(_anon_func_6, tb) | ||
| 53 | pcall(_anon_func_7, tb) | ||
| 54 | if (xpcall(function() | ||
| 55 | return func(1) | ||
| 59 | end, function(err) | 56 | end, function(err) |
| 60 | return print(err) | 57 | return print(err) |
| 61 | end) | 58 | end)) then |
| 62 | success, result = xpcall(function() | 59 | print("OK") |
| 63 | return func("abc", 123) | 60 | end |
| 61 | if xpcall(function() | ||
| 62 | return func(1) | ||
| 64 | end, function(err) | 63 | end, function(err) |
| 65 | return print(err) | 64 | return print(err) |
| 66 | end) | 65 | end) then |
| 67 | if success then | 66 | print("OK") |
| 68 | print(result) | ||
| 69 | end | 67 | end |
| 68 | do | ||
| 69 | do | ||
| 70 | local success, result = pcall(func, "abc", 123) | ||
| 71 | if success then | ||
| 72 | print(result) | ||
| 73 | end | ||
| 74 | end | ||
| 75 | local success, result = xpcall(function() | ||
| 76 | return func("abc", 123) | ||
| 77 | end, function(err) | ||
| 78 | return print(err) | ||
| 79 | end) | ||
| 80 | success, result = xpcall(function() | ||
| 81 | return func("abc", 123) | ||
| 82 | end, function(err) | ||
| 83 | return print(err) | ||
| 84 | end) | ||
| 85 | if success then | ||
| 86 | print(result) | ||
| 87 | end | ||
| 88 | end | ||
| 89 | do | ||
| 90 | pcall(func, 1, 2, 3) | ||
| 91 | pcall(func, 1, 2, 3) | ||
| 92 | end | ||
| 93 | return nil | ||
| 70 | end | 94 | end |
| 71 | do | ||
| 72 | pcall(func, 1, 2, 3) | ||
| 73 | pcall(func, 1, 2, 3) | ||
| 74 | end | ||
| 75 | return nil | ||
diff --git a/spec/outputs/try_catch.lua b/spec/outputs/try_catch.lua index de52c6c..3c3dd3c 100644 --- a/spec/outputs/try_catch.lua +++ b/spec/outputs/try_catch.lua | |||
| @@ -1,61 +1,80 @@ | |||
| 1 | xpcall(func, function(err) | 1 | local _anon_func_0 = function(func, print) |
| 2 | return print(err) | ||
| 3 | end, 1, 2, 3) | ||
| 4 | xpcall(func, function(err) | ||
| 5 | return print(err) | ||
| 6 | end, 1, 2, 3) | ||
| 7 | pcall(function() | ||
| 8 | print("trying") | 2 | print("trying") |
| 9 | return func(1, 2, 3) | 3 | return func(1, 2, 3) |
| 10 | end) | 4 | end |
| 11 | do | 5 | local _anon_func_1 = function(tb) |
| 12 | local success, result = xpcall(func, function(err) | 6 | return tb.func |
| 7 | end | ||
| 8 | local _anon_func_2 = function(tb) | ||
| 9 | return tb.func() | ||
| 10 | end | ||
| 11 | local _anon_func_3 = function(tb) | ||
| 12 | return tb.func() | ||
| 13 | end | ||
| 14 | local _anon_func_4 = function(tb) | ||
| 15 | return tb.func() | ||
| 16 | end | ||
| 17 | local _anon_func_5 = function(tb) | ||
| 18 | return tb:func(1, 2, 3) | ||
| 19 | end | ||
| 20 | local _anon_func_6 = function(tb) | ||
| 21 | return tb.func(1) | ||
| 22 | end | ||
| 23 | local _anon_func_7 = function(tb) | ||
| 24 | return tb.func(1) | ||
| 25 | end | ||
| 26 | local f | ||
| 27 | f = function() | ||
| 28 | xpcall(func, function(err) | ||
| 29 | return print(err) | ||
| 30 | end, 1, 2, 3) | ||
| 31 | xpcall(func, function(err) | ||
| 13 | return print(err) | 32 | return print(err) |
| 14 | end, 1, 2, 3) | 33 | end, 1, 2, 3) |
| 15 | success, result = pcall(func, 1, 2, 3) | 34 | pcall(_anon_func_0, func, print) |
| 16 | end | 35 | do |
| 17 | pcall(tb.func) | 36 | local success, result = xpcall(func, function(err) |
| 18 | pcall(tb.func) | 37 | return print(err) |
| 19 | pcall(tb.func) | 38 | end, 1, 2, 3) |
| 20 | pcall((tb.func)) | 39 | success, result = pcall(func, 1, 2, 3) |
| 21 | pcall(((function() | 40 | end |
| 22 | local _base_0 = tb | 41 | pcall(_anon_func_1, tb) |
| 23 | local _fn_0 = _base_0.func | 42 | pcall(_anon_func_2, tb) |
| 24 | return _fn_0 and function(...) | 43 | pcall(_anon_func_3, tb) |
| 25 | return _fn_0(_base_0, ...) | 44 | pcall(_anon_func_4, tb) |
| 45 | pcall(_anon_func_5, tb) | ||
| 46 | pcall(_anon_func_6, tb) | ||
| 47 | pcall(_anon_func_7, tb) | ||
| 48 | if (xpcall(func, function(err) | ||
| 49 | return print(err) | ||
| 50 | end, 1)) then | ||
| 51 | print("OK") | ||
| 52 | end | ||
| 53 | if xpcall((func), function(err) | ||
| 54 | return print(err) | ||
| 55 | end, 1) then | ||
| 56 | print("OK") | ||
| 26 | end | 57 | end |
| 27 | end)()), 1, 2, 3) | ||
| 28 | pcall(tb.func, 1) | ||
| 29 | pcall(tb.func, 1) | ||
| 30 | if (xpcall(func, function(err) | ||
| 31 | return print(err) | ||
| 32 | end, 1)) then | ||
| 33 | print("OK") | ||
| 34 | end | ||
| 35 | if xpcall((func), function(err) | ||
| 36 | return print(err) | ||
| 37 | end, 1) then | ||
| 38 | print("OK") | ||
| 39 | end | ||
| 40 | do | ||
| 41 | do | 58 | do |
| 42 | local success, result = pcall(func, "abc", 123) | 59 | do |
| 60 | local success, result = pcall(func, "abc", 123) | ||
| 61 | if success then | ||
| 62 | print(result) | ||
| 63 | end | ||
| 64 | end | ||
| 65 | local success, result = xpcall(func, function(err) | ||
| 66 | return print(err) | ||
| 67 | end, "abc", 123) | ||
| 68 | success, result = xpcall(func, function(err) | ||
| 69 | return print(err) | ||
| 70 | end, "abc", 123) | ||
| 43 | if success then | 71 | if success then |
| 44 | print(result) | 72 | print(result) |
| 45 | end | 73 | end |
| 46 | end | 74 | end |
| 47 | local success, result = xpcall(func, function(err) | 75 | do |
| 48 | return print(err) | 76 | pcall(func, 1, 2, 3) |
| 49 | end, "abc", 123) | 77 | pcall(func, 1, 2, 3) |
| 50 | success, result = xpcall(func, function(err) | ||
| 51 | return print(err) | ||
| 52 | end, "abc", 123) | ||
| 53 | if success then | ||
| 54 | print(result) | ||
| 55 | end | 78 | end |
| 79 | return nil | ||
| 56 | end | 80 | end |
| 57 | do | ||
| 58 | pcall(func, 1, 2, 3) | ||
| 59 | pcall(func, 1, 2, 3) | ||
| 60 | end | ||
| 61 | return nil | ||
diff --git a/spec/outputs/unicode/try_catch.lua b/spec/outputs/unicode/try_catch.lua index fde63d6..7d95f9b 100644 --- a/spec/outputs/unicode/try_catch.lua +++ b/spec/outputs/unicode/try_catch.lua | |||
| @@ -14,19 +14,28 @@ do | |||
| 14 | end, 1, 2, 3) | 14 | end, 1, 2, 3) |
| 15 | _u6210_u529f, _u7ed3_u679c = pcall(_u51fd_u6570, 1, 2, 3) | 15 | _u6210_u529f, _u7ed3_u679c = pcall(_u51fd_u6570, 1, 2, 3) |
| 16 | end | 16 | end |
| 17 | pcall(_u8868["函数"]) | 17 | pcall(function() |
| 18 | pcall(_u8868["函数"]) | 18 | return _u8868["函数"] |
| 19 | pcall(_u8868["函数"]) | 19 | end) |
| 20 | pcall((_u8868["函数"])) | 20 | pcall(function() |
| 21 | pcall(((function() | 21 | return _u8868["函数"]() |
| 22 | local _base_0 = _u8868 | 22 | end) |
| 23 | local _fn_0 = _base_0["函数"] | 23 | pcall(function() |
| 24 | return _fn_0 and function(...) | 24 | return _u8868["函数"]() |
| 25 | return _fn_0(_base_0, ...) | 25 | end) |
| 26 | end | 26 | pcall(function() |
| 27 | end)()), 1, 2, 3) | 27 | return _u8868["函数"]() |
| 28 | pcall(_u8868["函数"], 1) | 28 | end) |
| 29 | pcall(_u8868["函数"], 1) | 29 | pcall(function() |
| 30 | local _call_0 = _u8868 | ||
| 31 | return _call_0["函数"](_call_0, 1, 2, 3) | ||
| 32 | end) | ||
| 33 | pcall(function() | ||
| 34 | return _u8868["函数"](1) | ||
| 35 | end) | ||
| 36 | pcall(function() | ||
| 37 | return _u8868["函数"](1) | ||
| 38 | end) | ||
| 30 | if (xpcall(_u51fd_u6570, function(_u9519_u8bef) | 39 | if (xpcall(_u51fd_u6570, function(_u9519_u8bef) |
| 31 | return _u6253_u5370(_u9519_u8bef) | 40 | return _u6253_u5370(_u9519_u8bef) |
| 32 | end, 1)) then | 41 | end, 1)) then |
| @@ -55,7 +64,7 @@ do | |||
| 55 | end | 64 | end |
| 56 | end | 65 | end |
| 57 | do | 66 | do |
| 58 | pcall(_u51fd_u6570, 1, 2, 3) | 67 | pcall(_u51fd_u6570, 1, 2, 3) |
| 59 | pcall(_u51fd_u6570, 1, 2, 3) | 68 | pcall(_u51fd_u6570, 1, 2, 3) |
| 60 | end | 69 | end |
| 61 | return nil | 70 | return nil |
