ruby_parser 3.20.0 → 3.20.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 +0 -0
- data/History.rdoc +6 -0
- data/lib/ruby20_parser.rb +170 -134
- data/lib/ruby20_parser.y +50 -16
- data/lib/ruby21_parser.rb +110 -74
- data/lib/ruby21_parser.y +50 -16
- data/lib/ruby22_parser.rb +238 -202
- data/lib/ruby22_parser.y +50 -16
- data/lib/ruby23_parser.rb +383 -347
- data/lib/ruby23_parser.y +50 -16
- data/lib/ruby24_parser.rb +96 -60
- data/lib/ruby24_parser.y +50 -16
- data/lib/ruby25_parser.rb +92 -56
- data/lib/ruby25_parser.y +50 -16
- data/lib/ruby26_parser.rb +92 -56
- data/lib/ruby26_parser.y +50 -16
- data/lib/ruby27_parser.rb +574 -538
- data/lib/ruby27_parser.y +50 -16
- data/lib/ruby30_parser.rb +357 -331
- data/lib/ruby30_parser.y +42 -16
- data/lib/ruby31_parser.rb +174 -148
- data/lib/ruby31_parser.y +42 -16
- data/lib/ruby32_parser.rb +174 -148
- data/lib/ruby32_parser.y +42 -16
- data/lib/ruby3_parser.yy +42 -16
- data/lib/ruby_parser.yy +50 -16
- data/lib/ruby_parser_extras.rb +19 -13
- data/test/test_ruby_parser.rb +156 -6
- data.tar.gz.sig +0 -0
- metadata +3 -3
- metadata.gz.sig +0 -0
data/lib/ruby30_parser.y
CHANGED
@@ -221,6 +221,7 @@ rule
|
|
221
221
|
| lhs tEQL mrhs
|
222
222
|
{
|
223
223
|
lhs, _, rhs = val
|
224
|
+
|
224
225
|
result = new_assign lhs, s(:svalue, rhs).line(rhs.line)
|
225
226
|
}
|
226
227
|
| mlhs tEQL mrhs_arg kRESCUE_MOD stmt
|
@@ -1114,8 +1115,10 @@ rule
|
|
1114
1115
|
|
1115
1116
|
paren_args: tLPAREN2 opt_call_args rparen
|
1116
1117
|
{
|
1117
|
-
_, args, _ = val
|
1118
|
+
_, args, (_, line_max) = val
|
1119
|
+
|
1118
1120
|
result = args
|
1121
|
+
result.line_max = line_max if args
|
1119
1122
|
}
|
1120
1123
|
| tLPAREN2 args tCOMMA args_forward rparen
|
1121
1124
|
{
|
@@ -1338,12 +1341,14 @@ rule
|
|
1338
1341
|
{
|
1339
1342
|
result = wrap :colon3, val[1]
|
1340
1343
|
}
|
1341
|
-
| tLBRACK { result = lexer.lineno } aref_args
|
1344
|
+
| tLBRACK { result = lexer.lineno } aref_args rbracket
|
1342
1345
|
{
|
1343
|
-
_, line, args, _ = val
|
1346
|
+
_, line, args, (_, line_max) = val
|
1347
|
+
|
1344
1348
|
result = args || s(:array)
|
1345
1349
|
result.sexp_type = :array # aref_args is :args
|
1346
1350
|
result.line line
|
1351
|
+
result.line_max = line_max
|
1347
1352
|
}
|
1348
1353
|
| tLBRACE
|
1349
1354
|
{
|
@@ -1931,13 +1936,19 @@ opt_block_args_tail: tCOMMA block_args_tail
|
|
1931
1936
|
{
|
1932
1937
|
call, args = val
|
1933
1938
|
|
1934
|
-
result = call
|
1939
|
+
result = call
|
1940
|
+
|
1941
|
+
if args then
|
1942
|
+
call.concat args.sexp_body
|
1943
|
+
result.line_max = args.line_max
|
1944
|
+
end
|
1935
1945
|
}
|
1936
1946
|
| primary_value call_op operation2 opt_paren_args
|
1937
1947
|
{
|
1938
|
-
recv, call_op, (op,
|
1948
|
+
recv, call_op, (op, op_line), args = val
|
1939
1949
|
|
1940
1950
|
result = new_call recv, op.to_sym, args, call_op
|
1951
|
+
result.line_max = op_line unless args
|
1941
1952
|
}
|
1942
1953
|
| primary_value tCOLON2 operation2 paren_args
|
1943
1954
|
{
|
@@ -2678,15 +2689,17 @@ opt_block_args_tail: tCOMMA block_args_tail
|
|
2678
2689
|
|
2679
2690
|
words: tWORDS_BEG tSPACE tSTRING_END
|
2680
2691
|
{
|
2681
|
-
(_, line), _, _ = val
|
2692
|
+
(_, line), _, (_, line_max) = val
|
2682
2693
|
|
2683
2694
|
result = s(:array).line line
|
2695
|
+
result.line_max = line_max
|
2684
2696
|
}
|
2685
2697
|
| tWORDS_BEG word_list tSTRING_END
|
2686
2698
|
{
|
2687
|
-
(_, line), list, _ = val
|
2699
|
+
(_, line), list, (_, line_max) = val
|
2688
2700
|
|
2689
2701
|
result = list.line line
|
2702
|
+
result.line_max = line_max
|
2690
2703
|
}
|
2691
2704
|
|
2692
2705
|
word_list: none
|
@@ -2706,15 +2719,17 @@ opt_block_args_tail: tCOMMA block_args_tail
|
|
2706
2719
|
|
2707
2720
|
symbols: tSYMBOLS_BEG tSPACE tSTRING_END
|
2708
2721
|
{
|
2709
|
-
(_, line), _, _ = val
|
2722
|
+
(_, line), _, (_, line_max) = val
|
2710
2723
|
|
2711
2724
|
result = s(:array).line line
|
2725
|
+
result.line_max = line_max
|
2712
2726
|
}
|
2713
2727
|
| tSYMBOLS_BEG symbol_list tSTRING_END
|
2714
2728
|
{
|
2715
|
-
(_, line), list, _, = val
|
2716
|
-
|
2717
|
-
result = list
|
2729
|
+
(_, line), list, (_, line_max), = val
|
2730
|
+
|
2731
|
+
result = list.line line
|
2732
|
+
result.line_max = line_max
|
2718
2733
|
}
|
2719
2734
|
|
2720
2735
|
symbol_list: none
|
@@ -2729,28 +2744,32 @@ opt_block_args_tail: tCOMMA block_args_tail
|
|
2729
2744
|
|
2730
2745
|
qwords: tQWORDS_BEG tSPACE tSTRING_END
|
2731
2746
|
{
|
2732
|
-
(_, line), _, _ = val
|
2747
|
+
(_, line), _, (_, line_max) = val
|
2733
2748
|
|
2734
2749
|
result = s(:array).line line
|
2750
|
+
result.line_max = line_max
|
2735
2751
|
}
|
2736
2752
|
| tQWORDS_BEG qword_list tSTRING_END
|
2737
2753
|
{
|
2738
|
-
(_, line), list, _ = val
|
2754
|
+
(_, line), list, (_, line_max) = val
|
2739
2755
|
|
2740
2756
|
result = list.line line
|
2757
|
+
result.line_max = line_max
|
2741
2758
|
}
|
2742
2759
|
|
2743
2760
|
qsymbols: tQSYMBOLS_BEG tSPACE tSTRING_END
|
2744
2761
|
{
|
2745
|
-
(_, line), _, _ = val
|
2762
|
+
(_, line), _, (_, line_max) = val
|
2746
2763
|
|
2747
2764
|
result = s(:array).line line
|
2765
|
+
result.line_max = line_max
|
2748
2766
|
}
|
2749
2767
|
| tQSYMBOLS_BEG qsym_list tSTRING_END
|
2750
2768
|
{
|
2751
|
-
(_, line), list, _ = val
|
2769
|
+
(_, line), list, (_, line_max) = val
|
2752
2770
|
|
2753
2771
|
result = list.line line
|
2772
|
+
result.line_max = line_max
|
2754
2773
|
}
|
2755
2774
|
|
2756
2775
|
qword_list: none
|
@@ -3176,7 +3195,14 @@ f_opt_paren_args: f_paren_args
|
|
3176
3195
|
result = s(:args, list).line list.line
|
3177
3196
|
end
|
3178
3197
|
|
3179
|
-
|
3198
|
+
if Sexp === item then
|
3199
|
+
line_max = item.line_max
|
3200
|
+
else
|
3201
|
+
item, line_max = item
|
3202
|
+
end
|
3203
|
+
|
3204
|
+
result << item
|
3205
|
+
result.line_max = line_max
|
3180
3206
|
}
|
3181
3207
|
|
3182
3208
|
f_label: tLABEL
|