diff options
Diffstat (limited to 'spec/outputs/5.1/try_catch.lua')
-rw-r--r-- | spec/outputs/5.1/try_catch.lua | 47 |
1 files changed, 33 insertions, 14 deletions
diff --git a/spec/outputs/5.1/try_catch.lua b/spec/outputs/5.1/try_catch.lua index f63cd91..d4c80c1 100644 --- a/spec/outputs/5.1/try_catch.lua +++ b/spec/outputs/5.1/try_catch.lua | |||
@@ -1,9 +1,8 @@ | |||
1 | local _anon_func_0 = function(func, print) | 1 | local _anon_func_0 = function(tb) |
2 | print("trying") | 2 | return tb.func |
3 | return func(1, 2, 3) | ||
4 | end | 3 | end |
5 | local _anon_func_1 = function(tb) | 4 | local _anon_func_1 = function(tb) |
6 | return tb.func | 5 | return tb.func() |
7 | end | 6 | end |
8 | local _anon_func_2 = function(tb) | 7 | local _anon_func_2 = function(tb) |
9 | return tb.func() | 8 | return tb.func() |
@@ -12,16 +11,16 @@ local _anon_func_3 = function(tb) | |||
12 | return tb.func() | 11 | return tb.func() |
13 | end | 12 | end |
14 | local _anon_func_4 = function(tb) | 13 | local _anon_func_4 = function(tb) |
15 | return tb.func() | 14 | return tb:func(1, 2, 3) |
16 | end | 15 | end |
17 | local _anon_func_5 = function(tb) | 16 | local _anon_func_5 = function(tb) |
18 | return tb:func(1, 2, 3) | 17 | return tb.func(1) |
19 | end | 18 | end |
20 | local _anon_func_6 = function(tb) | 19 | local _anon_func_6 = function(tb) |
21 | return tb.func(1) | 20 | return tb.func(1) |
22 | end | 21 | end |
23 | local _anon_func_7 = function(tb) | 22 | local _anon_func_7 = function(a, b, c, tb) |
24 | return tb.func(1) | 23 | return tb.f(a, b, c) |
25 | end | 24 | end |
26 | local f | 25 | local f |
27 | f = function() | 26 | f = function() |
@@ -35,22 +34,28 @@ f = function() | |||
35 | end, function(err) | 34 | end, function(err) |
36 | return print(err) | 35 | return print(err) |
37 | end) | 36 | end) |
38 | pcall(_anon_func_0, func, print) | 37 | pcall(function() |
38 | print("trying") | ||
39 | return func(1, 2, 3) | ||
40 | end) | ||
39 | do | 41 | do |
40 | local success, result = xpcall(function() | 42 | local success, result = xpcall(function() |
41 | return func(1, 2, 3) | 43 | return func(1, 2, 3) |
42 | end, function(err) | 44 | end, function(err) |
43 | return print(err) | 45 | return print(err) |
44 | end) | 46 | end) |
45 | success, result = pcall(func, 1, 2, 3) | 47 | success, result = pcall(function() |
48 | return func(1, 2, 3) | ||
49 | end) | ||
46 | end | 50 | end |
51 | local tb = { } | ||
52 | pcall(_anon_func_0, tb) | ||
47 | pcall(_anon_func_1, tb) | 53 | pcall(_anon_func_1, tb) |
48 | pcall(_anon_func_2, tb) | 54 | pcall(_anon_func_2, tb) |
49 | pcall(_anon_func_3, tb) | 55 | pcall(_anon_func_3, tb) |
50 | pcall(_anon_func_4, tb) | 56 | pcall(_anon_func_4, tb) |
51 | pcall(_anon_func_5, tb) | 57 | pcall(_anon_func_5, tb) |
52 | pcall(_anon_func_6, tb) | 58 | pcall(_anon_func_6, tb) |
53 | pcall(_anon_func_7, tb) | ||
54 | if (xpcall(function() | 59 | if (xpcall(function() |
55 | return func(1) | 60 | return func(1) |
56 | end, function(err) | 61 | end, function(err) |
@@ -67,7 +72,9 @@ f = function() | |||
67 | end | 72 | end |
68 | do | 73 | do |
69 | do | 74 | do |
70 | local success, result = pcall(func, "abc", 123) | 75 | local success, result = pcall(function() |
76 | return func("abc", 123) | ||
77 | end) | ||
71 | if success then | 78 | if success then |
72 | print(result) | 79 | print(result) |
73 | end | 80 | end |
@@ -87,8 +94,20 @@ f = function() | |||
87 | end | 94 | end |
88 | end | 95 | end |
89 | do | 96 | do |
90 | pcall(func, 1, 2, 3) | 97 | pcall(function() |
91 | pcall(func, 1, 2, 3) | 98 | return func(1, 2, 3) |
99 | end) | ||
100 | pcall(function() | ||
101 | return func(1, 2, 3) | ||
102 | end) | ||
103 | end | ||
104 | do | ||
105 | x(function() | ||
106 | local tb, a, b, c | ||
107 | f = function() | ||
108 | return pcall(_anon_func_7, a, b, c, tb) | ||
109 | end | ||
110 | end) | ||
92 | end | 111 | end |
93 | return nil | 112 | return nil |
94 | end | 113 | end |