rubinius-melbourne 2.3.1.0 → 3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (102) hide show
  1. checksums.yaml +4 -4
  2. data/ext/rubinius/code/melbourne/.spec_ruby_version +1 -0
  3. data/ext/rubinius/code/melbourne/Makefile +51 -0
  4. data/ext/rubinius/code/melbourne/bstrlib.o +0 -0
  5. data/ext/rubinius/{melbourne → code/melbourne}/encoding_compat.cpp +0 -0
  6. data/ext/rubinius/{melbourne → code/melbourne}/encoding_compat.hpp +0 -0
  7. data/ext/rubinius/{melbourne → code/melbourne}/extconf.rb +2 -2
  8. data/ext/rubinius/{melbourne → code/melbourne}/grammar.cpp +0 -0
  9. data/ext/rubinius/{melbourne → code/melbourne}/grammar.hpp +0 -0
  10. data/ext/rubinius/{melbourne → code/melbourne}/grammar.y +0 -0
  11. data/ext/rubinius/{melbourne → code/melbourne}/lex.c.blt +0 -0
  12. data/ext/rubinius/{melbourne → code/melbourne}/melbourne.cpp +0 -0
  13. data/ext/rubinius/{melbourne → code/melbourne}/melbourne.hpp +0 -0
  14. data/ext/rubinius/code/melbourne/namespace.h +3 -0
  15. data/ext/rubinius/{melbourne → code/melbourne}/node.hpp +0 -0
  16. data/ext/rubinius/{melbourne → code/melbourne}/node_types.cpp +0 -0
  17. data/ext/rubinius/{melbourne → code/melbourne}/node_types.hpp +0 -0
  18. data/ext/rubinius/{melbourne → code/melbourne}/node_types.rb +0 -0
  19. data/ext/rubinius/{melbourne → code/melbourne}/parser_state.hpp +0 -0
  20. data/ext/rubinius/{melbourne → code/melbourne}/symbols.cpp +0 -0
  21. data/ext/rubinius/{melbourne → code/melbourne}/symbols.hpp +0 -0
  22. data/ext/rubinius/{melbourne → code/melbourne}/var_table.cpp +0 -0
  23. data/ext/rubinius/{melbourne → code/melbourne}/var_table.hpp +0 -0
  24. data/ext/rubinius/{melbourne → code/melbourne}/visitor.cpp +0 -0
  25. data/ext/rubinius/{melbourne → code/melbourne}/visitor.hpp +0 -0
  26. data/lib/rubinius/code/melbourne/melbourne.bundle +0 -0
  27. data/lib/rubinius/{melbourne → code/melbourne}/version.rb +1 -1
  28. data/lib/rubinius/{melbourne.rb → code/melbourne.rb} +2 -2
  29. metadata +42 -233
  30. data/.gitignore +0 -24
  31. data/.travis.yml +0 -7
  32. data/Gemfile +0 -4
  33. data/LICENSE +0 -25
  34. data/README.md +0 -29
  35. data/Rakefile +0 -46
  36. data/rubinius-melbourne.gemspec +0 -29
  37. data/spec/alias_spec.rb +0 -35
  38. data/spec/and_spec.rb +0 -13
  39. data/spec/array_spec.rb +0 -75
  40. data/spec/attrasgn_spec.rb +0 -91
  41. data/spec/back_ref_spec.rb +0 -9
  42. data/spec/call_spec.rb +0 -210
  43. data/spec/case_spec.rb +0 -216
  44. data/spec/cdecl_spec.rb +0 -51
  45. data/spec/class_spec.rb +0 -71
  46. data/spec/colon2_spec.rb +0 -5
  47. data/spec/colon3_spec.rb +0 -5
  48. data/spec/const_spec.rb +0 -5
  49. data/spec/custom/matchers/parse_as.rb +0 -28
  50. data/spec/custom/runner/relates.rb +0 -87
  51. data/spec/cvar_spec.rb +0 -23
  52. data/spec/cvasgn_spec.rb +0 -35
  53. data/spec/default.mspec +0 -4
  54. data/spec/defined_spec.rb +0 -119
  55. data/spec/defn_spec.rb +0 -783
  56. data/spec/defs_spec.rb +0 -96
  57. data/spec/dot2_spec.rb +0 -5
  58. data/spec/dot3_spec.rb +0 -5
  59. data/spec/dregx_spec.rb +0 -38
  60. data/spec/dstr_spec.rb +0 -144
  61. data/spec/dsym_spec.rb +0 -8
  62. data/spec/dxstr_spec.rb +0 -9
  63. data/spec/ensure_spec.rb +0 -113
  64. data/spec/false_spec.rb +0 -5
  65. data/spec/flip2_spec.rb +0 -75
  66. data/spec/flip3_spec.rb +0 -25
  67. data/spec/for_spec.rb +0 -63
  68. data/spec/gasgn_spec.rb +0 -9
  69. data/spec/gvar_spec.rb +0 -17
  70. data/spec/hash_spec.rb +0 -74
  71. data/spec/iasgn_spec.rb +0 -19
  72. data/spec/if_spec.rb +0 -101
  73. data/spec/iter_spec.rb +0 -666
  74. data/spec/lambda_spec.rb +0 -107
  75. data/spec/lasgn_spec.rb +0 -320
  76. data/spec/lit_spec.rb +0 -57
  77. data/spec/masgn_spec.rb +0 -171
  78. data/spec/match2_spec.rb +0 -15
  79. data/spec/match3_spec.rb +0 -20
  80. data/spec/match_spec.rb +0 -5
  81. data/spec/module_spec.rb +0 -43
  82. data/spec/nil_spec.rb +0 -5
  83. data/spec/not_spec.rb +0 -15
  84. data/spec/nth_ref_spec.rb +0 -5
  85. data/spec/op_asgn_spec.rb +0 -206
  86. data/spec/or_spec.rb +0 -29
  87. data/spec/postexe_spec.rb +0 -5
  88. data/spec/regex_spec.rb +0 -20
  89. data/spec/rescue_spec.rb +0 -357
  90. data/spec/return_spec.rb +0 -40
  91. data/spec/sclass_spec.rb +0 -56
  92. data/spec/spec_helper.rb +0 -8
  93. data/spec/str_spec.rb +0 -79
  94. data/spec/super_spec.rb +0 -75
  95. data/spec/true_spec.rb +0 -5
  96. data/spec/undef_spec.rb +0 -83
  97. data/spec/until_spec.rb +0 -48
  98. data/spec/valias_spec.rb +0 -5
  99. data/spec/while_spec.rb +0 -113
  100. data/spec/xstr_spec.rb +0 -5
  101. data/spec/yield_spec.rb +0 -45
  102. data/spec/zsuper_spec.rb +0 -37
data/spec/flip3_spec.rb DELETED
@@ -1,25 +0,0 @@
1
- describe "A Flip3 node" do
2
- parse <<-ruby do
3
- x = if ((i % 4) == 0)...((i % 3) == 0) then
4
- i
5
- else
6
- nil
7
- end
8
- ruby
9
-
10
- [:lasgn,
11
- :x,
12
- [:if,
13
- [:flip3,
14
- [:call,
15
- [:call, [:call, nil, :i, [:arglist]], :%, [:arglist, [:lit, 4]]],
16
- :==,
17
- [:arglist, [:lit, 0]]],
18
- [:call,
19
- [:call, [:call, nil, :i, [:arglist]], :%, [:arglist, [:lit, 3]]],
20
- :==,
21
- [:arglist, [:lit, 0]]]],
22
- [:call, nil, :i, [:arglist]],
23
- nil]]
24
- end
25
- end
data/spec/for_spec.rb DELETED
@@ -1,63 +0,0 @@
1
- describe "A For node" do
2
- parse <<-ruby do
3
- for o in ary do
4
- puts(o)
5
- end
6
- ruby
7
-
8
- [:for,
9
- [:args, [:lasgn, :o]],
10
- [:call, nil, :ary, [:arglist]],
11
- [:call, nil, :puts, [:arglist, [:lvar, :o]]]]
12
- end
13
-
14
- parse <<-ruby do
15
- for i in (0..max) do
16
- # do nothing
17
- end
18
- ruby
19
-
20
- [:for,
21
- [:args, [:lasgn, :i]],
22
- [:dot2, [:lit, 0], [:call, nil, :max, [:arglist]]],
23
- [:nil]]
24
- end
25
-
26
- parse <<-ruby do
27
- for a, b in x do
28
- 5
29
- end
30
- ruby
31
-
32
- [:for,
33
- [:args, [:masgn, [:array, [:lasgn, :a], [:lasgn, :b]]]],
34
- [:call, nil, :x, [:arglist]],
35
- [:lit, 5]]
36
- end
37
-
38
- parse <<-ruby do
39
- for i in ()
40
- i
41
- end
42
- ruby
43
-
44
- [:for, [:args, [:lasgn, :i]], [:nil], [:lvar, :i]]
45
- end
46
-
47
- parse <<-ruby do
48
- c = 1
49
- for i in a
50
- for j in b
51
- c
52
- end
53
- end
54
- ruby
55
-
56
- [:block,
57
- [:lasgn, :c, [:lit, 1]],
58
- [:for,
59
- [:args, [:lasgn, :i]],
60
- [:call, nil, :a, [:arglist]],
61
- [:for, [:args, [:lasgn, :j]], [:call, nil, :b, [:arglist]], [:lvar, :c]]]]
62
- end
63
- end
data/spec/gasgn_spec.rb DELETED
@@ -1,9 +0,0 @@
1
- describe "A Gasgn node" do
2
- parse "$x = 42" do
3
- [:gasgn, :$x, [:lit, 42]]
4
- end
5
-
6
- parse "$a = *[1]" do
7
- [:gasgn, :$a, [:splat, [:array, [:lit, 1]]]]
8
- end
9
- end
data/spec/gvar_spec.rb DELETED
@@ -1,17 +0,0 @@
1
- describe "A Gvar node" do
2
- parse "$x" do
3
- [:gvar, :$x]
4
- end
5
-
6
- parse "$stderr" do
7
- [:gvar, :$stderr]
8
- end
9
-
10
- parse "$__blah" do
11
- [:gvar, :$__blah]
12
- end
13
-
14
- parse "$_" do
15
- [:gvar, :$_]
16
- end
17
- end
data/spec/hash_spec.rb DELETED
@@ -1,74 +0,0 @@
1
- describe "A Hash node" do
2
- parse "{ 1 => 2, 3 => 4 }" do
3
- [:hash, [:lit, 1], [:lit, 2], [:lit, 3], [:lit, 4]]
4
- end
5
-
6
- parse "{ 1 => (2 rescue 3) }" do
7
- [:hash,
8
- [:lit, 1],
9
- [:rescue,
10
- [:lit, 2],
11
- [:resbody, [:array, [:const, :StandardError]], [:lit, 3]]]]
12
- end
13
-
14
- parse "{ 1 => [*1] }" do
15
- [:hash, [:lit, 1], [:splat, [:lit, 1]]]
16
- end
17
-
18
- parse <<-ruby do
19
- a = 1
20
- { :a => a }
21
- ruby
22
-
23
- [:block,
24
- [:lasgn, :a, [:lit, 1]],
25
- [:hash, [:lit, :a], [:lvar, :a]]]
26
- end
27
-
28
- parse <<-ruby do
29
- { **{ a: 1, b: 2 }, b: 2 }
30
- ruby
31
-
32
- [:hash,
33
- [:hash_splat],
34
- [:hash, [:lit, :a], [:lit, 1], [:lit, :b], [:lit, 2]],
35
- [:lit, :b],
36
- [:lit, 2]]
37
- end
38
-
39
- parse <<-ruby do
40
- { a: 1, **{ b: 2 }, c: 3 }
41
- ruby
42
-
43
- [:hash,
44
- [:lit, :a],
45
- [:lit, 1],
46
- [:hash_splat],
47
- [:hash, [:lit, :b], [:lit, 2]],
48
- [:lit, :c],
49
- [:lit, 3]]
50
- end
51
-
52
- parse <<-ruby do
53
- h = { a: 1 }
54
- { b: 2, **h }
55
- ruby
56
-
57
- [:block,
58
- [:lasgn, :h, [:hash, [:lit, :a], [:lit, 1]]],
59
- [:hash, [:lit, :b], [:lit, 2], [:hash_splat], [:lvar, :h]]]
60
- end
61
-
62
- parse <<-ruby do
63
- { a: 1, **h, c: 3 }
64
- ruby
65
-
66
- [:hash,
67
- [:lit, :a],
68
- [:lit, 1],
69
- [:hash_splat],
70
- [:call, nil, :h, [:arglist]],
71
- [:lit, :c],
72
- [:lit, 3]]
73
- end
74
- end
data/spec/iasgn_spec.rb DELETED
@@ -1,19 +0,0 @@
1
- describe "A Iasgn node" do
2
- parse "@a = 4" do
3
- [:iasgn, :@a, [:lit, 4]]
4
- end
5
-
6
- parse "@a = *[1]" do
7
- [:iasgn, :@a, [:splat, [:array, [:lit, 1]]]]
8
- end
9
-
10
- parse <<-ruby do
11
- a = 1
12
- @a = a
13
- ruby
14
-
15
- [:block,
16
- [:lasgn, :a, [:lit, 1]],
17
- [:iasgn, :@a, [:lvar, :a]]]
18
- end
19
- end
data/spec/if_spec.rb DELETED
@@ -1,101 +0,0 @@
1
- describe "An If node" do
2
- parse <<-ruby do
3
- if true then
4
- 10
5
- else
6
- 12
7
- end
8
- ruby
9
-
10
- [:if, [:true], [:lit, 10], [:lit, 12]]
11
- end
12
-
13
- parse "if b then a end" do
14
- [:if, [:call, nil, :b, [:arglist]], [:call, nil, :a, [:arglist]], nil]
15
- end
16
-
17
- parse <<-ruby do
18
- if (x = 5
19
- (x + 1)) then
20
- nil
21
- end
22
- ruby
23
-
24
- [:if,
25
- [:block,
26
- [:lasgn, :x, [:lit, 5]],
27
- [:call, [:lvar, :x], :+, [:arglist, [:lit, 1]]]],
28
- [:nil],
29
- nil]
30
- end
31
-
32
- parse <<-ruby do
33
- if x = obj.x then
34
- x.do_it
35
- end
36
- ruby
37
-
38
- [:if,
39
- [:lasgn, :x, [:call, [:call, nil, :obj, [:arglist]], :x, [:arglist]]],
40
- [:call, [:lvar, :x], :do_it, [:arglist]],
41
- nil]
42
- end
43
-
44
- parse "return if false unless true" do
45
- [:if, [:true], [:nil], [:if, [:false], [:return], nil]]
46
- end
47
-
48
- parse "a if not b" do
49
- [:if,
50
- [:call, [:call, nil, :b, [:arglist]], :!, [:arglist]],
51
- [:call, nil, :a, [:arglist]],
52
- nil]
53
- end
54
-
55
- parse "a if b" do
56
- [:if, [:call, nil, :b, [:arglist]], [:call, nil, :a, [:arglist]], nil]
57
- end
58
-
59
- parse "if not b then a end" do
60
- [:if,
61
- [:call, [:call, nil, :b, [:arglist]], :!, [:arglist]],
62
- [:call, nil, :a, [:arglist]],
63
- nil]
64
- end
65
-
66
- parse "if b then a end" do
67
- [:if, [:call, nil, :b, [:arglist]], [:call, nil, :a, [:arglist]], nil]
68
- end
69
-
70
- nil_condition_sexp = [:if, [:nil], [:call, nil, :a, [:arglist]], nil]
71
-
72
- parse "a if ()" do
73
- nil_condition_sexp
74
- end
75
-
76
- parse "if () then a end" do
77
- nil_condition_sexp
78
- end
79
-
80
- parse "a unless not b" do
81
- [:if,
82
- [:call, [:call, nil, :b, [:arglist]], :!, [:arglist]],
83
- [:nil],
84
- [:call, nil, :a, [:arglist]]]
85
- end
86
-
87
- parse "a unless b" do
88
- [:if, [:call, nil, :b, [:arglist]], [:nil], [:call, nil, :a, [:arglist]]]
89
- end
90
-
91
- parse "unless not b then a end" do
92
- [:if,
93
- [:call, [:call, nil, :b, [:arglist]], :!, [:arglist]],
94
- [:nil],
95
- [:call, nil, :a, [:arglist]]]
96
- end
97
-
98
- parse "unless b then a end" do
99
- [:if, [:call, nil, :b, [:arglist]], [:nil], [:call, nil, :a, [:arglist]]]
100
- end
101
- end
data/spec/iter_spec.rb DELETED
@@ -1,666 +0,0 @@
1
- describe "An Iter node" do
2
- parse "m { }" do
3
- [:call, nil, :m, [:arglist, [:iter, [:args], [:nil]]]]
4
- end
5
-
6
- parse "m do end" do
7
- [:call, nil, :m, [:arglist, [:iter, [:args], [:nil]]]]
8
- end
9
-
10
- parse "m { x }" do
11
- [:call, nil, :m, [:arglist, [:iter, [:args], [:call, nil, :x, [:arglist]]]]]
12
- end
13
-
14
- parse "m { || }" do
15
- [:call, nil, :m, [:arglist, [:iter, [:args], [:nil]]]]
16
- end
17
-
18
- parse "m { |; x| }" do
19
- [:call, nil, :m, [:arglist, [:iter, [:args], [:nil]]]]
20
- end
21
-
22
- parse "m { |; x, y| x - y + z }" do
23
- [:call,
24
- nil,
25
- :m,
26
- [:arglist, [:iter, [:args], [:block, [[:lvar, :x], [:lvar, :y]]]]]]
27
- end
28
-
29
- parse "m { |a| }" do
30
- [:call, nil, :m, [:arglist, [:iter, [:args, :a], [:nil]]]]
31
- end
32
-
33
- parse "m { |a, (b, c)| }" do
34
- [:call,
35
- nil,
36
- :m,
37
- [:arglist,
38
- [:iter,
39
- [:args,
40
- :a,
41
- [:masgn, [:array, [:lasgn, :b], [:lasgn, :c]], [:lvar, :"_:1"]]],
42
- [:nil]]]]
43
- end
44
-
45
- parse "m { |a; x| }" do
46
- [:call, nil, :m, [:arglist, [:iter, [:args, :a], [:block, [[:lvar, :x]]]]]]
47
- end
48
-
49
- parse "m { |a=1| }" do
50
- [:call,
51
- nil,
52
- :m,
53
- [:arglist, [:iter, [:args, :a, [:block, [:lasgn, :a, [:lit, 1]]]], [:nil]]]]
54
- end
55
-
56
- parse "m { |a=1, (b, (c, *d), *e)| }" do
57
- [:call,
58
- nil,
59
- :m,
60
- [:arglist,
61
- [:iter,
62
- [:args,
63
- :a,
64
- [:masgn,
65
- [:array,
66
- [:lasgn, :b],
67
- [:masgn, [:array, [:lasgn, :c], [:splat, [:lasgn, :d]]]],
68
- [:splat, [:lasgn, :e]]],
69
- [:lvar, :"_:1"]],
70
- [:block, [:lasgn, :a, [:lit, 1]]]],
71
- [:nil]]]]
72
- end
73
-
74
- parse "m { |a=1; x| }" do
75
- [:call,
76
- nil,
77
- :m,
78
- [:arglist,
79
- [:iter,
80
- [:args, :a, [:block, [:lasgn, :a, [:lit, 1]]]],
81
- [:block, [[:lvar, :x]]]]]]
82
- end
83
-
84
- parse "m { |*| }" do
85
- [:call, nil, :m, [:arglist, [:iter, [:args, :*], [:nil]]]]
86
- end
87
-
88
- parse "m { |*; x| }" do
89
- [:call, nil, :m, [:arglist, [:iter, [:args, :*], [:block, [[:lvar, :x]]]]]]
90
- end
91
-
92
- parse "m { |*a| }" do
93
- [:call, nil, :m, [:arglist, [:iter, [:args, :"*a"], [:nil]]]]
94
- end
95
-
96
- parse "m { |*a; x| }" do
97
- [:call, nil, :m, [:arglist, [:iter, [:args, :"*a"], [:block, [[:lvar, :x]]]]]]
98
- end
99
-
100
- parse "m { |a:| }" do
101
- [:call, nil, :m, [:arglist, [:iter, [:args, :a, [:kwargs, [:a]]], [:nil]]]]
102
- end
103
-
104
- parse "m { |a:; x| }" do
105
- [:call,
106
- nil,
107
- :m,
108
- [:arglist, [:iter, [:args, :a, [:kwargs, [:a]]], [:block, [[:lvar, :x]]]]]]
109
- end
110
-
111
- parse "m { |a: 1| }" do
112
- [:call,
113
- nil,
114
- :m,
115
- [:arglist,
116
- [:iter, [:args, :a, [:kwargs, [:a], [[:lasgn, :a, [:lit, 1]]]]], [:nil]]]]
117
- end
118
-
119
- parse "m { |a: 1; x| }" do
120
- [:call,
121
- nil,
122
- :m,
123
- [:arglist,
124
- [:iter,
125
- [:args, :a, [:kwargs, [:a], [[:lasgn, :a, [:lit, 1]]]]],
126
- [:block, [[:lvar, :x]]]]]]
127
- end
128
-
129
- parse "m { |**| }" do
130
- [:call, nil, :m, [:arglist, [:iter, [:args, :**, [:kwargs, [:**]]], [:nil]]]]
131
- end
132
-
133
- parse "m { |**; x| }" do
134
- [:call,
135
- nil,
136
- :m,
137
- [:arglist, [:iter, [:args, :**, [:kwargs, [:**]]], [:block, [[:lvar, :x]]]]]]
138
- end
139
-
140
- parse "m { |**k| }" do
141
- [:call,
142
- nil,
143
- :m,
144
- [:arglist, [:iter, [:args, :"**k", [:kwargs, [:"**k"]]], [:nil]]]]
145
- end
146
-
147
- parse "m { |**k; x| }" do
148
- [:call,
149
- nil,
150
- :m,
151
- [:arglist,
152
- [:iter, [:args, :"**k", [:kwargs, [:"**k"]]], [:block, [[:lvar, :x]]]]]]
153
- end
154
-
155
- parse "m { |&b| }" do
156
- [:call, nil, :m, [:arglist, [:iter, [:args, :"&b"], [:nil]]]]
157
- end
158
-
159
- parse "m { |&b; x| }" do
160
- [:call, nil, :m, [:arglist, [:iter, [:args, :"&b"], [:block, [[:lvar, :x]]]]]]
161
- end
162
-
163
- parse "m { |a, | }" do
164
- [:call, nil, :m, [:arglist, [:iter, [:args, :a], [:nil]]]]
165
- end
166
-
167
- parse "m { |a,; x| }" do
168
- [:call, nil, :m, [:arglist, [:iter, [:args, :a], [:block, [[:lvar, :x]]]]]]
169
- end
170
-
171
- parse "m { |a, b| }" do
172
- [:call, nil, :m, [:arglist, [:iter, [:args, :a, :b], [:nil]]]]
173
- end
174
-
175
- parse "m { |a, b; x| }" do
176
- [:call, nil, :m, [:arglist, [:iter, [:args, :a, :b], [:block, [[:lvar, :x]]]]]]
177
- end
178
-
179
- parse "m { |a, b=1| }" do
180
- [:call,
181
- nil,
182
- :m,
183
- [:arglist,
184
- [:iter, [:args, :a, :b, [:block, [:lasgn, :b, [:lit, 1]]]], [:nil]]]]
185
- end
186
-
187
- parse "m { |a, *| }" do
188
- [:call, nil, :m, [:arglist, [:iter, [:args, :a, :*], [:nil]]]]
189
- end
190
-
191
- parse "m { |a, *b| }" do
192
- [:call, nil, :m, [:arglist, [:iter, [:args, :a, :"*b"], [:nil]]]]
193
- end
194
-
195
- parse "m { |a, b:| }" do
196
- [:call, nil, :m, [:arglist, [:iter, [:args, :a, :b, [:kwargs, [:b]]], [:nil]]]]
197
- end
198
-
199
- parse "m { |a, b: 1| }" do
200
- [:call,
201
- nil,
202
- :m,
203
- [:arglist,
204
- [:iter, [:args, :a, :b, [:kwargs, [:b], [[:lasgn, :b, [:lit, 1]]]]], [:nil]]]]
205
- end
206
-
207
- parse "m { |a, **| }" do
208
- [:call,
209
- nil,
210
- :m,
211
- [:arglist, [:iter, [:args, :a, :**, [:kwargs, [:**]]], [:nil]]]]
212
- end
213
-
214
- parse "m { |a, **k| }" do
215
- [:call,
216
- nil,
217
- :m,
218
- [:arglist, [:iter, [:args, :a, :"**k", [:kwargs, [:"**k"]]], [:nil]]]]
219
- end
220
-
221
- parse "m { |a, &b| }" do
222
- [:call, nil, :m, [:arglist, [:iter, [:args, :a, :"&b"], [:nil]]]]
223
- end
224
-
225
- parse "m { |a=1, b=2| }" do
226
- [:call,
227
- nil,
228
- :m,
229
- [:arglist,
230
- [:iter,
231
- [:args, :a, :b, [:block, [:lasgn, :a, [:lit, 1]], [:lasgn, :b, [:lit, 2]]]],
232
- [:nil]]]]
233
- end
234
-
235
- parse "m { |a=1, b| }" do
236
- [:call,
237
- nil,
238
- :m,
239
- [:arglist,
240
- [:iter, [:args, :a, :b, [:block, [:lasgn, :a, [:lit, 1]]]], [:nil]]]]
241
- end
242
-
243
- parse "m { |a=1, *| }" do
244
- [:call,
245
- nil,
246
- :m,
247
- [:arglist,
248
- [:iter, [:args, :a, :*, [:block, [:lasgn, :a, [:lit, 1]]]], [:nil]]]]
249
- end
250
-
251
- parse "m { |a=1, *b| }" do
252
- [:call,
253
- nil,
254
- :m,
255
- [:arglist,
256
- [:iter, [:args, :a, :"*b", [:block, [:lasgn, :a, [:lit, 1]]]], [:nil]]]]
257
- end
258
-
259
- parse "m { |a=1, b:| }" do
260
- [:call,
261
- nil,
262
- :m,
263
- [:arglist,
264
- [:iter,
265
- [:args, :a, :b, [:block, [:lasgn, :a, [:lit, 1]]], [:kwargs, [:b]]],
266
- [:nil]]]]
267
- end
268
-
269
- parse "m { |a=1, b: 2| }" do
270
- [:call,
271
- nil,
272
- :m,
273
- [:arglist,
274
- [:iter,
275
- [:args,
276
- :a,
277
- :b,
278
- [:block, [:lasgn, :a, [:lit, 1]]],
279
- [:kwargs, [:b], [[:lasgn, :b, [:lit, 2]]]]],
280
- [:nil]]]]
281
- end
282
-
283
- parse "m { |a=1, **| }" do
284
- [:call,
285
- nil,
286
- :m,
287
- [:arglist,
288
- [:iter,
289
- [:args, :a, :**, [:block, [:lasgn, :a, [:lit, 1]]], [:kwargs, [:**]]],
290
- [:nil]]]]
291
- end
292
-
293
- parse "m { |a=1, **k| }" do
294
- [:call,
295
- nil,
296
- :m,
297
- [:arglist,
298
- [:iter,
299
- [:args, :a, :"**k", [:block, [:lasgn, :a, [:lit, 1]]], [:kwargs, [:"**k"]]],
300
- [:nil]]]]
301
- end
302
-
303
- parse "m { |a=1, &b| }" do
304
- [:call,
305
- nil,
306
- :m,
307
- [:arglist,
308
- [:iter, [:args, :a, :"&b", [:block, [:lasgn, :a, [:lit, 1]]]], [:nil]]]]
309
- end
310
-
311
- parse "m { |*, a| }" do
312
- [:call, nil, :m, [:arglist, [:iter, [:args, :*, :a], [:nil]]]]
313
- end
314
-
315
- parse "m { |*a, b| }" do
316
- [:call, nil, :m, [:arglist, [:iter, [:args, :"*a", :b], [:nil]]]]
317
- end
318
-
319
- parse "m { |*, a:| }" do
320
- [:call, nil, :m, [:arglist, [:iter, [:args, :*, :a, [:kwargs, [:a]]], [:nil]]]]
321
- end
322
-
323
- parse "m { |*a, b:| }" do
324
- [:call,
325
- nil,
326
- :m,
327
- [:arglist, [:iter, [:args, :"*a", :b, [:kwargs, [:b]]], [:nil]]]]
328
- end
329
-
330
- parse "m { |*, a: 1| }" do
331
- [:call,
332
- nil,
333
- :m,
334
- [:arglist,
335
- [:iter, [:args, :*, :a, [:kwargs, [:a], [[:lasgn, :a, [:lit, 1]]]]], [:nil]]]]
336
- end
337
-
338
- parse "m { |*a, b: 1| }" do
339
- [:call,
340
- nil,
341
- :m,
342
- [:arglist,
343
- [:iter,
344
- [:args, :"*a", :b, [:kwargs, [:b], [[:lasgn, :b, [:lit, 1]]]]],
345
- [:nil]]]]
346
- end
347
-
348
- parse "m { |*, **| }" do
349
- [:call,
350
- nil,
351
- :m,
352
- [:arglist, [:iter, [:args, :*, :**, [:kwargs, [:**]]], [:nil]]]]
353
- end
354
-
355
- parse "m { |*a, **| }" do
356
- [:call,
357
- nil,
358
- :m,
359
- [:arglist, [:iter, [:args, :"*a", :**, [:kwargs, [:**]]], [:nil]]]]
360
- end
361
-
362
- parse "m { |*, **k| }" do
363
- [:call,
364
- nil,
365
- :m,
366
- [:arglist, [:iter, [:args, :*, :"**k", [:kwargs, [:"**k"]]], [:nil]]]]
367
- end
368
-
369
- parse "m { |*a, **k| }" do
370
- [:call,
371
- nil,
372
- :m,
373
- [:arglist, [:iter, [:args, :"*a", :"**k", [:kwargs, [:"**k"]]], [:nil]]]]
374
- end
375
-
376
- parse "m { |*, &b| }" do
377
- [:call, nil, :m, [:arglist, [:iter, [:args, :*, :"&b"], [:nil]]]]
378
- end
379
-
380
- parse "m { |*a, &b| }" do
381
- [:call, nil, :m, [:arglist, [:iter, [:args, :"*a", :"&b"], [:nil]]]]
382
- end
383
-
384
- parse "m { |a:, b:| }" do
385
- [:call,
386
- nil,
387
- :m,
388
- [:arglist, [:iter, [:args, :a, :b, [:kwargs, [:a, :b]]], [:nil]]]]
389
- end
390
-
391
- parse "m { |a:, b: 1| }" do
392
- [:call,
393
- nil,
394
- :m,
395
- [:arglist,
396
- [:iter,
397
- [:args, :a, :b, [:kwargs, [:a, :b], [[:lasgn, :b, [:lit, 1]]]]],
398
- [:nil]]]]
399
- end
400
-
401
- parse "m { |a:, **| }" do
402
- [:call,
403
- nil,
404
- :m,
405
- [:arglist, [:iter, [:args, :a, :**, [:kwargs, [:a, :**]]], [:nil]]]]
406
- end
407
-
408
- parse "m { |a:, **k| }" do
409
- [:call,
410
- nil,
411
- :m,
412
- [:arglist, [:iter, [:args, :a, :"**k", [:kwargs, [:a, :"**k"]]], [:nil]]]]
413
- end
414
-
415
- parse "m { |a:, &b| }" do
416
- [:call,
417
- nil,
418
- :m,
419
- [:arglist, [:iter, [:args, :a, :"&b", [:kwargs, [:a]]], [:nil]]]]
420
- end
421
-
422
- parse "m { |a: 1, b:| }" do
423
- [:call,
424
- nil,
425
- :m,
426
- [:arglist,
427
- [:iter,
428
- [:args, :a, :b, [:kwargs, [:a, :b], [[:lasgn, :a, [:lit, 1]]]]],
429
- [:nil]]]]
430
- end
431
-
432
- parse "m { |a: 1, b: 2| }" do
433
- [:call,
434
- nil,
435
- :m,
436
- [:arglist,
437
- [:iter,
438
- [:args,
439
- :a,
440
- :b,
441
- [:kwargs, [:a, :b], [[:lasgn, :a, [:lit, 1]], [:lasgn, :b, [:lit, 2]]]]],
442
- [:nil]]]]
443
- end
444
-
445
- parse "m { |a: 1, **| }" do
446
- [:call,
447
- nil,
448
- :m,
449
- [:arglist,
450
- [:iter,
451
- [:args, :a, :**, [:kwargs, [:a, :**], [[:lasgn, :a, [:lit, 1]]]]],
452
- [:nil]]]]
453
- end
454
-
455
- parse "m { |a: 1, **k| }" do
456
- [:call,
457
- nil,
458
- :m,
459
- [:arglist,
460
- [:iter,
461
- [:args, :a, :"**k", [:kwargs, [:a, :"**k"], [[:lasgn, :a, [:lit, 1]]]]],
462
- [:nil]]]]
463
- end
464
-
465
- parse "m { |a: 1, &b| }" do
466
- [:call,
467
- nil,
468
- :m,
469
- [:arglist,
470
- [:iter,
471
- [:args, :a, :"&b", [:kwargs, [:a], [[:lasgn, :a, [:lit, 1]]]]],
472
- [:nil]]]]
473
- end
474
-
475
- parse "m { |**, &b| }" do
476
- [:call,
477
- nil,
478
- :m,
479
- [:arglist, [:iter, [:args, :**, :"&b", [:kwargs, [:**]]], [:nil]]]]
480
- end
481
-
482
- parse "m { |**k, &b| }" do
483
- [:call,
484
- nil,
485
- :m,
486
- [:arglist, [:iter, [:args, :"**k", :"&b", [:kwargs, [:"**k"]]], [:nil]]]]
487
- end
488
-
489
- parse "m { n = 1; m { n } }" do
490
- [:call,
491
- nil,
492
- :m,
493
- [:arglist,
494
- [:iter,
495
- [:args],
496
- [:block,
497
- [:lasgn, :n, [:lit, 1]],
498
- [:call, nil, :m, [:arglist, [:iter, [:args], [:lvar, :n]]]]]]]]
499
- end
500
-
501
- parse "m(x) { |a, b=1, *c, d, e:, f: 2, **k, &l| }" do
502
- [:call,
503
- nil,
504
- :m,
505
- [:arglist,
506
- [:call, nil, :x, [:arglist]],
507
- [:iter,
508
- [:args,
509
- :a,
510
- :b,
511
- :"*c",
512
- :d,
513
- :e,
514
- :f,
515
- :"**k",
516
- :"&l",
517
- [:block, [:lasgn, :b, [:lit, 1]]],
518
- [:kwargs, [:e, :f, :"**k"], [[:lasgn, :f, [:lit, 2]]]]],
519
- [:nil]]]]
520
- end
521
-
522
- parse "m(x, y) { |a, b=1, *c, d, e:, f: 2, **k, &l| }" do
523
- [:call,
524
- nil,
525
- :m,
526
- [:arglist,
527
- [:call, nil, :x, [:arglist]],
528
- [:call, nil, :y, [:arglist]],
529
- [:iter,
530
- [:args,
531
- :a,
532
- :b,
533
- :"*c",
534
- :d,
535
- :e,
536
- :f,
537
- :"**k",
538
- :"&l",
539
- [:block, [:lasgn, :b, [:lit, 1]]],
540
- [:kwargs, [:e, :f, :"**k"], [[:lasgn, :f, [:lit, 2]]]]],
541
- [:nil]]]]
542
- end
543
-
544
- parse "x.m { |a, b=1, *c, d, e:, f: 2, **k, &l| }" do
545
- [:call,
546
- [:call, nil, :x, [:arglist]],
547
- :m,
548
- [:arglist,
549
- [:iter,
550
- [:args,
551
- :a,
552
- :b,
553
- :"*c",
554
- :d,
555
- :e,
556
- :f,
557
- :"**k",
558
- :"&l",
559
- [:block, [:lasgn, :b, [:lit, 1]]],
560
- [:kwargs, [:e, :f, :"**k"], [[:lasgn, :f, [:lit, 2]]]]],
561
- [:nil]]]]
562
- end
563
-
564
- parse "x.m(x, y) { |a, b=1, *c, d, e:, f: 2, **k, &l| }" do
565
- [:call,
566
- [:call, nil, :x, [:arglist]],
567
- :m,
568
- [:arglist,
569
- [:call, nil, :x, [:arglist]],
570
- [:call, nil, :y, [:arglist]],
571
- [:iter,
572
- [:args,
573
- :a,
574
- :b,
575
- :"*c",
576
- :d,
577
- :e,
578
- :f,
579
- :"**k",
580
- :"&l",
581
- [:block, [:lasgn, :b, [:lit, 1]]],
582
- [:kwargs, [:e, :f, :"**k"], [[:lasgn, :f, [:lit, 2]]]]],
583
- [:nil]]]]
584
- end
585
-
586
- parse "m { next }" do
587
- [:call, nil, :m, [:arglist, [:iter, [:args], [:next]]]]
588
- end
589
-
590
- parse "m { next 1 }" do
591
- [:call, nil, :m, [:arglist, [:iter, [:args], [:next, [:lit, 1]]]]]
592
- end
593
-
594
- parse "m { x = 1; next x }" do
595
- [:call,
596
- nil,
597
- :m,
598
- [:arglist,
599
- [:iter, [:args], [:block, [:lasgn, :x, [:lit, 1]], [:next, [:lvar, :x]]]]]]
600
- end
601
-
602
- parse "m { next *x }" do
603
- [:call,
604
- nil,
605
- :m,
606
- [:arglist, [:iter, [:args], [:next, [:splat, [:call, nil, :x, [:arglist]]]]]]]
607
- end
608
-
609
- parse "m { break }" do
610
- [:call, nil, :m, [:arglist, [:iter, [:args], [:break, [:nil]]]]]
611
- end
612
-
613
- parse "m { break x }" do
614
- [:call,
615
- nil,
616
- :m,
617
- [:arglist, [:iter, [:args], [:break, [:call, nil, :x, [:arglist]]]]]]
618
- end
619
-
620
- parse "m { return }" do
621
- [:call, nil, :m, [:arglist, [:iter, [:args], [:return]]]]
622
- end
623
-
624
- parse "m { return x }" do
625
- [:call,
626
- nil,
627
- :m,
628
- [:arglist, [:iter, [:args], [:return, [:call, nil, :x, [:arglist]]]]]]
629
- end
630
-
631
- parse "m { x = 1; return x }" do
632
- [:call,
633
- nil,
634
- :m,
635
- [:arglist,
636
- [:iter, [:args], [:block, [:lasgn, :x, [:lit, 1]], [:return, [:lvar, :x]]]]]]
637
- end
638
-
639
- parse "m { redo }" do
640
- [:call, nil, :m, [:arglist, [:iter, [:args], [:redo]]]]
641
- end
642
-
643
- parse "m { retry }" do
644
- [:call, nil, :m, [:arglist, [:iter, [:args], [:retry]]]]
645
- end
646
-
647
- parse "break" do
648
- [:break, [:nil]]
649
- end
650
-
651
- parse "redo" do
652
- [:redo]
653
- end
654
-
655
- parse "retry" do
656
- [:retry]
657
- end
658
-
659
- parse "next" do
660
- [:next]
661
- end
662
-
663
- parse "m { super }" do
664
- [:call, nil, :m, [:arglist, [:iter, [:args], [:zsuper]]]]
665
- end
666
- end