diff options
author | Li Jin <dragon-fly@qq.com> | 2024-05-16 17:25:37 +0800 |
---|---|---|
committer | Li Jin <dragon-fly@qq.com> | 2024-05-16 17:25:37 +0800 |
commit | fe317e2bdd9cb60b3c7cd347e21ce65cf90396e7 (patch) | |
tree | ed0b010b08f91fdb2bc9a4df18e8d638d47b1c7a /spec/outputs/try_catch.lua | |
parent | c857b3b83c7485693bfcc2b65e9e6e95107396f4 (diff) | |
download | yuescript-0.23.4.tar.gz yuescript-0.23.4.tar.bz2 yuescript-0.23.4.zip |
fix ambiguous issue in try-catch syntax.v0.23.4
Diffstat (limited to 'spec/outputs/try_catch.lua')
-rw-r--r-- | spec/outputs/try_catch.lua | 117 |
1 files changed, 68 insertions, 49 deletions
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 | ||