brakeman 5.4.1 → 6.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (440) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +37 -0
  3. data/README.md +2 -2
  4. data/bundle/load.rb +13 -15
  5. data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/Changelog.md +18 -0
  6. data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/README.md +37 -1
  7. data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/highline.gemspec +3 -1
  8. data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/io_console_compatible.rb +1 -1
  9. data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/question/answer_converter.rb +2 -5
  10. data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/question.rb +23 -13
  11. data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/question_asker.rb +3 -1
  12. data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/terminal/io_console.rb +1 -1
  13. data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/terminal/unix_stty.rb +6 -4
  14. data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/terminal.rb +7 -5
  15. data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/version.rb +1 -1
  16. data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline.rb +18 -5
  17. data/bundle/ruby/3.3.0/gems/parallel-1.24.0/lib/parallel/version.rb +4 -0
  18. data/bundle/ruby/{3.1.0/gems/parallel-1.22.1 → 3.3.0/gems/parallel-1.24.0}/lib/parallel.rb +68 -4
  19. data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/NEWS.md +100 -2
  20. data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/README.md +10 -1
  21. data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/attribute.rb +14 -9
  22. data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/document.rb +1 -1
  23. data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/element.rb +3 -3
  24. data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/entity.rb +25 -15
  25. data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/formatters/pretty.rb +2 -2
  26. data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/namespace.rb +8 -4
  27. data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/parsers/xpathparser.rb +136 -86
  28. data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/rexml.rb +3 -1
  29. data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/text.rb +6 -4
  30. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/History.rdoc +38 -0
  31. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/Manifest.txt +2 -0
  32. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/README.rdoc +2 -1
  33. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/compare/normalize.rb +1 -0
  34. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby20_parser.rb +4267 -4284
  35. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby20_parser.y +50 -26
  36. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby21_parser.rb +4241 -4240
  37. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby21_parser.y +50 -26
  38. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby22_parser.rb +4289 -4290
  39. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby22_parser.y +50 -26
  40. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby23_parser.rb +4274 -4243
  41. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby23_parser.y +50 -26
  42. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby24_parser.rb +4279 -4298
  43. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby24_parser.y +50 -26
  44. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby25_parser.rb +4270 -4289
  45. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby25_parser.y +50 -26
  46. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby26_parser.rb +4270 -4289
  47. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby26_parser.y +50 -26
  48. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby27_parser.rb +4173 -4206
  49. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby27_parser.y +50 -26
  50. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby30_parser.rb +6029 -5971
  51. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby30_parser.y +135 -86
  52. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby31_parser.rb +6195 -6184
  53. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby31_parser.y +136 -87
  54. data/bundle/ruby/3.3.0/gems/ruby_parser-3.20.3/lib/ruby32_parser.rb +13601 -0
  55. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2/lib/ruby3_parser.yy → 3.3.0/gems/ruby_parser-3.20.3/lib/ruby32_parser.y} +158 -163
  56. data/bundle/ruby/3.3.0/gems/ruby_parser-3.20.3/lib/ruby3_parser.yy +3635 -0
  57. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby_lexer.rb +15 -7
  58. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby_lexer.rex.rb +1 -1
  59. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby_lexer_strings.rb +2 -2
  60. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby_parser.rb +2 -0
  61. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby_parser.yy +50 -26
  62. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby_parser_extras.rb +25 -19
  63. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/tools/munge.rb +8 -2
  64. data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/tools/ripper.rb +14 -12
  65. data/bundle/ruby/{3.1.0/gems/sexp_processor-4.16.1 → 3.3.0/gems/sexp_processor-4.17.1}/History.rdoc +19 -0
  66. data/bundle/ruby/{3.1.0/gems/sexp_processor-4.16.1 → 3.3.0/gems/sexp_processor-4.17.1}/lib/pt_testcase.rb +3 -3
  67. data/bundle/ruby/{3.1.0/gems/sexp_processor-4.16.1 → 3.3.0/gems/sexp_processor-4.17.1}/lib/sexp.rb +8 -2
  68. data/bundle/ruby/{3.1.0/gems/sexp_processor-4.16.1 → 3.3.0/gems/sexp_processor-4.17.1}/lib/sexp_processor.rb +1 -1
  69. data/bundle/ruby/{3.1.0/gems/sexp_processor-4.16.1 → 3.3.0/gems/sexp_processor-4.17.1}/lib/strict_sexp.rb +6 -5
  70. data/lib/brakeman/app_tree.rb +0 -1
  71. data/lib/brakeman/checks/check_content_tag.rb +8 -5
  72. data/lib/brakeman/checks/check_eol_ruby.rb +4 -1
  73. data/lib/brakeman/checks/check_ransack.rb +53 -0
  74. data/lib/brakeman/checks/check_render.rb +6 -1
  75. data/lib/brakeman/checks/check_session_settings.rb +2 -3
  76. data/lib/brakeman/checks/check_sql.rb +1 -1
  77. data/lib/brakeman/options.rb +4 -0
  78. data/lib/brakeman/processors/alias_processor.rb +8 -4
  79. data/lib/brakeman/processors/lib/module_helper.rb +31 -1
  80. data/lib/brakeman/processors/library_processor.rb +6 -0
  81. data/lib/brakeman/report/pager.rb +1 -1
  82. data/lib/brakeman/report/report_github.rb +1 -1
  83. data/lib/brakeman/scanner.rb +104 -43
  84. data/lib/brakeman/tracker/config.rb +15 -11
  85. data/lib/brakeman/tracker/controller.rb +14 -10
  86. data/lib/brakeman/tracker.rb +1 -1
  87. data/lib/brakeman/version.rb +1 -1
  88. data/lib/brakeman/warning_codes.rb +1 -0
  89. data/lib/brakeman.rb +8 -5
  90. metadata +389 -417
  91. data/bundle/ruby/3.1.0/gems/parallel-1.22.1/lib/parallel/processor_count.rb +0 -44
  92. data/bundle/ruby/3.1.0/gems/parallel-1.22.1/lib/parallel/version.rb +0 -4
  93. data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/History.rdoc +0 -6
  94. data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/Manifest.txt +0 -19
  95. data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/README.rdoc +0 -54
  96. data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby18_parser.rb +0 -5794
  97. data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby18_parser.y +0 -1909
  98. data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby19_parser.rb +0 -6186
  99. data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby19_parser.y +0 -2117
  100. data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby_lexer.rb +0 -1412
  101. data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby_lexer.rex +0 -179
  102. data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby_lexer.rex.rb +0 -323
  103. data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby_parser.rb +0 -30
  104. data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby_parser_extras.rb +0 -1388
  105. data/bundle/ruby/3.1.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy.rb +0 -5
  106. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/CHANGES.md +0 -154
  107. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/Gemfile +0 -11
  108. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/LICENSE.txt +0 -22
  109. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/README.md +0 -191
  110. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/bundle_install_all_ruby_versions.sh +0 -11
  111. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/deep.rb +0 -34
  112. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/libyaml_checker.rb +0 -36
  113. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/load.rb +0 -181
  114. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/parse/date.rb +0 -37
  115. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/parse/hexadecimal.rb +0 -12
  116. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/parse/sexagesimal.rb +0 -26
  117. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/psych_handler.rb +0 -99
  118. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/psych_resolver.rb +0 -52
  119. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/resolver.rb +0 -94
  120. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/safe_to_ruby_visitor.rb +0 -29
  121. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/store.rb +0 -39
  122. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/syck_hack.rb +0 -36
  123. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/syck_node_monkeypatch.rb +0 -43
  124. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/syck_resolver.rb +0 -38
  125. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform/to_boolean.rb +0 -21
  126. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform/to_date.rb +0 -13
  127. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform/to_float.rb +0 -33
  128. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform/to_integer.rb +0 -26
  129. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform/to_nil.rb +0 -18
  130. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform/to_symbol.rb +0 -17
  131. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform/transformation_map.rb +0 -47
  132. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/transform.rb +0 -41
  133. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml/version.rb +0 -3
  134. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/lib/safe_yaml.rb +0 -94
  135. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/run_specs_all_ruby_versions.sh +0 -38
  136. data/bundle/ruby/3.1.0/gems/safe_yaml-1.0.5/safe_yaml.gemspec +0 -19
  137. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/CHANGES.txt +0 -0
  138. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/MIT-LICENSE +0 -0
  139. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/README.txt +0 -0
  140. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/contrib/erubis +0 -0
  141. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/contrib/erubis-run.rb +0 -0
  142. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/contrib/inline-require +0 -0
  143. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/context.rb +0 -0
  144. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/converter.rb +0 -0
  145. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/engine/ec.rb +0 -0
  146. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/engine/ecpp.rb +0 -0
  147. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/engine/ejava.rb +0 -0
  148. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/engine/ejavascript.rb +0 -0
  149. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/engine/enhanced.rb +0 -0
  150. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/engine/eperl.rb +0 -0
  151. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/engine/ephp.rb +0 -0
  152. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/engine/eruby.rb +0 -0
  153. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/engine/escheme.rb +0 -0
  154. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/engine/optimized.rb +0 -0
  155. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/engine.rb +0 -0
  156. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/enhancer.rb +0 -0
  157. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/error.rb +0 -0
  158. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/evaluator.rb +0 -0
  159. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/generator.rb +0 -0
  160. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/helper.rb +0 -0
  161. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/helpers/rails_form_helper.rb +0 -0
  162. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/helpers/rails_helper.rb +0 -0
  163. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/local-setting.rb +0 -0
  164. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/main.rb +0 -0
  165. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/preprocessing.rb +0 -0
  166. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/tiny.rb +0 -0
  167. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis/util.rb +0 -0
  168. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/lib/erubis.rb +0 -0
  169. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/erubis-2.7.0/setup.rb +0 -0
  170. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/CHANGELOG.md +0 -0
  171. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/FAQ.md +0 -0
  172. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/Gemfile +0 -0
  173. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/MIT-LICENSE +0 -0
  174. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/README.md +0 -0
  175. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/REFERENCE.md +0 -0
  176. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/TODO +0 -0
  177. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/haml.gemspec +0 -0
  178. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/attribute_builder.rb +0 -0
  179. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/attribute_compiler.rb +0 -0
  180. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/attribute_parser.rb +0 -0
  181. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/buffer.rb +0 -0
  182. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/compiler.rb +0 -0
  183. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/engine.rb +0 -0
  184. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/error.rb +0 -0
  185. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/escapable.rb +0 -0
  186. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/exec.rb +0 -0
  187. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/filters.rb +0 -0
  188. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/generator.rb +0 -0
  189. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/helpers/action_view_extensions.rb +0 -0
  190. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/helpers/action_view_mods.rb +0 -0
  191. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/helpers/action_view_xss_mods.rb +0 -0
  192. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/helpers/safe_erubi_template.rb +0 -0
  193. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/helpers/safe_erubis_template.rb +0 -0
  194. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/helpers/xss_mods.rb +0 -0
  195. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/helpers.rb +0 -0
  196. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/options.rb +0 -0
  197. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/parser.rb +0 -0
  198. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/plugin.rb +0 -0
  199. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/railtie.rb +0 -0
  200. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/sass_rails_filter.rb +0 -0
  201. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/template/options.rb +0 -0
  202. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/template.rb +0 -0
  203. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/temple_engine.rb +0 -0
  204. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/temple_line_counter.rb +0 -0
  205. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/util.rb +0 -0
  206. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml/version.rb +0 -0
  207. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/lib/haml.rb +0 -0
  208. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/yard/default/fulldoc/html/css/common.sass +0 -0
  209. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/haml-5.2.2/yard/default/layout/html/footer.erb +0 -0
  210. /data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/AUTHORS +0 -0
  211. /data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/COPYING +0 -0
  212. /data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/Gemfile +0 -0
  213. /data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/LICENSE +0 -0
  214. /data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/TODO +0 -0
  215. /data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/builtin_styles.rb +0 -0
  216. /data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/color_scheme.rb +0 -0
  217. /data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/compatibility.rb +0 -0
  218. /data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/custom_errors.rb +0 -0
  219. /data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/import.rb +0 -0
  220. /data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/list.rb +0 -0
  221. /data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/list_renderer.rb +0 -0
  222. /data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/menu/item.rb +0 -0
  223. /data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/menu.rb +0 -0
  224. /data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/paginator.rb +0 -0
  225. /data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/simulate.rb +0 -0
  226. /data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/statement.rb +0 -0
  227. /data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/string.rb +0 -0
  228. /data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/string_extensions.rb +0 -0
  229. /data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/style.rb +0 -0
  230. /data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/template_renderer.rb +0 -0
  231. /data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/terminal/ncurses.rb +0 -0
  232. /data/bundle/ruby/{3.1.0/gems/highline-2.1.0 → 3.3.0/gems/highline-3.0.1}/lib/highline/wrapper.rb +0 -0
  233. /data/bundle/ruby/{3.1.0/gems/parallel-1.22.1 → 3.3.0/gems/parallel-1.24.0}/MIT-LICENSE.txt +0 -0
  234. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/LICENSE.txt +0 -0
  235. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/attlistdecl.rb +0 -0
  236. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/cdata.rb +0 -0
  237. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/child.rb +0 -0
  238. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/comment.rb +0 -0
  239. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/doctype.rb +0 -0
  240. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/dtd/attlistdecl.rb +0 -0
  241. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/dtd/dtd.rb +0 -0
  242. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/dtd/elementdecl.rb +0 -0
  243. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/dtd/entitydecl.rb +0 -0
  244. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/dtd/notationdecl.rb +0 -0
  245. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/encoding.rb +0 -0
  246. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/formatters/default.rb +0 -0
  247. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/formatters/transitive.rb +0 -0
  248. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/functions.rb +0 -0
  249. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/instruction.rb +0 -0
  250. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/light/node.rb +0 -0
  251. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/node.rb +0 -0
  252. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/output.rb +0 -0
  253. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/parent.rb +0 -0
  254. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/parseexception.rb +0 -0
  255. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/parsers/baseparser.rb +0 -0
  256. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/parsers/lightparser.rb +0 -0
  257. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/parsers/pullparser.rb +0 -0
  258. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/parsers/sax2parser.rb +0 -0
  259. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/parsers/streamparser.rb +0 -0
  260. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/parsers/treeparser.rb +0 -0
  261. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/parsers/ultralightparser.rb +0 -0
  262. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/quickpath.rb +0 -0
  263. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/sax2listener.rb +0 -0
  264. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/security.rb +0 -0
  265. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/source.rb +0 -0
  266. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/streamlistener.rb +0 -0
  267. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/undefinednamespaceexception.rb +0 -0
  268. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/validation/relaxng.rb +0 -0
  269. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/validation/validation.rb +0 -0
  270. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/validation/validationexception.rb +0 -0
  271. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/xmldecl.rb +0 -0
  272. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/xmltokens.rb +0 -0
  273. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/xpath.rb +0 -0
  274. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml/xpath_parser.rb +0 -0
  275. /data/bundle/ruby/{3.1.0/gems/rexml-3.2.5 → 3.3.0/gems/rexml-3.2.6}/lib/rexml.rb +0 -0
  276. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby2ruby-2.4.4/History.rdoc +0 -0
  277. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby2ruby-2.4.4/Manifest.txt +0 -0
  278. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby2ruby-2.4.4/README.rdoc +0 -0
  279. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/ruby2ruby-2.4.4/lib/ruby2ruby.rb +0 -0
  280. /data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/debugging.md +0 -0
  281. /data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/gauntlet.md +0 -0
  282. /data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/rp_extensions.rb +0 -0
  283. /data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/rp_stringscanner.rb +0 -0
  284. /data/bundle/ruby/{3.1.0/gems/ruby_parser-3.19.2 → 3.3.0/gems/ruby_parser-3.20.3}/lib/ruby_lexer.rex +0 -0
  285. /data/bundle/ruby/{3.1.0/gems/sexp_processor-4.16.1 → 3.3.0/gems/sexp_processor-4.17.1}/Manifest.txt +0 -0
  286. /data/bundle/ruby/{3.1.0/gems/sexp_processor-4.16.1 → 3.3.0/gems/sexp_processor-4.17.1}/README.rdoc +0 -0
  287. /data/bundle/ruby/{3.1.0/gems/sexp_processor-4.16.1 → 3.3.0/gems/sexp_processor-4.17.1}/lib/composite_sexp_processor.rb +0 -0
  288. /data/bundle/ruby/{3.1.0/gems/sexp_processor-4.16.1 → 3.3.0/gems/sexp_processor-4.17.1}/lib/sexp_matcher.rb +0 -0
  289. /data/bundle/ruby/{3.1.0/gems/sexp_processor-4.16.1 → 3.3.0/gems/sexp_processor-4.17.1}/lib/unique.rb +0 -0
  290. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/CHANGES +0 -0
  291. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/Gemfile +0 -0
  292. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/LICENSE +0 -0
  293. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/README.jp.md +0 -0
  294. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/README.md +0 -0
  295. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/code_attributes.rb +0 -0
  296. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/command.rb +0 -0
  297. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/controls.rb +0 -0
  298. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/do_inserter.rb +0 -0
  299. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/embedded.rb +0 -0
  300. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/end_inserter.rb +0 -0
  301. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/engine.rb +0 -0
  302. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/erb_converter.rb +0 -0
  303. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/filter.rb +0 -0
  304. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/grammar.rb +0 -0
  305. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/include.rb +0 -0
  306. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/interpolation.rb +0 -0
  307. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/logic_less/context.rb +0 -0
  308. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/logic_less/filter.rb +0 -0
  309. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/logic_less.rb +0 -0
  310. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/parser.rb +0 -0
  311. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/smart/escaper.rb +0 -0
  312. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/smart/filter.rb +0 -0
  313. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/smart/parser.rb +0 -0
  314. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/smart.rb +0 -0
  315. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/splat/builder.rb +0 -0
  316. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/splat/filter.rb +0 -0
  317. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/template.rb +0 -0
  318. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/translator.rb +0 -0
  319. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim/version.rb +0 -0
  320. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/lib/slim.rb +0 -0
  321. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/slim-4.1.0/slim.gemspec +0 -0
  322. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/CHANGES +0 -0
  323. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/EXPRESSIONS.md +0 -0
  324. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/Gemfile +0 -0
  325. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/LICENSE +0 -0
  326. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/README.md +0 -0
  327. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/engine.rb +0 -0
  328. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/erb/engine.rb +0 -0
  329. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/erb/parser.rb +0 -0
  330. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/erb/template.rb +0 -0
  331. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/erb/trimming.rb +0 -0
  332. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/exceptions.rb +0 -0
  333. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/filter.rb +0 -0
  334. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/filters/code_merger.rb +0 -0
  335. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/filters/control_flow.rb +0 -0
  336. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/filters/dynamic_inliner.rb +0 -0
  337. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/filters/encoding.rb +0 -0
  338. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/filters/eraser.rb +0 -0
  339. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/filters/escapable.rb +0 -0
  340. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/filters/multi_flattener.rb +0 -0
  341. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/filters/remove_bom.rb +0 -0
  342. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/filters/static_analyzer.rb +0 -0
  343. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/filters/static_merger.rb +0 -0
  344. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/filters/string_splitter.rb +0 -0
  345. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/filters/validator.rb +0 -0
  346. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/generator.rb +0 -0
  347. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/generators/array.rb +0 -0
  348. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/generators/array_buffer.rb +0 -0
  349. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/generators/erb.rb +0 -0
  350. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/generators/rails_output_buffer.rb +0 -0
  351. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/generators/string_buffer.rb +0 -0
  352. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/grammar.rb +0 -0
  353. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/html/attribute_merger.rb +0 -0
  354. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/html/attribute_remover.rb +0 -0
  355. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/html/attribute_sorter.rb +0 -0
  356. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/html/dispatcher.rb +0 -0
  357. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/html/fast.rb +0 -0
  358. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/html/filter.rb +0 -0
  359. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/html/pretty.rb +0 -0
  360. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/html/safe.rb +0 -0
  361. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/map.rb +0 -0
  362. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/mixins/dispatcher.rb +0 -0
  363. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/mixins/engine_dsl.rb +0 -0
  364. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/mixins/grammar_dsl.rb +0 -0
  365. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/mixins/options.rb +0 -0
  366. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/mixins/template.rb +0 -0
  367. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/parser.rb +0 -0
  368. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/static_analyzer.rb +0 -0
  369. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/templates/rails.rb +0 -0
  370. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/templates/tilt.rb +0 -0
  371. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/templates.rb +0 -0
  372. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/utils.rb +0 -0
  373. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple/version.rb +0 -0
  374. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/lib/temple.rb +0 -0
  375. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/temple-0.8.2/temple.gemspec +0 -0
  376. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/Gemfile +0 -0
  377. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/History.rdoc +0 -0
  378. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/LICENSE.txt +0 -0
  379. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/Manifest +0 -0
  380. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/README.rdoc +0 -0
  381. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/Todo.rdoc +0 -0
  382. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/lib/terminal-table/cell.rb +0 -0
  383. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/lib/terminal-table/import.rb +0 -0
  384. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/lib/terminal-table/row.rb +0 -0
  385. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/lib/terminal-table/separator.rb +0 -0
  386. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/lib/terminal-table/style.rb +0 -0
  387. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/lib/terminal-table/table.rb +0 -0
  388. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/lib/terminal-table/table_helper.rb +0 -0
  389. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/lib/terminal-table/version.rb +0 -0
  390. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/lib/terminal-table.rb +0 -0
  391. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/terminal-table-1.8.0/terminal-table.gemspec +0 -0
  392. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/COPYING +0 -0
  393. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/asciidoc.rb +0 -0
  394. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/babel.rb +0 -0
  395. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/bluecloth.rb +0 -0
  396. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/builder.rb +0 -0
  397. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/coffee.rb +0 -0
  398. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/commonmarker.rb +0 -0
  399. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/creole.rb +0 -0
  400. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/csv.rb +0 -0
  401. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/dummy.rb +0 -0
  402. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/erb.rb +0 -0
  403. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/erubi.rb +0 -0
  404. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/erubis.rb +0 -0
  405. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/etanni.rb +0 -0
  406. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/haml.rb +0 -0
  407. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/kramdown.rb +0 -0
  408. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/less.rb +0 -0
  409. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/liquid.rb +0 -0
  410. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/livescript.rb +0 -0
  411. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/mapping.rb +0 -0
  412. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/markaby.rb +0 -0
  413. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/maruku.rb +0 -0
  414. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/nokogiri.rb +0 -0
  415. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/pandoc.rb +0 -0
  416. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/plain.rb +0 -0
  417. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/prawn.rb +0 -0
  418. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/radius.rb +0 -0
  419. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/rdiscount.rb +0 -0
  420. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/rdoc.rb +0 -0
  421. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/redcarpet.rb +0 -0
  422. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/redcloth.rb +0 -0
  423. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/rst-pandoc.rb +0 -0
  424. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/sass.rb +0 -0
  425. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/sigil.rb +0 -0
  426. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/string.rb +0 -0
  427. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/template.rb +0 -0
  428. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/typescript.rb +0 -0
  429. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/wikicloth.rb +0 -0
  430. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt/yajl.rb +0 -0
  431. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/tilt-2.0.11/lib/tilt.rb +0 -0
  432. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/unicode-display_width-1.8.0/CHANGELOG.md +0 -0
  433. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/unicode-display_width-1.8.0/MIT-LICENSE.txt +0 -0
  434. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/unicode-display_width-1.8.0/README.md +0 -0
  435. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/unicode-display_width-1.8.0/data/display_width.marshal.gz +0 -0
  436. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/unicode-display_width-1.8.0/lib/unicode/display_width/constants.rb +0 -0
  437. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/unicode-display_width-1.8.0/lib/unicode/display_width/index.rb +0 -0
  438. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/unicode-display_width-1.8.0/lib/unicode/display_width/no_string_ext.rb +0 -0
  439. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/unicode-display_width-1.8.0/lib/unicode/display_width/string_ext.rb +0 -0
  440. /data/bundle/ruby/{3.1.0 → 3.3.0}/gems/unicode-display_width-1.8.0/lib/unicode/display_width.rb +0 -0
@@ -1,12 +1,6 @@
1
1
  # -*- racc -*-
2
2
 
3
- #if V == 30
4
- class Ruby30Parser
5
- #elif V == 31
6
- class Ruby31Parser
7
- #else
8
- fail "version not specified or supported on code generation"
9
- #endif
3
+ class Ruby32Parser
10
4
 
11
5
  token kCLASS kMODULE kDEF kUNDEF kBEGIN kRESCUE kENSURE kEND kIF kUNLESS
12
6
  kTHEN kELSIF kELSE kCASE kWHEN kWHILE kUNTIL kFOR kBREAK kNEXT
@@ -102,9 +96,9 @@ rule
102
96
  result = iter
103
97
  }
104
98
 
105
- begin_block: tLCURLY { result = lexer.lineno } top_compstmt tRCURLY
99
+ begin_block: tLCURLY top_compstmt tRCURLY
106
100
  {
107
- _, line, stmt, _ = val
101
+ (_, line), stmt, _ = val
108
102
  result = new_iter s(:preexe).line(line), 0, stmt
109
103
  }
110
104
 
@@ -227,6 +221,7 @@ rule
227
221
  | lhs tEQL mrhs
228
222
  {
229
223
  lhs, _, rhs = val
224
+
230
225
  result = new_assign lhs, s(:svalue, rhs).line(rhs.line)
231
226
  }
232
227
  | mlhs tEQL mrhs_arg kRESCUE_MOD stmt
@@ -288,7 +283,6 @@ rule
288
283
 
289
284
  result = s(:op_asgn, lhs1, rhs, lhs2.to_sym, id.to_sym).line line
290
285
  }
291
- #if V > 30
292
286
  | defn_head f_opt_paren_args tEQL command
293
287
  {
294
288
  result = new_endless_defn val
@@ -305,7 +299,6 @@ rule
305
299
  {
306
300
  result = new_endless_defs val
307
301
  }
308
- #endif
309
302
  | backref tOP_ASGN command_rhs
310
303
  {
311
304
  self.backref_assign_error val[0]
@@ -359,11 +352,7 @@ rule
359
352
  self.in_kwarg = true
360
353
  self.env.extend
361
354
  }
362
- #if V == 30
363
- p_expr
364
- #else
365
355
  p_top_expr_body
366
- #endif
367
356
  {
368
357
  lhs, _, in_kwarg, rhs = val
369
358
 
@@ -383,11 +372,7 @@ rule
383
372
  self.in_kwarg = true
384
373
  self.env.extend
385
374
  }
386
- #if V == 30
387
- p_expr
388
- #else
389
375
  p_top_expr_body
390
- #endif
391
376
  {
392
377
  self.env.unextend
393
378
 
@@ -423,6 +408,7 @@ rule
423
408
  defs_head: k_def singleton dot_or_colon
424
409
  {
425
410
  lexer.lex_state = EXPR_FNAME
411
+ self.in_argdef = true
426
412
  }
427
413
  def_name
428
414
  {
@@ -636,7 +622,7 @@ rule
636
622
  }
637
623
  | tSTAR
638
624
  {
639
- l = lexer.lineno
625
+ (_, l), = val
640
626
  result = s(:masgn, s(:array, s(:splat).line(l)).line(l)).line l
641
627
  }
642
628
  | tSTAR tCOMMA mlhs_post
@@ -1146,8 +1132,10 @@ rule
1146
1132
 
1147
1133
  paren_args: tLPAREN2 opt_call_args rparen
1148
1134
  {
1149
- _, args, _ = val
1135
+ _, args, (_, line_max) = val
1136
+
1150
1137
  result = args
1138
+ result.line_max = line_max if args
1151
1139
  }
1152
1140
  | tLPAREN2 args tCOMMA args_forward rparen
1153
1141
  {
@@ -1249,13 +1237,11 @@ rule
1249
1237
  _, arg = val
1250
1238
  result = s(:block_pass, arg).line arg.line
1251
1239
  }
1252
- #if V > 30
1253
1240
  | tAMPER
1254
1241
  {
1255
1242
  (_, line), = val
1256
1243
  result = s(:block_pass).line line
1257
1244
  }
1258
- #endif
1259
1245
 
1260
1246
  opt_block_arg: tCOMMA block_arg
1261
1247
  {
@@ -1266,7 +1252,7 @@ rule
1266
1252
  args: arg_value
1267
1253
  {
1268
1254
  arg, = val
1269
- lineno = arg.line || lexer.lineno # HACK
1255
+ lineno = arg.line
1270
1256
 
1271
1257
  result = s(:array, arg).line lineno
1272
1258
  }
@@ -1275,6 +1261,11 @@ rule
1275
1261
  _, arg = val
1276
1262
  result = s(:array, s(:splat, arg).line(arg.line)).line arg.line
1277
1263
  }
1264
+ | tSTAR
1265
+ {
1266
+ (_, line), = val
1267
+ result = s(:array, s(:splat).line(line)).line line
1268
+ }
1278
1269
  | args tCOMMA arg_value
1279
1270
  {
1280
1271
  args, _, id = val
@@ -1282,11 +1273,14 @@ rule
1282
1273
  }
1283
1274
  | args tCOMMA tSTAR arg_value
1284
1275
  {
1285
- # TODO: the line number from tSTAR has been dropped
1286
- args, _, _, id = val
1287
- line = lexer.lineno
1276
+ args, _, (_, line), id = val
1288
1277
  result = self.list_append args, s(:splat, id).line(line)
1289
1278
  }
1279
+ | args tCOMMA tSTAR
1280
+ {
1281
+ args, _, (_, line) = val
1282
+ result = self.list_append args, s(:splat).line(line)
1283
+ }
1290
1284
 
1291
1285
  mrhs_arg: mrhs
1292
1286
  {
@@ -1303,7 +1297,6 @@ rule
1303
1297
  }
1304
1298
  | args tCOMMA tSTAR arg_value
1305
1299
  {
1306
- # TODO: make all tXXXX terminals include lexer.lineno
1307
1300
  arg, _, _, splat = val
1308
1301
  result = self.arg_concat arg, splat
1309
1302
  }
@@ -1332,7 +1325,6 @@ rule
1332
1325
  | k_begin
1333
1326
  {
1334
1327
  lexer.cmdarg.push false
1335
- result = self.lexer.lineno
1336
1328
  }
1337
1329
  bodystmt k_end
1338
1330
  {
@@ -1342,11 +1334,10 @@ rule
1342
1334
  | tLPAREN_ARG
1343
1335
  {
1344
1336
  lexer.lex_state = EXPR_ENDARG
1345
- result = lexer.lineno
1346
1337
  }
1347
1338
  rparen
1348
1339
  {
1349
- _, line, _ = val
1340
+ (_, line), _, _ = val
1350
1341
  result = s(:begin).line line
1351
1342
  }
1352
1343
  | tLPAREN_ARG
@@ -1362,9 +1353,8 @@ rule
1362
1353
  }
1363
1354
  | tLPAREN compstmt tRPAREN
1364
1355
  {
1365
- _, stmt, _ = val
1366
- result = stmt
1367
- result ||= s(:nil).line lexer.lineno
1356
+ (_, line), stmt, _ = val
1357
+ result = stmt || s(:nil).line(line)
1368
1358
  result.paren = true
1369
1359
  }
1370
1360
  | primary_value tCOLON2 tCONSTANT
@@ -1377,12 +1367,14 @@ rule
1377
1367
  {
1378
1368
  result = wrap :colon3, val[1]
1379
1369
  }
1380
- | tLBRACK { result = lexer.lineno } aref_args tRBRACK
1370
+ | tLBRACK aref_args rbracket
1381
1371
  {
1382
- _, line, args, _ = val
1372
+ (_, line), args, (_, line_max) = val
1373
+
1383
1374
  result = args || s(:array)
1384
1375
  result.sexp_type = :array # aref_args is :args
1385
1376
  result.line line
1377
+ result.line_max = line_max
1386
1378
  }
1387
1379
  | tLBRACE
1388
1380
  {
@@ -1493,9 +1485,6 @@ rule
1493
1485
  result = new_for iter, var, body
1494
1486
  }
1495
1487
  | k_class
1496
- {
1497
- result = self.lexer.lineno
1498
- }
1499
1488
  cpath superclass
1500
1489
  {
1501
1490
  if (self.in_def || self.in_single > 0) then
@@ -1510,9 +1499,6 @@ rule
1510
1499
  self.lexer.ignore_body_comments
1511
1500
  }
1512
1501
  | k_class tLSHFT
1513
- {
1514
- result = self.lexer.lineno
1515
- }
1516
1502
  expr
1517
1503
  {
1518
1504
  result = self.in_def
@@ -1524,16 +1510,14 @@ rule
1524
1510
  self.in_single = 0
1525
1511
  self.env.extend
1526
1512
  }
1527
- bodystmt k_end
1513
+ bodystmt
1514
+ k_end
1528
1515
  {
1529
1516
  result = new_sclass val
1530
1517
  self.env.unextend
1531
1518
  self.lexer.ignore_body_comments
1532
1519
  }
1533
1520
  | k_module
1534
- {
1535
- result = self.lexer.lineno
1536
- }
1537
1521
  cpath
1538
1522
  {
1539
1523
  yyerror "module definition in method body" if
@@ -1636,6 +1620,7 @@ rule
1636
1620
  k_def: kDEF
1637
1621
  {
1638
1622
  self.comments.push self.lexer.comments
1623
+ self.in_argdef = true
1639
1624
  }
1640
1625
  k_do: kDO
1641
1626
  k_do_block: kDO_BLOCK
@@ -1675,20 +1660,33 @@ rule
1675
1660
  }
1676
1661
 
1677
1662
  f_marg: f_norm_arg
1663
+ {
1664
+ (sym, line), = val
1665
+
1666
+ result = s(:dummy, sym).line line
1667
+ }
1678
1668
  | tLPAREN f_margs rparen
1679
1669
  {
1680
- result = val[1]
1670
+ _, args, _ = val
1671
+ result = args
1681
1672
  }
1682
1673
 
1683
1674
  f_marg_list: f_marg
1684
1675
  {
1685
- sym, = val
1676
+ arg, = val
1677
+ line = arg.line
1686
1678
 
1687
- result = s(:array, sym).line lexer.lineno
1679
+ arg = arg.last if arg.sexp_type == :dummy
1680
+
1681
+ result = s(:array, arg).line line
1688
1682
  }
1689
1683
  | f_marg_list tCOMMA f_marg
1690
1684
  {
1691
- result = list_append val[0], val[2]
1685
+ args, _, arg = val
1686
+
1687
+ arg = arg.last if arg.sexp_type == :dummy
1688
+
1689
+ result = list_append args, arg
1692
1690
  }
1693
1691
 
1694
1692
  f_margs: f_marg_list
@@ -1731,16 +1729,14 @@ rule
1731
1729
  }
1732
1730
  | tSTAR
1733
1731
  {
1734
- result = args [:*]
1735
- result.line lexer.lineno # FIX: tSTAR -> line
1732
+ (_, line), = val
1733
+ result = args([:*]).line line
1736
1734
  }
1737
1735
 
1738
1736
  f_any_kwrest: f_kwrest
1739
1737
  | f_no_kwarg
1740
1738
 
1741
- #if V > 30
1742
- f_eq: tEQL # TODO: self.in_argdef = false
1743
- #endif
1739
+ f_eq: { self.in_argdef = false } tEQL
1744
1740
 
1745
1741
  block_args_tail: f_block_kwarg tCOMMA f_kwrest opt_f_block_arg
1746
1742
  {
@@ -1844,15 +1840,19 @@ opt_block_args_tail: tCOMMA block_args_tail
1844
1840
  {
1845
1841
  # TODO: current_arg = 0
1846
1842
  result = args val
1843
+ self.in_argdef = false
1847
1844
  }
1848
1845
  | tOROP
1849
1846
  {
1850
- result = s(:args).line lexer.lineno
1847
+ (_, line), = val
1848
+
1849
+ result = s(:args).line line
1851
1850
  }
1852
1851
  | tPIPE block_param opt_bv_decl tPIPE
1853
1852
  {
1854
1853
  # TODO: current_arg = 0
1855
1854
  result = args val
1855
+ self.in_argdef = false
1856
1856
  }
1857
1857
 
1858
1858
  opt_bv_decl: opt_nl
@@ -1879,7 +1879,7 @@ opt_block_args_tail: tCOMMA block_args_tail
1879
1879
  lambda: tLAMBDA
1880
1880
  {
1881
1881
  self.env.extend :dynamic
1882
- result = [lexer.lineno, lexer.lpar_beg]
1882
+ result = lexer.lpar_beg
1883
1883
  lexer.paren_nest += 1
1884
1884
  lexer.lpar_beg = lexer.paren_nest
1885
1885
  }
@@ -1889,7 +1889,7 @@ opt_block_args_tail: tCOMMA block_args_tail
1889
1889
  }
1890
1890
  lambda_body
1891
1891
  {
1892
- _, (line, lpar), args, _cmdarg, body = val
1892
+ (_, line), lpar, args, _cmdarg, body = val
1893
1893
  lexer.lpar_beg = lpar
1894
1894
 
1895
1895
  lexer.cmdarg.pop
@@ -1902,10 +1902,12 @@ opt_block_args_tail: tCOMMA block_args_tail
1902
1902
 
1903
1903
  f_larglist: tLPAREN2 f_args opt_bv_decl rparen
1904
1904
  {
1905
+ self.in_argdef = false
1905
1906
  result = args val
1906
1907
  }
1907
1908
  | f_args
1908
1909
  {
1910
+ self.in_argdef = false
1909
1911
  result = val[0]
1910
1912
  result = 0 if result == s(:args)
1911
1913
  }
@@ -1973,13 +1975,19 @@ opt_block_args_tail: tCOMMA block_args_tail
1973
1975
  {
1974
1976
  call, args = val
1975
1977
 
1976
- result = call.concat args.sexp_body if args
1978
+ result = call
1979
+
1980
+ if args then
1981
+ call.concat args.sexp_body
1982
+ result.line_max = args.line_max
1983
+ end
1977
1984
  }
1978
1985
  | primary_value call_op operation2 opt_paren_args
1979
1986
  {
1980
- recv, call_op, (op, _line), args = val
1987
+ recv, call_op, (op, op_line), args = val
1981
1988
 
1982
1989
  result = new_call recv, op.to_sym, args, call_op
1990
+ result.line_max = op_line unless args
1983
1991
  }
1984
1992
  | primary_value tCOLON2 operation2 paren_args
1985
1993
  {
@@ -2007,7 +2015,8 @@ opt_block_args_tail: tCOMMA block_args_tail
2007
2015
  }
2008
2016
  | kSUPER
2009
2017
  {
2010
- result = s(:zsuper).line lexer.lineno
2018
+ (_, line), = val
2019
+ result = s(:zsuper).line line
2011
2020
  }
2012
2021
  | primary_value tLBRACK2 opt_call_args rbracket
2013
2022
  {
@@ -2017,11 +2026,11 @@ opt_block_args_tail: tCOMMA block_args_tail
2017
2026
  brace_block: tLCURLY
2018
2027
  {
2019
2028
  self.env.extend :dynamic
2020
- result = self.lexer.lineno
2021
2029
  }
2022
- brace_body tRCURLY
2030
+ brace_body
2031
+ tRCURLY
2023
2032
  {
2024
- _, line, body, _ = val
2033
+ (_, line), _, body, _ = val
2025
2034
 
2026
2035
  result = body
2027
2036
  result.line line
@@ -2031,11 +2040,11 @@ opt_block_args_tail: tCOMMA block_args_tail
2031
2040
  | k_do
2032
2041
  {
2033
2042
  self.env.extend :dynamic
2034
- result = self.lexer.lineno
2035
2043
  }
2036
- do_body kEND
2044
+ do_body
2045
+ kEND
2037
2046
  {
2038
- _, line, body, _ = val
2047
+ (_, line), _, body, _ = val
2039
2048
 
2040
2049
  result = body
2041
2050
  result.line line
@@ -2093,14 +2102,13 @@ opt_block_args_tail: tCOMMA block_args_tail
2093
2102
  }
2094
2103
 
2095
2104
  case_body: k_when
2096
- {
2097
- result = self.lexer.lineno
2098
- }
2099
2105
  case_args then compstmt cases
2100
2106
  {
2101
- result = new_when(val[2], val[4])
2102
- result.line val[1]
2103
- result << val[5] if val[5]
2107
+ (_, line), case_args, _then, body, cases = val
2108
+
2109
+ result = new_when case_args, body
2110
+ result.line line
2111
+ result << cases if cases
2104
2112
  }
2105
2113
 
2106
2114
  cases: opt_else | case_body
@@ -2211,9 +2219,7 @@ opt_block_args_tail: tCOMMA block_args_tail
2211
2219
  p_lbracket: tLBRACK2 { push_pktbl }
2212
2220
 
2213
2221
  p_expr_basic: p_value
2214
- #if V > 30
2215
2222
  | p_variable
2216
- #endif
2217
2223
  | p_const p_lparen p_args tRPAREN
2218
2224
  {
2219
2225
  lhs, _, args, _ = val
@@ -2339,31 +2345,17 @@ opt_block_args_tail: tCOMMA block_args_tail
2339
2345
  result = new_array_pattern_tail both, nil, nil, nil
2340
2346
  result.line head.line
2341
2347
  }
2342
- | p_args_head tSTAR tIDENTIFIER
2343
- {
2344
- head, _, (id, _line) = val
2345
-
2346
- result = new_array_pattern_tail head, true, id.to_sym, nil
2347
- result.line head.line
2348
- }
2349
- | p_args_head tSTAR tIDENTIFIER tCOMMA p_args_post
2350
- {
2351
- head, _, (id, _line), _, post = val
2352
-
2353
- result = new_array_pattern_tail head, true, id.to_sym, post
2354
- result.line head.line
2355
- }
2356
- | p_args_head tSTAR
2348
+ | p_args_head p_rest
2357
2349
  {
2358
- expr, _ = val
2350
+ head, (rest, _) = val
2359
2351
 
2360
- result = new_array_pattern_tail(expr, true, nil, nil).line expr.line
2352
+ result = new_array_pattern_tail(head, true, rest, nil).line head.line
2361
2353
  }
2362
- | p_args_head tSTAR tCOMMA p_args_post
2354
+ | p_args_head p_rest tCOMMA p_args_post
2363
2355
  {
2364
- head, _, _, post = val
2356
+ head, (rest, _), _, post = val
2365
2357
 
2366
- result = new_array_pattern_tail(head, true, nil, post).line head.line
2358
+ result = new_array_pattern_tail(head, true, rest, post).line head.line
2367
2359
  }
2368
2360
  | p_args_tail
2369
2361
 
@@ -2500,13 +2492,11 @@ opt_block_args_tail: tCOMMA block_args_tail
2500
2492
  {
2501
2493
  result = wrap :lit, val[0]
2502
2494
  }
2503
- #if V > 30
2504
2495
  | tSTRING_BEG string_contents tLABEL_END
2505
2496
  {
2506
2497
  # you can't actually get here the way I lex labels
2507
2498
  debug 11
2508
2499
  }
2509
- #endif
2510
2500
 
2511
2501
  p_kwrest: kwrest_mark tIDENTIFIER
2512
2502
  {
@@ -2565,13 +2555,8 @@ opt_block_args_tail: tCOMMA block_args_tail
2565
2555
 
2566
2556
  result = s(:dot3, v1, nil).line v1.line
2567
2557
  }
2568
- #if V == 30
2569
- | p_variable
2570
- #endif
2571
2558
  | p_var_ref
2572
- #if V > 30
2573
2559
  | p_expr_ref
2574
- #endif
2575
2560
  | p_const
2576
2561
  | tBDOT2 p_primitive
2577
2562
  {
@@ -2627,21 +2612,17 @@ opt_block_args_tail: tCOMMA block_args_tail
2627
2612
  # TODO: check id against env for lvar or dvar
2628
2613
  result = wrap :lvar, val[1]
2629
2614
  }
2630
- #if V > 30
2631
2615
  | tCARET nonlocal_var
2632
2616
  {
2633
2617
  _, var = val
2634
2618
  result = var
2635
2619
  }
2636
- #endif
2637
2620
 
2638
- #if V > 30
2639
2621
  p_expr_ref: tCARET tLPAREN expr_value rparen
2640
2622
  {
2641
2623
  _, _, expr, _ = val
2642
2624
  result = expr # TODO? s(:begin, expr).line expr.line
2643
2625
  }
2644
- #endif
2645
2626
 
2646
2627
  p_const: tCOLON3 cname
2647
2628
  {
@@ -2749,15 +2730,17 @@ opt_block_args_tail: tCOMMA block_args_tail
2749
2730
 
2750
2731
  words: tWORDS_BEG tSPACE tSTRING_END
2751
2732
  {
2752
- (_, line), _, _ = val
2733
+ (_, line), _, (_, line_max) = val
2753
2734
 
2754
2735
  result = s(:array).line line
2736
+ result.line_max = line_max
2755
2737
  }
2756
2738
  | tWORDS_BEG word_list tSTRING_END
2757
2739
  {
2758
- (_, line), list, _ = val
2740
+ (_, line), list, (_, line_max) = val
2759
2741
 
2760
2742
  result = list.line line
2743
+ result.line_max = line_max
2761
2744
  }
2762
2745
 
2763
2746
  word_list: none
@@ -2777,15 +2760,17 @@ opt_block_args_tail: tCOMMA block_args_tail
2777
2760
 
2778
2761
  symbols: tSYMBOLS_BEG tSPACE tSTRING_END
2779
2762
  {
2780
- (_, line), _, _ = val
2763
+ (_, line), _, (_, line_max) = val
2781
2764
 
2782
2765
  result = s(:array).line line
2766
+ result.line_max = line_max
2783
2767
  }
2784
2768
  | tSYMBOLS_BEG symbol_list tSTRING_END
2785
2769
  {
2786
- (_, line), list, _, = val
2787
- list.line line
2788
- result = list
2770
+ (_, line), list, (_, line_max), = val
2771
+
2772
+ result = list.line line
2773
+ result.line_max = line_max
2789
2774
  }
2790
2775
 
2791
2776
  symbol_list: none
@@ -2800,28 +2785,32 @@ opt_block_args_tail: tCOMMA block_args_tail
2800
2785
 
2801
2786
  qwords: tQWORDS_BEG tSPACE tSTRING_END
2802
2787
  {
2803
- (_, line), _, _ = val
2788
+ (_, line), _, (_, line_max) = val
2804
2789
 
2805
2790
  result = s(:array).line line
2791
+ result.line_max = line_max
2806
2792
  }
2807
2793
  | tQWORDS_BEG qword_list tSTRING_END
2808
2794
  {
2809
- (_, line), list, _ = val
2795
+ (_, line), list, (_, line_max) = val
2810
2796
 
2811
2797
  result = list.line line
2798
+ result.line_max = line_max
2812
2799
  }
2813
2800
 
2814
2801
  qsymbols: tQSYMBOLS_BEG tSPACE tSTRING_END
2815
2802
  {
2816
- (_, line), _, _ = val
2803
+ (_, line), _, (_, line_max) = val
2817
2804
 
2818
2805
  result = s(:array).line line
2806
+ result.line_max = line_max
2819
2807
  }
2820
2808
  | tQSYMBOLS_BEG qsym_list tSTRING_END
2821
2809
  {
2822
- (_, line), list, _ = val
2810
+ (_, line), list, (_, line_max) = val
2823
2811
 
2824
2812
  result = list.line line
2813
+ result.line_max = line_max
2825
2814
  }
2826
2815
 
2827
2816
  qword_list: none
@@ -2896,7 +2885,6 @@ regexp_contents: none
2896
2885
  lexer.brace_nest,
2897
2886
  lexer.string_nest, # TODO: remove
2898
2887
  lexer.lex_state,
2899
- lexer.lineno,
2900
2888
  ]
2901
2889
 
2902
2890
  lexer.cmdarg.push false
@@ -2911,9 +2899,9 @@ regexp_contents: none
2911
2899
  compstmt
2912
2900
  tSTRING_DEND
2913
2901
  {
2914
- _, memo, stmt, _ = val
2902
+ (_, line), memo, stmt, _ = val
2915
2903
 
2916
- lex_strterm, brace_nest, string_nest, oldlex_state, line = memo
2904
+ lex_strterm, brace_nest, string_nest, oldlex_state = memo
2917
2905
  # TODO: heredoc_indent
2918
2906
 
2919
2907
  lexer.lex_strterm = lex_strterm
@@ -2973,11 +2961,11 @@ regexp_contents: none
2973
2961
 
2974
2962
  dsym: tSYMBEG string_contents tSTRING_END
2975
2963
  {
2976
- _, result, _ = val
2964
+ (_, line), result, _ = val
2977
2965
 
2978
2966
  lexer.lex_state = EXPR_END
2979
2967
 
2980
- result ||= s(:str, "").line lexer.lineno
2968
+ result ||= s(:str, "").line line
2981
2969
 
2982
2970
  case result.sexp_type
2983
2971
  when :dstr then
@@ -3003,11 +2991,9 @@ regexp_contents: none
3003
2991
  | tRATIONAL
3004
2992
  | tIMAGINARY
3005
2993
 
3006
- #if V > 30
3007
2994
  nonlocal_var: tIVAR { result = wrap :ivar, val[0] }
3008
2995
  | tGVAR { result = wrap :gvar, val[0] }
3009
2996
  | tCVAR { result = wrap :cvar, val[0] }
3010
- #endif
3011
2997
 
3012
2998
  user_variable: tIDENTIFIER
3013
2999
  | tIVAR
@@ -3015,15 +3001,15 @@ regexp_contents: none
3015
3001
  | tCONSTANT
3016
3002
  | tCVAR
3017
3003
 
3018
- keyword_variable: kNIL { result = s(:nil).line lexer.lineno }
3019
- | kSELF { result = s(:self).line lexer.lineno }
3020
- | kTRUE { result = s(:true).line lexer.lineno }
3021
- | kFALSE { result = s(:false).line lexer.lineno }
3022
- | k__FILE__ { result = s(:str, self.file).line lexer.lineno }
3023
- | k__LINE__ { result = s(:lit, lexer.lineno).line lexer.lineno }
3004
+ keyword_variable: kNIL { (_, line), = val; result = s(:nil).line line }
3005
+ | kSELF { (_, line), = val; result = s(:self).line line }
3006
+ | kTRUE { (_, line), = val; result = s(:true).line line }
3007
+ | kFALSE { (_, line), = val; result = s(:false).line line }
3008
+ | k__FILE__ { (_, line), = val; result = s(:str, self.file).line line }
3009
+ | k__LINE__ { (_, line), = val; result = s(:lit, line).line line }
3024
3010
  | k__ENCODING__
3025
3011
  {
3026
- l = lexer.lineno
3012
+ (_, l), = val
3027
3013
  result =
3028
3014
  if defined? Encoding then
3029
3015
  s(:colon2, s(:const, :Encoding).line(l), :UTF_8).line l
@@ -3084,32 +3070,26 @@ keyword_variable: kNIL { result = s(:nil).line lexer.lineno }
3084
3070
  f_opt_paren_args: f_paren_args
3085
3071
  | none
3086
3072
  {
3073
+ self.in_argdef = false
3087
3074
  result = end_args val
3088
3075
  }
3089
3076
 
3090
3077
  f_paren_args: tLPAREN2 f_args rparen
3091
3078
  {
3079
+ self.in_argdef = false
3092
3080
  result = end_args val
3093
3081
  }
3094
- #if V == 30
3095
- | tLPAREN2 f_arg tCOMMA args_forward rparen
3096
- {
3097
- result = end_args val
3098
- }
3099
- | tLPAREN2 args_forward rparen
3100
- {
3101
- result = end_args val
3102
- }
3103
- #endif
3104
3082
 
3105
3083
  f_arglist: f_paren_args
3106
3084
  | {
3107
3085
  result = self.in_kwarg
3108
3086
  self.in_kwarg = true
3087
+ self.in_argdef = true
3109
3088
  self.lexer.lex_state |= EXPR_LABEL
3110
3089
  }
3111
3090
  f_args term
3112
3091
  {
3092
+ self.in_argdef = false
3113
3093
  result = end_args val
3114
3094
  }
3115
3095
 
@@ -3126,9 +3106,7 @@ f_opt_paren_args: f_paren_args
3126
3106
  result = args val
3127
3107
  }
3128
3108
  | f_block_arg
3129
- #if V > 30
3130
3109
  | args_forward
3131
- #endif
3132
3110
 
3133
3111
  opt_args_tail: tCOMMA args_tail
3134
3112
  {
@@ -3198,12 +3176,12 @@ f_opt_paren_args: f_paren_args
3198
3176
  |
3199
3177
  {
3200
3178
  result = args val
3201
- # result.line lexer.lineno
3202
3179
  }
3203
3180
 
3204
3181
  args_forward: tBDOT3
3205
3182
  {
3206
- result = s(:forward_args).line lexer.lineno
3183
+ (_, line), = val
3184
+ result = s(:forward_args).line line
3207
3185
  }
3208
3186
 
3209
3187
  f_bad_arg: tCONSTANT
@@ -3257,10 +3235,25 @@ f_opt_paren_args: f_paren_args
3257
3235
  result = s(:args, list).line list.line
3258
3236
  end
3259
3237
 
3260
- result << (Sexp === item ? item : item.first)
3238
+ if Sexp === item then
3239
+ line_max = item.line_max
3240
+ else
3241
+ item, line_max = item
3242
+ end
3243
+
3244
+ result << item
3245
+ result.line_max = line_max
3261
3246
  }
3262
3247
 
3263
3248
  f_label: tLABEL
3249
+ {
3250
+ label, = val
3251
+ # arg_var(p, formal_argument(p, $1));
3252
+ # p->cur_arg = get_id($1);
3253
+ # p->max_numparam = ORDINAL_PARAM;
3254
+ self.in_argdef = false
3255
+ result = label
3256
+ }
3264
3257
 
3265
3258
  f_kw: f_label arg_value
3266
3259
  {
@@ -3269,6 +3262,7 @@ f_opt_paren_args: f_paren_args
3269
3262
 
3270
3263
  identifier = label.to_sym
3271
3264
  self.env[identifier] = :lvar
3265
+ self.in_argdef = true
3272
3266
 
3273
3267
  kwarg = s(:kwarg, identifier, arg).line line
3274
3268
  result = s(:array, kwarg).line line
@@ -3279,6 +3273,7 @@ f_opt_paren_args: f_paren_args
3279
3273
 
3280
3274
  id = label.to_sym
3281
3275
  self.env[id] = :lvar
3276
+ self.in_argdef = true
3282
3277
 
3283
3278
  result = s(:array, s(:kwarg, id).line(line)).line line
3284
3279
  }
@@ -3289,6 +3284,7 @@ f_opt_paren_args: f_paren_args
3289
3284
  (label, line), expr = val
3290
3285
  id = label.to_sym
3291
3286
  self.env[id] = :lvar
3287
+ self.in_argdef = true
3292
3288
 
3293
3289
  result = s(:array, s(:kwarg, id, expr).line(line)).line line
3294
3290
  }
@@ -3298,6 +3294,7 @@ f_opt_paren_args: f_paren_args
3298
3294
  (label, line), = val
3299
3295
  id = label.to_sym
3300
3296
  self.env[id] = :lvar
3297
+ self.in_argdef = true
3301
3298
 
3302
3299
  result = s(:array, s(:kwarg, id).line(line)).line line
3303
3300
  }
@@ -3334,38 +3331,31 @@ f_opt_paren_args: f_paren_args
3334
3331
  }
3335
3332
  | kwrest_mark
3336
3333
  {
3334
+ (_, line), = val
3337
3335
  id = :"**"
3338
- self.env[id] = :lvar # TODO: needed?!?
3339
- result = [id, lexer.lineno] # TODO: tPOW/tDSTAR include lineno
3336
+ self.env[id] = :lvar
3337
+ result = [id, line]
3340
3338
  }
3341
3339
 
3342
3340
  f_opt: f_arg_asgn
3343
- #if V > 30
3344
3341
  f_eq
3345
- #else
3346
- tEQL
3347
- #endif
3348
3342
  arg_value
3349
3343
  {
3350
3344
  lhs, _, rhs = val
3345
+ self.in_argdef = true
3351
3346
  result = self.assignable lhs, rhs
3352
3347
  # TODO: detect duplicate names
3353
3348
  # TODO? p->cur_arg = 0;
3354
- # TODO? p->ctxt.in_argdef = 1;
3355
3349
  }
3356
3350
 
3357
3351
  f_block_opt: f_arg_asgn
3358
- #if V > 30
3359
3352
  f_eq
3360
- #else
3361
- tEQL
3362
- #endif
3363
3353
  primary_value
3364
3354
  {
3365
3355
  lhs, _, rhs = val
3356
+ self.in_argdef = true
3366
3357
  result = self.assignable lhs, rhs
3367
3358
  # TODO? p->cur_arg = 0;
3368
- # TODO? p->ctxt.in_argdef = 1;
3369
3359
  }
3370
3360
 
3371
3361
  f_block_optarg: f_block_opt
@@ -3402,9 +3392,10 @@ f_opt_paren_args: f_paren_args
3402
3392
  }
3403
3393
  | restarg_mark
3404
3394
  {
3395
+ (_, line), = val
3405
3396
  name = :"*"
3406
3397
  self.env[name] = :lvar
3407
- result = [name, lexer.lineno] # FIX: tSTAR to include lineno
3398
+ result = [name, line]
3408
3399
  }
3409
3400
 
3410
3401
  blkarg_mark: tAMPER2 | tAMPER
@@ -3495,6 +3486,11 @@ f_opt_paren_args: f_paren_args
3495
3486
  line = arg.line
3496
3487
  result = s(:array, s(:kwsplat, arg).line(line)).line line
3497
3488
  }
3489
+ | tDSTAR
3490
+ {
3491
+ (_, line), = val
3492
+ result = s(:array, s(:kwsplat).line(line)).line line
3493
+ }
3498
3494
 
3499
3495
  operation: tIDENTIFIER | tCONSTANT | tFID
3500
3496
  operation2: tIDENTIFIER | tCONSTANT | tFID | op
@@ -3509,11 +3505,10 @@ f_opt_paren_args: f_paren_args
3509
3505
  opt_terms: | terms
3510
3506
  opt_nl: | tNL
3511
3507
  rparen: opt_nl tRPAREN
3512
- # TODO:
3513
- # {
3514
- # _, close = val
3515
- # result = [close, lexer.lineno]
3516
- # }
3508
+ {
3509
+ _, close = val # TODO: include lineno in close?
3510
+ result = [close, lexer.lineno]
3511
+ }
3517
3512
  rbracket: opt_nl tRBRACK
3518
3513
  {
3519
3514
  _, close = val