rubinius-melbourne 2.2.0.0 → 2.2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ext/rubinius/melbourne/grammar.cpp +544 -546
- data/ext/rubinius/melbourne/grammar.y +3 -5
- data/ext/rubinius/melbourne/missing.hpp +29 -0
- data/lib/rubinius/melbourne/version.rb +1 -1
- data/spec/attrasgn_spec.rb +18 -14
- data/spec/defn_spec.rb +36 -36
- data/spec/defs_spec.rb +2 -2
- data/spec/for_spec.rb +6 -6
- data/spec/iter_spec.rb +42 -42
- data/spec/lambda_spec.rb +6 -6
- data/spec/postexe_spec.rb +1 -1
- metadata +2 -1
@@ -19,6 +19,7 @@
|
|
19
19
|
|
20
20
|
#include "namespace.h"
|
21
21
|
#include "melbourne.hpp"
|
22
|
+
#include "missing.hpp"
|
22
23
|
#include "grammar.hpp"
|
23
24
|
#include "parser_state.hpp"
|
24
25
|
#include "visitor.hpp"
|
@@ -7305,15 +7306,12 @@ parser_negate_lit(rb_parser_state* parser_state, NODE *node)
|
|
7305
7306
|
case T_FIXNUM:
|
7306
7307
|
node->nd_lit = LONG2FIX(-FIX2LONG(node->nd_lit));
|
7307
7308
|
break;
|
7308
|
-
case T_BIGNUM:
|
7309
|
-
case T_RATIONAL:
|
7310
|
-
case T_COMPLEX:
|
7311
|
-
node->nd_lit = REF(rb_funcall(node->nd_lit, rb_intern("-@"), 0, 0));
|
7312
|
-
break;
|
7313
7309
|
case T_FLOAT:
|
7314
7310
|
node->nd_lit = REF(rb_float_new(-NUM2DBL(node->nd_lit)));
|
7315
7311
|
break;
|
7312
|
+
case T_BIGNUM:
|
7316
7313
|
default:
|
7314
|
+
node->nd_lit = REF(rb_funcall(node->nd_lit, rb_intern("-@"), 0, 0));
|
7317
7315
|
break;
|
7318
7316
|
}
|
7319
7317
|
return node;
|
@@ -0,0 +1,29 @@
|
|
1
|
+
#ifndef MEL_MISSING_HPP
|
2
|
+
#define MEL_MISSING_HPP
|
3
|
+
|
4
|
+
extern "C" {
|
5
|
+
|
6
|
+
#ifndef rb_long2int
|
7
|
+
#if SIZEOF_INT < SIZEOF_LONG
|
8
|
+
int rb_long2int(long n) {
|
9
|
+
int i = (int)n;
|
10
|
+
if((long)i != n) {
|
11
|
+
rb_raise(rb_eRangeError, "long value is outside of range of int");
|
12
|
+
}
|
13
|
+
return i;
|
14
|
+
}
|
15
|
+
#else
|
16
|
+
#define rb_long2int(n) ((int)n)
|
17
|
+
#endif
|
18
|
+
#endif
|
19
|
+
|
20
|
+
#ifndef rb_rational_new
|
21
|
+
VALUE rb_rational_new(VALUE a, VALUE b) {
|
22
|
+
VALUE cls = rb_const_get(rb_cObject, rb_intern("Rational"));
|
23
|
+
return rb_funcall(cls, rb_intern("new"), 2, a, b);
|
24
|
+
}
|
25
|
+
#endif
|
26
|
+
|
27
|
+
} /* extern "C" */
|
28
|
+
|
29
|
+
#endif
|
data/spec/attrasgn_spec.rb
CHANGED
@@ -21,8 +21,9 @@ describe "An Attrasgn node" do
|
|
21
21
|
[:call, nil, :a, [:arglist]],
|
22
22
|
:[]=,
|
23
23
|
[:arglist,
|
24
|
-
[:
|
25
|
-
|
24
|
+
[:argspush,
|
25
|
+
[:splat, [:call, nil, :b, [:arglist]]],
|
26
|
+
[:call, nil, :c, [:arglist]]]]]
|
26
27
|
end
|
27
28
|
|
28
29
|
parse "a[b, *c] = d" do
|
@@ -30,10 +31,11 @@ describe "An Attrasgn node" do
|
|
30
31
|
[:call, nil, :a, [:arglist]],
|
31
32
|
:[]=,
|
32
33
|
[:arglist,
|
33
|
-
[:
|
34
|
-
[:
|
35
|
-
|
36
|
-
|
34
|
+
[:argspush,
|
35
|
+
[:argscat,
|
36
|
+
[:array, [:call, nil, :b, [:arglist]]],
|
37
|
+
[:call, nil, :c, [:arglist]]],
|
38
|
+
[:call, nil, :d, [:arglist]]]]]
|
37
39
|
end
|
38
40
|
|
39
41
|
parse "a[b, *c] = *d" do
|
@@ -41,10 +43,11 @@ describe "An Attrasgn node" do
|
|
41
43
|
[:call, nil, :a, [:arglist]],
|
42
44
|
:[]=,
|
43
45
|
[:arglist,
|
44
|
-
[:
|
45
|
-
[:
|
46
|
-
|
47
|
-
|
46
|
+
[:argspush,
|
47
|
+
[:argscat,
|
48
|
+
[:array, [:call, nil, :b, [:arglist]]],
|
49
|
+
[:call, nil, :c, [:arglist]]],
|
50
|
+
[:splat, [:call, nil, :d, [:arglist]]]]]]
|
48
51
|
end
|
49
52
|
|
50
53
|
parse "a[b, *c] = d, e" do
|
@@ -52,10 +55,11 @@ describe "An Attrasgn node" do
|
|
52
55
|
[:call, nil, :a, [:arglist]],
|
53
56
|
:[]=,
|
54
57
|
[:arglist,
|
55
|
-
[:
|
56
|
-
[:
|
57
|
-
|
58
|
-
|
58
|
+
[:argspush,
|
59
|
+
[:argscat,
|
60
|
+
[:array, [:call, nil, :b, [:arglist]]],
|
61
|
+
[:call, nil, :c, [:arglist]]],
|
62
|
+
[:array, [:call, nil, :d, [:arglist]], [:call, nil, :e, [:arglist]]]]]]
|
59
63
|
end
|
60
64
|
|
61
65
|
parse "a[42] = 24" do
|
data/spec/defn_spec.rb
CHANGED
@@ -70,7 +70,7 @@ describe "A Defn node" do
|
|
70
70
|
def m(a:) end
|
71
71
|
ruby
|
72
72
|
|
73
|
-
[:defn, :m, [:args, :a, [:
|
73
|
+
[:defn, :m, [:args, :a, [:kwargs, [:a]]], [:scope, [:block, [:nil]]]]
|
74
74
|
end
|
75
75
|
|
76
76
|
parse <<-ruby do
|
@@ -79,7 +79,7 @@ describe "A Defn node" do
|
|
79
79
|
|
80
80
|
[:defn,
|
81
81
|
:m,
|
82
|
-
[:args, :a, [:
|
82
|
+
[:args, :a, [:kwargs, [:a], [[:lasgn, :a, [:lit, 1]]]]],
|
83
83
|
[:scope, [:block, [:nil]]]]
|
84
84
|
end
|
85
85
|
|
@@ -87,14 +87,14 @@ describe "A Defn node" do
|
|
87
87
|
def m(**) end
|
88
88
|
ruby
|
89
89
|
|
90
|
-
[:defn, :m, [:args, :**, [:
|
90
|
+
[:defn, :m, [:args, :**, [:kwargs, [:**]]], [:scope, [:block, [:nil]]]]
|
91
91
|
end
|
92
92
|
|
93
93
|
parse <<-ruby do
|
94
94
|
def m(**k) end
|
95
95
|
ruby
|
96
96
|
|
97
|
-
[:defn, :m, [:args, :"**k", [:
|
97
|
+
[:defn, :m, [:args, :"**k", [:kwargs, [:"**k"]]], [:scope, [:block, [:nil]]]]
|
98
98
|
end
|
99
99
|
|
100
100
|
parse <<-ruby do
|
@@ -268,7 +268,7 @@ describe "A Defn node" do
|
|
268
268
|
def m(a, b:) end
|
269
269
|
ruby
|
270
270
|
|
271
|
-
[:defn, :m, [:args, :a, :b, [:
|
271
|
+
[:defn, :m, [:args, :a, :b, [:kwargs, [:b]]], [:scope, [:block, [:nil]]]]
|
272
272
|
end
|
273
273
|
|
274
274
|
parse <<-ruby do
|
@@ -277,7 +277,7 @@ describe "A Defn node" do
|
|
277
277
|
|
278
278
|
[:defn,
|
279
279
|
:m,
|
280
|
-
[:args, :a, :b, [:
|
280
|
+
[:args, :a, :b, [:kwargs, [:b], [[:lasgn, :b, [:lit, 1]]]]],
|
281
281
|
[:scope, [:block, [:nil]]]]
|
282
282
|
end
|
283
283
|
|
@@ -285,7 +285,7 @@ describe "A Defn node" do
|
|
285
285
|
def m(a, **) end
|
286
286
|
ruby
|
287
287
|
|
288
|
-
[:defn, :m, [:args, :a, :**, [:
|
288
|
+
[:defn, :m, [:args, :a, :**, [:kwargs, [:**]]], [:scope, [:block, [:nil]]]]
|
289
289
|
end
|
290
290
|
|
291
291
|
parse <<-ruby do
|
@@ -294,7 +294,7 @@ describe "A Defn node" do
|
|
294
294
|
|
295
295
|
[:defn,
|
296
296
|
:m,
|
297
|
-
[:args, :a, :"**k", [:
|
297
|
+
[:args, :a, :"**k", [:kwargs, [:"**k"]]],
|
298
298
|
[:scope, [:block, [:nil]]]]
|
299
299
|
end
|
300
300
|
|
@@ -463,7 +463,7 @@ describe "A Defn node" do
|
|
463
463
|
|
464
464
|
[:defn,
|
465
465
|
:m,
|
466
|
-
[:args, :a, :b, [:block, [:lasgn, :a, [:lit, 1]]], [:
|
466
|
+
[:args, :a, :b, [:block, [:lasgn, :a, [:lit, 1]]], [:kwargs, [:b]]],
|
467
467
|
[:scope, [:block, [:nil]]]]
|
468
468
|
end
|
469
469
|
|
@@ -477,7 +477,7 @@ describe "A Defn node" do
|
|
477
477
|
:a,
|
478
478
|
:b,
|
479
479
|
[:block, [:lasgn, :a, [:lit, 1]]],
|
480
|
-
[:
|
480
|
+
[:kwargs, [:b], [[:lasgn, :b, [:lit, 2]]]]],
|
481
481
|
[:scope, [:block, [:nil]]]]
|
482
482
|
end
|
483
483
|
|
@@ -487,7 +487,7 @@ describe "A Defn node" do
|
|
487
487
|
|
488
488
|
[:defn,
|
489
489
|
:m,
|
490
|
-
[:args, :a, :**, [:block, [:lasgn, :a, [:lit, 1]]], [:
|
490
|
+
[:args, :a, :**, [:block, [:lasgn, :a, [:lit, 1]]], [:kwargs, [:**]]],
|
491
491
|
[:scope, [:block, [:nil]]]]
|
492
492
|
end
|
493
493
|
|
@@ -497,7 +497,7 @@ describe "A Defn node" do
|
|
497
497
|
|
498
498
|
[:defn,
|
499
499
|
:m,
|
500
|
-
[:args, :a, :"**k", [:block, [:lasgn, :a, [:lit, 1]]], [:
|
500
|
+
[:args, :a, :"**k", [:block, [:lasgn, :a, [:lit, 1]]], [:kwargs, [:"**k"]]],
|
501
501
|
[:scope, [:block, [:nil]]]]
|
502
502
|
end
|
503
503
|
|
@@ -529,14 +529,14 @@ describe "A Defn node" do
|
|
529
529
|
def m(*, a:) end
|
530
530
|
ruby
|
531
531
|
|
532
|
-
[:defn, :m, [:args, :*, :a, [:
|
532
|
+
[:defn, :m, [:args, :*, :a, [:kwargs, [:a]]], [:scope, [:block, [:nil]]]]
|
533
533
|
end
|
534
534
|
|
535
535
|
parse <<-ruby do
|
536
536
|
def m(*a, b:) end
|
537
537
|
ruby
|
538
538
|
|
539
|
-
[:defn, :m, [:args, :"*a", :b, [:
|
539
|
+
[:defn, :m, [:args, :"*a", :b, [:kwargs, [:b]]], [:scope, [:block, [:nil]]]]
|
540
540
|
end
|
541
541
|
|
542
542
|
parse <<-ruby do
|
@@ -545,7 +545,7 @@ describe "A Defn node" do
|
|
545
545
|
|
546
546
|
[:defn,
|
547
547
|
:m,
|
548
|
-
[:args, :*, :a, [:
|
548
|
+
[:args, :*, :a, [:kwargs, [:a], [[:lasgn, :a, [:lit, 1]]]]],
|
549
549
|
[:scope, [:block, [:nil]]]]
|
550
550
|
end
|
551
551
|
|
@@ -555,7 +555,7 @@ describe "A Defn node" do
|
|
555
555
|
|
556
556
|
[:defn,
|
557
557
|
:m,
|
558
|
-
[:args, :"*a", :b, [:
|
558
|
+
[:args, :"*a", :b, [:kwargs, [:b], [[:lasgn, :b, [:lit, 1]]]]],
|
559
559
|
[:scope, [:block, [:nil]]]]
|
560
560
|
end
|
561
561
|
|
@@ -563,14 +563,14 @@ describe "A Defn node" do
|
|
563
563
|
def m(*, **) end
|
564
564
|
ruby
|
565
565
|
|
566
|
-
[:defn, :m, [:args, :*, :**, [:
|
566
|
+
[:defn, :m, [:args, :*, :**, [:kwargs, [:**]]], [:scope, [:block, [:nil]]]]
|
567
567
|
end
|
568
568
|
|
569
569
|
parse <<-ruby do
|
570
570
|
def m(*a, **) end
|
571
571
|
ruby
|
572
572
|
|
573
|
-
[:defn, :m, [:args, :"*a", :**, [:
|
573
|
+
[:defn, :m, [:args, :"*a", :**, [:kwargs, [:**]]], [:scope, [:block, [:nil]]]]
|
574
574
|
end
|
575
575
|
|
576
576
|
parse <<-ruby do
|
@@ -579,7 +579,7 @@ describe "A Defn node" do
|
|
579
579
|
|
580
580
|
[:defn,
|
581
581
|
:m,
|
582
|
-
[:args, :*, :"**k", [:
|
582
|
+
[:args, :*, :"**k", [:kwargs, [:"**k"]]],
|
583
583
|
[:scope, [:block, [:nil]]]]
|
584
584
|
end
|
585
585
|
|
@@ -589,7 +589,7 @@ describe "A Defn node" do
|
|
589
589
|
|
590
590
|
[:defn,
|
591
591
|
:m,
|
592
|
-
[:args, :"*a", :"**k", [:
|
592
|
+
[:args, :"*a", :"**k", [:kwargs, [:"**k"]]],
|
593
593
|
[:scope, [:block, [:nil]]]]
|
594
594
|
end
|
595
595
|
|
@@ -611,7 +611,7 @@ describe "A Defn node" do
|
|
611
611
|
def m(a:, b:) end
|
612
612
|
ruby
|
613
613
|
|
614
|
-
[:defn, :m, [:args, :a, :b, [:
|
614
|
+
[:defn, :m, [:args, :a, :b, [:kwargs, [:a, :b]]], [:scope, [:block, [:nil]]]]
|
615
615
|
end
|
616
616
|
|
617
617
|
parse <<-ruby do
|
@@ -620,7 +620,7 @@ describe "A Defn node" do
|
|
620
620
|
|
621
621
|
[:defn,
|
622
622
|
:m,
|
623
|
-
[:args, :a, :b, [:
|
623
|
+
[:args, :a, :b, [:kwargs, [:a, :b], [[:lasgn, :b, [:lit, 1]]]]],
|
624
624
|
[:scope, [:block, [:nil]]]]
|
625
625
|
end
|
626
626
|
|
@@ -628,7 +628,7 @@ describe "A Defn node" do
|
|
628
628
|
def m(a:, **) end
|
629
629
|
ruby
|
630
630
|
|
631
|
-
[:defn, :m, [:args, :a, :**, [:
|
631
|
+
[:defn, :m, [:args, :a, :**, [:kwargs, [:a, :**]]], [:scope, [:block, [:nil]]]]
|
632
632
|
end
|
633
633
|
|
634
634
|
parse <<-ruby do
|
@@ -637,7 +637,7 @@ describe "A Defn node" do
|
|
637
637
|
|
638
638
|
[:defn,
|
639
639
|
:m,
|
640
|
-
[:args, :a, :"**k", [:
|
640
|
+
[:args, :a, :"**k", [:kwargs, [:a, :"**k"]]],
|
641
641
|
[:scope, [:block, [:nil]]]]
|
642
642
|
end
|
643
643
|
|
@@ -645,7 +645,7 @@ describe "A Defn node" do
|
|
645
645
|
def m(a:, &b) end
|
646
646
|
ruby
|
647
647
|
|
648
|
-
[:defn, :m, [:args, :a, :"&b", [:
|
648
|
+
[:defn, :m, [:args, :a, :"&b", [:kwargs, [:a]]], [:scope, [:block, [:nil]]]]
|
649
649
|
end
|
650
650
|
|
651
651
|
parse <<-ruby do
|
@@ -654,7 +654,7 @@ describe "A Defn node" do
|
|
654
654
|
|
655
655
|
[:defn,
|
656
656
|
:m,
|
657
|
-
[:args, :a, :b, [:
|
657
|
+
[:args, :a, :b, [:kwargs, [:a, :b], [[:lasgn, :a, [:lit, 1]]]]],
|
658
658
|
[:scope, [:block, [:nil]]]]
|
659
659
|
end
|
660
660
|
|
@@ -667,13 +667,13 @@ describe "A Defn node" do
|
|
667
667
|
[:args,
|
668
668
|
:a,
|
669
669
|
:b,
|
670
|
-
[:
|
670
|
+
[:kwargs,
|
671
671
|
[:a, :b],
|
672
672
|
[[:lasgn,
|
673
673
|
:a,
|
674
674
|
[:defn,
|
675
675
|
:m,
|
676
|
-
[:args, :a, [:
|
676
|
+
[:args, :a, [:kwargs, [:a], [[:lasgn, :a, [:lit, 1]]]]],
|
677
677
|
[:scope, [:block, [:lvar, :a]]]]]]]],
|
678
678
|
[:scope, [:block, [:nil]]]]
|
679
679
|
end
|
@@ -687,7 +687,7 @@ describe "A Defn node" do
|
|
687
687
|
[:args,
|
688
688
|
:a,
|
689
689
|
:b,
|
690
|
-
[:
|
690
|
+
[:kwargs, [:a, :b], [[:lasgn, :a, [:lit, 1]], [:lasgn, :b, [:lit, 2]]]]],
|
691
691
|
[:scope, [:block, [:nil]]]]
|
692
692
|
end
|
693
693
|
|
@@ -697,7 +697,7 @@ describe "A Defn node" do
|
|
697
697
|
|
698
698
|
[:defn,
|
699
699
|
:m,
|
700
|
-
[:args, :a, :**, [:
|
700
|
+
[:args, :a, :**, [:kwargs, [:a, :**], [[:lasgn, :a, [:lit, 1]]]]],
|
701
701
|
[:scope, [:block, [:nil]]]]
|
702
702
|
end
|
703
703
|
|
@@ -707,7 +707,7 @@ describe "A Defn node" do
|
|
707
707
|
|
708
708
|
[:defn,
|
709
709
|
:m,
|
710
|
-
[:args, :a, :"**k", [:
|
710
|
+
[:args, :a, :"**k", [:kwargs, [:a, :"**k"], [[:lasgn, :a, [:lit, 1]]]]],
|
711
711
|
[:scope, [:block, [:nil]]]]
|
712
712
|
end
|
713
713
|
|
@@ -717,7 +717,7 @@ describe "A Defn node" do
|
|
717
717
|
|
718
718
|
[:defn,
|
719
719
|
:m,
|
720
|
-
[:args, :a, :"&b", [:
|
720
|
+
[:args, :a, :"&b", [:kwargs, [:a], [[:lasgn, :a, [:lit, 1]]]]],
|
721
721
|
[:scope, [:block, [:nil]]]]
|
722
722
|
end
|
723
723
|
|
@@ -725,7 +725,7 @@ describe "A Defn node" do
|
|
725
725
|
def m(**, &b) end
|
726
726
|
ruby
|
727
727
|
|
728
|
-
[:defn, :m, [:args, :**, :"&b", [:
|
728
|
+
[:defn, :m, [:args, :**, :"&b", [:kwargs, [:**]]], [:scope, [:block, [:nil]]]]
|
729
729
|
end
|
730
730
|
|
731
731
|
parse <<-ruby do
|
@@ -734,7 +734,7 @@ describe "A Defn node" do
|
|
734
734
|
|
735
735
|
[:defn,
|
736
736
|
:m,
|
737
|
-
[:args, :"**k", :"&b", [:
|
737
|
+
[:args, :"**k", :"&b", [:kwargs, [:"**k"]]],
|
738
738
|
[:scope, [:block, [:nil]]]]
|
739
739
|
end
|
740
740
|
|
@@ -755,7 +755,7 @@ describe "A Defn node" do
|
|
755
755
|
:"**k",
|
756
756
|
:"&l",
|
757
757
|
[:block, [:lasgn, :b, [:lit, 1]]],
|
758
|
-
[:
|
758
|
+
[:kwargs, [:e, :f, :g, :"**k"], [[:lasgn, :f, [:lit, 2]]]]],
|
759
759
|
[:scope, [:block, [:nil]]]]
|
760
760
|
end
|
761
761
|
|
@@ -777,7 +777,7 @@ describe "A Defn node" do
|
|
777
777
|
:"**k",
|
778
778
|
:"&l",
|
779
779
|
[:block, [:lasgn, :b, [:lit, 1]]],
|
780
|
-
[:
|
780
|
+
[:kwargs, [:e, :f, :g, :"**k"], [[:lasgn, :f, [:lit, 2]]]]],
|
781
781
|
[:scope, [:block, [:nil]]]]
|
782
782
|
end
|
783
783
|
end
|
data/spec/defs_spec.rb
CHANGED
@@ -67,7 +67,7 @@ describe "A Defs node" do
|
|
67
67
|
:"**k",
|
68
68
|
:"&l",
|
69
69
|
[:block, [:lasgn, :b, [:lit, 1]]],
|
70
|
-
[:
|
70
|
+
[:kwargs, [:e, :f, :g, :"**k"], [[:lasgn, :f, [:lit, 2]]]]],
|
71
71
|
[:scope, [:block, [:nil]]]]
|
72
72
|
end
|
73
73
|
|
@@ -90,7 +90,7 @@ describe "A Defs node" do
|
|
90
90
|
:"**k",
|
91
91
|
:"&l",
|
92
92
|
[:block, [:lasgn, :b, [:lit, 1]]],
|
93
|
-
[:
|
93
|
+
[:kwargs, [:e, :f, :g, :"**k"], [[:lasgn, :f, [:lit, 2]]]]],
|
94
94
|
[:scope, [:block, [:nil]]]]
|
95
95
|
end
|
96
96
|
end
|
data/spec/for_spec.rb
CHANGED
@@ -6,7 +6,7 @@ describe "A For node" do
|
|
6
6
|
ruby
|
7
7
|
|
8
8
|
[:for,
|
9
|
-
[:lasgn, :o],
|
9
|
+
[:args, [:lasgn, :o]],
|
10
10
|
[:call, nil, :ary, [:arglist]],
|
11
11
|
[:call, nil, :puts, [:arglist, [:lvar, :o]]]]
|
12
12
|
end
|
@@ -18,7 +18,7 @@ describe "A For node" do
|
|
18
18
|
ruby
|
19
19
|
|
20
20
|
[:for,
|
21
|
-
[:lasgn, :i],
|
21
|
+
[:args, [:lasgn, :i]],
|
22
22
|
[:dot2, [:lit, 0], [:call, nil, :max, [:arglist]]],
|
23
23
|
[:nil]]
|
24
24
|
end
|
@@ -30,7 +30,7 @@ describe "A For node" do
|
|
30
30
|
ruby
|
31
31
|
|
32
32
|
[:for,
|
33
|
-
[:masgn, [:array, [:lasgn, :a], [:lasgn, :b]]],
|
33
|
+
[:args, [:masgn, [:array, [:lasgn, :a], [:lasgn, :b]]]],
|
34
34
|
[:call, nil, :x, [:arglist]],
|
35
35
|
[:lit, 5]]
|
36
36
|
end
|
@@ -41,7 +41,7 @@ describe "A For node" do
|
|
41
41
|
end
|
42
42
|
ruby
|
43
43
|
|
44
|
-
[:for, [:lasgn, :i], [:nil], [:lvar, :i]]
|
44
|
+
[:for, [:args, [:lasgn, :i]], [:nil], [:lvar, :i]]
|
45
45
|
end
|
46
46
|
|
47
47
|
parse <<-ruby do
|
@@ -56,8 +56,8 @@ describe "A For node" do
|
|
56
56
|
[:block,
|
57
57
|
[:lasgn, :c, [:lit, 1]],
|
58
58
|
[:for,
|
59
|
-
[:lasgn, :i],
|
59
|
+
[:args, [:lasgn, :i]],
|
60
60
|
[:call, nil, :a, [:arglist]],
|
61
|
-
[:for, [:lasgn, :j], [:call, nil, :b, [:arglist]], [:lvar, :c]]]]
|
61
|
+
[:for, [:args, [:lasgn, :j]], [:call, nil, :b, [:arglist]], [:lvar, :c]]]]
|
62
62
|
end
|
63
63
|
end
|