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/ruby23_parser.y CHANGED
@@ -222,6 +222,7 @@ rule
222
222
  | lhs tEQL mrhs
223
223
  {
224
224
  lhs, _, rhs = val
225
+
225
226
  result = new_assign lhs, s(:svalue, rhs).line(rhs.line)
226
227
  }
227
228
  | mlhs tEQL mrhs_arg
@@ -975,8 +976,10 @@ rule
975
976
 
976
977
  paren_args: tLPAREN2 opt_call_args rparen
977
978
  {
978
- _, args, _ = val
979
+ _, args, (_, line_max) = val
980
+
979
981
  result = args
982
+ result.line_max = line_max if args
980
983
  }
981
984
 
982
985
  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
@@ -2470,7 +2489,14 @@ keyword_variable: kNIL { result = s(:nil).line lexer.lineno }
2470
2489
  result = s(:args, list).line list.line
2471
2490
  end
2472
2491
 
2473
- result << (Sexp === item ? item : item.first)
2492
+ if Sexp === item then
2493
+ line_max = item.line_max
2494
+ else
2495
+ item, line_max = item
2496
+ end
2497
+
2498
+ result << item
2499
+ result.line_max = line_max
2474
2500
  }
2475
2501
 
2476
2502
  f_label: tLABEL
@@ -2688,7 +2714,15 @@ keyword_variable: kNIL { result = s(:nil).line lexer.lineno }
2688
2714
  opt_terms: | terms
2689
2715
  opt_nl: | tNL
2690
2716
  rparen: opt_nl tRPAREN
2717
+ {
2718
+ _, close = val
2719
+ result = [close, lexer.lineno]
2720
+ }
2691
2721
  rbracket: opt_nl tRBRACK
2722
+ {
2723
+ _, close = val
2724
+ result = [close, lexer.lineno]
2725
+ }
2692
2726
  trailer: | tNL | tCOMMA
2693
2727
 
2694
2728
  term: tSEMI { yyerrok }
data/lib/ruby24_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
 
@@ -106,7 +106,7 @@ racc_action_table = [
106
106
  -302, 230, -95, 614, 706, 235, 553, -302, 755, 717,
107
107
  722, -302, 624, 623, 627, 626, -302, 757, -302, -301,
108
108
  -301, -301, -301, -301, -301, -301, -301, -302, -301, -301,
109
- 725, 235, 732, -623, 733, 522, -301, -301, 736, 725,
109
+ 725, 235, 235, -623, 733, 522, -301, -301, 736, 725,
110
110
  611, -623, 608, 607, 606, -301, 609, 725, 620, 575,
111
111
  -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
112
112
  -301, -301, -301, -301, -302, 231, -301, -301, -301, 725,
@@ -5326,7 +5326,7 @@ racc_action_pointer = [
5326
5326
  712, 702, 703, nil, nil, 705, 17197, 709, 17336, 25146,
5327
5327
  25214, 752, 746, nil, 17475, 710, nil, 17614, 17753, 25282,
5328
5328
  25350, 1298, 2718, 17892, 833, 851, 735, nil, nil, -80,
5329
- -68, 767, 751, nil, 340, 777, 3278, 856, nil, 3418,
5329
+ -68, 736, 751, nil, 340, 777, 3278, 856, nil, 3418,
5330
5330
  30, 860, 868, 863, 890, nil, nil, 18031, 25418, 25486,
5331
5331
  5, nil, 311, 342, 308, nil, 753, nil, 794, 18170,
5332
5332
  nil, 812, nil, nil, nil, 18309, nil, 744, nil, 774,
@@ -5438,7 +5438,7 @@ racc_action_default = [
5438
5438
  -649, -637, -81, -300, -97, -86, -649, -637, -648, -649,
5439
5439
  -649, -107, -649, -519, -649, -93, -98, -649, -649, -649,
5440
5440
  -649, -248, -240, -649, -458, -649, -637, -297, -250, -641,
5441
- -641, -649, -649, -611, -641, -649, -648, -364, -365, -648,
5441
+ -641, -637, -649, -611, -641, -649, -648, -364, -365, -648,
5442
5442
  -649, -649, -649, -649, -649, -359, -453, -648, -649, -649,
5443
5443
  -302, -59, -118, -119, -649, -121, -649, -292, -648, -649,
5444
5444
  -333, -546, -337, -629, -630, -649, -419, -568, -422, -607,
@@ -5505,23 +5505,23 @@ racc_goto_table = [
5505
5505
  389, 741, 742, 787, 744, 833, 415, 416, 417, 418,
5506
5506
  407, 864, 692, 390, 978, 392, 394, 397, 400, 403,
5507
5507
  406, 314, 144, 390, 297, 297, 297, 727, 730, 132,
5508
- 926, 889, 734, 1015, 976, 1031, 1, 640, 352, 352,
5509
- 643, 1017, 352, 588, 2, 590, 296, 296, 296, 138,
5508
+ 926, 976, 734, 889, 640, 1031, 1, 643, 352, 352,
5509
+ 2, 1015, 352, 588, 1017, 590, 296, 296, 296, 138,
5510
5510
  316, 652, 545, 847, 938, 236, 359, 703, 530, 219,
5511
5511
  368, 429, 9, 422, 896, 738, 865, 293, 306, 307,
5512
5512
  278, 419, 690, 654, 343, 561, 689, 385, 562, 366,
5513
5513
  758, 382, 592, 775, 777, 779, 346, 348, 556, 349,
5514
- 350, 369, 19, 929, 447, 876, 589, 878, 19, 1010,
5515
- 468, 371, 762, 591, 352, 352, 352, 352, 1031, 766,
5516
- 960, 519, 977, 237, 928, 930, 1014, 596, 885, 295,
5517
- 387, 1079, 237, 237, 237, 700, 19, 323, 323, 1017,
5518
- 768, 1057, 512, 697, 697, 513, 838, 869, 687, 613,
5519
- 1045, 427, 745, 854, 940, 450, 466, 781, 473, 413,
5520
- 388, 906, 19, 976, 391, 393, 937, 237, 237, 743,
5521
- 396, 237, 363, 399, 402, 405, 317, 908, 874, 684,
5522
- 769, 903, 792, 866, 295, 295, 793, 456, 462, 408,
5523
- 877, 899, 1027, 635, 295, 637, 894, 891, 641, 700,
5524
- 836, 641, 991, 605, 1025, 444, 445, 457, 595, nil,
5514
+ 350, 369, 19, 732, 447, 929, 876, 589, 19, 878,
5515
+ 468, 1010, 371, 762, 352, 352, 352, 352, 1031, 591,
5516
+ 766, 519, 960, 237, 977, 928, 930, 1014, 596, 295,
5517
+ 885, 387, 237, 237, 237, 700, 19, 323, 323, 1079,
5518
+ 768, 1057, 1017, 697, 697, 512, 513, 838, 869, 613,
5519
+ 687, 427, 1045, 745, 854, 450, 466, 781, 473, 413,
5520
+ 976, 906, 19, 940, 388, 391, 937, 237, 237, 743,
5521
+ 393, 237, 363, 396, 399, 402, 317, 405, 874, 684,
5522
+ 769, 903, 908, 866, 295, 295, 792, 456, 462, 793,
5523
+ 408, 899, 1027, 635, 295, 637, 877, 894, 641, 700,
5524
+ 836, 641, 891, 605, 991, 444, 445, 457, 1025, 595,
5525
5525
  450, nil, nil, nil, 469, 470, nil, 524, nil, nil,
5526
5526
  nil, nil, nil, nil, 518, 518, 827, nil, 19, nil,
5527
5527
  390, 546, nil, 237, 237, 237, 237, 19, 570, 542,
@@ -5548,7 +5548,7 @@ racc_goto_table = [
5548
5548
  295, 677, 795, nil, nil, 795, 19, nil, nil, nil,
5549
5549
  nil, 688, 457, nil, nil, 237, 19, 19, nil, nil,
5550
5550
  332, 875, nil, nil, 855, nil, 450, 466, 332, 586,
5551
- 712, 586, nil, nil, 950, 953, nil, 466, nil, 295,
5551
+ 712, 586, 665, nil, 950, 953, nil, 466, nil, 295,
5552
5552
  840, nil, nil, nil, 672, 751, 962, nil, 1077, 1078,
5553
5553
  nil, nil, nil, nil, nil, nil, 735, nil, nil, 737,
5554
5554
  nil, nil, 739, nil, nil, 450, 466, nil, nil, 1053,
@@ -5904,23 +5904,23 @@ racc_goto_check = [
5904
5904
  188, 100, 100, 147, 100, 160, 24, 24, 24, 24,
5905
5905
  188, 109, 53, 6, 148, 6, 6, 6, 6, 6,
5906
5906
  6, 59, 71, 6, 84, 84, 84, 83, 83, 7,
5907
- 158, 162, 83, 164, 145, 216, 1, 192, 31, 31,
5908
- 192, 165, 31, 69, 3, 69, 82, 82, 82, 11,
5907
+ 158, 145, 83, 162, 192, 216, 1, 192, 31, 31,
5908
+ 3, 164, 31, 69, 165, 69, 82, 82, 82, 11,
5909
5909
  60, 13, 65, 16, 18, 27, 5, 20, 21, 23,
5910
5910
  26, 30, 9, 32, 210, 43, 45, 58, 58, 58,
5911
5911
  49, 9, 55, 74, 79, 81, 86, 98, 101, 115,
5912
5912
  117, 122, 123, 207, 207, 207, 124, 125, 126, 127,
5913
- 128, 129, 35, 162, 75, 130, 131, 132, 35, 133,
5914
- 75, 134, 135, 136, 31, 31, 31, 31, 216, 137,
5915
- 138, 87, 149, 35, 150, 156, 163, 166, 167, 46,
5916
- 168, 164, 35, 35, 35, 220, 35, 35, 35, 165,
5917
- 169, 148, 174, 88, 88, 175, 177, 178, 180, 209,
5918
- 181, 14, 182, 183, 184, 6, 71, 146, 38, 7,
5919
- 187, 146, 35, 145, 189, 190, 160, 35, 35, 113,
5920
- 191, 35, 35, 194, 195, 196, 14, 197, 68, 36,
5921
- 170, 147, 198, 100, 46, 46, 199, 50, 50, 202,
5922
- 203, 215, 158, 193, 46, 193, 208, 212, 193, 220,
5923
- 53, 193, 162, 204, 213, 31, 31, 85, 219, nil,
5913
+ 128, 129, 35, 37, 75, 162, 130, 131, 35, 132,
5914
+ 75, 133, 134, 135, 31, 31, 31, 31, 216, 136,
5915
+ 137, 87, 138, 35, 149, 150, 156, 163, 166, 46,
5916
+ 167, 168, 35, 35, 35, 220, 35, 35, 35, 164,
5917
+ 169, 148, 165, 88, 88, 174, 175, 177, 178, 209,
5918
+ 180, 14, 181, 182, 183, 6, 71, 146, 38, 7,
5919
+ 145, 146, 35, 184, 187, 189, 160, 35, 35, 113,
5920
+ 190, 35, 35, 191, 194, 195, 14, 196, 68, 36,
5921
+ 170, 147, 197, 100, 46, 46, 198, 50, 50, 199,
5922
+ 202, 215, 158, 193, 46, 193, 203, 208, 193, 220,
5923
+ 53, 193, 212, 204, 162, 31, 31, 85, 213, 219,
5924
5924
  6, nil, nil, nil, 31, 31, nil, 188, nil, nil,
5925
5925
  nil, nil, nil, nil, 6, 6, 37, nil, 35, nil,
5926
5926
  6, 63, nil, 35, 35, 35, 35, 35, 24, 40,
@@ -5947,7 +5947,7 @@ racc_goto_check = [
5947
5947
  46, 85, 193, nil, nil, 193, 35, nil, nil, nil,
5948
5948
  nil, 51, 85, nil, nil, 35, 35, 35, nil, nil,
5949
5949
  78, 36, nil, nil, 29, nil, 6, 71, 78, 35,
5950
- 50, 35, nil, nil, 106, 12, nil, 71, nil, 46,
5950
+ 50, 35, 40, nil, 106, 12, nil, 71, nil, 46,
5951
5951
  87, nil, nil, nil, 85, 42, 12, nil, 100, 100,
5952
5952
  nil, nil, nil, nil, nil, nil, 14, nil, nil, 14,
5953
5953
  nil, nil, 118, nil, nil, 6, 71, nil, nil, 207,
@@ -6292,7 +6292,7 @@ racc_goto_check = [
6292
6292
  nil, nil, 67, nil, nil, nil, nil, nil, 67, 67 ]
6293
6293
 
6294
6294
  racc_goto_pointer = [
6295
- nil, 116, 15, 124, nil, 65, -2, 101, 63, 14,
6295
+ nil, 116, 15, 120, nil, 65, -2, 101, 63, 14,
6296
6296
  -88, 119, -331, -290, 0, -531, -588, -667, -713, nil,
6297
6297
  -391, -175, 15, 127, -47, -175, 68, 112, 1791, -189,
6298
6298
  -81, 51, 4, -177, 1930, 170, -226, -388, -9, 2261,
@@ -6305,15 +6305,15 @@ racc_goto_pointer = [
6305
6305
  -490, -192, -46, nil, nil, nil, -325, -698, nil, -646,
6306
6306
  nil, nil, nil, -334, nil, 87, nil, -428, 2, nil,
6307
6307
  nil, -549, 86, -220, 105, 105, -179, 106, 106, 98,
6308
- -583, -194, -584, -776, 107, -408, -198, -403, -693, nil,
6309
- nil, nil, nil, nil, nil, -790, -555, -531, -811, -712,
6310
- -637, nil, -362, -547, 244, 109, -636, -167, -721, -189,
6311
- -602, nil, -658, -767, -850, -842, -190, -570, 111, -386,
6312
- -347, -11, -202, nil, -75, -73, nil, -477, -528, nil,
6313
- -286, -787, -354, -500, -630, nil, nil, 138, -15, 137,
6314
- 137, 141, -279, -128, 143, 143, 143, -545, -380, -377,
6315
- nil, nil, 154, -499, -324, nil, nil, -439, -508, -168,
6316
- -630, -119, -503, -706, nil, -705, -871, nil, nil, -108,
6308
+ -582, -193, -582, -774, 108, -407, -192, -402, -691, nil,
6309
+ nil, nil, nil, nil, nil, -793, -555, -531, -811, -710,
6310
+ -636, nil, -362, -547, 244, 109, -635, -167, -721, -189,
6311
+ -602, nil, -656, -766, -842, -839, -189, -568, 112, -386,
6312
+ -347, -11, -202, nil, -72, -72, nil, -476, -527, nil,
6313
+ -284, -785, -353, -499, -621, nil, nil, 142, -15, 138,
6314
+ 142, 144, -282, -128, 144, 144, 145, -540, -376, -374,
6315
+ nil, nil, 155, -493, -324, nil, nil, -439, -507, -168,
6316
+ -630, -119, -498, -702, nil, -705, -871, nil, nil, -107,
6317
6317
  -462 ]
6318
6318
 
6319
6319
  racc_goto_default = [
@@ -6981,8 +6981,8 @@ racc_reduce_table = [
6981
6981
  1, 152, :_reduce_none,
6982
6982
  0, 187, :_reduce_none,
6983
6983
  1, 187, :_reduce_none,
6984
- 2, 208, :_reduce_none,
6985
- 2, 184, :_reduce_none,
6984
+ 2, 208, :_reduce_639,
6985
+ 2, 184, :_reduce_640,
6986
6986
  0, 230, :_reduce_none,
6987
6987
  1, 230, :_reduce_none,
6988
6988
  1, 230, :_reduce_none,
@@ -7772,6 +7772,7 @@ end
7772
7772
 
7773
7773
  def _reduce_38(val, _values, result)
7774
7774
  lhs, _, rhs = val
7775
+
7775
7776
  result = new_assign lhs, s(:svalue, rhs).line(rhs.line)
7776
7777
 
7777
7778
  result
@@ -8895,8 +8896,10 @@ def _reduce_255(val, _values, result)
8895
8896
  end
8896
8897
 
8897
8898
  def _reduce_256(val, _values, result)
8898
- _, args, _ = val
8899
+ _, args, (_, line_max) = val
8900
+
8899
8901
  result = args
8902
+ result.line_max = line_max if args
8900
8903
 
8901
8904
  result
8902
8905
  end
@@ -9177,10 +9180,12 @@ def _reduce_303(val, _values, result)
9177
9180
  end
9178
9181
 
9179
9182
  def _reduce_304(val, _values, result)
9180
- _, line, args, _ = val
9183
+ _, line, args, (_, line_max) = val
9184
+
9181
9185
  result = args || s(:array)
9182
9186
  result.sexp_type = :array # aref_args is :args
9183
9187
  result.line line
9188
+ result.line_max = line_max
9184
9189
 
9185
9190
  result
9186
9191
  end
@@ -9966,15 +9971,21 @@ end
9966
9971
  def _reduce_430(val, _values, result)
9967
9972
  call, args = val
9968
9973
 
9969
- result = call.concat args.sexp_body if args
9974
+ result = call
9975
+
9976
+ if args then
9977
+ call.concat args.sexp_body
9978
+ result.line_max = args.line_max
9979
+ end
9970
9980
 
9971
9981
  result
9972
9982
  end
9973
9983
 
9974
9984
  def _reduce_431(val, _values, result)
9975
- recv, call_op, (op, _line), args = val
9985
+ recv, call_op, (op, op_line), args = val
9976
9986
 
9977
9987
  result = new_call recv, op.to_sym, args, call_op
9988
+ result.line_max = op_line unless args
9978
9989
 
9979
9990
  result
9980
9991
  end
@@ -10261,17 +10272,19 @@ def _reduce_475(val, _values, result)
10261
10272
  end
10262
10273
 
10263
10274
  def _reduce_476(val, _values, result)
10264
- (_, line), _, _ = val
10275
+ (_, line), _, (_, line_max) = val
10265
10276
 
10266
10277
  result = s(:array).line line
10278
+ result.line_max = line_max
10267
10279
 
10268
10280
  result
10269
10281
  end
10270
10282
 
10271
10283
  def _reduce_477(val, _values, result)
10272
- (_, line), list, _ = val
10284
+ (_, line), list, (_, line_max) = val
10273
10285
 
10274
10286
  result = list.line line
10287
+ result.line_max = line_max
10275
10288
 
10276
10289
  result
10277
10290
  end
@@ -10297,17 +10310,19 @@ def _reduce_481(val, _values, result)
10297
10310
  end
10298
10311
 
10299
10312
  def _reduce_482(val, _values, result)
10300
- (_, line), _, _ = val
10313
+ (_, line), _, (_, line_max) = val
10301
10314
 
10302
10315
  result = s(:array).line line
10316
+ result.line_max = line_max
10303
10317
 
10304
10318
  result
10305
10319
  end
10306
10320
 
10307
10321
  def _reduce_483(val, _values, result)
10308
- (_, line), list, _, = val
10309
- list.line line
10310
- result = list
10322
+ (_, line), list, (_, line_max), = val
10323
+
10324
+ result = list.line line
10325
+ result.line_max = line_max
10311
10326
 
10312
10327
  result
10313
10328
  end
@@ -10326,33 +10341,37 @@ def _reduce_485(val, _values, result)
10326
10341
  end
10327
10342
 
10328
10343
  def _reduce_486(val, _values, result)
10329
- (_, line), _, _ = val
10344
+ (_, line), _, (_, line_max) = val
10330
10345
 
10331
10346
  result = s(:array).line line
10347
+ result.line_max = line_max
10332
10348
 
10333
10349
  result
10334
10350
  end
10335
10351
 
10336
10352
  def _reduce_487(val, _values, result)
10337
- (_, line), list, _ = val
10353
+ (_, line), list, (_, line_max) = val
10338
10354
 
10339
10355
  result = list.line line
10356
+ result.line_max = line_max
10340
10357
 
10341
10358
  result
10342
10359
  end
10343
10360
 
10344
10361
  def _reduce_488(val, _values, result)
10345
- (_, line), _, _ = val
10362
+ (_, line), _, (_, line_max) = val
10346
10363
 
10347
10364
  result = s(:array).line line
10365
+ result.line_max = line_max
10348
10366
 
10349
10367
  result
10350
10368
  end
10351
10369
 
10352
10370
  def _reduce_489(val, _values, result)
10353
- (_, line), list, _ = val
10371
+ (_, line), list, (_, line_max) = val
10354
10372
 
10355
10373
  result = list.line line
10374
+ result.line_max = line_max
10356
10375
 
10357
10376
  result
10358
10377
  end
@@ -10901,7 +10920,14 @@ def _reduce_579(val, _values, result)
10901
10920
  result = s(:args, list).line list.line
10902
10921
  end
10903
10922
 
10904
- result << (Sexp === item ? item : item.first)
10923
+ if Sexp === item then
10924
+ line_max = item.line_max
10925
+ else
10926
+ item, line_max = item
10927
+ end
10928
+
10929
+ result << item
10930
+ result.line_max = line_max
10905
10931
 
10906
10932
  result
10907
10933
  end
@@ -11195,9 +11221,19 @@ end
11195
11221
 
11196
11222
  # reduce 638 omitted
11197
11223
 
11198
- # reduce 639 omitted
11224
+ def _reduce_639(val, _values, result)
11225
+ _, close = val
11226
+ result = [close, lexer.lineno]
11227
+
11228
+ result
11229
+ end
11230
+
11231
+ def _reduce_640(val, _values, result)
11232
+ _, close = val
11233
+ result = [close, lexer.lineno]
11199
11234
 
11200
- # reduce 640 omitted
11235
+ result
11236
+ end
11201
11237
 
11202
11238
  # reduce 641 omitted
11203
11239