ruby_parser 3.19.2 → 3.20.1

Sign up to get free protection for your applications and to get access to all the features.
data/lib/ruby20_parser.y CHANGED
@@ -219,6 +219,7 @@ rule
219
219
  | lhs tEQL mrhs
220
220
  {
221
221
  lhs, _, rhs = val
222
+
222
223
  result = new_assign lhs, s(:svalue, rhs).line(rhs.line)
223
224
  }
224
225
  | mlhs tEQL arg_value
@@ -984,8 +985,10 @@ rule
984
985
 
985
986
  paren_args: tLPAREN2 opt_call_args rparen
986
987
  {
987
- _, args, _ = val
988
+ _, args, (_, line_max) = val
989
+
988
990
  result = args
991
+ result.line_max = line_max if args
989
992
  }
990
993
 
991
994
  opt_paren_args: none
@@ -1181,12 +1184,14 @@ rule
1181
1184
  {
1182
1185
  result = wrap :colon3, val[1]
1183
1186
  }
1184
- | tLBRACK { result = lexer.lineno } aref_args tRBRACK
1187
+ | tLBRACK { result = lexer.lineno } aref_args rbracket
1185
1188
  {
1186
- _, line, args, _ = val
1189
+ _, line, args, (_, line_max) = val
1190
+
1187
1191
  result = args || s(:array)
1188
1192
  result.sexp_type = :array # aref_args is :args
1189
1193
  result.line line
1194
+ result.line_max = line_max
1190
1195
  }
1191
1196
  | tLBRACE
1192
1197
  {
@@ -1774,13 +1779,19 @@ opt_block_args_tail: tCOMMA block_args_tail
1774
1779
  {
1775
1780
  call, args = val
1776
1781
 
1777
- result = call.concat args.sexp_body if args
1782
+ result = call
1783
+
1784
+ if args then
1785
+ call.concat args.sexp_body
1786
+ result.line_max = args.line_max
1787
+ end
1778
1788
  }
1779
1789
  | primary_value call_op operation2 opt_paren_args
1780
1790
  {
1781
- recv, call_op, (op, _line), args = val
1791
+ recv, call_op, (op, op_line), args = val
1782
1792
 
1783
1793
  result = new_call recv, op.to_sym, args, call_op
1794
+ result.line_max = op_line unless args
1784
1795
  }
1785
1796
  | primary_value tCOLON2 operation2 paren_args
1786
1797
  {
@@ -1994,15 +2005,17 @@ opt_block_args_tail: tCOMMA block_args_tail
1994
2005
 
1995
2006
  words: tWORDS_BEG tSPACE tSTRING_END
1996
2007
  {
1997
- (_, line), _, _ = val
2008
+ (_, line), _, (_, line_max) = val
1998
2009
 
1999
2010
  result = s(:array).line line
2011
+ result.line_max = line_max
2000
2012
  }
2001
2013
  | tWORDS_BEG word_list tSTRING_END
2002
2014
  {
2003
- (_, line), list, _ = val
2015
+ (_, line), list, (_, line_max) = val
2004
2016
 
2005
2017
  result = list.line line
2018
+ result.line_max = line_max
2006
2019
  }
2007
2020
 
2008
2021
  word_list: none
@@ -2022,15 +2035,17 @@ opt_block_args_tail: tCOMMA block_args_tail
2022
2035
 
2023
2036
  symbols: tSYMBOLS_BEG tSPACE tSTRING_END
2024
2037
  {
2025
- (_, line), _, _ = val
2038
+ (_, line), _, (_, line_max) = val
2026
2039
 
2027
2040
  result = s(:array).line line
2041
+ result.line_max = line_max
2028
2042
  }
2029
2043
  | tSYMBOLS_BEG symbol_list tSTRING_END
2030
2044
  {
2031
- (_, line), list, _, = val
2032
- list.line line
2033
- result = list
2045
+ (_, line), list, (_, line_max), = val
2046
+
2047
+ result = list.line line
2048
+ result.line_max = line_max
2034
2049
  }
2035
2050
 
2036
2051
  symbol_list: none
@@ -2045,28 +2060,32 @@ opt_block_args_tail: tCOMMA block_args_tail
2045
2060
 
2046
2061
  qwords: tQWORDS_BEG tSPACE tSTRING_END
2047
2062
  {
2048
- (_, line), _, _ = val
2063
+ (_, line), _, (_, line_max) = val
2049
2064
 
2050
2065
  result = s(:array).line line
2066
+ result.line_max = line_max
2051
2067
  }
2052
2068
  | tQWORDS_BEG qword_list tSTRING_END
2053
2069
  {
2054
- (_, line), list, _ = val
2070
+ (_, line), list, (_, line_max) = val
2055
2071
 
2056
2072
  result = list.line line
2073
+ result.line_max = line_max
2057
2074
  }
2058
2075
 
2059
2076
  qsymbols: tQSYMBOLS_BEG tSPACE tSTRING_END
2060
2077
  {
2061
- (_, line), _, _ = val
2078
+ (_, line), _, (_, line_max) = val
2062
2079
 
2063
2080
  result = s(:array).line line
2081
+ result.line_max = line_max
2064
2082
  }
2065
2083
  | tQSYMBOLS_BEG qsym_list tSTRING_END
2066
2084
  {
2067
- (_, line), list, _ = val
2085
+ (_, line), list, (_, line_max) = val
2068
2086
 
2069
2087
  result = list.line line
2088
+ result.line_max = line_max
2070
2089
  }
2071
2090
 
2072
2091
  qword_list: none
@@ -2469,7 +2488,14 @@ keyword_variable: kNIL { result = s(:nil).line lexer.lineno }
2469
2488
  result = s(:args, list).line list.line
2470
2489
  end
2471
2490
 
2472
- result << (Sexp === item ? item : item.first)
2491
+ if Sexp === item then
2492
+ line_max = item.line_max
2493
+ else
2494
+ item, line_max = item
2495
+ end
2496
+
2497
+ result << item
2498
+ result.line_max = line_max
2473
2499
  }
2474
2500
 
2475
2501
  f_kw: tLABEL arg_value
@@ -2658,7 +2684,15 @@ keyword_variable: kNIL { result = s(:nil).line lexer.lineno }
2658
2684
  opt_terms: | terms
2659
2685
  opt_nl: | tNL
2660
2686
  rparen: opt_nl tRPAREN
2687
+ {
2688
+ _, close = val
2689
+ result = [close, lexer.lineno]
2690
+ }
2661
2691
  rbracket: opt_nl tRBRACK
2692
+ {
2693
+ _, close = val
2694
+ result = [close, lexer.lineno]
2695
+ }
2662
2696
  trailer: | tNL | tCOMMA
2663
2697
 
2664
2698
  term: tSEMI { yyerrok }
data/lib/ruby21_parser.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  #
2
2
  # DO NOT MODIFY!!!!
3
- # This file is automatically generated by Racc 1.6.0
3
+ # This file is automatically generated by Racc 1.6.2
4
4
  # from Racc grammar file "".
5
5
  #
6
6
 
@@ -105,7 +105,7 @@ racc_action_table = [
105
105
  535, 620, 619, 623, 622, 264, 265, 234, -300, -300,
106
106
  550, -300, -300, -300, -300, -300, 133, 134, 135, 136,
107
107
  137, 251, -291, 257, 711, 253, 252, 249, 250, -291,
108
- 716, 255, 719, 256, 234, 726, 727, 616, -291, -300,
108
+ 716, 255, 719, 256, 234, 234, 727, 616, -291, -300,
109
109
  -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
110
110
  -300, -300, -300, 230, 230, -300, -300, -300, 230, 669,
111
111
  547, 576, 520, -300, 730, 657, -300, 719, 719, 473,
@@ -5225,7 +5225,7 @@ racc_action_pointer = [
5225
5225
  16733, nil, nil, nil, nil, 16872, 1471, 695, 688, 686,
5226
5226
  nil, nil, 687, 17011, 701, 17150, 24682, 24750, 850, 740,
5227
5227
  nil, 17289, 715, nil, 17428, 17567, 24818, 24886, 872, 1766,
5228
- 17706, 843, 843, 728, nil, nil, 392, 417, 760, 743,
5228
+ 17706, 843, 843, 728, nil, nil, 392, 417, 729, 743,
5229
5229
  nil, 451, 794, 2326, 872, nil, 2466, 24, 878, 879,
5230
5230
  876, 893, nil, nil, 17845, 24954, 25022, 8, nil, 172,
5231
5231
  267, 323, nil, 851, nil, 805, 17984, nil, 826, nil,
@@ -5336,7 +5336,7 @@ racc_action_default = [
5336
5336
  -645, -274, -614, -615, -16, -632, -20, -645, -633, -80,
5337
5337
  -299, -96, -85, -645, -633, -644, -645, -645, -106, -645,
5338
5338
  -518, -645, -92, -97, -645, -645, -645, -645, -247, -239,
5339
- -645, -457, -645, -633, -296, -249, -637, -637, -645, -645,
5339
+ -645, -457, -645, -633, -296, -249, -637, -637, -633, -645,
5340
5340
  -609, -637, -645, -644, -363, -364, -644, -645, -645, -645,
5341
5341
  -645, -645, -358, -452, -644, -645, -645, -301, -58, -117,
5342
5342
  -118, -645, -120, -645, -291, -644, -645, -332, -545, -336,
@@ -5406,19 +5406,19 @@ racc_goto_table = [
5406
5406
  888, 413, 414, 415, 416, 1009, 18, 970, 387, 144,
5407
5407
  1023, 636, 1, 585, 639, 587, 2, 438, 405, 138,
5408
5408
  438, 648, 292, 304, 305, 438, 357, 839, 350, 350,
5409
- 350, 350, 631, 930, 633, 697, 527, 637, 219, 366,
5410
- 637, 427, 887, 420, 889, 732, 857, 277, 685, 650,
5411
- 341, 558, 684, 921, 383, 559, 364, 9, 752, 380,
5412
- 589, 344, 517, 346, 553, 347, 417, 348, 367, 882,
5413
- 868, 586, 18, 870, 695, 1002, 369, 756, 588, 760,
5414
- 952, 18, 969, 1023, 920, 922, 1071, 1006, 593, 877,
5415
- 385, 294, 762, 1009, 430, 430, 510, 511, 919, 831,
5416
- 455, 861, 682, 1037, 411, 739, 846, 692, 692, 932,
5417
- 386, 389, 391, 895, 394, 448, 968, 397, 400, 442,
5418
- 443, 866, 737, 403, 1049, 1019, 900, 467, 468, 915,
5419
- 929, 786, 787, 464, 406, 471, 869, 695, 886, 883,
5420
- 1017, 701, 829, 426, 437, 294, 294, 437, 592, 710,
5421
- nil, 983, 437, 820, 295, 294, nil, nil, nil, nil,
5409
+ 350, 350, 726, 930, 697, 527, 219, 366, 427, 420,
5410
+ 732, 857, 887, 631, 889, 633, 277, 685, 637, 650,
5411
+ 341, 637, 558, 921, 684, 383, 559, 9, 364, 752,
5412
+ 380, 589, 517, 344, 346, 553, 417, 347, 348, 882,
5413
+ 367, 868, 18, 586, 695, 870, 1002, 369, 756, 588,
5414
+ 760, 18, 952, 1023, 969, 920, 1071, 922, 1006, 593,
5415
+ 877, 294, 385, 1009, 430, 430, 762, 510, 919, 511,
5416
+ 455, 831, 861, 682, 411, 1037, 739, 692, 692, 846,
5417
+ 932, 386, 389, 895, 391, 448, 968, 394, 397, 442,
5418
+ 443, 866, 737, 400, 1049, 1019, 403, 467, 468, 915,
5419
+ 929, 900, 786, 464, 787, 471, 406, 695, 869, 886,
5420
+ 883, 701, 829, 426, 437, 294, 294, 437, 1017, 710,
5421
+ 592, 983, 437, 820, 295, 294, nil, nil, nil, nil,
5422
5422
  315, nil, 296, 295, 763, 18, 891, 18, 679, 448,
5423
5423
  18, 296, nil, nil, 330, 18, nil, 836, nil, nil,
5424
5424
  nil, 19, 602, 516, 516, nil, nil, 19, nil, 18,
@@ -5430,9 +5430,9 @@ racc_goto_table = [
5430
5430
  1068, 19, 131, nil, 540, nil, 236, 236, 350, 1020,
5431
5431
  236, 361, 1021, 18, 957, 525, 532, 18, 706, 528,
5432
5432
  575, 524, 18, 935, 534, nil, nil, nil, 706, 740,
5433
- nil, 908, 509, nil, nil, nil, nil, 1016, nil, 789,
5434
- 915, 512, 789, 915, nil, 915, 973, 974, 18, 888,
5435
- nil, nil, nil, nil, nil, nil, nil, 706, 18, 18,
5433
+ nil, 908, 509, nil, nil, nil, nil, 1016, nil, nil,
5434
+ 915, 512, nil, 915, nil, 915, 973, 974, 18, 888,
5435
+ 789, nil, nil, 789, nil, nil, nil, 706, 18, 18,
5436
5436
  nil, nil, 833, nil, 810, nil, nil, 19, 835, 1003,
5437
5437
  815, 570, 236, 236, 236, 236, 19, nil, 660, 649,
5438
5438
  871, 872, nil, 695, 144, 1073, 667, 698, 873, 874,
@@ -5445,7 +5445,7 @@ racc_goto_table = [
5445
5445
  330, 666, nil, nil, nil, 691, 1062, nil, 330, 294,
5446
5446
  19, 236, 435, 236, 236, 435, 236, nil, 455, nil,
5447
5447
  435, 236, 236, nil, nil, nil, 833, nil, 455, 665,
5448
- nil, nil, 847, 448, 19, 671, nil, nil, 543, nil,
5448
+ nil, nil, 847, 448, 19, 671, nil, nil, 543, 660,
5449
5449
  nil, nil, 945, nil, nil, nil, 543, 315, 294, nil,
5450
5450
  nil, 464, 315, 954, nil, 714, 867, 455, 438, nil,
5451
5451
  942, 464, nil, 733, nil, nil, nil, 438, 438, nil,
@@ -5748,19 +5748,19 @@ racc_goto_check = [
5748
5748
  209, 24, 24, 24, 24, 165, 34, 148, 188, 71,
5749
5749
  215, 192, 1, 69, 192, 69, 3, 25, 188, 11,
5750
5750
  25, 13, 58, 58, 58, 25, 5, 16, 31, 31,
5751
- 31, 31, 193, 18, 193, 20, 21, 193, 23, 26,
5752
- 193, 30, 159, 32, 159, 43, 45, 49, 55, 74,
5753
- 79, 81, 86, 162, 98, 101, 115, 9, 117, 122,
5754
- 123, 124, 87, 125, 126, 127, 9, 128, 129, 152,
5755
- 130, 131, 34, 132, 219, 133, 134, 135, 136, 137,
5756
- 138, 34, 149, 215, 150, 156, 164, 163, 166, 167,
5757
- 168, 46, 169, 165, 82, 82, 174, 175, 159, 177,
5758
- 85, 178, 180, 181, 7, 182, 183, 88, 88, 184,
5759
- 187, 189, 190, 147, 191, 6, 145, 194, 195, 31,
5760
- 31, 68, 113, 196, 148, 158, 197, 31, 31, 152,
5761
- 160, 198, 199, 71, 202, 38, 203, 219, 208, 211,
5762
- 212, 65, 53, 27, 27, 46, 46, 27, 218, 65,
5763
- nil, 162, 27, 37, 82, 46, nil, nil, nil, nil,
5751
+ 31, 31, 37, 18, 20, 21, 23, 26, 30, 32,
5752
+ 43, 45, 159, 193, 159, 193, 49, 55, 193, 74,
5753
+ 79, 193, 81, 162, 86, 98, 101, 9, 115, 117,
5754
+ 122, 123, 87, 124, 125, 126, 9, 127, 128, 152,
5755
+ 129, 130, 34, 131, 219, 132, 133, 134, 135, 136,
5756
+ 137, 34, 138, 215, 149, 150, 164, 156, 163, 166,
5757
+ 167, 46, 168, 165, 82, 82, 169, 174, 159, 175,
5758
+ 85, 177, 178, 180, 7, 181, 182, 88, 88, 183,
5759
+ 184, 187, 189, 147, 190, 6, 145, 191, 194, 31,
5760
+ 31, 68, 113, 195, 148, 158, 196, 31, 31, 152,
5761
+ 160, 197, 198, 71, 199, 38, 202, 219, 203, 208,
5762
+ 211, 65, 53, 27, 27, 46, 46, 27, 212, 65,
5763
+ 218, 162, 27, 37, 82, 46, nil, nil, nil, nil,
5764
5764
  14, nil, 84, 82, 170, 34, 214, 34, 36, 6,
5765
5765
  34, 84, nil, nil, 78, 34, nil, 37, nil, nil,
5766
5766
  nil, 35, 204, 6, 6, nil, nil, 35, nil, 34,
@@ -5772,9 +5772,9 @@ racc_goto_check = [
5772
5772
  107, 35, 118, nil, 76, nil, 35, 35, 31, 159,
5773
5773
  35, 35, 159, 34, 153, 8, 64, 34, 50, 60,
5774
5774
  38, 5, 34, 83, 60, nil, nil, nil, 50, 36,
5775
- nil, 37, 58, nil, nil, nil, nil, 152, nil, 193,
5776
- 152, 58, 193, 152, nil, 152, 153, 153, 34, 209,
5777
- nil, nil, nil, nil, nil, nil, nil, 50, 34, 34,
5775
+ nil, 37, 58, nil, nil, nil, nil, 152, nil, nil,
5776
+ 152, 58, nil, 152, nil, 152, 153, 153, 34, 209,
5777
+ 193, nil, nil, 193, nil, nil, nil, 50, 34, 34,
5778
5778
  nil, nil, 87, nil, 52, nil, nil, 35, 65, 121,
5779
5779
  52, 5, 35, 35, 35, 35, 35, nil, 40, 22,
5780
5780
  12, 12, nil, 219, 71, 159, 85, 10, 170, 170,
@@ -5787,7 +5787,7 @@ racc_goto_check = [
5787
5787
  78, 6, nil, nil, nil, 84, 15, nil, 78, 46,
5788
5788
  35, 35, 35, 35, 35, 35, 35, nil, 85, nil,
5789
5789
  35, 35, 35, nil, nil, nil, 87, nil, 85, 51,
5790
- nil, nil, 29, 6, 35, 51, nil, nil, 63, nil,
5790
+ nil, nil, 29, 6, 35, 51, nil, nil, 63, 40,
5791
5791
  nil, nil, 12, nil, nil, nil, 63, 14, 46, nil,
5792
5792
  nil, 71, 14, 12, nil, 31, 36, 85, 25, nil,
5793
5793
  106, 71, nil, 118, nil, nil, nil, 25, 25, nil,
@@ -6078,26 +6078,26 @@ racc_goto_check = [
6078
6078
  racc_goto_pointer = [
6079
6079
  nil, 122, 0, 126, nil, 65, -2, 86, 59, 39,
6080
6080
  -90, 119, -326, -288, 234, -524, -578, -656, -696, nil,
6081
- -380, -165, 9, 136, -22, -96, 77, 31, 1566, -185,
6082
- -71, 5, 14, -173, 54, 289, -195, -416, 9, 1941,
6083
- -19, 1332, -1, -412, nil, -576, -26, nil, nil, 130,
6084
- -168, 75, -251, -433, 902, -348, nil, 1172, 100, -3,
6081
+ -381, -166, 9, 134, -22, -96, 75, 31, 1566, -185,
6082
+ -74, 5, 10, -173, 54, 289, -195, -416, 9, 1941,
6083
+ -19, 1332, -1, -417, nil, -581, -26, nil, nil, 129,
6084
+ -168, 75, -251, -433, 902, -349, nil, 1172, 100, -3,
6085
6085
  56, 1157, nil, 5, 49, -282, 1981, 2387, -518, -244,
6086
6086
  -62, 14, nil, 23, -265, 444, 22, nil, -33, 113,
6087
- 1839, -186, -18, -476, -10, -18, -341, -279, -444, nil,
6088
- nil, nil, nil, nil, nil, nil, nil, nil, 89, nil,
6089
- 225, -183, -56, nil, nil, nil, -301, -685, nil, -656,
6090
- nil, nil, nil, -338, nil, 94, nil, -417, -4, nil,
6091
- nil, -533, 94, -210, 110, 111, -171, 112, 113, 105,
6092
- -572, -187, -572, -762, 112, -400, -191, -400, -685, nil,
6093
- nil, nil, nil, nil, nil, -789, 941, -553, -780, -704,
6094
- -630, nil, -585, -518, 297, 260, -629, 14, -740, -616,
6095
- -591, nil, -661, -758, -847, -840, -187, -563, 111, -391,
6096
- -320, -15, -193, nil, -80, -80, nil, -479, -528, nil,
6097
- -290, -786, -358, -501, -627, nil, nil, 128, 23, 124,
6098
- 124, 125, -273, -247, 127, 127, 131, -550, -387, -387,
6099
- nil, nil, 139, -507, -302, nil, nil, -117, -520, -658,
6100
- -230, -515, -722, nil, -682, -858, nil, nil, -126, -478 ]
6087
+ 1839, -185, -18, -476, -10, -18, -339, -279, -444, nil,
6088
+ nil, nil, nil, nil, nil, nil, nil, nil, 90, nil,
6089
+ 225, -182, -56, nil, nil, nil, -301, -685, nil, -656,
6090
+ nil, nil, nil, -338, nil, 96, nil, -416, -4, nil,
6091
+ nil, -533, 95, -209, 112, 112, -170, 114, 114, 107,
6092
+ -571, -185, -570, -761, 113, -399, -190, -399, -683, nil,
6093
+ nil, nil, nil, nil, nil, -789, 941, -553, -780, -702,
6094
+ -629, nil, -585, -518, 297, 260, -627, 14, -740, -616,
6095
+ -591, nil, -661, -757, -847, -840, -186, -562, 113, -387,
6096
+ -320, -15, -193, nil, -79, -78, nil, -477, -527, nil,
6097
+ -289, -784, -357, -498, -626, nil, nil, 129, 23, 125,
6098
+ 126, 128, -273, -236, 128, 132, 134, -545, -386, -385,
6099
+ nil, nil, 141, -505, -302, nil, nil, -117, -519, -658,
6100
+ -230, -514, -714, nil, -682, -858, nil, nil, -124, -478 ]
6101
6101
 
6102
6102
  racc_goto_default = [
6103
6103
  nil, nil, nil, nil, 5, nil, 307, 7, 358, 310,
@@ -6759,8 +6759,8 @@ racc_reduce_table = [
6759
6759
  1, 150, :_reduce_none,
6760
6760
  0, 185, :_reduce_none,
6761
6761
  1, 185, :_reduce_none,
6762
- 2, 206, :_reduce_none,
6763
- 2, 182, :_reduce_none,
6762
+ 2, 206, :_reduce_635,
6763
+ 2, 182, :_reduce_636,
6764
6764
  0, 228, :_reduce_none,
6765
6765
  1, 228, :_reduce_none,
6766
6766
  1, 228, :_reduce_none,
@@ -7545,6 +7545,7 @@ end
7545
7545
 
7546
7546
  def _reduce_38(val, _values, result)
7547
7547
  lhs, _, rhs = val
7548
+
7548
7549
  result = new_assign lhs, s(:svalue, rhs).line(rhs.line)
7549
7550
 
7550
7551
  result
@@ -8658,8 +8659,10 @@ def _reduce_254(val, _values, result)
8658
8659
  end
8659
8660
 
8660
8661
  def _reduce_255(val, _values, result)
8661
- _, args, _ = val
8662
+ _, args, (_, line_max) = val
8663
+
8662
8664
  result = args
8665
+ result.line_max = line_max if args
8663
8666
 
8664
8667
  result
8665
8668
  end
@@ -8940,10 +8943,12 @@ def _reduce_302(val, _values, result)
8940
8943
  end
8941
8944
 
8942
8945
  def _reduce_303(val, _values, result)
8943
- _, line, args, _ = val
8946
+ _, line, args, (_, line_max) = val
8947
+
8944
8948
  result = args || s(:array)
8945
8949
  result.sexp_type = :array # aref_args is :args
8946
8950
  result.line line
8951
+ result.line_max = line_max
8947
8952
 
8948
8953
  result
8949
8954
  end
@@ -9729,15 +9734,21 @@ end
9729
9734
  def _reduce_429(val, _values, result)
9730
9735
  call, args = val
9731
9736
 
9732
- result = call.concat args.sexp_body if args
9737
+ result = call
9738
+
9739
+ if args then
9740
+ call.concat args.sexp_body
9741
+ result.line_max = args.line_max
9742
+ end
9733
9743
 
9734
9744
  result
9735
9745
  end
9736
9746
 
9737
9747
  def _reduce_430(val, _values, result)
9738
- recv, call_op, (op, _line), args = val
9748
+ recv, call_op, (op, op_line), args = val
9739
9749
 
9740
9750
  result = new_call recv, op.to_sym, args, call_op
9751
+ result.line_max = op_line unless args
9741
9752
 
9742
9753
  result
9743
9754
  end
@@ -10024,17 +10035,19 @@ def _reduce_474(val, _values, result)
10024
10035
  end
10025
10036
 
10026
10037
  def _reduce_475(val, _values, result)
10027
- (_, line), _, _ = val
10038
+ (_, line), _, (_, line_max) = val
10028
10039
 
10029
10040
  result = s(:array).line line
10041
+ result.line_max = line_max
10030
10042
 
10031
10043
  result
10032
10044
  end
10033
10045
 
10034
10046
  def _reduce_476(val, _values, result)
10035
- (_, line), list, _ = val
10047
+ (_, line), list, (_, line_max) = val
10036
10048
 
10037
10049
  result = list.line line
10050
+ result.line_max = line_max
10038
10051
 
10039
10052
  result
10040
10053
  end
@@ -10060,17 +10073,19 @@ def _reduce_480(val, _values, result)
10060
10073
  end
10061
10074
 
10062
10075
  def _reduce_481(val, _values, result)
10063
- (_, line), _, _ = val
10076
+ (_, line), _, (_, line_max) = val
10064
10077
 
10065
10078
  result = s(:array).line line
10079
+ result.line_max = line_max
10066
10080
 
10067
10081
  result
10068
10082
  end
10069
10083
 
10070
10084
  def _reduce_482(val, _values, result)
10071
- (_, line), list, _, = val
10072
- list.line line
10073
- result = list
10085
+ (_, line), list, (_, line_max), = val
10086
+
10087
+ result = list.line line
10088
+ result.line_max = line_max
10074
10089
 
10075
10090
  result
10076
10091
  end
@@ -10089,33 +10104,37 @@ def _reduce_484(val, _values, result)
10089
10104
  end
10090
10105
 
10091
10106
  def _reduce_485(val, _values, result)
10092
- (_, line), _, _ = val
10107
+ (_, line), _, (_, line_max) = val
10093
10108
 
10094
10109
  result = s(:array).line line
10110
+ result.line_max = line_max
10095
10111
 
10096
10112
  result
10097
10113
  end
10098
10114
 
10099
10115
  def _reduce_486(val, _values, result)
10100
- (_, line), list, _ = val
10116
+ (_, line), list, (_, line_max) = val
10101
10117
 
10102
10118
  result = list.line line
10119
+ result.line_max = line_max
10103
10120
 
10104
10121
  result
10105
10122
  end
10106
10123
 
10107
10124
  def _reduce_487(val, _values, result)
10108
- (_, line), _, _ = val
10125
+ (_, line), _, (_, line_max) = val
10109
10126
 
10110
10127
  result = s(:array).line line
10128
+ result.line_max = line_max
10111
10129
 
10112
10130
  result
10113
10131
  end
10114
10132
 
10115
10133
  def _reduce_488(val, _values, result)
10116
- (_, line), list, _ = val
10134
+ (_, line), list, (_, line_max) = val
10117
10135
 
10118
10136
  result = list.line line
10137
+ result.line_max = line_max
10119
10138
 
10120
10139
  result
10121
10140
  end
@@ -10662,7 +10681,14 @@ def _reduce_577(val, _values, result)
10662
10681
  result = s(:args, list).line list.line
10663
10682
  end
10664
10683
 
10665
- result << (Sexp === item ? item : item.first)
10684
+ if Sexp === item then
10685
+ line_max = item.line_max
10686
+ else
10687
+ item, line_max = item
10688
+ end
10689
+
10690
+ result << item
10691
+ result.line_max = line_max
10666
10692
 
10667
10693
  result
10668
10694
  end
@@ -10944,9 +10970,19 @@ end
10944
10970
 
10945
10971
  # reduce 634 omitted
10946
10972
 
10947
- # reduce 635 omitted
10973
+ def _reduce_635(val, _values, result)
10974
+ _, close = val
10975
+ result = [close, lexer.lineno]
10976
+
10977
+ result
10978
+ end
10979
+
10980
+ def _reduce_636(val, _values, result)
10981
+ _, close = val
10982
+ result = [close, lexer.lineno]
10948
10983
 
10949
- # reduce 636 omitted
10984
+ result
10985
+ end
10950
10986
 
10951
10987
  # reduce 637 omitted
10952
10988