aboutsummaryrefslogtreecommitdiff
path: root/spec/outputs/try_catch.lua
diff options
context:
space:
mode:
authorLi Jin <dragon-fly@qq.com>2024-05-16 17:25:37 +0800
committerLi Jin <dragon-fly@qq.com>2024-05-16 17:25:37 +0800
commitfe317e2bdd9cb60b3c7cd347e21ce65cf90396e7 (patch)
treeed0b010b08f91fdb2bc9a4df18e8d638d47b1c7a /spec/outputs/try_catch.lua
parentc857b3b83c7485693bfcc2b65e9e6e95107396f4 (diff)
downloadyuescript-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.lua117
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 @@
1xpcall(func, function(err) 1local _anon_func_0 = function(func, print)
2 return print(err)
3end, 1, 2, 3)
4xpcall(func, function(err)
5 return print(err)
6end, 1, 2, 3)
7pcall(function()
8 print("trying") 2 print("trying")
9 return func(1, 2, 3) 3 return func(1, 2, 3)
10end) 4end
11do 5local _anon_func_1 = function(tb)
12 local success, result = xpcall(func, function(err) 6 return tb.func
7end
8local _anon_func_2 = function(tb)
9 return tb.func()
10end
11local _anon_func_3 = function(tb)
12 return tb.func()
13end
14local _anon_func_4 = function(tb)
15 return tb.func()
16end
17local _anon_func_5 = function(tb)
18 return tb:func(1, 2, 3)
19end
20local _anon_func_6 = function(tb)
21 return tb.func(1)
22end
23local _anon_func_7 = function(tb)
24 return tb.func(1)
25end
26local f
27f = 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)
16end 35 do
17pcall(tb.func) 36 local success, result = xpcall(func, function(err)
18pcall(tb.func) 37 return print(err)
19pcall(tb.func) 38 end, 1, 2, 3)
20pcall((tb.func)) 39 success, result = pcall(func, 1, 2, 3)
21pcall(((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
27end)()), 1, 2, 3)
28pcall(tb.func, 1)
29pcall(tb.func, 1)
30if (xpcall(func, function(err)
31 return print(err)
32end, 1)) then
33 print("OK")
34end
35if xpcall((func), function(err)
36 return print(err)
37end, 1) then
38 print("OK")
39end
40do
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
56end 80end
57do
58pcall(func, 1, 2, 3)
59pcall(func, 1, 2, 3)
60end
61return nil