brakeman 4.4.0 → 5.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (732) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +271 -107
  3. data/README.md +19 -12
  4. data/bundle/load.rb +14 -14
  5. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/CHANGES.txt +0 -0
  6. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/MIT-LICENSE +0 -0
  7. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/README.txt +0 -0
  8. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/contrib/erubis +0 -0
  9. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/contrib/erubis-run.rb +0 -0
  10. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/contrib/inline-require +0 -0
  11. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis.rb +0 -0
  12. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/context.rb +0 -0
  13. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/converter.rb +0 -0
  14. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/engine.rb +0 -0
  15. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/engine/ec.rb +0 -0
  16. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/engine/ecpp.rb +0 -0
  17. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/engine/ejava.rb +0 -0
  18. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/engine/ejavascript.rb +0 -0
  19. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/engine/enhanced.rb +0 -0
  20. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/engine/eperl.rb +0 -0
  21. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/engine/ephp.rb +0 -0
  22. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/engine/eruby.rb +0 -0
  23. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/engine/escheme.rb +0 -0
  24. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/engine/optimized.rb +0 -0
  25. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/enhancer.rb +0 -0
  26. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/error.rb +0 -0
  27. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/evaluator.rb +0 -0
  28. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/generator.rb +0 -0
  29. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/helper.rb +0 -0
  30. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/helpers/rails_form_helper.rb +0 -0
  31. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/helpers/rails_helper.rb +0 -0
  32. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/local-setting.rb +0 -0
  33. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/main.rb +0 -0
  34. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/preprocessing.rb +0 -0
  35. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/tiny.rb +0 -0
  36. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/lib/erubis/util.rb +0 -0
  37. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/erubis-2.7.0/setup.rb +0 -0
  38. data/bundle/ruby/{2.5.0/gems/haml-4.0.7 → 2.7.0/gems/haml-5.2.1}/CHANGELOG.md +138 -4
  39. data/bundle/ruby/{2.5.0/gems/haml-4.0.7 → 2.7.0/gems/haml-5.2.1}/FAQ.md +4 -14
  40. data/bundle/ruby/2.7.0/gems/haml-5.2.1/Gemfile +16 -0
  41. data/bundle/ruby/{2.5.0/gems/sass-3.4.25/vendor/listen/LICENSE → 2.7.0/gems/haml-5.2.1/MIT-LICENSE} +1 -1
  42. data/bundle/ruby/{2.5.0/gems/haml-4.0.7 → 2.7.0/gems/haml-5.2.1}/README.md +79 -42
  43. data/bundle/ruby/{2.5.0/gems/haml-4.0.7 → 2.7.0/gems/haml-5.2.1}/REFERENCE.md +150 -71
  44. data/bundle/ruby/2.7.0/gems/haml-5.2.1/TODO +24 -0
  45. data/bundle/ruby/2.7.0/gems/haml-5.2.1/haml.gemspec +45 -0
  46. data/bundle/ruby/{2.5.0/gems/haml-4.0.7 → 2.7.0/gems/haml-5.2.1}/lib/haml.rb +2 -0
  47. data/bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/attribute_builder.rb +164 -0
  48. data/bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/attribute_compiler.rb +235 -0
  49. data/bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/attribute_parser.rb +150 -0
  50. data/bundle/ruby/{2.5.0/gems/haml-4.0.7 → 2.7.0/gems/haml-5.2.1}/lib/haml/buffer.rb +25 -132
  51. data/bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/compiler.rb +330 -0
  52. data/bundle/ruby/{2.5.0/gems/haml-4.0.7 → 2.7.0/gems/haml-5.2.1}/lib/haml/engine.rb +34 -41
  53. data/bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/error.rb +65 -0
  54. data/bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/escapable.rb +77 -0
  55. data/bundle/ruby/{2.5.0/gems/haml-4.0.7 → 2.7.0/gems/haml-5.2.1}/lib/haml/exec.rb +38 -20
  56. data/bundle/ruby/{2.5.0/gems/haml-4.0.7 → 2.7.0/gems/haml-5.2.1}/lib/haml/filters.rb +22 -27
  57. data/bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/generator.rb +42 -0
  58. data/bundle/ruby/{2.5.0/gems/haml-4.0.7 → 2.7.0/gems/haml-5.2.1}/lib/haml/helpers.rb +134 -89
  59. data/bundle/ruby/{2.5.0/gems/haml-4.0.7 → 2.7.0/gems/haml-5.2.1}/lib/haml/helpers/action_view_extensions.rb +4 -2
  60. data/bundle/ruby/{2.5.0/gems/haml-4.0.7 → 2.7.0/gems/haml-5.2.1}/lib/haml/helpers/action_view_mods.rb +45 -60
  61. data/bundle/ruby/{2.5.0/gems/haml-4.0.7 → 2.7.0/gems/haml-5.2.1}/lib/haml/helpers/action_view_xss_mods.rb +2 -0
  62. data/bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/helpers/safe_erubi_template.rb +20 -0
  63. data/bundle/ruby/{2.5.0/gems/haml-4.0.7 → 2.7.0/gems/haml-5.2.1}/lib/haml/helpers/safe_erubis_template.rb +5 -1
  64. data/bundle/ruby/{2.5.0/gems/haml-4.0.7 → 2.7.0/gems/haml-5.2.1}/lib/haml/helpers/xss_mods.rb +23 -13
  65. data/bundle/ruby/{2.5.0/gems/haml-4.0.7 → 2.7.0/gems/haml-5.2.1}/lib/haml/options.rb +63 -69
  66. data/bundle/ruby/{2.5.0/gems/haml-4.0.7 → 2.7.0/gems/haml-5.2.1}/lib/haml/parser.rb +319 -227
  67. data/bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/plugin.rb +37 -0
  68. data/bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/railtie.rb +48 -0
  69. data/bundle/ruby/{2.5.0/gems/haml-4.0.7 → 2.7.0/gems/haml-5.2.1}/lib/haml/sass_rails_filter.rb +18 -4
  70. data/bundle/ruby/{2.5.0/gems/haml-4.0.7 → 2.7.0/gems/haml-5.2.1}/lib/haml/template.rb +13 -6
  71. data/bundle/ruby/{2.5.0/gems/haml-4.0.7 → 2.7.0/gems/haml-5.2.1}/lib/haml/template/options.rb +13 -2
  72. data/bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/temple_engine.rb +123 -0
  73. data/bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/temple_line_counter.rb +30 -0
  74. data/bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/util.rb +258 -0
  75. data/bundle/ruby/2.7.0/gems/haml-5.2.1/lib/haml/version.rb +5 -0
  76. data/bundle/ruby/2.7.0/gems/haml-5.2.1/yard/default/fulldoc/html/css/common.sass +15 -0
  77. data/bundle/ruby/2.7.0/gems/haml-5.2.1/yard/default/layout/html/footer.erb +12 -0
  78. data/bundle/ruby/{2.5.0/gems/highline-1.7.10 → 2.7.0/gems/highline-2.0.3}/AUTHORS +0 -0
  79. data/bundle/ruby/{2.5.0/gems/highline-1.7.10 → 2.7.0/gems/highline-2.0.3}/COPYING +0 -0
  80. data/bundle/ruby/{2.5.0/gems/highline-1.7.10 → 2.7.0/gems/highline-2.0.3}/Changelog.md +214 -15
  81. data/bundle/ruby/2.7.0/gems/highline-2.0.3/Gemfile +22 -0
  82. data/bundle/ruby/{2.5.0/gems/highline-1.7.10 → 2.7.0/gems/highline-2.0.3}/LICENSE +0 -0
  83. data/bundle/ruby/2.7.0/gems/highline-2.0.3/README.md +202 -0
  84. data/bundle/ruby/{2.5.0/gems/highline-1.7.10 → 2.7.0/gems/highline-2.0.3}/TODO +0 -0
  85. data/bundle/ruby/2.7.0/gems/highline-2.0.3/appveyor.yml +37 -0
  86. data/bundle/ruby/2.7.0/gems/highline-2.0.3/highline.gemspec +35 -0
  87. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline.rb +650 -0
  88. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/builtin_styles.rb +129 -0
  89. data/bundle/ruby/{2.5.0/gems/highline-1.7.10 → 2.7.0/gems/highline-2.0.3}/lib/highline/color_scheme.rb +49 -32
  90. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/compatibility.rb +23 -0
  91. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/custom_errors.rb +57 -0
  92. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/import.rb +48 -0
  93. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/io_console_compatible.rb +37 -0
  94. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/list.rb +177 -0
  95. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/list_renderer.rb +261 -0
  96. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/menu.rb +576 -0
  97. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/menu/item.rb +32 -0
  98. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/paginator.rb +52 -0
  99. data/bundle/ruby/{2.5.0/gems/highline-1.7.10 → 2.7.0/gems/highline-2.0.3}/lib/highline/question.rb +281 -131
  100. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/question/answer_converter.rb +103 -0
  101. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/question_asker.rb +150 -0
  102. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/simulate.rb +59 -0
  103. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/statement.rb +88 -0
  104. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/string.rb +36 -0
  105. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/string_extensions.rb +130 -0
  106. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/style.rb +325 -0
  107. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/template_renderer.rb +62 -0
  108. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/terminal.rb +190 -0
  109. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/terminal/io_console.rb +36 -0
  110. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/terminal/ncurses.rb +38 -0
  111. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/terminal/unix_stty.rb +51 -0
  112. data/bundle/ruby/{2.5.0/gems/highline-1.7.10 → 2.7.0/gems/highline-2.0.3}/lib/highline/version.rb +3 -1
  113. data/bundle/ruby/2.7.0/gems/highline-2.0.3/lib/highline/wrapper.rb +53 -0
  114. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/Gemfile +6 -0
  115. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/LICENSE.txt +22 -0
  116. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/NEWS.md +141 -0
  117. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/README.md +60 -0
  118. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/attlistdecl.rb +63 -0
  119. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/attribute.rb +205 -0
  120. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/cdata.rb +68 -0
  121. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/child.rb +97 -0
  122. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/comment.rb +80 -0
  123. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/doctype.rb +287 -0
  124. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/document.rb +291 -0
  125. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/dtd/attlistdecl.rb +11 -0
  126. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/dtd/dtd.rb +47 -0
  127. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/dtd/elementdecl.rb +18 -0
  128. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/dtd/entitydecl.rb +57 -0
  129. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/dtd/notationdecl.rb +40 -0
  130. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/element.rb +1269 -0
  131. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/encoding.rb +51 -0
  132. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/entity.rb +171 -0
  133. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/formatters/default.rb +116 -0
  134. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/formatters/pretty.rb +142 -0
  135. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/formatters/transitive.rb +58 -0
  136. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/functions.rb +447 -0
  137. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/instruction.rb +79 -0
  138. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/light/node.rb +196 -0
  139. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/namespace.rb +59 -0
  140. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/node.rb +76 -0
  141. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/output.rb +30 -0
  142. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/parent.rb +166 -0
  143. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/parseexception.rb +52 -0
  144. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/parsers/baseparser.rb +594 -0
  145. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/parsers/lightparser.rb +59 -0
  146. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/parsers/pullparser.rb +197 -0
  147. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/parsers/sax2parser.rb +273 -0
  148. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/parsers/streamparser.rb +61 -0
  149. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/parsers/treeparser.rb +101 -0
  150. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/parsers/ultralightparser.rb +57 -0
  151. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/parsers/xpathparser.rb +675 -0
  152. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/quickpath.rb +266 -0
  153. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/rexml.rb +32 -0
  154. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/sax2listener.rb +98 -0
  155. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/security.rb +28 -0
  156. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/source.rb +298 -0
  157. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/streamlistener.rb +93 -0
  158. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/text.rb +424 -0
  159. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/undefinednamespaceexception.rb +9 -0
  160. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/validation/relaxng.rb +539 -0
  161. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/validation/validation.rb +144 -0
  162. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/validation/validationexception.rb +10 -0
  163. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/xmldecl.rb +130 -0
  164. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/xmltokens.rb +85 -0
  165. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/xpath.rb +81 -0
  166. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/lib/rexml/xpath_parser.rb +968 -0
  167. data/bundle/ruby/2.7.0/gems/rexml-3.2.4/rexml.gemspec +84 -0
  168. data/bundle/ruby/{2.5.0/gems/ruby2ruby-2.4.1 → 2.7.0/gems/ruby2ruby-2.4.4}/History.rdoc +22 -0
  169. data/bundle/ruby/{2.5.0/gems/ruby2ruby-2.4.1 → 2.7.0/gems/ruby2ruby-2.4.4}/Manifest.txt +0 -0
  170. data/bundle/ruby/{2.5.0/gems/ruby2ruby-2.4.1 → 2.7.0/gems/ruby2ruby-2.4.4}/README.rdoc +0 -0
  171. data/bundle/ruby/{2.5.0/gems/ruby2ruby-2.4.1 → 2.7.0/gems/ruby2ruby-2.4.4}/lib/ruby2ruby.rb +118 -110
  172. data/bundle/ruby/{2.5.0/gems/ruby_parser-3.12.0 → 2.7.0/gems/ruby_parser-3.15.1}/History.rdoc +176 -0
  173. data/bundle/ruby/{2.5.0/gems/ruby_parser-3.12.0 → 2.7.0/gems/ruby_parser-3.15.1}/Manifest.txt +7 -4
  174. data/bundle/ruby/{2.5.0/gems/ruby_parser-3.12.0 → 2.7.0/gems/ruby_parser-3.15.1}/README.rdoc +3 -3
  175. data/bundle/ruby/{2.5.0/gems/ruby_parser-3.12.0 → 2.7.0/gems/ruby_parser-3.15.1}/compare/normalize.rb +69 -2
  176. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/debugging.md +57 -0
  177. data/bundle/ruby/{2.5.0/gems/ruby_parser-3.12.0 → 2.7.0/gems/ruby_parser-3.15.1}/lib/rp_extensions.rb +1 -8
  178. data/bundle/ruby/{2.5.0/gems/ruby_parser-3.12.0 → 2.7.0/gems/ruby_parser-3.15.1}/lib/rp_stringscanner.rb +0 -0
  179. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/lib/ruby20_parser.rb +7062 -0
  180. data/bundle/ruby/{2.5.0/gems/ruby_parser-3.12.0/lib/ruby_parser.yy → 2.7.0/gems/ruby_parser-3.15.1/lib/ruby20_parser.y} +728 -604
  181. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/lib/ruby21_parser.rb +7140 -0
  182. data/bundle/ruby/{2.5.0/gems/ruby_parser-3.12.0 → 2.7.0/gems/ruby_parser-3.15.1}/lib/ruby21_parser.y +734 -472
  183. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/lib/ruby22_parser.rb +7160 -0
  184. data/bundle/ruby/{2.5.0/gems/ruby_parser-3.12.0 → 2.7.0/gems/ruby_parser-3.15.1}/lib/ruby22_parser.y +735 -478
  185. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/lib/ruby23_parser.rb +7175 -0
  186. data/bundle/ruby/{2.5.0/gems/ruby_parser-3.12.0 → 2.7.0/gems/ruby_parser-3.15.1}/lib/ruby23_parser.y +736 -479
  187. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/lib/ruby24_parser.rb +7204 -0
  188. data/bundle/ruby/{2.5.0/gems/ruby_parser-3.12.0 → 2.7.0/gems/ruby_parser-3.15.1}/lib/ruby24_parser.y +742 -477
  189. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/lib/ruby25_parser.rb +7204 -0
  190. data/bundle/ruby/{2.5.0/gems/ruby_parser-3.12.0 → 2.7.0/gems/ruby_parser-3.15.1}/lib/ruby25_parser.y +742 -477
  191. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/lib/ruby26_parser.rb +7224 -0
  192. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/lib/ruby26_parser.y +2657 -0
  193. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/lib/ruby27_parser.rb +7224 -0
  194. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/lib/ruby27_parser.y +2657 -0
  195. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/lib/ruby_lexer.rb +1473 -0
  196. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/lib/ruby_lexer.rex +178 -0
  197. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/lib/ruby_lexer.rex.rb +363 -0
  198. data/bundle/ruby/{2.5.0/gems/ruby_parser-3.12.0 → 2.7.0/gems/ruby_parser-3.15.1}/lib/ruby_parser.rb +36 -34
  199. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/lib/ruby_parser.yy +2764 -0
  200. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/lib/ruby_parser_extras.rb +1631 -0
  201. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/tools/munge.rb +222 -0
  202. data/bundle/ruby/2.7.0/gems/ruby_parser-3.15.1/tools/ripper.rb +39 -0
  203. data/bundle/ruby/2.7.0/gems/ruby_parser-legacy-1.0.0/History.rdoc +6 -0
  204. data/bundle/ruby/2.7.0/gems/ruby_parser-legacy-1.0.0/Manifest.txt +19 -0
  205. data/bundle/ruby/2.7.0/gems/ruby_parser-legacy-1.0.0/README.rdoc +54 -0
  206. data/bundle/ruby/2.7.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy.rb +5 -0
  207. data/bundle/ruby/{2.5.0/gems/ruby_parser-3.12.0/lib → 2.7.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy}/ruby18_parser.rb +7 -6
  208. data/bundle/ruby/{2.5.0/gems/ruby_parser-3.12.0/lib → 2.7.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy}/ruby18_parser.y +5 -4
  209. data/bundle/ruby/{2.5.0/gems/ruby_parser-3.12.0/lib → 2.7.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy}/ruby19_parser.rb +7 -6
  210. data/bundle/ruby/{2.5.0/gems/ruby_parser-3.12.0/lib → 2.7.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy}/ruby19_parser.y +5 -4
  211. data/bundle/ruby/{2.5.0/gems/ruby_parser-3.12.0/lib → 2.7.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy}/ruby_lexer.rb +117 -64
  212. data/bundle/ruby/{2.5.0/gems/ruby_parser-3.12.0/lib → 2.7.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy}/ruby_lexer.rex +11 -9
  213. data/bundle/ruby/{2.5.0/gems/ruby_parser-3.12.0/lib → 2.7.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy}/ruby_lexer.rex.rb +10 -10
  214. data/bundle/ruby/2.7.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy/ruby_parser.rb +30 -0
  215. data/bundle/ruby/{2.5.0/gems/ruby_parser-3.12.0/lib → 2.7.0/gems/ruby_parser-legacy-1.0.0/lib/ruby_parser/legacy}/ruby_parser_extras.rb +43 -33
  216. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/CHANGES.md +5 -0
  217. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/Gemfile +0 -0
  218. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/LICENSE.txt +0 -0
  219. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/README.md +0 -0
  220. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/bundle_install_all_ruby_versions.sh +0 -0
  221. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/lib/safe_yaml.rb +0 -0
  222. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/lib/safe_yaml/deep.rb +0 -0
  223. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/lib/safe_yaml/libyaml_checker.rb +0 -0
  224. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/lib/safe_yaml/load.rb +0 -0
  225. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/lib/safe_yaml/parse/date.rb +2 -0
  226. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/lib/safe_yaml/parse/hexadecimal.rb +0 -0
  227. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/lib/safe_yaml/parse/sexagesimal.rb +0 -0
  228. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/lib/safe_yaml/psych_handler.rb +0 -0
  229. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/lib/safe_yaml/psych_resolver.rb +0 -0
  230. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/lib/safe_yaml/resolver.rb +0 -0
  231. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/lib/safe_yaml/safe_to_ruby_visitor.rb +0 -0
  232. data/bundle/ruby/2.7.0/gems/safe_yaml-1.0.5/lib/safe_yaml/store.rb +39 -0
  233. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/lib/safe_yaml/syck_hack.rb +0 -0
  234. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/lib/safe_yaml/syck_node_monkeypatch.rb +0 -0
  235. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/lib/safe_yaml/syck_resolver.rb +0 -0
  236. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/lib/safe_yaml/transform.rb +0 -0
  237. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/lib/safe_yaml/transform/to_boolean.rb +0 -0
  238. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/lib/safe_yaml/transform/to_date.rb +0 -0
  239. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/lib/safe_yaml/transform/to_float.rb +0 -0
  240. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/lib/safe_yaml/transform/to_integer.rb +0 -0
  241. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/lib/safe_yaml/transform/to_nil.rb +0 -0
  242. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/lib/safe_yaml/transform/to_symbol.rb +0 -0
  243. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/lib/safe_yaml/transform/transformation_map.rb +0 -0
  244. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/lib/safe_yaml/version.rb +1 -1
  245. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/run_specs_all_ruby_versions.sh +0 -0
  246. data/bundle/ruby/{2.5.0/gems/safe_yaml-1.0.4 → 2.7.0/gems/safe_yaml-1.0.5}/safe_yaml.gemspec +0 -0
  247. data/bundle/ruby/{2.5.0/gems/sexp_processor-4.11.0 → 2.7.0/gems/sexp_processor-4.15.2}/History.rdoc +67 -0
  248. data/bundle/ruby/{2.5.0/gems/sexp_processor-4.11.0 → 2.7.0/gems/sexp_processor-4.15.2}/Manifest.txt +1 -0
  249. data/bundle/ruby/{2.5.0/gems/sexp_processor-4.11.0 → 2.7.0/gems/sexp_processor-4.15.2}/README.rdoc +0 -0
  250. data/bundle/ruby/{2.5.0/gems/sexp_processor-4.11.0 → 2.7.0/gems/sexp_processor-4.15.2}/lib/composite_sexp_processor.rb +0 -0
  251. data/bundle/ruby/{2.5.0/gems/sexp_processor-4.11.0 → 2.7.0/gems/sexp_processor-4.15.2}/lib/pt_testcase.rb +15 -17
  252. data/bundle/ruby/2.7.0/gems/sexp_processor-4.15.2/lib/sexp.rb +381 -0
  253. data/bundle/ruby/{2.5.0/gems/sexp_processor-4.11.0/lib/sexp.rb → 2.7.0/gems/sexp_processor-4.15.2/lib/sexp_matcher.rb} +67 -387
  254. data/bundle/ruby/{2.5.0/gems/sexp_processor-4.11.0 → 2.7.0/gems/sexp_processor-4.15.2}/lib/sexp_processor.rb +2 -2
  255. data/bundle/ruby/{2.5.0/gems/sexp_processor-4.11.0 → 2.7.0/gems/sexp_processor-4.15.2}/lib/strict_sexp.rb +3 -3
  256. data/bundle/ruby/{2.5.0/gems/sexp_processor-4.11.0 → 2.7.0/gems/sexp_processor-4.15.2}/lib/unique.rb +0 -0
  257. data/bundle/ruby/{2.5.0/gems/slim-4.0.1 → 2.7.0/gems/slim-4.1.0}/CHANGES +4 -0
  258. data/bundle/ruby/{2.5.0/gems/slim-4.0.1 → 2.7.0/gems/slim-4.1.0}/Gemfile +12 -13
  259. data/bundle/ruby/{2.5.0/gems/slim-4.0.1 → 2.7.0/gems/slim-4.1.0}/LICENSE +0 -0
  260. data/bundle/ruby/{2.5.0/gems/slim-4.0.1 → 2.7.0/gems/slim-4.1.0}/README.jp.md +0 -0
  261. data/bundle/ruby/{2.5.0/gems/slim-4.0.1 → 2.7.0/gems/slim-4.1.0}/README.md +0 -0
  262. data/bundle/ruby/{2.5.0/gems/slim-4.0.1 → 2.7.0/gems/slim-4.1.0}/lib/slim.rb +0 -0
  263. data/bundle/ruby/{2.5.0/gems/slim-4.0.1 → 2.7.0/gems/slim-4.1.0}/lib/slim/code_attributes.rb +0 -0
  264. data/bundle/ruby/{2.5.0/gems/slim-4.0.1 → 2.7.0/gems/slim-4.1.0}/lib/slim/command.rb +13 -13
  265. data/bundle/ruby/{2.5.0/gems/slim-4.0.1 → 2.7.0/gems/slim-4.1.0}/lib/slim/controls.rb +0 -0
  266. data/bundle/ruby/{2.5.0/gems/slim-4.0.1 → 2.7.0/gems/slim-4.1.0}/lib/slim/do_inserter.rb +0 -0
  267. data/bundle/ruby/{2.5.0/gems/slim-4.0.1 → 2.7.0/gems/slim-4.1.0}/lib/slim/embedded.rb +0 -0
  268. data/bundle/ruby/{2.5.0/gems/slim-4.0.1 → 2.7.0/gems/slim-4.1.0}/lib/slim/end_inserter.rb +0 -0
  269. data/bundle/ruby/{2.5.0/gems/slim-4.0.1 → 2.7.0/gems/slim-4.1.0}/lib/slim/engine.rb +0 -0
  270. data/bundle/ruby/{2.5.0/gems/slim-4.0.1 → 2.7.0/gems/slim-4.1.0}/lib/slim/erb_converter.rb +0 -0
  271. data/bundle/ruby/{2.5.0/gems/slim-4.0.1 → 2.7.0/gems/slim-4.1.0}/lib/slim/filter.rb +0 -0
  272. data/bundle/ruby/{2.5.0/gems/slim-4.0.1 → 2.7.0/gems/slim-4.1.0}/lib/slim/grammar.rb +0 -0
  273. data/bundle/ruby/{2.5.0/gems/slim-4.0.1 → 2.7.0/gems/slim-4.1.0}/lib/slim/include.rb +0 -0
  274. data/bundle/ruby/{2.5.0/gems/slim-4.0.1 → 2.7.0/gems/slim-4.1.0}/lib/slim/interpolation.rb +0 -0
  275. data/bundle/ruby/{2.5.0/gems/slim-4.0.1 → 2.7.0/gems/slim-4.1.0}/lib/slim/logic_less.rb +0 -0
  276. data/bundle/ruby/{2.5.0/gems/slim-4.0.1 → 2.7.0/gems/slim-4.1.0}/lib/slim/logic_less/context.rb +0 -0
  277. data/bundle/ruby/{2.5.0/gems/slim-4.0.1 → 2.7.0/gems/slim-4.1.0}/lib/slim/logic_less/filter.rb +0 -0
  278. data/bundle/ruby/{2.5.0/gems/slim-4.0.1 → 2.7.0/gems/slim-4.1.0}/lib/slim/parser.rb +1 -1
  279. data/bundle/ruby/{2.5.0/gems/slim-4.0.1 → 2.7.0/gems/slim-4.1.0}/lib/slim/smart.rb +0 -0
  280. data/bundle/ruby/{2.5.0/gems/slim-4.0.1 → 2.7.0/gems/slim-4.1.0}/lib/slim/smart/escaper.rb +0 -0
  281. data/bundle/ruby/{2.5.0/gems/slim-4.0.1 → 2.7.0/gems/slim-4.1.0}/lib/slim/smart/filter.rb +0 -0
  282. data/bundle/ruby/{2.5.0/gems/slim-4.0.1 → 2.7.0/gems/slim-4.1.0}/lib/slim/smart/parser.rb +0 -0
  283. data/bundle/ruby/{2.5.0/gems/slim-4.0.1 → 2.7.0/gems/slim-4.1.0}/lib/slim/splat/builder.rb +0 -0
  284. data/bundle/ruby/{2.5.0/gems/slim-4.0.1 → 2.7.0/gems/slim-4.1.0}/lib/slim/splat/filter.rb +0 -0
  285. data/bundle/ruby/{2.5.0/gems/slim-4.0.1 → 2.7.0/gems/slim-4.1.0}/lib/slim/template.rb +0 -0
  286. data/bundle/ruby/{2.5.0/gems/slim-4.0.1 → 2.7.0/gems/slim-4.1.0}/lib/slim/translator.rb +0 -0
  287. data/bundle/ruby/{2.5.0/gems/slim-4.0.1 → 2.7.0/gems/slim-4.1.0}/lib/slim/version.rb +1 -1
  288. data/bundle/ruby/{2.5.0/gems/slim-4.0.1 → 2.7.0/gems/slim-4.1.0}/slim.gemspec +0 -0
  289. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/CHANGES +11 -0
  290. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/EXPRESSIONS.md +1 -1
  291. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/Gemfile +0 -0
  292. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/LICENSE +0 -0
  293. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/README.md +1 -1
  294. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple.rb +0 -0
  295. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple/engine.rb +0 -0
  296. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple/erb/engine.rb +0 -0
  297. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple/erb/parser.rb +0 -0
  298. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple/erb/template.rb +0 -0
  299. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple/erb/trimming.rb +0 -0
  300. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple/exceptions.rb +0 -0
  301. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple/filter.rb +0 -0
  302. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple/filters/code_merger.rb +0 -0
  303. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple/filters/control_flow.rb +0 -0
  304. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple/filters/dynamic_inliner.rb +0 -0
  305. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple/filters/encoding.rb +0 -0
  306. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple/filters/eraser.rb +0 -0
  307. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple/filters/escapable.rb +0 -0
  308. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple/filters/multi_flattener.rb +0 -0
  309. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple/filters/remove_bom.rb +0 -0
  310. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple/filters/static_analyzer.rb +0 -0
  311. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple/filters/static_merger.rb +0 -0
  312. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple/filters/string_splitter.rb +1 -1
  313. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple/filters/validator.rb +0 -0
  314. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple/generator.rb +0 -0
  315. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple/generators/array.rb +0 -0
  316. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple/generators/array_buffer.rb +0 -0
  317. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple/generators/erb.rb +0 -0
  318. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple/generators/rails_output_buffer.rb +0 -0
  319. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple/generators/string_buffer.rb +0 -0
  320. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple/grammar.rb +0 -0
  321. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple/html/attribute_merger.rb +0 -0
  322. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple/html/attribute_remover.rb +0 -0
  323. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple/html/attribute_sorter.rb +0 -0
  324. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple/html/dispatcher.rb +0 -0
  325. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple/html/fast.rb +0 -0
  326. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple/html/filter.rb +0 -0
  327. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple/html/pretty.rb +0 -0
  328. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple/html/safe.rb +0 -0
  329. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple/map.rb +0 -0
  330. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple/mixins/dispatcher.rb +2 -1
  331. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple/mixins/engine_dsl.rb +0 -0
  332. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple/mixins/grammar_dsl.rb +0 -0
  333. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple/mixins/options.rb +0 -0
  334. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple/mixins/template.rb +0 -0
  335. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple/parser.rb +0 -0
  336. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple/static_analyzer.rb +1 -1
  337. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple/templates.rb +0 -0
  338. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple/templates/rails.rb +2 -2
  339. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple/templates/tilt.rb +0 -0
  340. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/lib/temple/utils.rb +0 -0
  341. data/bundle/ruby/2.7.0/gems/temple-0.8.2/lib/temple/version.rb +3 -0
  342. data/bundle/ruby/{2.5.0/gems/temple-0.8.0 → 2.7.0/gems/temple-0.8.2}/temple.gemspec +0 -0
  343. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/terminal-table-1.8.0/Gemfile +0 -0
  344. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/terminal-table-1.8.0/History.rdoc +0 -0
  345. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/terminal-table-1.8.0/LICENSE.txt +0 -0
  346. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/terminal-table-1.8.0/Manifest +0 -0
  347. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/terminal-table-1.8.0/README.rdoc +0 -0
  348. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/terminal-table-1.8.0/Todo.rdoc +0 -0
  349. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/terminal-table-1.8.0/lib/terminal-table.rb +0 -0
  350. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/terminal-table-1.8.0/lib/terminal-table/cell.rb +0 -0
  351. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/terminal-table-1.8.0/lib/terminal-table/import.rb +0 -0
  352. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/terminal-table-1.8.0/lib/terminal-table/row.rb +0 -0
  353. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/terminal-table-1.8.0/lib/terminal-table/separator.rb +0 -0
  354. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/terminal-table-1.8.0/lib/terminal-table/style.rb +0 -0
  355. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/terminal-table-1.8.0/lib/terminal-table/table.rb +0 -0
  356. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/terminal-table-1.8.0/lib/terminal-table/table_helper.rb +0 -0
  357. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/terminal-table-1.8.0/lib/terminal-table/version.rb +0 -0
  358. data/bundle/ruby/{2.5.0 → 2.7.0}/gems/terminal-table-1.8.0/terminal-table.gemspec +0 -0
  359. data/bundle/ruby/{2.5.0/gems/tilt-2.0.9 → 2.7.0/gems/tilt-2.0.10}/COPYING +0 -0
  360. data/bundle/ruby/{2.5.0/gems/tilt-2.0.9 → 2.7.0/gems/tilt-2.0.10}/lib/tilt.rb +1 -1
  361. data/bundle/ruby/{2.5.0/gems/tilt-2.0.9 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/asciidoc.rb +0 -0
  362. data/bundle/ruby/{2.5.0/gems/tilt-2.0.9 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/babel.rb +0 -0
  363. data/bundle/ruby/{2.5.0/gems/tilt-2.0.9 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/bluecloth.rb +0 -0
  364. data/bundle/ruby/{2.5.0/gems/tilt-2.0.9 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/builder.rb +0 -0
  365. data/bundle/ruby/{2.5.0/gems/tilt-2.0.9 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/coffee.rb +0 -0
  366. data/bundle/ruby/{2.5.0/gems/tilt-2.0.9 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/commonmarker.rb +0 -0
  367. data/bundle/ruby/{2.5.0/gems/tilt-2.0.9 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/creole.rb +0 -0
  368. data/bundle/ruby/{2.5.0/gems/tilt-2.0.9 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/csv.rb +0 -0
  369. data/bundle/ruby/{2.5.0/gems/tilt-2.0.9 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/dummy.rb +0 -0
  370. data/bundle/ruby/{2.5.0/gems/tilt-2.0.9 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/erb.rb +0 -0
  371. data/bundle/ruby/{2.5.0/gems/tilt-2.0.9 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/erubi.rb +0 -0
  372. data/bundle/ruby/{2.5.0/gems/tilt-2.0.9 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/erubis.rb +0 -0
  373. data/bundle/ruby/{2.5.0/gems/tilt-2.0.9 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/etanni.rb +0 -0
  374. data/bundle/ruby/{2.5.0/gems/tilt-2.0.9 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/haml.rb +0 -0
  375. data/bundle/ruby/{2.5.0/gems/tilt-2.0.9 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/kramdown.rb +0 -0
  376. data/bundle/ruby/{2.5.0/gems/tilt-2.0.9 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/less.rb +0 -0
  377. data/bundle/ruby/{2.5.0/gems/tilt-2.0.9 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/liquid.rb +0 -0
  378. data/bundle/ruby/{2.5.0/gems/tilt-2.0.9 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/livescript.rb +0 -0
  379. data/bundle/ruby/{2.5.0/gems/tilt-2.0.9 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/mapping.rb +0 -0
  380. data/bundle/ruby/{2.5.0/gems/tilt-2.0.9 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/markaby.rb +0 -0
  381. data/bundle/ruby/{2.5.0/gems/tilt-2.0.9 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/maruku.rb +0 -0
  382. data/bundle/ruby/{2.5.0/gems/tilt-2.0.9 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/nokogiri.rb +0 -0
  383. data/bundle/ruby/{2.5.0/gems/tilt-2.0.9 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/pandoc.rb +0 -0
  384. data/bundle/ruby/{2.5.0/gems/tilt-2.0.9 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/plain.rb +0 -0
  385. data/bundle/ruby/{2.5.0/gems/tilt-2.0.9 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/prawn.rb +0 -0
  386. data/bundle/ruby/{2.5.0/gems/tilt-2.0.9 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/radius.rb +0 -0
  387. data/bundle/ruby/{2.5.0/gems/tilt-2.0.9 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/rdiscount.rb +0 -0
  388. data/bundle/ruby/{2.5.0/gems/tilt-2.0.9 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/rdoc.rb +0 -0
  389. data/bundle/ruby/{2.5.0/gems/tilt-2.0.9 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/redcarpet.rb +0 -0
  390. data/bundle/ruby/{2.5.0/gems/tilt-2.0.9 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/redcloth.rb +0 -0
  391. data/bundle/ruby/{2.5.0/gems/tilt-2.0.9 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/rst-pandoc.rb +0 -0
  392. data/bundle/ruby/{2.5.0/gems/tilt-2.0.9 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/sass.rb +0 -0
  393. data/bundle/ruby/{2.5.0/gems/tilt-2.0.9 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/sigil.rb +0 -0
  394. data/bundle/ruby/{2.5.0/gems/tilt-2.0.9 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/string.rb +0 -0
  395. data/bundle/ruby/{2.5.0/gems/tilt-2.0.9 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/template.rb +7 -12
  396. data/bundle/ruby/{2.5.0/gems/tilt-2.0.9 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/typescript.rb +0 -0
  397. data/bundle/ruby/{2.5.0/gems/tilt-2.0.9 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/wikicloth.rb +0 -0
  398. data/bundle/ruby/{2.5.0/gems/tilt-2.0.9 → 2.7.0/gems/tilt-2.0.10}/lib/tilt/yajl.rb +0 -0
  399. data/bundle/ruby/{2.5.0/gems/unicode-display_width-1.4.1 → 2.7.0/gems/unicode-display_width-1.7.0}/CHANGELOG.md +16 -0
  400. data/bundle/ruby/{2.5.0/gems/unicode-display_width-1.4.1 → 2.7.0/gems/unicode-display_width-1.7.0}/MIT-LICENSE.txt +1 -1
  401. data/bundle/ruby/{2.5.0/gems/unicode-display_width-1.4.1 → 2.7.0/gems/unicode-display_width-1.7.0}/README.md +10 -10
  402. data/bundle/ruby/2.7.0/gems/unicode-display_width-1.7.0/data/display_width.marshal.gz +0 -0
  403. data/bundle/ruby/{2.5.0/gems/unicode-display_width-1.4.1 → 2.7.0/gems/unicode-display_width-1.7.0}/lib/unicode/display_width.rb +1 -1
  404. data/bundle/ruby/{2.5.0/gems/unicode-display_width-1.4.1 → 2.7.0/gems/unicode-display_width-1.7.0}/lib/unicode/display_width/constants.rb +2 -2
  405. data/bundle/ruby/{2.5.0/gems/unicode-display_width-1.4.1 → 2.7.0/gems/unicode-display_width-1.7.0}/lib/unicode/display_width/index.rb +0 -0
  406. data/bundle/ruby/{2.5.0/gems/unicode-display_width-1.4.1 → 2.7.0/gems/unicode-display_width-1.7.0}/lib/unicode/display_width/no_string_ext.rb +0 -0
  407. data/bundle/ruby/{2.5.0/gems/unicode-display_width-1.4.1 → 2.7.0/gems/unicode-display_width-1.7.0}/lib/unicode/display_width/string_ext.rb +0 -0
  408. data/lib/brakeman.rb +37 -0
  409. data/lib/brakeman/app_tree.rb +67 -22
  410. data/lib/brakeman/call_index.rb +54 -15
  411. data/lib/brakeman/checks.rb +7 -7
  412. data/lib/brakeman/checks/base_check.rb +94 -66
  413. data/lib/brakeman/checks/check_basic_auth.rb +2 -0
  414. data/lib/brakeman/checks/check_content_tag.rb +12 -1
  415. data/lib/brakeman/checks/check_cookie_serialization.rb +22 -0
  416. data/lib/brakeman/checks/check_cross_site_scripting.rb +15 -10
  417. data/lib/brakeman/checks/check_csrf_token_forgery_cve.rb +28 -0
  418. data/lib/brakeman/checks/check_default_routes.rb +5 -0
  419. data/lib/brakeman/checks/check_deserialize.rb +70 -1
  420. data/lib/brakeman/checks/check_dynamic_finders.rb +1 -1
  421. data/lib/brakeman/checks/check_evaluation.rb +0 -1
  422. data/lib/brakeman/checks/check_execute.rb +84 -5
  423. data/lib/brakeman/checks/check_file_access.rb +7 -1
  424. data/lib/brakeman/checks/check_force_ssl.rb +27 -0
  425. data/lib/brakeman/checks/check_header_dos.rb +2 -2
  426. data/lib/brakeman/checks/check_i18n_xss.rb +2 -2
  427. data/lib/brakeman/checks/check_jruby_xml.rb +2 -2
  428. data/lib/brakeman/checks/check_json_entity_escape.rb +38 -0
  429. data/lib/brakeman/checks/check_json_parsing.rb +7 -2
  430. data/lib/brakeman/checks/check_link_to.rb +1 -1
  431. data/lib/brakeman/checks/check_link_to_href.rb +7 -4
  432. data/lib/brakeman/checks/check_mail_to.rb +1 -1
  433. data/lib/brakeman/checks/check_mass_assignment.rb +34 -4
  434. data/lib/brakeman/checks/check_mime_type_dos.rb +2 -2
  435. data/lib/brakeman/checks/check_model_attr_accessible.rb +2 -2
  436. data/lib/brakeman/checks/check_model_attributes.rb +13 -51
  437. data/lib/brakeman/checks/check_model_serialize.rb +1 -1
  438. data/lib/brakeman/checks/check_nested_attributes_bypass.rb +4 -4
  439. data/lib/brakeman/checks/check_page_caching_cve.rb +37 -0
  440. data/lib/brakeman/checks/check_permit_attributes.rb +1 -1
  441. data/lib/brakeman/checks/check_regex_dos.rb +1 -1
  442. data/lib/brakeman/checks/check_reverse_tabnabbing.rb +58 -0
  443. data/lib/brakeman/checks/check_sanitize_methods.rb +2 -2
  444. data/lib/brakeman/checks/check_secrets.rb +1 -1
  445. data/lib/brakeman/checks/check_send.rb +0 -1
  446. data/lib/brakeman/checks/check_session_manipulation.rb +0 -1
  447. data/lib/brakeman/checks/check_session_settings.rb +15 -12
  448. data/lib/brakeman/checks/check_simple_format.rb +5 -0
  449. data/lib/brakeman/checks/check_skip_before_filter.rb +5 -5
  450. data/lib/brakeman/checks/check_sql.rb +46 -48
  451. data/lib/brakeman/checks/check_template_injection.rb +32 -0
  452. data/lib/brakeman/checks/check_unsafe_reflection_methods.rb +68 -0
  453. data/lib/brakeman/checks/check_validation_regex.rb +1 -1
  454. data/lib/brakeman/checks/check_verb_confusion.rb +75 -0
  455. data/lib/brakeman/checks/check_xml_dos.rb +2 -2
  456. data/lib/brakeman/checks/check_yaml_parsing.rb +10 -18
  457. data/lib/brakeman/commandline.rb +25 -1
  458. data/lib/brakeman/differ.rb +16 -33
  459. data/lib/brakeman/file_parser.rb +25 -21
  460. data/lib/brakeman/file_path.rb +85 -0
  461. data/lib/brakeman/options.rb +32 -1
  462. data/lib/brakeman/parsers/haml_embedded.rb +44 -0
  463. data/lib/brakeman/parsers/slim_embedded.rb +44 -0
  464. data/lib/brakeman/parsers/template_parser.rb +9 -10
  465. data/lib/brakeman/processor.rb +5 -6
  466. data/lib/brakeman/processors/alias_processor.rb +71 -14
  467. data/lib/brakeman/processors/base_processor.rb +10 -7
  468. data/lib/brakeman/processors/controller_alias_processor.rb +10 -7
  469. data/lib/brakeman/processors/controller_processor.rb +10 -14
  470. data/lib/brakeman/processors/gem_processor.rb +10 -2
  471. data/lib/brakeman/processors/haml_template_processor.rb +99 -123
  472. data/lib/brakeman/processors/lib/call_conversion_helper.rb +10 -5
  473. data/lib/brakeman/processors/lib/file_type_detector.rb +64 -0
  474. data/lib/brakeman/processors/lib/find_all_calls.rb +57 -18
  475. data/lib/brakeman/processors/lib/find_call.rb +3 -64
  476. data/lib/brakeman/processors/lib/module_helper.rb +8 -8
  477. data/lib/brakeman/processors/lib/processor_helper.rb +3 -3
  478. data/lib/brakeman/processors/lib/rails2_config_processor.rb +4 -4
  479. data/lib/brakeman/processors/lib/rails2_route_processor.rb +2 -2
  480. data/lib/brakeman/processors/lib/rails3_config_processor.rb +19 -19
  481. data/lib/brakeman/processors/lib/rails3_route_processor.rb +2 -2
  482. data/lib/brakeman/processors/lib/render_helper.rb +5 -3
  483. data/lib/brakeman/processors/lib/render_path.rb +18 -1
  484. data/lib/brakeman/processors/library_processor.rb +5 -5
  485. data/lib/brakeman/processors/model_processor.rb +4 -5
  486. data/lib/brakeman/processors/output_processor.rb +6 -1
  487. data/lib/brakeman/processors/slim_template_processor.rb +16 -0
  488. data/lib/brakeman/processors/template_alias_processor.rb +36 -4
  489. data/lib/brakeman/processors/template_processor.rb +14 -10
  490. data/lib/brakeman/report.rb +22 -4
  491. data/lib/brakeman/report/ignore/config.rb +12 -5
  492. data/lib/brakeman/report/ignore/interactive.rb +2 -2
  493. data/lib/brakeman/report/pager.rb +1 -0
  494. data/lib/brakeman/report/report_base.rb +51 -8
  495. data/lib/brakeman/report/report_codeclimate.rb +3 -3
  496. data/lib/brakeman/report/report_csv.rb +37 -60
  497. data/lib/brakeman/report/report_hash.rb +1 -1
  498. data/lib/brakeman/report/report_html.rb +2 -2
  499. data/lib/brakeman/report/report_json.rb +1 -24
  500. data/lib/brakeman/report/report_junit.rb +104 -0
  501. data/lib/brakeman/report/report_markdown.rb +0 -1
  502. data/lib/brakeman/report/report_sarif.rb +114 -0
  503. data/lib/brakeman/report/report_sonar.rb +38 -0
  504. data/lib/brakeman/report/report_table.rb +20 -4
  505. data/lib/brakeman/report/report_tabs.rb +1 -1
  506. data/lib/brakeman/report/report_text.rb +43 -23
  507. data/lib/brakeman/rescanner.rb +18 -15
  508. data/lib/brakeman/scanner.rb +70 -35
  509. data/lib/brakeman/tracker.rb +44 -8
  510. data/lib/brakeman/tracker/collection.rb +4 -3
  511. data/lib/brakeman/tracker/config.rb +119 -47
  512. data/lib/brakeman/tracker/constants.rb +10 -8
  513. data/lib/brakeman/tracker/controller.rb +1 -1
  514. data/lib/brakeman/util.rb +45 -151
  515. data/lib/brakeman/version.rb +1 -1
  516. data/lib/brakeman/warning.rb +37 -15
  517. data/lib/brakeman/warning_codes.rb +13 -0
  518. data/lib/ruby_parser/bm_sexp.rb +16 -11
  519. data/lib/ruby_parser/bm_sexp_processor.rb +1 -0
  520. metadata +434 -497
  521. data/bundle/ruby/2.5.0/gems/haml-4.0.7/MIT-LICENSE +0 -20
  522. data/bundle/ruby/2.5.0/gems/haml-4.0.7/lib/haml/compiler.rb +0 -540
  523. data/bundle/ruby/2.5.0/gems/haml-4.0.7/lib/haml/error.rb +0 -61
  524. data/bundle/ruby/2.5.0/gems/haml-4.0.7/lib/haml/railtie.rb +0 -22
  525. data/bundle/ruby/2.5.0/gems/haml-4.0.7/lib/haml/template/plugin.rb +0 -41
  526. data/bundle/ruby/2.5.0/gems/haml-4.0.7/lib/haml/util.rb +0 -377
  527. data/bundle/ruby/2.5.0/gems/haml-4.0.7/lib/haml/version.rb +0 -3
  528. data/bundle/ruby/2.5.0/gems/highline-1.7.10/Gemfile +0 -11
  529. data/bundle/ruby/2.5.0/gems/highline-1.7.10/INSTALL +0 -59
  530. data/bundle/ruby/2.5.0/gems/highline-1.7.10/README.rdoc +0 -74
  531. data/bundle/ruby/2.5.0/gems/highline-1.7.10/highline.gemspec +0 -37
  532. data/bundle/ruby/2.5.0/gems/highline-1.7.10/lib/highline.rb +0 -1048
  533. data/bundle/ruby/2.5.0/gems/highline-1.7.10/lib/highline/compatibility.rb +0 -16
  534. data/bundle/ruby/2.5.0/gems/highline-1.7.10/lib/highline/import.rb +0 -41
  535. data/bundle/ruby/2.5.0/gems/highline-1.7.10/lib/highline/menu.rb +0 -381
  536. data/bundle/ruby/2.5.0/gems/highline-1.7.10/lib/highline/simulate.rb +0 -48
  537. data/bundle/ruby/2.5.0/gems/highline-1.7.10/lib/highline/string_extensions.rb +0 -111
  538. data/bundle/ruby/2.5.0/gems/highline-1.7.10/lib/highline/style.rb +0 -192
  539. data/bundle/ruby/2.5.0/gems/highline-1.7.10/lib/highline/system_extensions.rb +0 -254
  540. data/bundle/ruby/2.5.0/gems/highline-1.7.10/setup.rb +0 -1360
  541. data/bundle/ruby/2.5.0/gems/ruby_parser-3.12.0/lib/ruby20_parser.rb +0 -6687
  542. data/bundle/ruby/2.5.0/gems/ruby_parser-3.12.0/lib/ruby20_parser.y +0 -2345
  543. data/bundle/ruby/2.5.0/gems/ruby_parser-3.12.0/lib/ruby21_parser.rb +0 -6767
  544. data/bundle/ruby/2.5.0/gems/ruby_parser-3.12.0/lib/ruby22_parser.rb +0 -6803
  545. data/bundle/ruby/2.5.0/gems/ruby_parser-3.12.0/lib/ruby23_parser.rb +0 -6818
  546. data/bundle/ruby/2.5.0/gems/ruby_parser-3.12.0/lib/ruby24_parser.rb +0 -6818
  547. data/bundle/ruby/2.5.0/gems/ruby_parser-3.12.0/lib/ruby25_parser.rb +0 -6818
  548. data/bundle/ruby/2.5.0/gems/sass-3.4.25/CODE_OF_CONDUCT.md +0 -10
  549. data/bundle/ruby/2.5.0/gems/sass-3.4.25/CONTRIBUTING.md +0 -148
  550. data/bundle/ruby/2.5.0/gems/sass-3.4.25/MIT-LICENSE +0 -20
  551. data/bundle/ruby/2.5.0/gems/sass-3.4.25/README.md +0 -227
  552. data/bundle/ruby/2.5.0/gems/sass-3.4.25/REVISION +0 -1
  553. data/bundle/ruby/2.5.0/gems/sass-3.4.25/VERSION +0 -1
  554. data/bundle/ruby/2.5.0/gems/sass-3.4.25/VERSION_DATE +0 -1
  555. data/bundle/ruby/2.5.0/gems/sass-3.4.25/VERSION_NAME +0 -1
  556. data/bundle/ruby/2.5.0/gems/sass-3.4.25/extra/sass-spec-ref.sh +0 -32
  557. data/bundle/ruby/2.5.0/gems/sass-3.4.25/extra/update_watch.rb +0 -13
  558. data/bundle/ruby/2.5.0/gems/sass-3.4.25/init.rb +0 -18
  559. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass.rb +0 -109
  560. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/cache_stores.rb +0 -15
  561. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/cache_stores/base.rb +0 -88
  562. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/cache_stores/chain.rb +0 -34
  563. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/cache_stores/filesystem.rb +0 -60
  564. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/cache_stores/memory.rb +0 -46
  565. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/cache_stores/null.rb +0 -25
  566. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/callbacks.rb +0 -67
  567. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/css.rb +0 -408
  568. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/deprecation.rb +0 -55
  569. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/engine.rb +0 -1226
  570. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/environment.rb +0 -215
  571. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/error.rb +0 -198
  572. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/exec.rb +0 -9
  573. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/exec/base.rb +0 -199
  574. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/exec/sass_convert.rb +0 -283
  575. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/exec/sass_scss.rb +0 -440
  576. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/features.rb +0 -47
  577. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/importers.rb +0 -23
  578. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/importers/base.rb +0 -182
  579. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/importers/deprecated_path.rb +0 -51
  580. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/importers/filesystem.rb +0 -219
  581. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/logger.rb +0 -17
  582. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/logger/base.rb +0 -36
  583. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/logger/delayed.rb +0 -50
  584. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/logger/log_level.rb +0 -45
  585. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/media.rb +0 -210
  586. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/plugin.rb +0 -134
  587. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/plugin/compiler.rb +0 -582
  588. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/plugin/configuration.rb +0 -134
  589. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/plugin/generic.rb +0 -15
  590. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/plugin/merb.rb +0 -48
  591. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/plugin/rack.rb +0 -60
  592. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/plugin/rails.rb +0 -47
  593. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/plugin/staleness_checker.rb +0 -199
  594. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/railtie.rb +0 -10
  595. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/repl.rb +0 -57
  596. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/root.rb +0 -7
  597. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script.rb +0 -66
  598. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/css_lexer.rb +0 -33
  599. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/css_parser.rb +0 -33
  600. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/css_variable_warning.rb +0 -52
  601. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/functions.rb +0 -2693
  602. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/lexer.rb +0 -464
  603. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/parser.rb +0 -832
  604. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/tree.rb +0 -16
  605. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/tree/funcall.rb +0 -313
  606. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/tree/interpolation.rb +0 -223
  607. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/tree/list_literal.rb +0 -104
  608. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/tree/literal.rb +0 -49
  609. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/tree/map_literal.rb +0 -64
  610. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/tree/node.rb +0 -127
  611. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/tree/operation.rb +0 -156
  612. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/tree/selector.rb +0 -26
  613. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/tree/string_interpolation.rb +0 -125
  614. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/tree/unary_operation.rb +0 -69
  615. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/tree/variable.rb +0 -57
  616. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/value.rb +0 -11
  617. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/value/arg_list.rb +0 -36
  618. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/value/base.rb +0 -241
  619. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/value/bool.rb +0 -35
  620. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/value/color.rb +0 -698
  621. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/value/helpers.rb +0 -272
  622. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/value/list.rb +0 -113
  623. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/value/map.rb +0 -70
  624. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/value/null.rb +0 -44
  625. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/value/number.rb +0 -563
  626. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/script/value/string.rb +0 -138
  627. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/scss.rb +0 -14
  628. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/scss/css_parser.rb +0 -56
  629. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/scss/parser.rb +0 -1254
  630. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/scss/rx.rb +0 -140
  631. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/scss/static_parser.rb +0 -373
  632. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/selector.rb +0 -323
  633. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/selector/abstract_sequence.rb +0 -111
  634. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/selector/comma_sequence.rb +0 -191
  635. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/selector/pseudo.rb +0 -266
  636. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/selector/sequence.rb +0 -636
  637. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/selector/simple.rb +0 -117
  638. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/selector/simple_sequence.rb +0 -344
  639. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/shared.rb +0 -76
  640. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/source/map.rb +0 -213
  641. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/source/position.rb +0 -39
  642. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/source/range.rb +0 -41
  643. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/stack.rb +0 -120
  644. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/supports.rb +0 -225
  645. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/at_root_node.rb +0 -83
  646. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/charset_node.rb +0 -22
  647. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/comment_node.rb +0 -82
  648. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/content_node.rb +0 -9
  649. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/css_import_node.rb +0 -68
  650. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/debug_node.rb +0 -18
  651. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/directive_node.rb +0 -59
  652. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/each_node.rb +0 -24
  653. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/error_node.rb +0 -18
  654. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/extend_node.rb +0 -43
  655. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/for_node.rb +0 -36
  656. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/function_node.rb +0 -44
  657. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/if_node.rb +0 -52
  658. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/import_node.rb +0 -75
  659. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/keyframe_rule_node.rb +0 -15
  660. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/media_node.rb +0 -48
  661. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/mixin_def_node.rb +0 -38
  662. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/mixin_node.rb +0 -52
  663. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/node.rb +0 -240
  664. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/prop_node.rb +0 -170
  665. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/return_node.rb +0 -19
  666. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/root_node.rb +0 -44
  667. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/rule_node.rb +0 -155
  668. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/supports_node.rb +0 -38
  669. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/trace_node.rb +0 -33
  670. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/variable_node.rb +0 -36
  671. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/visitors/base.rb +0 -72
  672. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/visitors/check_nesting.rb +0 -173
  673. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/visitors/convert.rb +0 -351
  674. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/visitors/cssize.rb +0 -373
  675. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/visitors/deep_copy.rb +0 -107
  676. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/visitors/extend.rb +0 -70
  677. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/visitors/perform.rb +0 -564
  678. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/visitors/set_options.rb +0 -139
  679. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/visitors/to_css.rb +0 -409
  680. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/warn_node.rb +0 -18
  681. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/tree/while_node.rb +0 -18
  682. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/util.rb +0 -1375
  683. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/util/cross_platform_random.rb +0 -19
  684. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/util/multibyte_string_scanner.rb +0 -155
  685. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/util/normalized_map.rb +0 -129
  686. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/util/ordered_hash.rb +0 -192
  687. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/util/subset_map.rb +0 -109
  688. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/util/test.rb +0 -9
  689. data/bundle/ruby/2.5.0/gems/sass-3.4.25/lib/sass/version.rb +0 -124
  690. data/bundle/ruby/2.5.0/gems/sass-3.4.25/rails/init.rb +0 -1
  691. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/CHANGELOG.md +0 -1
  692. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/CONTRIBUTING.md +0 -38
  693. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/Gemfile +0 -20
  694. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/Guardfile +0 -8
  695. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/README.md +0 -349
  696. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/Rakefile +0 -5
  697. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/Vagrantfile +0 -96
  698. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/lib/listen.rb +0 -54
  699. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/lib/listen/adapter.rb +0 -327
  700. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/lib/listen/adapters/bsd.rb +0 -75
  701. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/lib/listen/adapters/darwin.rb +0 -48
  702. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/lib/listen/adapters/linux.rb +0 -81
  703. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/lib/listen/adapters/polling.rb +0 -58
  704. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/lib/listen/adapters/windows.rb +0 -91
  705. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/lib/listen/directory_record.rb +0 -406
  706. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/lib/listen/listener.rb +0 -323
  707. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/lib/listen/turnstile.rb +0 -32
  708. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/lib/listen/version.rb +0 -3
  709. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/listen.gemspec +0 -28
  710. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/listen/adapter_spec.rb +0 -149
  711. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/listen/adapters/bsd_spec.rb +0 -36
  712. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/listen/adapters/darwin_spec.rb +0 -37
  713. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/listen/adapters/linux_spec.rb +0 -47
  714. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/listen/adapters/polling_spec.rb +0 -68
  715. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/listen/adapters/windows_spec.rb +0 -30
  716. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/listen/directory_record_spec.rb +0 -1250
  717. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/listen/listener_spec.rb +0 -258
  718. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/listen/turnstile_spec.rb +0 -56
  719. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/listen_spec.rb +0 -67
  720. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/spec_helper.rb +0 -25
  721. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/support/adapter_helper.rb +0 -666
  722. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/support/directory_record_helper.rb +0 -57
  723. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/support/fixtures_helper.rb +0 -29
  724. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/support/listeners_helper.rb +0 -179
  725. data/bundle/ruby/2.5.0/gems/sass-3.4.25/vendor/listen/spec/support/platform_helper.rb +0 -15
  726. data/bundle/ruby/2.5.0/gems/temple-0.8.0/lib/temple/version.rb +0 -3
  727. data/bundle/ruby/2.5.0/gems/tilt-2.0.9/CHANGELOG.md +0 -132
  728. data/bundle/ruby/2.5.0/gems/tilt-2.0.9/Gemfile +0 -70
  729. data/bundle/ruby/2.5.0/gems/tilt-2.0.9/HACKING +0 -16
  730. data/bundle/ruby/2.5.0/gems/tilt-2.0.9/README.md +0 -233
  731. data/bundle/ruby/2.5.0/gems/tilt-2.0.9/tilt.gemspec +0 -130
  732. data/bundle/ruby/2.5.0/gems/unicode-display_width-1.4.1/data/display_width.marshal.gz +0 -0
@@ -1,2345 +0,0 @@
1
- # -*- racc -*-
2
-
3
- class Ruby20Parser
4
-
5
- token kCLASS kMODULE kDEF kUNDEF kBEGIN kRESCUE kENSURE kEND kIF kUNLESS
6
- kTHEN kELSIF kELSE kCASE kWHEN kWHILE kUNTIL kFOR kBREAK kNEXT
7
- kREDO kRETRY kIN kDO kDO_COND kDO_BLOCK kDO_LAMBDA kRETURN kYIELD kSUPER
8
- kSELF kNIL kTRUE kFALSE kAND kOR kNOT kIF_MOD kUNLESS_MOD kWHILE_MOD
9
- kUNTIL_MOD kRESCUE_MOD kALIAS kDEFINED klBEGIN klEND k__LINE__
10
- k__FILE__ k__ENCODING__ tIDENTIFIER tFID tGVAR tIVAR tCONSTANT
11
- tLABEL tCVAR tNTH_REF tBACK_REF tSTRING_CONTENT tINTEGER tFLOAT
12
- tREGEXP_END tUPLUS tUMINUS tUMINUS_NUM tPOW tCMP tEQ tEQQ tNEQ
13
- tGEQ tLEQ tANDOP tOROP tMATCH tNMATCH tDOT tDOT2 tDOT3 tAREF
14
- tASET tLSHFT tRSHFT tCOLON2 tCOLON3 tOP_ASGN tASSOC tLPAREN
15
- tLPAREN2 tRPAREN tLPAREN_ARG tLBRACK tLBRACK2 tRBRACK tLBRACE
16
- tLBRACE_ARG tSTAR tSTAR2 tAMPER tAMPER2 tTILDE tPERCENT tDIVIDE
17
- tPLUS tMINUS tLT tGT tPIPE tBANG tCARET tLCURLY tRCURLY
18
- tBACK_REF2 tSYMBEG tSTRING_BEG tXSTRING_BEG tREGEXP_BEG
19
- tWORDS_BEG tQWORDS_BEG tSTRING_DBEG tSTRING_DVAR tSTRING_END
20
- tSTRING tSYMBOL tNL tEH tCOLON tCOMMA tSPACE tSEMI tLAMBDA
21
- tLAMBEG tDSTAR tCHAR tSYMBOLS_BEG tQSYMBOLS_BEG tSTRING_DEND tUBANG
22
-
23
- prechigh
24
- right tBANG tTILDE tUPLUS
25
- right tPOW
26
- right tUMINUS_NUM tUMINUS
27
- left tSTAR2 tDIVIDE tPERCENT
28
- left tPLUS tMINUS
29
- left tLSHFT tRSHFT
30
- left tAMPER2
31
- left tPIPE tCARET
32
- left tGT tGEQ tLT tLEQ
33
- nonassoc tCMP tEQ tEQQ tNEQ tMATCH tNMATCH
34
- left tANDOP
35
- left tOROP
36
- nonassoc tDOT2 tDOT3
37
- right tEH tCOLON
38
- left kRESCUE_MOD
39
- right tEQL tOP_ASGN
40
- nonassoc kDEFINED
41
- right kNOT
42
- left kOR kAND
43
- nonassoc kIF_MOD kUNLESS_MOD kWHILE_MOD kUNTIL_MOD
44
- nonassoc tLBRACE_ARG
45
- nonassoc tLOWEST
46
- preclow
47
-
48
- rule
49
-
50
- program: {
51
- self.lexer.lex_state = :expr_beg
52
- }
53
- top_compstmt
54
- {
55
- result = new_compstmt val
56
- }
57
-
58
- top_compstmt: top_stmts opt_terms
59
- {
60
- result = val[0]
61
- }
62
-
63
- top_stmts: none
64
- | top_stmt
65
- | top_stmts terms top_stmt
66
- {
67
- result = self.block_append val[0], val[2]
68
- }
69
- | error top_stmt
70
-
71
- top_stmt: stmt
72
- {
73
- result = val[0]
74
-
75
- # TODO: remove once I have more confidence this is fixed
76
- # result.each_of_type :call_args do |s|
77
- # debug20 666, s, result
78
- # end
79
- }
80
- | klBEGIN
81
- {
82
- if (self.in_def || self.in_single > 0) then
83
- debug20 1
84
- yyerror "BEGIN in method"
85
- end
86
- self.env.extend
87
- }
88
- tLCURLY top_compstmt tRCURLY
89
- {
90
- result = new_iter s(:preexe), nil, val[3]
91
- }
92
-
93
- bodystmt: compstmt opt_rescue opt_else opt_ensure
94
- {
95
- result = new_body val
96
- }
97
-
98
- compstmt: stmts opt_terms
99
- {
100
- result = new_compstmt val
101
- }
102
-
103
- stmts: none
104
- | stmt
105
- | stmts terms stmt
106
- {
107
- result = self.block_append val[0], val[2]
108
- }
109
- | error stmt
110
- {
111
- result = val[1]
112
- debug20 2, val, result
113
- }
114
-
115
- stmt: kALIAS fitem
116
- {
117
- lexer.lex_state = :expr_fname
118
- result = self.lexer.lineno
119
- }
120
- fitem
121
- {
122
- result = s(:alias, val[1], val[3]).line(val[2])
123
- }
124
- | kALIAS tGVAR tGVAR
125
- {
126
- result = s(:valias, val[1].to_sym, val[2].to_sym)
127
- }
128
- | kALIAS tGVAR tBACK_REF
129
- {
130
- result = s(:valias, val[1].to_sym, :"$#{val[2]}")
131
- }
132
- | kALIAS tGVAR tNTH_REF
133
- {
134
- yyerror "can't make alias for the number variables"
135
- }
136
- | kUNDEF undef_list
137
- {
138
- result = val[1]
139
- }
140
- | stmt kIF_MOD expr_value
141
- {
142
- result = new_if val[2], val[0], nil
143
- }
144
- | stmt kUNLESS_MOD expr_value
145
- {
146
- result = new_if val[2], nil, val[0]
147
- }
148
- | stmt kWHILE_MOD expr_value
149
- {
150
- result = new_while val[0], val[2], true
151
- }
152
- | stmt kUNTIL_MOD expr_value
153
- {
154
- result = new_until val[0], val[2], true
155
- }
156
- | stmt kRESCUE_MOD stmt
157
- {
158
- result = s(:rescue, val[0], new_resbody(s(:array), val[2]))
159
- }
160
- | klEND tLCURLY compstmt tRCURLY
161
- {
162
- if (self.in_def || self.in_single > 0) then
163
- debug20 3
164
- yyerror "END in method; use at_exit"
165
- end
166
- result = new_iter s(:postexe), 0, val[2]
167
- }
168
- | command_asgn
169
- | mlhs tEQL command_call
170
- {
171
- result = new_masgn val[0], val[2], :wrap
172
- }
173
- | var_lhs tOP_ASGN command_call
174
- {
175
- result = new_op_asgn val
176
- }
177
- | primary_value tLBRACK2 opt_call_args rbracket tOP_ASGN command_call
178
- {
179
- result = s(:op_asgn1, val[0], val[2], val[4].to_sym, val[5])
180
- }
181
- | primary_value call_op tIDENTIFIER tOP_ASGN command_call
182
- {
183
- result = s(:op_asgn, val[0], val[4], val[2].to_sym, val[3].to_sym)
184
- if val[1] == '&.'
185
- result.sexp_type = :safe_op_asgn
186
- end
187
- result.line = val[0].line
188
- }
189
- | primary_value call_op tCONSTANT tOP_ASGN command_call
190
- {
191
- result = s(:op_asgn, val[0], val[4], val[2].to_sym, val[3].to_sym)
192
- if val[1] == '&.'
193
- result.sexp_type = :safe_op_asgn
194
- end
195
- result.line = val[0].line
196
- }
197
- | primary_value tCOLON2 tCONSTANT tOP_ASGN command_call
198
- {
199
- result = s(:op_asgn, val[0], val[4], val[2], val[3])
200
- debug20 4, val, result
201
- }
202
- | primary_value tCOLON2 tIDENTIFIER tOP_ASGN command_call
203
- {
204
- result = s(:op_asgn, val[0], val[4], val[2], val[3])
205
- debug20 5, val, result
206
- }
207
- | backref tOP_ASGN command_call
208
- {
209
- self.backref_assign_error val[0]
210
- }
211
- | lhs tEQL mrhs
212
- {
213
- result = new_assign val[0], s(:svalue, val[2])
214
- }
215
- | mlhs tEQL arg_value
216
- {
217
- result = new_masgn val[0], val[2], :wrap
218
- }
219
- | mlhs tEQL mrhs
220
- {
221
- result = new_masgn val[0], val[2]
222
- }
223
- | expr
224
-
225
- command_asgn: lhs tEQL command_call
226
- {
227
- result = new_assign val[0], val[2]
228
- }
229
- | lhs tEQL command_asgn
230
- {
231
- result = new_assign val[0], val[2]
232
- }
233
-
234
- expr: command_call
235
- | expr kAND expr
236
- {
237
- result = logical_op :and, val[0], val[2]
238
- }
239
- | expr kOR expr
240
- {
241
- result = logical_op :or, val[0], val[2]
242
- }
243
- | kNOT opt_nl expr
244
- {
245
- result = s(:call, val[2], :"!")
246
- }
247
- | tBANG command_call
248
- {
249
- result = s(:call, val[1], :"!")
250
- }
251
- | arg
252
-
253
- expr_value: expr
254
- {
255
- result = value_expr(val[0])
256
- }
257
-
258
- command_call: command
259
- | block_command
260
-
261
- block_command: block_call
262
- | block_call dot_or_colon operation2 command_args
263
- {
264
- result = new_call val[0], val[2].to_sym, val[3]
265
- }
266
-
267
- cmd_brace_block: tLBRACE_ARG
268
- {
269
- self.env.extend(:dynamic)
270
- result = self.lexer.lineno
271
- }
272
- opt_block_param
273
- {
274
- result = nil # self.env.dynamic.keys
275
- }
276
- compstmt tRCURLY
277
- {
278
- result = new_iter nil, val[2], val[4]
279
- result.line = val[1]
280
-
281
- self.env.unextend
282
- }
283
-
284
- fcall: operation
285
- {
286
- result = new_call nil, val[0].to_sym
287
- }
288
-
289
- command: fcall command_args =tLOWEST
290
- {
291
- result = val[0].concat val[1].sexp_body # REFACTOR pattern
292
- }
293
- | fcall command_args cmd_brace_block
294
- {
295
- result = val[0].concat val[1].sexp_body
296
- if val[2] then
297
- block_dup_check result, val[2]
298
-
299
- result, operation = val[2], result
300
- result.insert 1, operation
301
- end
302
- }
303
- | primary_value call_op operation2 command_args =tLOWEST
304
- {
305
- result = new_call val[0], val[2].to_sym, val[3], val[1]
306
- }
307
- | primary_value call_op operation2 command_args cmd_brace_block
308
- {
309
- recv, _, msg, args, block = val
310
- call = new_call recv, msg.to_sym, args, val[1]
311
-
312
- block_dup_check call, block
313
-
314
- block.insert 1, call
315
- result = block
316
- }
317
- | primary_value tCOLON2 operation2 command_args =tLOWEST
318
- {
319
- result = new_call val[0], val[2].to_sym, val[3]
320
- }
321
- | primary_value tCOLON2 operation2 command_args cmd_brace_block
322
- {
323
- recv, _, msg, args, block = val
324
- call = new_call recv, msg.to_sym, args
325
-
326
- block_dup_check call, block
327
-
328
- block.insert 1, call
329
- result = block
330
- }
331
- | kSUPER command_args
332
- {
333
- result = new_super val[1]
334
- }
335
- | kYIELD command_args
336
- {
337
- result = new_yield val[1]
338
- }
339
- | kRETURN call_args
340
- {
341
- line = val[0].last
342
- result = s(:return, ret_args(val[1])).line(line)
343
- }
344
- | kBREAK call_args
345
- {
346
- line = val[0].last
347
- result = s(:break, ret_args(val[1])).line(line)
348
- }
349
- | kNEXT call_args
350
- {
351
- line = val[0].last
352
- result = s(:next, ret_args(val[1])).line(line)
353
- }
354
-
355
- mlhs: mlhs_basic
356
- | tLPAREN mlhs_inner rparen
357
- {
358
- result = val[1]
359
- }
360
-
361
- mlhs_inner: mlhs_basic
362
- | tLPAREN mlhs_inner rparen
363
- {
364
- result = s(:masgn, s(:array, val[1]))
365
- }
366
-
367
- mlhs_basic: mlhs_head
368
- {
369
- result = s(:masgn, val[0])
370
- }
371
- | mlhs_head mlhs_item
372
- {
373
- result = s(:masgn, val[0] << val[1].compact)
374
- }
375
- | mlhs_head tSTAR mlhs_node
376
- {
377
- result = s(:masgn, val[0] << s(:splat, val[2]))
378
- }
379
- | mlhs_head tSTAR mlhs_node tCOMMA mlhs_post
380
- {
381
- ary1, _, splat, _, ary2 = val
382
-
383
- result = list_append ary1, s(:splat, splat)
384
- result.concat ary2.sexp_body
385
- result = s(:masgn, result)
386
- }
387
- | mlhs_head tSTAR
388
- {
389
- result = s(:masgn, val[0] << s(:splat))
390
- }
391
- | mlhs_head tSTAR tCOMMA mlhs_post
392
- {
393
- ary = list_append val[0], s(:splat)
394
- ary.concat val[3].sexp_body
395
- result = s(:masgn, ary)
396
- }
397
- | tSTAR mlhs_node
398
- {
399
- result = s(:masgn, s(:array, s(:splat, val[1])))
400
- }
401
- | tSTAR mlhs_node tCOMMA mlhs_post
402
- {
403
- ary = s(:array, s(:splat, val[1]))
404
- ary.concat val[3].sexp_body
405
- result = s(:masgn, ary)
406
- }
407
- | tSTAR
408
- {
409
- result = s(:masgn, s(:array, s(:splat)))
410
- }
411
- | tSTAR tCOMMA mlhs_post
412
- {
413
- result = s(:masgn, s(:array, s(:splat), *val[2].sexp_body))
414
- }
415
-
416
- mlhs_item: mlhs_node
417
- | tLPAREN mlhs_inner rparen
418
- {
419
- result = val[1]
420
- }
421
-
422
- mlhs_head: mlhs_item tCOMMA
423
- {
424
- result = s(:array, val[0])
425
- }
426
- | mlhs_head mlhs_item tCOMMA
427
- {
428
- result = val[0] << val[1].compact
429
- }
430
-
431
- mlhs_post: mlhs_item
432
- {
433
- result = s(:array, val[0])
434
- }
435
- | mlhs_post tCOMMA mlhs_item
436
- {
437
- result = list_append val[0], val[2]
438
- }
439
-
440
- mlhs_node: user_variable
441
- {
442
- result = self.assignable val[0]
443
- }
444
- | keyword_variable
445
- {
446
- result = self.assignable val[0]
447
- }
448
- | primary_value tLBRACK2 opt_call_args rbracket
449
- {
450
- result = self.aryset val[0], val[2]
451
- }
452
- | primary_value call_op tIDENTIFIER
453
- {
454
- result = new_attrasgn val[0], val[2], val[1]
455
- }
456
- | primary_value tCOLON2 tIDENTIFIER
457
- {
458
- result = s(:attrasgn, val[0], :"#{val[2]}=")
459
- }
460
- | primary_value call_op tCONSTANT
461
- {
462
- result = new_attrasgn val[0], val[2], val[1]
463
- }
464
- | primary_value tCOLON2 tCONSTANT
465
- {
466
- if (self.in_def || self.in_single > 0) then
467
- debug20 7
468
- yyerror "dynamic constant assignment"
469
- end
470
-
471
- result = s(:const, s(:colon2, val[0], val[2].to_sym), nil)
472
- }
473
- | tCOLON3 tCONSTANT
474
- {
475
- if (self.in_def || self.in_single > 0) then
476
- debug20 8
477
- yyerror "dynamic constant assignment"
478
- end
479
-
480
- result = s(:const, nil, s(:colon3, val[1].to_sym))
481
- }
482
- | backref
483
- {
484
- self.backref_assign_error val[0]
485
- }
486
-
487
- lhs: user_variable
488
- {
489
- result = self.assignable val[0]
490
- }
491
- | keyword_variable
492
- {
493
- result = self.assignable val[0]
494
- debug20 9, val, result
495
- }
496
- | primary_value tLBRACK2 opt_call_args rbracket
497
- {
498
- result = self.aryset val[0], val[2]
499
- }
500
- | primary_value call_op tIDENTIFIER # REFACTOR
501
- {
502
- result = new_attrasgn val[0], val[2], val[1]
503
- }
504
- | primary_value tCOLON2 tIDENTIFIER
505
- {
506
- result = s(:attrasgn, val[0], :"#{val[2]}=")
507
- }
508
- | primary_value call_op tCONSTANT # REFACTOR?
509
- {
510
- result = new_attrasgn val[0], val[2], val[1]
511
- }
512
- | primary_value tCOLON2 tCONSTANT
513
- {
514
- if (self.in_def || self.in_single > 0) then
515
- debug20 10
516
- yyerror "dynamic constant assignment"
517
- end
518
-
519
- result = s(:const, s(:colon2, val[0], val[2].to_sym))
520
- }
521
- | tCOLON3 tCONSTANT
522
- {
523
- if (self.in_def || self.in_single > 0) then
524
- debug20 11
525
- yyerror "dynamic constant assignment"
526
- end
527
-
528
- result = s(:const, s(:colon3, val[1].to_sym))
529
- }
530
- | backref
531
- {
532
- self.backref_assign_error val[0]
533
- }
534
-
535
- cname: tIDENTIFIER
536
- {
537
- yyerror "class/module name must be CONSTANT"
538
- }
539
- | tCONSTANT
540
-
541
- cpath: tCOLON3 cname
542
- {
543
- result = s(:colon3, val[1].to_sym)
544
- }
545
- | cname
546
- {
547
- result = val[0].to_sym
548
- }
549
- | primary_value tCOLON2 cname
550
- {
551
- result = s(:colon2, val[0], val[2].to_sym)
552
- }
553
-
554
- fname: tIDENTIFIER | tCONSTANT | tFID
555
- | op
556
- {
557
- lexer.lex_state = :expr_end
558
- result = val[0]
559
- }
560
-
561
- | reswords
562
- {
563
- lexer.lex_state = :expr_end
564
- result = val[0]
565
- }
566
-
567
- fsym: fname | symbol
568
-
569
- fitem: fsym
570
- {
571
- result = s(:lit, val[0].to_sym)
572
- }
573
- | dsym
574
-
575
- undef_list: fitem
576
- {
577
- result = new_undef val[0]
578
- }
579
- |
580
- undef_list tCOMMA
581
- {
582
- lexer.lex_state = :expr_fname
583
- }
584
- fitem
585
- {
586
- result = new_undef val[0], val[3]
587
- }
588
-
589
- op: tPIPE | tCARET | tAMPER2 | tCMP | tEQ | tEQQ
590
- | tMATCH | tNMATCH | tGT | tGEQ | tLT | tLEQ
591
- | tNEQ | tLSHFT | tRSHFT | tPLUS | tMINUS | tSTAR2
592
- | tSTAR | tDIVIDE | tPERCENT | tPOW | tDSTAR | tBANG | tTILDE
593
- | tUPLUS | tUMINUS | tAREF | tASET | tBACK_REF2
594
- | tUBANG
595
-
596
- reswords: k__LINE__ | k__FILE__ | k__ENCODING__ | klBEGIN | klEND
597
- | kALIAS | kAND | kBEGIN | kBREAK | kCASE
598
- | kCLASS | kDEF | kDEFINED | kDO | kELSE
599
- | kELSIF | kEND | kENSURE | kFALSE | kFOR
600
- | kIN | kMODULE | kNEXT | kNIL | kNOT
601
- | kOR | kREDO | kRESCUE | kRETRY | kRETURN
602
- | kSELF | kSUPER | kTHEN | kTRUE | kUNDEF
603
- | kWHEN | kYIELD | kIF | kUNLESS | kWHILE
604
- | kUNTIL
605
-
606
- arg: lhs tEQL arg
607
- {
608
- result = new_assign val[0], val[2]
609
- }
610
- | lhs tEQL arg kRESCUE_MOD arg
611
- {
612
- result = new_assign val[0], s(:rescue, val[2], new_resbody(s(:array), val[4]))
613
- }
614
- | var_lhs tOP_ASGN arg
615
- {
616
- result = new_op_asgn val
617
- }
618
- | var_lhs tOP_ASGN arg kRESCUE_MOD arg
619
- {
620
- result = new_op_asgn val
621
- result = s(:rescue, result, new_resbody(s(:array), val[4]))
622
- }
623
- | primary_value tLBRACK2 opt_call_args rbracket tOP_ASGN arg
624
- {
625
- val[2].sexp_type = :arglist if val[2]
626
- result = s(:op_asgn1, val[0], val[2], val[4].to_sym, val[5])
627
- }
628
- | primary_value call_op tIDENTIFIER tOP_ASGN arg
629
- {
630
- result = new_op_asgn2 val
631
- }
632
- | primary_value call_op tCONSTANT tOP_ASGN arg
633
- {
634
- result = new_op_asgn2 val
635
- }
636
- | primary_value tCOLON2 tIDENTIFIER tOP_ASGN arg
637
- {
638
- result = s(:op_asgn, val[0], val[4], val[2].to_sym, val[3].to_sym)
639
- }
640
- | primary_value tCOLON2 tCONSTANT tOP_ASGN arg
641
- {
642
- yyerror "constant re-assignment"
643
- }
644
- | tCOLON3 tCONSTANT tOP_ASGN arg
645
- {
646
- yyerror "constant re-assignment"
647
- }
648
- | backref tOP_ASGN arg
649
- {
650
- self.backref_assign_error val[0]
651
- }
652
- | arg tDOT2 arg
653
- {
654
- v1, v2 = val[0], val[2]
655
- if v1.node_type == :lit and v2.node_type == :lit and Integer === v1.last and Integer === v2.last then
656
- result = s(:lit, (v1.last)..(v2.last))
657
- else
658
- result = s(:dot2, v1, v2)
659
- end
660
- }
661
- | arg tDOT3 arg
662
- {
663
- v1, v2 = val[0], val[2]
664
- if v1.node_type == :lit and v2.node_type == :lit and Integer === v1.last and Integer === v2.last then
665
- result = s(:lit, (v1.last)...(v2.last))
666
- else
667
- result = s(:dot3, v1, v2)
668
- end
669
- }
670
- | arg tPLUS arg
671
- {
672
- result = new_call val[0], :+, argl(val[2])
673
- }
674
- | arg tMINUS arg
675
- {
676
- result = new_call val[0], :-, argl(val[2])
677
- }
678
- | arg tSTAR2 arg # TODO: rename
679
- {
680
- result = new_call val[0], :*, argl(val[2])
681
- }
682
- | arg tDIVIDE arg
683
- {
684
- result = new_call val[0], :"/", argl(val[2])
685
- }
686
- | arg tPERCENT arg
687
- {
688
- result = new_call val[0], :"%", argl(val[2])
689
- }
690
- | arg tPOW arg
691
- {
692
- result = new_call val[0], :**, argl(val[2])
693
- }
694
- | tUMINUS_NUM tINTEGER tPOW arg
695
- {
696
- result = new_call(new_call(s(:lit, val[1]), :"**", argl(val[3])), :"-@")
697
- }
698
- | tUMINUS_NUM tFLOAT tPOW arg
699
- {
700
- result = new_call(new_call(s(:lit, val[1]), :"**", argl(val[3])), :"-@")
701
- ## TODO: why is this 2.0 only?
702
- debug20 12, val, result
703
- }
704
- | tUPLUS arg
705
- {
706
- result = new_call val[1], :"+@"
707
- }
708
- | tUMINUS arg
709
- {
710
- result = new_call val[1], :"-@"
711
- }
712
- | arg tPIPE arg
713
- {
714
- result = new_call val[0], :"|", argl(val[2])
715
- }
716
- | arg tCARET arg
717
- {
718
- result = new_call val[0], :"^", argl(val[2])
719
- }
720
- | arg tAMPER2 arg
721
- {
722
- result = new_call val[0], :"&", argl(val[2])
723
- }
724
- | arg tCMP arg
725
- {
726
- result = new_call val[0], :"<=>", argl(val[2])
727
- }
728
- | arg tGT arg
729
- {
730
- result = new_call val[0], :">", argl(val[2])
731
- }
732
- | arg tGEQ arg
733
- {
734
- result = new_call val[0], :">=", argl(val[2])
735
- }
736
- | arg tLT arg
737
- {
738
- result = new_call val[0], :"<", argl(val[2])
739
- }
740
- | arg tLEQ arg
741
- {
742
- result = new_call val[0], :"<=", argl(val[2])
743
- }
744
- | arg tEQ arg
745
- {
746
- result = new_call val[0], :"==", argl(val[2])
747
- }
748
- | arg tEQQ arg
749
- {
750
- result = new_call val[0], :"===", argl(val[2])
751
- }
752
- | arg tNEQ arg
753
- {
754
- result = new_call val[0], :"!=", argl(val[2])
755
- }
756
- | arg tMATCH arg
757
- {
758
- result = new_match val[0], val[2]
759
- }
760
- | arg tNMATCH arg
761
- {
762
- result = s(:not, new_match(val[0], val[2]))
763
- }
764
- | tBANG arg
765
- {
766
- result = new_call val[1], :"!"
767
- }
768
- | tTILDE arg
769
- {
770
- result = new_call value_expr(val[1]), :"~"
771
- }
772
- | arg tLSHFT arg
773
- {
774
- val[0] = value_expr val[0]
775
- val[2] = value_expr val[2]
776
- result = new_call val[0], :"\<\<", argl(val[2])
777
- }
778
- | arg tRSHFT arg
779
- {
780
- val[0] = value_expr val[0]
781
- val[2] = value_expr val[2]
782
- result = new_call val[0], :">>", argl(val[2])
783
- }
784
- | arg tANDOP arg
785
- {
786
- result = logical_op :and, val[0], val[2]
787
- }
788
- | arg tOROP arg
789
- {
790
- result = logical_op :or, val[0], val[2]
791
- }
792
- | kDEFINED opt_nl arg
793
- {
794
- result = s(:defined, val[2])
795
- }
796
- | arg tEH arg opt_nl tCOLON arg
797
- {
798
- result = s(:if, val[0], val[2], val[5])
799
- }
800
- | primary
801
-
802
- arg_value: arg
803
- {
804
- result = value_expr(val[0])
805
- }
806
-
807
- aref_args: none
808
- | args trailer
809
- {
810
- result = args [val[0]]
811
- }
812
- | args tCOMMA assocs trailer
813
- {
814
- result = args [val[0], array_to_hash(val[2])]
815
- }
816
- | assocs trailer
817
- {
818
- result = args [array_to_hash(val[0])]
819
- }
820
-
821
- paren_args: tLPAREN2 opt_call_args rparen
822
- {
823
- result = val[1]
824
- }
825
-
826
- opt_paren_args: none
827
- | paren_args
828
-
829
- opt_call_args: none
830
- {
831
- result = val[0]
832
- }
833
- | call_args
834
- {
835
- result = val[0]
836
- }
837
- | args tCOMMA
838
- {
839
- result = args val
840
- }
841
- | args tCOMMA assocs tCOMMA
842
- {
843
- result = args [val[0], array_to_hash(val[2])]
844
- }
845
- | assocs tCOMMA
846
- {
847
- result = args [array_to_hash(val[0])]
848
- }
849
-
850
- call_args: command
851
- {
852
- warning "parenthesize argument(s) for future version"
853
- result = call_args val
854
- }
855
- | args opt_block_arg
856
- {
857
- result = call_args val
858
- result = self.arg_blk_pass val[0], val[1]
859
- }
860
- | assocs opt_block_arg
861
- {
862
- result = call_args [array_to_hash(val[0])]
863
- result = self.arg_blk_pass result, val[1]
864
- }
865
- | args tCOMMA assocs opt_block_arg
866
- {
867
- result = call_args [val[0], array_to_hash(val[2])]
868
- result = self.arg_blk_pass result, val[3]
869
- }
870
- | block_arg
871
- {
872
- result = call_args val
873
- }
874
-
875
- command_args: {
876
- result = lexer.cmdarg.stack.dup # TODO: smell?
877
- lexer.cmdarg.push true
878
- }
879
- call_args
880
- {
881
- lexer.cmdarg.stack.replace val[0]
882
- result = val[1]
883
- }
884
-
885
- block_arg: tAMPER arg_value
886
- {
887
- result = s(:block_pass, val[1])
888
- }
889
-
890
- opt_block_arg: tCOMMA block_arg
891
- {
892
- result = val[1]
893
- }
894
- | none
895
-
896
- args: arg_value
897
- {
898
- result = s(:array, val[0])
899
- }
900
- | tSTAR arg_value
901
- {
902
- result = s(:array, s(:splat, val[1]))
903
- }
904
- | args tCOMMA arg_value
905
- {
906
- result = self.list_append val[0], val[2]
907
- }
908
- | args tCOMMA tSTAR arg_value
909
- {
910
- result = self.list_append val[0], s(:splat, val[3])
911
- }
912
-
913
- mrhs: args tCOMMA arg_value
914
- {
915
- result = val[0] << val[2]
916
- }
917
- | args tCOMMA tSTAR arg_value
918
- {
919
- result = self.arg_concat val[0], val[3]
920
- }
921
- | tSTAR arg_value
922
- {
923
- result = s(:splat, val[1])
924
- }
925
-
926
- primary: literal
927
- | strings
928
- | xstring
929
- | regexp
930
- | words
931
- | qwords
932
- | symbols
933
- | qsymbols
934
- | var_ref
935
- | backref
936
- | tFID
937
- {
938
- result = new_call nil, val[0].to_sym
939
- }
940
- | kBEGIN
941
- {
942
- result = self.lexer.lineno
943
- }
944
- bodystmt kEND
945
- {
946
- unless val[2] then
947
- result = s(:nil)
948
- else
949
- result = s(:begin, val[2])
950
- end
951
-
952
- result.line = val[1]
953
- }
954
- | tLPAREN_ARG rparen
955
- {
956
- debug20 13, val, result
957
- }
958
- | tLPAREN_ARG
959
- {
960
- result = self.lexer.cmdarg.stack.dup
961
- lexer.cmdarg.stack.replace [false] # TODO add api for these
962
- }
963
- expr
964
- {
965
- lexer.lex_state = :expr_endarg
966
- }
967
- rparen
968
- {
969
- warning "(...) interpreted as grouped expression"
970
- lexer.cmdarg.stack.replace val[1]
971
- result = val[2]
972
- }
973
- | tLPAREN compstmt tRPAREN
974
- {
975
- result = val[1] || s(:nil)
976
- result.paren = true
977
- }
978
- | primary_value tCOLON2 tCONSTANT
979
- {
980
- result = s(:colon2, val[0], val[2].to_sym)
981
- }
982
- | tCOLON3 tCONSTANT
983
- {
984
- result = s(:colon3, val[1].to_sym)
985
- }
986
- | tLBRACK aref_args tRBRACK
987
- {
988
- result = val[1] || s(:array)
989
- result.sexp_type = :array # aref_args is :args
990
- }
991
- | tLBRACE
992
- {
993
- result = self.lexer.lineno
994
- }
995
- assoc_list tRCURLY
996
- {
997
- result = new_hash val
998
- }
999
- | kRETURN
1000
- {
1001
- result = s(:return)
1002
- }
1003
- | kYIELD tLPAREN2 call_args rparen
1004
- {
1005
- result = new_yield val[2]
1006
- }
1007
- | kYIELD tLPAREN2 rparen
1008
- {
1009
- result = new_yield
1010
- }
1011
- | kYIELD
1012
- {
1013
- result = new_yield
1014
- }
1015
- | kDEFINED opt_nl tLPAREN2 expr rparen
1016
- {
1017
- result = s(:defined, val[3])
1018
- }
1019
- | kNOT tLPAREN2 expr rparen
1020
- {
1021
- result = s(:call, val[2], :"!")
1022
- }
1023
- | kNOT tLPAREN2 rparen
1024
- {
1025
- debug20 14, val, result
1026
- }
1027
- | fcall brace_block
1028
- {
1029
- oper, iter = val[0], val[1]
1030
- call = oper # FIX
1031
- iter.insert 1, call
1032
- result = iter
1033
- call.line = iter.line
1034
- }
1035
- | method_call
1036
- | method_call brace_block
1037
- {
1038
- call, iter = val[0], val[1]
1039
- block_dup_check call, iter
1040
- iter.insert 1, call # FIX
1041
- result = iter
1042
- }
1043
- | tLAMBDA lambda
1044
- {
1045
- result = val[1] # TODO: fix lineno
1046
- }
1047
- | kIF expr_value then compstmt if_tail kEND
1048
- {
1049
- result = new_if val[1], val[3], val[4]
1050
- }
1051
- | kUNLESS expr_value then compstmt opt_else kEND
1052
- {
1053
- result = new_if val[1], val[4], val[3]
1054
- }
1055
- | kWHILE
1056
- {
1057
- lexer.cond.push true
1058
- }
1059
- expr_value do
1060
- {
1061
- lexer.cond.pop
1062
- }
1063
- compstmt kEND
1064
- {
1065
- result = new_while val[5], val[2], true
1066
- }
1067
- | kUNTIL
1068
- {
1069
- lexer.cond.push true
1070
- }
1071
- expr_value do
1072
- {
1073
- lexer.cond.pop
1074
- }
1075
- compstmt kEND
1076
- {
1077
- result = new_until val[5], val[2], true
1078
- }
1079
- | kCASE expr_value opt_terms case_body kEND
1080
- {
1081
- (_, line), expr, _, body, _ = val
1082
- result = new_case expr, body, line
1083
- }
1084
- | kCASE opt_terms case_body kEND
1085
- {
1086
- (_, line), _, body, _ = val
1087
- result = new_case nil, body, line
1088
- }
1089
- | kFOR for_var kIN
1090
- {
1091
- lexer.cond.push true
1092
- }
1093
- expr_value do
1094
- {
1095
- lexer.cond.pop
1096
- }
1097
- compstmt kEND
1098
- {
1099
- result = new_for val[4], val[1], val[7]
1100
- }
1101
- | kCLASS
1102
- {
1103
- result = self.lexer.lineno
1104
- }
1105
- cpath superclass
1106
- {
1107
- self.comments.push self.lexer.comments
1108
- if (self.in_def || self.in_single > 0) then
1109
- yyerror "class definition in method body"
1110
- end
1111
- self.env.extend
1112
- }
1113
- bodystmt kEND
1114
- {
1115
- result = new_class val
1116
- self.env.unextend
1117
- self.lexer.comments # we don't care about comments in the body
1118
- }
1119
- | kCLASS tLSHFT
1120
- {
1121
- result = self.lexer.lineno
1122
- }
1123
- expr
1124
- {
1125
- result = self.in_def
1126
- self.in_def = false
1127
- }
1128
- term
1129
- {
1130
- result = self.in_single
1131
- self.in_single = 0
1132
- self.env.extend
1133
- }
1134
- bodystmt kEND
1135
- {
1136
- result = new_sclass val
1137
- self.env.unextend
1138
- self.lexer.comments # we don't care about comments in the body
1139
- }
1140
- | kMODULE
1141
- {
1142
- result = self.lexer.lineno
1143
- }
1144
- cpath
1145
- {
1146
- self.comments.push self.lexer.comments
1147
- yyerror "module definition in method body" if
1148
- self.in_def or self.in_single > 0
1149
-
1150
- self.env.extend
1151
- }
1152
- bodystmt kEND
1153
- {
1154
- result = new_module val
1155
- self.env.unextend
1156
- self.lexer.comments # we don't care about comments in the body
1157
- }
1158
- | kDEF fname
1159
- {
1160
- result = [self.in_def, self.lexer.cmdarg.stack.dup]
1161
-
1162
- self.comments.push self.lexer.comments
1163
- self.in_def = true
1164
- self.env.extend
1165
- # TODO: local->cmdargs = cmdarg_stack;
1166
- # TODO: port local_push_gen and local_pop_gen
1167
- lexer.cmdarg.stack.replace [false]
1168
- }
1169
- f_arglist bodystmt kEND
1170
- {
1171
- in_def, cmdarg = val[2]
1172
-
1173
- result = new_defn val
1174
-
1175
- lexer.cmdarg.stack.replace cmdarg
1176
- self.env.unextend
1177
- self.in_def = in_def
1178
- self.lexer.comments # we don't care about comments in the body
1179
- }
1180
- | kDEF singleton dot_or_colon
1181
- {
1182
- self.comments.push self.lexer.comments
1183
- lexer.lex_state = :expr_fname
1184
- }
1185
- fname
1186
- {
1187
- self.in_single += 1
1188
- self.env.extend
1189
- lexer.lex_state = :expr_endfn # force for args
1190
- result = [lexer.lineno, self.lexer.cmdarg.stack.dup]
1191
- lexer.cmdarg.stack.replace [false]
1192
- }
1193
- f_arglist bodystmt kEND
1194
- {
1195
- line, cmdarg = val[5]
1196
- result = new_defs val
1197
- result[3].line line
1198
-
1199
- lexer.cmdarg.stack.replace cmdarg
1200
-
1201
- self.env.unextend
1202
- self.in_single -= 1
1203
- self.lexer.comments # we don't care about comments in the body
1204
- }
1205
- | kBREAK
1206
- {
1207
- result = s(:break)
1208
- }
1209
- | kNEXT
1210
- {
1211
- result = s(:next)
1212
- }
1213
- | kREDO
1214
- {
1215
- result = s(:redo)
1216
- }
1217
- | kRETRY
1218
- {
1219
- result = s(:retry)
1220
- }
1221
-
1222
- primary_value: primary
1223
- {
1224
- result = value_expr(val[0])
1225
- }
1226
-
1227
- # These are really stupid
1228
- k_begin: kBEGIN
1229
- k_if: kIF
1230
- k_unless: kUNLESS
1231
- k_while: kWHILE
1232
- k_until: kUNTIL
1233
- k_case: kCASE
1234
- k_for: kFOR
1235
- k_class: kCLASS
1236
- k_module: kMODULE
1237
- k_def: kDEF
1238
- k_end: kEND
1239
-
1240
- then: term
1241
- | kTHEN
1242
- | term kTHEN
1243
-
1244
- do: term
1245
- | kDO_COND
1246
-
1247
- if_tail: opt_else
1248
- | kELSIF expr_value then compstmt if_tail
1249
- {
1250
- result = s(:if, val[1], val[3], val[4])
1251
- }
1252
-
1253
- opt_else: none
1254
- | kELSE compstmt
1255
- {
1256
- result = val[1]
1257
- }
1258
-
1259
- for_var: lhs
1260
- | mlhs
1261
- {
1262
- val[0].delete_at 1 if val[0][1].nil? # HACK
1263
- }
1264
-
1265
- f_marg: f_norm_arg
1266
- | tLPAREN f_margs rparen
1267
- {
1268
- result = val[1]
1269
- }
1270
-
1271
- f_marg_list: f_marg
1272
- {
1273
- result = s(:array, val[0])
1274
- }
1275
- | f_marg_list tCOMMA f_marg
1276
- {
1277
- result = list_append val[0], val[2]
1278
- }
1279
-
1280
- f_margs: f_marg_list
1281
- {
1282
- args, = val
1283
-
1284
- result = block_var args
1285
- }
1286
- | f_marg_list tCOMMA tSTAR f_norm_arg
1287
- {
1288
- args, _, _, splat = val
1289
-
1290
- result = block_var args, "*#{splat}".to_sym
1291
- }
1292
- | f_marg_list tCOMMA tSTAR f_norm_arg tCOMMA f_marg_list
1293
- {
1294
- args, _, _, splat, _, args2 = val
1295
-
1296
- result = block_var args, "*#{splat}".to_sym, args2
1297
- }
1298
- | f_marg_list tCOMMA tSTAR
1299
- {
1300
- args, _, _ = val
1301
-
1302
- result = block_var args, :*
1303
- }
1304
- | f_marg_list tCOMMA tSTAR tCOMMA f_marg_list
1305
- {
1306
- args, _, _, _, args2 = val
1307
-
1308
- result = block_var args, :*, args2
1309
- }
1310
- | tSTAR f_norm_arg
1311
- {
1312
- _, splat = val
1313
-
1314
- result = block_var :"*#{splat}"
1315
- }
1316
- | tSTAR f_norm_arg tCOMMA f_marg_list
1317
- {
1318
- _, splat, _, args = val
1319
-
1320
- result = block_var :"*#{splat}", args
1321
- }
1322
- | tSTAR
1323
- {
1324
- result = block_var :*
1325
- }
1326
- | tSTAR tCOMMA f_marg_list
1327
- {
1328
- _, _, args = val
1329
-
1330
- result = block_var :*, args
1331
- }
1332
-
1333
- block_args_tail: f_block_kwarg tCOMMA f_kwrest opt_f_block_arg
1334
- {
1335
- result = call_args val
1336
- }
1337
- | f_block_kwarg opt_f_block_arg
1338
- {
1339
- result = call_args val
1340
- }
1341
- | f_kwrest opt_f_block_arg
1342
- {
1343
- result = call_args val
1344
- }
1345
- | f_block_arg
1346
- {
1347
- result = call_args val
1348
- }
1349
-
1350
- opt_block_args_tail: tCOMMA block_args_tail
1351
- {
1352
- result = args val
1353
- }
1354
- | none
1355
-
1356
- block_param: f_arg tCOMMA f_block_optarg tCOMMA f_rest_arg opt_block_args_tail
1357
- {
1358
- result = args val
1359
- }
1360
- | f_arg tCOMMA f_block_optarg tCOMMA f_rest_arg tCOMMA f_arg opt_block_args_tail
1361
- {
1362
- result = args val
1363
- }
1364
- | f_arg tCOMMA f_block_optarg opt_block_args_tail
1365
- {
1366
- result = args val
1367
- }
1368
- | f_arg tCOMMA f_block_optarg tCOMMA f_arg opt_block_args_tail
1369
- {
1370
- result = args val
1371
- }
1372
- | f_arg tCOMMA f_rest_arg opt_block_args_tail
1373
- {
1374
- result = args val
1375
- }
1376
- | f_arg tCOMMA
1377
- {
1378
- result = args val
1379
- }
1380
- | f_arg tCOMMA f_rest_arg tCOMMA f_arg opt_block_args_tail
1381
- {
1382
- result = args val
1383
- }
1384
- | f_arg opt_block_args_tail
1385
- {
1386
- result = args val
1387
- }
1388
- | f_block_optarg tCOMMA f_rest_arg opt_block_args_tail
1389
- {
1390
- result = args val
1391
- }
1392
- | f_block_optarg tCOMMA f_rest_arg tCOMMA f_arg opt_block_args_tail
1393
- {
1394
- result = args val
1395
- }
1396
- | f_block_optarg opt_block_args_tail
1397
- {
1398
- result = args val
1399
- }
1400
- | f_block_optarg tCOMMA f_arg opt_block_args_tail
1401
- {
1402
- result = args val
1403
- }
1404
- | f_rest_arg opt_block_args_tail
1405
- {
1406
- result = args val
1407
- }
1408
- | f_rest_arg tCOMMA f_arg opt_block_args_tail
1409
- {
1410
- result = args val
1411
- }
1412
- | block_args_tail
1413
- {
1414
- result = args val
1415
- }
1416
-
1417
- opt_block_param: none { result = 0 }
1418
- | block_param_def
1419
-
1420
- block_param_def: tPIPE opt_bv_decl tPIPE
1421
- {
1422
- result = args val
1423
- }
1424
- | tOROP
1425
- {
1426
- self.lexer.command_start = true
1427
- result = s(:args)
1428
- }
1429
- | tPIPE block_param opt_bv_decl tPIPE
1430
- {
1431
- result = args val
1432
- }
1433
-
1434
- opt_bv_decl: opt_nl
1435
- | opt_nl tSEMI bv_decls opt_nl
1436
- {
1437
- result = args val
1438
- }
1439
-
1440
- bv_decls: bvar
1441
- {
1442
- result = args val
1443
- }
1444
- | bv_decls tCOMMA bvar
1445
- {
1446
- result = args val
1447
- }
1448
-
1449
- bvar: tIDENTIFIER
1450
- {
1451
- result = s(:shadow, val[0].to_sym)
1452
- }
1453
- | f_bad_arg
1454
-
1455
- lambda: {
1456
- self.env.extend :dynamic
1457
- result = self.lexer.lineno
1458
-
1459
- result = lexer.lpar_beg
1460
- lexer.paren_nest += 1
1461
- lexer.lpar_beg = lexer.paren_nest
1462
- }
1463
- f_larglist lambda_body
1464
- {
1465
- lpar, args, body = val
1466
- lexer.lpar_beg = lpar
1467
-
1468
- call = new_call nil, :lambda
1469
- result = new_iter call, args, body
1470
- self.env.unextend
1471
- }
1472
-
1473
- f_larglist: tLPAREN2 f_args opt_bv_decl rparen
1474
- {
1475
- result = args val
1476
- }
1477
- | f_args
1478
- {
1479
- result = val[0]
1480
- result = 0 if result == s(:args)
1481
- }
1482
-
1483
- lambda_body: tLAMBEG compstmt tRCURLY
1484
- {
1485
- result = val[1]
1486
- }
1487
- | kDO_LAMBDA compstmt kEND
1488
- {
1489
- result = val[1]
1490
- }
1491
-
1492
- do_block: kDO_BLOCK
1493
- {
1494
- self.env.extend :dynamic
1495
- result = self.lexer.lineno
1496
- }
1497
- opt_block_param
1498
- {
1499
- result = nil # self.env.dynamic.keys
1500
- }
1501
- compstmt kEND
1502
- {
1503
- args = val[2]
1504
- body = val[4]
1505
- result = new_iter nil, args, body
1506
- result.line = val[1]
1507
-
1508
- self.env.unextend
1509
- }
1510
-
1511
- block_call: command do_block
1512
- {
1513
- # TODO:
1514
- ## if (nd_type($1) == NODE_YIELD) {
1515
- ## compile_error(PARSER_ARG "block given to yield");
1516
-
1517
- syntax_error "Both block arg and actual block given." if
1518
- val[0].block_pass?
1519
-
1520
- val = invert_block_call val if inverted? val
1521
-
1522
- result = val[1]
1523
- result.insert 1, val[0]
1524
- }
1525
- | block_call dot_or_colon operation2 opt_paren_args
1526
- {
1527
- result = new_call val[0], val[2].to_sym, val[3]
1528
- }
1529
- | block_call dot_or_colon operation2 opt_paren_args brace_block
1530
- {
1531
- iter1, _, name, args, iter2 = val
1532
-
1533
- call = new_call iter1, name.to_sym, args
1534
- iter2.insert 1, call
1535
-
1536
- result = iter2
1537
- }
1538
- | block_call dot_or_colon operation2 command_args do_block
1539
- {
1540
- iter1, _, name, args, iter2 = val
1541
-
1542
- call = new_call iter1, name.to_sym, args
1543
- iter2.insert 1, call
1544
-
1545
- result = iter2
1546
- }
1547
-
1548
- method_call: fcall
1549
- {
1550
- result = self.lexer.lineno
1551
- }
1552
- paren_args
1553
- {
1554
- args = self.call_args val[2..-1]
1555
- result = val[0].concat args.sexp_body
1556
- }
1557
- | primary_value call_op operation2 opt_paren_args
1558
- {
1559
- result = new_call val[0], val[2].to_sym, val[3], val[1]
1560
- }
1561
- | primary_value tCOLON2 operation2 paren_args
1562
- {
1563
- result = new_call val[0], val[2].to_sym, val[3]
1564
- }
1565
- | primary_value tCOLON2 operation3
1566
- {
1567
- result = new_call val[0], val[2].to_sym
1568
- }
1569
- | primary_value call_op paren_args
1570
- {
1571
- result = new_call val[0], :call, val[2], val[1]
1572
- }
1573
- | primary_value tCOLON2 paren_args
1574
- {
1575
- result = new_call val[0], :call, val[2]
1576
- }
1577
- | kSUPER paren_args
1578
- {
1579
- result = new_super val[1]
1580
- }
1581
- | kSUPER
1582
- {
1583
- result = s(:zsuper)
1584
- }
1585
- | primary_value tLBRACK2 opt_call_args rbracket
1586
- {
1587
- result = new_aref val
1588
- }
1589
-
1590
- brace_block: tLCURLY
1591
- {
1592
- self.env.extend :dynamic
1593
- result = self.lexer.lineno
1594
- }
1595
- opt_block_param
1596
- {
1597
- result = nil # self.env.dynamic.keys
1598
- }
1599
- compstmt tRCURLY
1600
- {
1601
- _, line, args, _, body, _ = val
1602
-
1603
- result = new_iter nil, args, body
1604
- result.line = line
1605
-
1606
- self.env.unextend
1607
- }
1608
- | kDO
1609
- {
1610
- self.env.extend :dynamic
1611
- result = self.lexer.lineno
1612
- }
1613
- opt_block_param
1614
- {
1615
- result = nil # self.env.dynamic.keys
1616
- }
1617
- compstmt kEND
1618
- {
1619
- _, line, args, _, body, _ = val
1620
-
1621
- result = new_iter nil, args, body
1622
- result.line = line
1623
-
1624
- self.env.unextend
1625
- }
1626
-
1627
- case_body: kWHEN
1628
- {
1629
- result = self.lexer.lineno
1630
- }
1631
- args then compstmt cases
1632
- {
1633
- result = new_when(val[2], val[4])
1634
- result.line = val[1]
1635
- result << val[5] if val[5]
1636
- }
1637
-
1638
- cases: opt_else | case_body
1639
-
1640
- opt_rescue: kRESCUE exc_list exc_var then compstmt opt_rescue
1641
- {
1642
- (_, line), klasses, var, _, body, rest = val
1643
-
1644
- klasses ||= s(:array)
1645
- klasses << new_assign(var, s(:gvar, :"$!")) if var
1646
- klasses.line line
1647
-
1648
- result = new_resbody(klasses, body)
1649
- result << rest if rest # UGH, rewritten above
1650
- }
1651
- |
1652
- {
1653
- result = nil
1654
- }
1655
-
1656
- exc_list: arg_value
1657
- {
1658
- result = s(:array, val[0])
1659
- }
1660
- | mrhs
1661
- | none
1662
-
1663
- exc_var: tASSOC lhs
1664
- {
1665
- result = val[1]
1666
- }
1667
- | none
1668
-
1669
- opt_ensure: kENSURE compstmt
1670
- {
1671
- _, body = val
1672
-
1673
- result = body || s(:nil)
1674
- }
1675
- | none
1676
-
1677
- literal: numeric
1678
- {
1679
- result = s(:lit, val[0])
1680
- }
1681
- | symbol
1682
- {
1683
- result = s(:lit, val[0])
1684
- }
1685
- | dsym
1686
-
1687
- strings: string
1688
- {
1689
- val[0] = s(:dstr, val[0].value) if val[0].sexp_type == :evstr
1690
- result = val[0]
1691
- }
1692
-
1693
- string: tCHAR
1694
- {
1695
- debug20 23, val, result
1696
- }
1697
- | string1
1698
- | string string1
1699
- {
1700
- result = self.literal_concat val[0], val[1]
1701
- }
1702
-
1703
- string1: tSTRING_BEG string_contents tSTRING_END
1704
- {
1705
- result = val[1]
1706
- }
1707
- | tSTRING
1708
- {
1709
- result = new_string val
1710
- }
1711
-
1712
- xstring: tXSTRING_BEG xstring_contents tSTRING_END
1713
- {
1714
- result = new_xstring val[1]
1715
- }
1716
-
1717
- regexp: tREGEXP_BEG regexp_contents tREGEXP_END
1718
- {
1719
- result = new_regexp val
1720
- }
1721
-
1722
- words: tWORDS_BEG tSPACE tSTRING_END
1723
- {
1724
- result = s(:array)
1725
- }
1726
- | tWORDS_BEG word_list tSTRING_END
1727
- {
1728
- result = val[1]
1729
- }
1730
-
1731
- word_list: none
1732
- {
1733
- result = new_word_list
1734
- }
1735
- | word_list word tSPACE
1736
- {
1737
- result = val[0].dup << new_word_list_entry(val)
1738
- }
1739
-
1740
- word: string_content
1741
- | word string_content
1742
- {
1743
- result = self.literal_concat val[0], val[1]
1744
- }
1745
-
1746
- symbols: tSYMBOLS_BEG tSPACE tSTRING_END
1747
- {
1748
- result = s(:array)
1749
- }
1750
- | tSYMBOLS_BEG symbol_list tSTRING_END
1751
- {
1752
- result = val[1]
1753
- }
1754
-
1755
- symbol_list: none
1756
- {
1757
- result = new_symbol_list
1758
- }
1759
- | symbol_list word tSPACE
1760
- {
1761
- result = val[0].dup << new_symbol_list_entry(val)
1762
- }
1763
-
1764
- qwords: tQWORDS_BEG tSPACE tSTRING_END
1765
- {
1766
- result = s(:array)
1767
- }
1768
- | tQWORDS_BEG qword_list tSTRING_END
1769
- {
1770
- result = val[1]
1771
- }
1772
-
1773
- qsymbols: tQSYMBOLS_BEG tSPACE tSTRING_END
1774
- {
1775
- result = s(:array)
1776
- }
1777
- | tQSYMBOLS_BEG qsym_list tSTRING_END
1778
- {
1779
- result = val[1]
1780
- }
1781
-
1782
- qword_list: none
1783
- {
1784
- result = new_qword_list
1785
- }
1786
- | qword_list tSTRING_CONTENT tSPACE
1787
- {
1788
- result = val[0].dup << new_qword_list_entry(val)
1789
- }
1790
-
1791
- qsym_list: none
1792
- {
1793
- result = new_qsym_list
1794
- }
1795
- | qsym_list tSTRING_CONTENT tSPACE
1796
- {
1797
- result = val[0].dup << new_qsym_list_entry(val)
1798
- }
1799
-
1800
- string_contents: none
1801
- {
1802
- result = s(:str, "")
1803
- }
1804
- | string_contents string_content
1805
- {
1806
- result = literal_concat(val[0], val[1])
1807
- }
1808
-
1809
- xstring_contents: none
1810
- {
1811
- result = nil
1812
- }
1813
- | xstring_contents string_content
1814
- {
1815
- result = literal_concat(val[0], val[1])
1816
- }
1817
-
1818
- regexp_contents: none
1819
- {
1820
- result = nil
1821
- }
1822
- | regexp_contents string_content
1823
- {
1824
- result = literal_concat(val[0], val[1])
1825
- }
1826
-
1827
- string_content: tSTRING_CONTENT
1828
- {
1829
- result = new_string val
1830
- }
1831
- | tSTRING_DVAR
1832
- {
1833
- result = lexer.lex_strterm
1834
-
1835
- lexer.lex_strterm = nil
1836
- lexer.lex_state = :expr_beg # TODO: expr_value ?
1837
- }
1838
- string_dvar
1839
- {
1840
- lexer.lex_strterm = val[1]
1841
- result = s(:evstr, val[2])
1842
- }
1843
- | tSTRING_DBEG
1844
- {
1845
- result = [lexer.lex_strterm,
1846
- lexer.brace_nest,
1847
- lexer.string_nest, # TODO: remove
1848
- lexer.cond.store,
1849
- lexer.cmdarg.store,
1850
- lexer.lex_state,
1851
- ]
1852
-
1853
- lexer.lex_strterm = nil
1854
- lexer.brace_nest = 0
1855
- lexer.string_nest = 0
1856
-
1857
- lexer.lex_state = :expr_value
1858
- }
1859
- compstmt tRCURLY
1860
- {
1861
- # TODO: tRCURLY -> tSTRING_DEND
1862
- _, memo, stmt, _ = val
1863
-
1864
- lex_strterm, brace_nest, string_nest, oldcond, oldcmdarg, oldlex_state = memo
1865
-
1866
- lexer.lex_strterm = lex_strterm
1867
- lexer.brace_nest = brace_nest
1868
- lexer.string_nest = string_nest
1869
-
1870
- lexer.cond.restore oldcond
1871
- lexer.cmdarg.restore oldcmdarg
1872
-
1873
- lexer.lex_state = oldlex_state
1874
-
1875
- case stmt
1876
- when Sexp then
1877
- case stmt.sexp_type
1878
- when :str, :dstr, :evstr then
1879
- result = stmt
1880
- else
1881
- result = s(:evstr, stmt)
1882
- end
1883
- when nil then
1884
- result = s(:evstr)
1885
- else
1886
- debug20 25
1887
- raise "unknown string body: #{stmt.inspect}"
1888
- end
1889
- }
1890
-
1891
- string_dvar: tGVAR { result = s(:gvar, val[0].to_sym) }
1892
- | tIVAR { result = s(:ivar, val[0].to_sym) }
1893
- | tCVAR { result = s(:cvar, val[0].to_sym) }
1894
- | backref
1895
-
1896
- symbol: tSYMBEG sym
1897
- {
1898
- lexer.lex_state = :expr_end
1899
- result = val[1].to_sym
1900
- }
1901
- | tSYMBOL
1902
- {
1903
- result = val[0].to_sym
1904
- }
1905
-
1906
- sym: fname | tIVAR | tGVAR | tCVAR
1907
-
1908
- dsym: tSYMBEG xstring_contents tSTRING_END
1909
- {
1910
- lexer.lex_state = :expr_end
1911
- result = val[1]
1912
-
1913
- result ||= s(:str, "")
1914
-
1915
- case result.sexp_type
1916
- when :dstr then
1917
- result.sexp_type = :dsym
1918
- when :str then
1919
- result = s(:lit, result.last.to_sym)
1920
- when :evstr then
1921
- result = s(:dsym, "", result)
1922
- else
1923
- debug20 26, val, result
1924
- end
1925
- }
1926
-
1927
- numeric: tINTEGER
1928
- | tFLOAT
1929
- | tUMINUS_NUM tINTEGER =tLOWEST
1930
- {
1931
- result = -val[1] # TODO: pt_testcase
1932
- }
1933
- | tUMINUS_NUM tFLOAT =tLOWEST
1934
- {
1935
- result = -val[1] # TODO: pt_testcase
1936
- }
1937
-
1938
- user_variable: tIDENTIFIER
1939
- | tIVAR
1940
- | tGVAR
1941
- | tCONSTANT
1942
- | tCVAR
1943
-
1944
- keyword_variable: kNIL { result = s(:nil) }
1945
- | kSELF { result = s(:self) }
1946
- | kTRUE { result = s(:true) }
1947
- | kFALSE { result = s(:false) }
1948
- | k__FILE__ { result = s(:str, self.file) }
1949
- | k__LINE__ { result = s(:lit, lexer.lineno) }
1950
- | k__ENCODING__
1951
- {
1952
- result =
1953
- if defined? Encoding then
1954
- s(:colon2, s(:const, :Encoding), :UTF_8)
1955
- else
1956
- s(:str, "Unsupported!")
1957
- end
1958
- }
1959
-
1960
- var_ref: user_variable
1961
- {
1962
- var = val[0]
1963
- result = Sexp === var ? var : self.gettable(var)
1964
- }
1965
- | keyword_variable
1966
- {
1967
- var = val[0]
1968
- result = Sexp === var ? var : self.gettable(var)
1969
- }
1970
-
1971
- var_lhs: user_variable
1972
- {
1973
- result = self.assignable val[0]
1974
- }
1975
- | keyword_variable
1976
- {
1977
- result = self.assignable val[0]
1978
- debug20 29, val, result
1979
- }
1980
-
1981
- backref: tNTH_REF { result = s(:nth_ref, val[0]) }
1982
- | tBACK_REF { result = s(:back_ref, val[0]) }
1983
-
1984
- superclass: term
1985
- {
1986
- result = nil
1987
- }
1988
- | tLT
1989
- {
1990
- lexer.lex_state = :expr_beg
1991
- }
1992
- expr_value term
1993
- {
1994
- result = val[2]
1995
- }
1996
- | error term
1997
- {
1998
- yyerrok
1999
- result = nil
2000
- debug20 30, val, result
2001
- }
2002
-
2003
- f_arglist: tLPAREN2 f_args rparen
2004
- {
2005
- result = val[1]
2006
- self.lexer.lex_state = :expr_beg
2007
- self.lexer.command_start = true
2008
- # TODO:
2009
- # $<num>$ = parser->parser_in_kwarg;
2010
- # parser->parser_in_kwarg = 1;
2011
- }
2012
- | f_args term
2013
- {
2014
- # TODO: parser->parser_in_kwarg = $<num>1;
2015
- result = val[0]
2016
- self.lexer.lex_state = :expr_beg
2017
- self.lexer.command_start = true
2018
- }
2019
-
2020
- args_tail: f_kwarg tCOMMA f_kwrest opt_f_block_arg
2021
- {
2022
- result = args val
2023
- }
2024
- | f_kwarg opt_f_block_arg
2025
- {
2026
- result = args val
2027
- }
2028
- | f_kwrest opt_f_block_arg
2029
- {
2030
- result = args val
2031
- }
2032
- | f_block_arg
2033
-
2034
- opt_args_tail: tCOMMA args_tail
2035
- {
2036
- result = val[1]
2037
- }
2038
- |
2039
- {
2040
- result = nil
2041
- }
2042
-
2043
- f_args: f_arg tCOMMA f_optarg tCOMMA f_rest_arg opt_args_tail
2044
- {
2045
- result = args val
2046
- }
2047
- | f_arg tCOMMA f_optarg tCOMMA f_rest_arg tCOMMA f_arg opt_args_tail
2048
- {
2049
- result = args val
2050
- }
2051
- | f_arg tCOMMA f_optarg opt_args_tail
2052
- {
2053
- result = args val
2054
- }
2055
- | f_arg tCOMMA f_optarg tCOMMA f_arg opt_args_tail
2056
- {
2057
- result = args val
2058
- }
2059
- | f_arg tCOMMA f_rest_arg opt_args_tail
2060
- {
2061
- result = args val
2062
- }
2063
- | f_arg tCOMMA f_rest_arg tCOMMA f_arg opt_args_tail
2064
- {
2065
- result = args val
2066
- }
2067
- | f_arg opt_args_tail
2068
- {
2069
- result = args val
2070
- }
2071
- | f_optarg tCOMMA f_rest_arg opt_args_tail
2072
- {
2073
- result = args val
2074
- }
2075
- | f_optarg tCOMMA f_rest_arg tCOMMA f_arg opt_args_tail
2076
- {
2077
- result = args val
2078
- }
2079
- | f_optarg opt_args_tail
2080
- {
2081
- result = args val
2082
- }
2083
- | f_optarg tCOMMA f_arg opt_args_tail
2084
- {
2085
- result = args val
2086
- }
2087
- | f_rest_arg opt_args_tail
2088
- {
2089
- result = args val
2090
- }
2091
- | f_rest_arg tCOMMA f_arg opt_args_tail
2092
- {
2093
- result = args val
2094
- }
2095
- | args_tail
2096
- {
2097
- result = args val
2098
- }
2099
- |
2100
- {
2101
- result = args val
2102
- }
2103
-
2104
- f_bad_arg: tCONSTANT
2105
- {
2106
- yyerror "formal argument cannot be a constant"
2107
- }
2108
- | tIVAR
2109
- {
2110
- yyerror "formal argument cannot be an instance variable"
2111
- }
2112
- | tGVAR
2113
- {
2114
- yyerror "formal argument cannot be a global variable"
2115
- }
2116
- | tCVAR
2117
- {
2118
- yyerror "formal argument cannot be a class variable"
2119
- }
2120
-
2121
- f_norm_arg: f_bad_arg
2122
- | tIDENTIFIER
2123
- {
2124
- identifier = val[0].to_sym
2125
- self.env[identifier] = :lvar
2126
-
2127
- result = identifier
2128
- }
2129
-
2130
- f_arg_item: f_norm_arg
2131
- | tLPAREN f_margs rparen
2132
- {
2133
- result = val[1]
2134
- }
2135
-
2136
- f_arg: f_arg_item
2137
- {
2138
- case val[0]
2139
- when Symbol then
2140
- result = s(:args)
2141
- result << val[0]
2142
- when Sexp then
2143
- result = val[0]
2144
- else
2145
- debug20 32
2146
- raise "Unknown f_arg type: #{val.inspect}"
2147
- end
2148
- }
2149
- | f_arg tCOMMA f_arg_item
2150
- {
2151
- list, _, item = val
2152
-
2153
- if list.sexp_type == :args then
2154
- result = list
2155
- else
2156
- result = s(:args, list)
2157
- end
2158
-
2159
- result << item
2160
- }
2161
-
2162
- f_kw: tLABEL arg_value
2163
- {
2164
- # TODO: call_args
2165
- label, _ = val[0] # TODO: fix lineno?
2166
- identifier = label.to_sym
2167
- self.env[identifier] = :lvar
2168
-
2169
- result = s(:array, s(:kwarg, identifier, val[1]))
2170
- }
2171
-
2172
- f_block_kw: tLABEL primary_value
2173
- {
2174
- # TODO: call_args
2175
- label, _ = val[0] # TODO: fix lineno?
2176
- identifier = label.to_sym
2177
- self.env[identifier] = :lvar
2178
-
2179
- result = s(:array, s(:kwarg, identifier, val[1]))
2180
- }
2181
-
2182
- f_block_kwarg: f_block_kw
2183
- | f_block_kwarg tCOMMA f_block_kw
2184
- {
2185
- list, _, item = val
2186
- result = list << item.last
2187
- }
2188
-
2189
- f_kwarg: f_kw
2190
- | f_kwarg tCOMMA f_kw
2191
- {
2192
- result = args val
2193
- }
2194
-
2195
- kwrest_mark: tPOW
2196
- | tDSTAR
2197
-
2198
- f_kwrest: kwrest_mark tIDENTIFIER
2199
- {
2200
- result = :"**#{val[1]}"
2201
- }
2202
- | kwrest_mark
2203
- {
2204
- result = :"**"
2205
- }
2206
-
2207
- f_opt: tIDENTIFIER tEQL arg_value
2208
- {
2209
- result = self.assignable val[0], val[2]
2210
- # TODO: detect duplicate names
2211
- }
2212
-
2213
- f_block_opt: tIDENTIFIER tEQL primary_value
2214
- {
2215
- result = self.assignable val[0], val[2]
2216
- }
2217
-
2218
- f_block_optarg: f_block_opt
2219
- {
2220
- result = s(:block, val[0])
2221
- }
2222
- | f_block_optarg tCOMMA f_block_opt
2223
- {
2224
- result = val[0]
2225
- result << val[2]
2226
- }
2227
-
2228
- f_optarg: f_opt
2229
- {
2230
- result = s(:block, val[0])
2231
- }
2232
- | f_optarg tCOMMA f_opt
2233
- {
2234
- result = self.block_append val[0], val[2]
2235
- }
2236
-
2237
- restarg_mark: tSTAR2 | tSTAR
2238
-
2239
- f_rest_arg: restarg_mark tIDENTIFIER
2240
- {
2241
- # TODO: differs from parse.y - needs tests
2242
- name = val[1].to_sym
2243
- self.assignable name
2244
- result = :"*#{name}"
2245
- }
2246
- | restarg_mark
2247
- {
2248
- name = :"*"
2249
- self.env[name] = :lvar
2250
- result = name
2251
- }
2252
-
2253
- blkarg_mark: tAMPER2 | tAMPER
2254
-
2255
- f_block_arg: blkarg_mark tIDENTIFIER
2256
- {
2257
- identifier = val[1].to_sym
2258
-
2259
- self.env[identifier] = :lvar
2260
- result = "&#{identifier}".to_sym
2261
- }
2262
-
2263
- opt_f_block_arg: tCOMMA f_block_arg
2264
- {
2265
- result = val[1]
2266
- }
2267
- |
2268
- {
2269
- result = nil
2270
- }
2271
-
2272
- singleton: var_ref
2273
- | tLPAREN2
2274
- {
2275
- lexer.lex_state = :expr_beg
2276
- }
2277
- expr rparen
2278
- {
2279
- result = val[2]
2280
- yyerror "Can't define single method for literals." if
2281
- result.sexp_type == :lit
2282
- }
2283
-
2284
- assoc_list: none # [!nil]
2285
- {
2286
- result = s(:array)
2287
- }
2288
- | assocs trailer # [!nil]
2289
- {
2290
- result = val[0]
2291
- }
2292
-
2293
- assocs: assoc
2294
- | assocs tCOMMA assoc
2295
- {
2296
- list = val[0].dup
2297
- more = val[2].sexp_body
2298
- list.push(*more) unless more.empty?
2299
- result = list
2300
- result.sexp_type = :hash
2301
- }
2302
-
2303
- assoc: arg_value tASSOC arg_value
2304
- {
2305
- result = s(:array, val[0], val[2])
2306
- }
2307
- | tLABEL opt_nl arg_value
2308
- {
2309
- result = s(:array, s(:lit, val[0][0].to_sym), val.last)
2310
- }
2311
- | tDSTAR arg_value
2312
- {
2313
- result = s(:array, s(:kwsplat, val[1]))
2314
- }
2315
-
2316
- operation: tIDENTIFIER | tCONSTANT | tFID
2317
- operation2: tIDENTIFIER | tCONSTANT | tFID | op
2318
- operation3: tIDENTIFIER | tFID | op
2319
- dot_or_colon: tDOT | tCOLON2
2320
- call_op: tDOT
2321
- opt_terms: | terms
2322
- opt_nl: | tNL
2323
- rparen: opt_nl tRPAREN
2324
- rbracket: opt_nl tRBRACK
2325
- trailer: | tNL | tCOMMA
2326
-
2327
- term: tSEMI { yyerrok }
2328
- | tNL
2329
-
2330
- terms: term
2331
- | terms tSEMI { yyerrok }
2332
-
2333
- none: { result = nil; }
2334
- end
2335
-
2336
- ---- inner
2337
-
2338
- require "ruby_lexer"
2339
- require "ruby_parser_extras"
2340
-
2341
- # :stopdoc:
2342
-
2343
- # Local Variables: **
2344
- # racc-token-length-max:14 **
2345
- # End: **