ruby_parser 3.8.0 → 3.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +1 -2
- data.tar.gz.sig +0 -0
- data/History.txt +6 -0
- data/Rakefile +2 -2
- data/lib/ruby23_parser.rb +2734 -2711
- data/lib/ruby23_parser.y +12 -4
- data/lib/ruby_parser.yy +18 -4
- data/lib/ruby_parser_extras.rb +1 -1
- data/test/test_ruby_parser.rb +7 -0
- metadata +1 -1
- metadata.gz.sig +0 -0
data/lib/ruby23_parser.y
CHANGED
@@ -455,6 +455,10 @@ rule
|
|
455
455
|
{
|
456
456
|
result = s(:attrasgn, val[0], :"#{val[2]}=")
|
457
457
|
}
|
458
|
+
| primary_value tLONELY tIDENTIFIER
|
459
|
+
{
|
460
|
+
result = s(:attrasgnx, val[0], :"#{val[2]}=")
|
461
|
+
}
|
458
462
|
| primary_value tCOLON2 tIDENTIFIER
|
459
463
|
{
|
460
464
|
result = s(:attrasgn, val[0], :"#{val[2]}=")
|
@@ -463,6 +467,10 @@ rule
|
|
463
467
|
{
|
464
468
|
result = s(:attrasgn, val[0], :"#{val[2]}=")
|
465
469
|
}
|
470
|
+
| primary_value tLONELY tCONSTANT
|
471
|
+
{
|
472
|
+
result = s(:attrasgnx, val[0], :"#{val[2]}=")
|
473
|
+
}
|
466
474
|
| primary_value tCOLON2 tCONSTANT
|
467
475
|
{
|
468
476
|
if (self.in_def || self.in_single > 0) then
|
@@ -507,10 +515,6 @@ rule
|
|
507
515
|
{
|
508
516
|
result = s(:safe_attrasgn, val[0], :"#{val[2]}=")
|
509
517
|
}
|
510
|
-
| primary_value tLONELY tCONSTANT
|
511
|
-
{
|
512
|
-
result = s(:safe_attrasgn, val[0], :"#{val[2]}=")
|
513
|
-
}
|
514
518
|
| primary_value tCOLON2 tIDENTIFIER
|
515
519
|
{
|
516
520
|
result = s(:attrasgn, val[0], :"#{val[2]}=")
|
@@ -519,6 +523,10 @@ rule
|
|
519
523
|
{
|
520
524
|
result = s(:attrasgn, val[0], :"#{val[2]}=")
|
521
525
|
}
|
526
|
+
| primary_value tLONELY tCONSTANT
|
527
|
+
{
|
528
|
+
result = s(:safe_attrasgn, val[0], :"#{val[2]}=")
|
529
|
+
}
|
522
530
|
| primary_value tCOLON2 tCONSTANT
|
523
531
|
{
|
524
532
|
if (self.in_def || self.in_single > 0) then
|
data/lib/ruby_parser.yy
CHANGED
@@ -473,6 +473,12 @@ rule
|
|
473
473
|
{
|
474
474
|
result = s(:attrasgn, val[0], :"#{val[2]}=")
|
475
475
|
}
|
476
|
+
#if defined(RUBY23)
|
477
|
+
| primary_value tLONELY tIDENTIFIER
|
478
|
+
{
|
479
|
+
result = s(:attrasgnx, val[0], :"#{val[2]}=")
|
480
|
+
}
|
481
|
+
#endif
|
476
482
|
| primary_value tCOLON2 tIDENTIFIER
|
477
483
|
{
|
478
484
|
result = s(:attrasgn, val[0], :"#{val[2]}=")
|
@@ -481,6 +487,12 @@ rule
|
|
481
487
|
{
|
482
488
|
result = s(:attrasgn, val[0], :"#{val[2]}=")
|
483
489
|
}
|
490
|
+
#if defined(RUBY23)
|
491
|
+
| primary_value tLONELY tCONSTANT
|
492
|
+
{
|
493
|
+
result = s(:attrasgnx, val[0], :"#{val[2]}=")
|
494
|
+
}
|
495
|
+
#endif
|
484
496
|
| primary_value tCOLON2 tCONSTANT
|
485
497
|
{
|
486
498
|
if (self.in_def || self.in_single > 0) then
|
@@ -526,10 +538,6 @@ rule
|
|
526
538
|
{
|
527
539
|
result = s(:safe_attrasgn, val[0], :"#{val[2]}=")
|
528
540
|
}
|
529
|
-
| primary_value tLONELY tCONSTANT
|
530
|
-
{
|
531
|
-
result = s(:safe_attrasgn, val[0], :"#{val[2]}=")
|
532
|
-
}
|
533
541
|
#endif
|
534
542
|
| primary_value tCOLON2 tIDENTIFIER
|
535
543
|
{
|
@@ -539,6 +547,12 @@ rule
|
|
539
547
|
{
|
540
548
|
result = s(:attrasgn, val[0], :"#{val[2]}=")
|
541
549
|
}
|
550
|
+
#if defined(RUBY23)
|
551
|
+
| primary_value tLONELY tCONSTANT
|
552
|
+
{
|
553
|
+
result = s(:safe_attrasgn, val[0], :"#{val[2]}=")
|
554
|
+
}
|
555
|
+
#endif
|
542
556
|
| primary_value tCOLON2 tCONSTANT
|
543
557
|
{
|
544
558
|
if (self.in_def || self.in_single > 0) then
|
data/lib/ruby_parser_extras.rb
CHANGED
@@ -91,7 +91,7 @@ class RPStringScanner < StringScanner
|
|
91
91
|
end
|
92
92
|
|
93
93
|
module RubyParserStuff
|
94
|
-
VERSION = "3.8.
|
94
|
+
VERSION = "3.8.1" unless constants.include? "VERSION" # SIGH
|
95
95
|
|
96
96
|
attr_accessor :lexer, :in_def, :in_single, :file
|
97
97
|
attr_reader :env, :comments
|
data/test/test_ruby_parser.rb
CHANGED
@@ -3422,6 +3422,13 @@ class TestRuby23Parser < RubyParserTestCase
|
|
3422
3422
|
assert_parse rb, pt
|
3423
3423
|
end
|
3424
3424
|
|
3425
|
+
def test_safe_call_newline
|
3426
|
+
rb = "a&.b\n"
|
3427
|
+
pt = s(:safe_call, s(:call, nil, :a), :b)
|
3428
|
+
|
3429
|
+
assert_parse rb, pt
|
3430
|
+
end
|
3431
|
+
|
3425
3432
|
def test_safe_calls
|
3426
3433
|
rb = "a&.b&.c(1)"
|
3427
3434
|
pt = s(:safe_call, s(:safe_call, s(:call, nil, :a), :b), :c, s(:lit, 1))
|
metadata
CHANGED
metadata.gz.sig
CHANGED
Binary file
|