cocRb 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1708) hide show
  1. checksums.yaml +7 -0
  2. data/ .gitignore +1 -0
  3. data/.bundle/config +2 -0
  4. data/.bundle/ruby/3.0.0/bin/htmldiff +29 -0
  5. data/.bundle/ruby/3.0.0/bin/htmldiff.bat +2 -0
  6. data/.bundle/ruby/3.0.0/bin/ldiff +29 -0
  7. data/.bundle/ruby/3.0.0/bin/ldiff.bat +2 -0
  8. data/.bundle/ruby/3.0.0/bin/rake +27 -0
  9. data/.bundle/ruby/3.0.0/bin/rake.bat +2 -0
  10. data/.bundle/ruby/3.0.0/bin/rspec +27 -0
  11. data/.bundle/ruby/3.0.0/bin/rspec.bat +2 -0
  12. data/.bundle/ruby/3.0.0/bin/rubocop +27 -0
  13. data/.bundle/ruby/3.0.0/bin/rubocop.bat +2 -0
  14. data/.bundle/ruby/3.0.0/bin/ruby-parse +27 -0
  15. data/.bundle/ruby/3.0.0/bin/ruby-parse.bat +2 -0
  16. data/.bundle/ruby/3.0.0/bin/ruby-rewrite +27 -0
  17. data/.bundle/ruby/3.0.0/bin/ruby-rewrite.bat +2 -0
  18. data/.bundle/ruby/3.0.0/cache/ast-2.4.2.gem +0 -0
  19. data/.bundle/ruby/3.0.0/cache/diff-lcs-1.4.4.gem +0 -0
  20. data/.bundle/ruby/3.0.0/cache/faraday-1.4.1.gem +0 -0
  21. data/.bundle/ruby/3.0.0/cache/faraday-excon-1.1.0.gem +0 -0
  22. data/.bundle/ruby/3.0.0/cache/faraday-net_http-1.0.1.gem +0 -0
  23. data/.bundle/ruby/3.0.0/cache/faraday-net_http_persistent-1.1.0.gem +0 -0
  24. data/.bundle/ruby/3.0.0/cache/multipart-post-2.1.1.gem +0 -0
  25. data/.bundle/ruby/3.0.0/cache/parallel-1.20.1.gem +0 -0
  26. data/.bundle/ruby/3.0.0/cache/parser-3.0.1.1.gem +0 -0
  27. data/.bundle/ruby/3.0.0/cache/rainbow-3.0.0.gem +0 -0
  28. data/.bundle/ruby/3.0.0/cache/rake-13.0.3.gem +0 -0
  29. data/.bundle/ruby/3.0.0/cache/regexp_parser-2.1.1.gem +0 -0
  30. data/.bundle/ruby/3.0.0/cache/rexml-3.2.5.gem +0 -0
  31. data/.bundle/ruby/3.0.0/cache/rspec-3.10.0.gem +0 -0
  32. data/.bundle/ruby/3.0.0/cache/rspec-core-3.10.1.gem +0 -0
  33. data/.bundle/ruby/3.0.0/cache/rspec-expectations-3.10.1.gem +0 -0
  34. data/.bundle/ruby/3.0.0/cache/rspec-mocks-3.10.2.gem +0 -0
  35. data/.bundle/ruby/3.0.0/cache/rspec-support-3.10.2.gem +0 -0
  36. data/.bundle/ruby/3.0.0/cache/rubocop-1.14.0.gem +0 -0
  37. data/.bundle/ruby/3.0.0/cache/rubocop-ast-1.5.0.gem +0 -0
  38. data/.bundle/ruby/3.0.0/cache/ruby-progressbar-1.11.0.gem +0 -0
  39. data/.bundle/ruby/3.0.0/cache/ruby2_keywords-0.0.4.gem +0 -0
  40. data/.bundle/ruby/3.0.0/cache/unicode-display_width-2.0.0.gem +0 -0
  41. data/.bundle/ruby/3.0.0/gems/ast-2.4.2/LICENSE.MIT +20 -0
  42. data/.bundle/ruby/3.0.0/gems/ast-2.4.2/README.YARD.md +12 -0
  43. data/.bundle/ruby/3.0.0/gems/ast-2.4.2/lib/ast.rb +17 -0
  44. data/.bundle/ruby/3.0.0/gems/ast-2.4.2/lib/ast/node.rb +268 -0
  45. data/.bundle/ruby/3.0.0/gems/ast-2.4.2/lib/ast/processor.rb +12 -0
  46. data/.bundle/ruby/3.0.0/gems/ast-2.4.2/lib/ast/processor/mixin.rb +288 -0
  47. data/.bundle/ruby/3.0.0/gems/ast-2.4.2/lib/ast/sexp.rb +30 -0
  48. data/.bundle/ruby/3.0.0/gems/diff-lcs-1.4.4/.rspec +1 -0
  49. data/.bundle/ruby/3.0.0/gems/diff-lcs-1.4.4/Code-of-Conduct.md +74 -0
  50. data/.bundle/ruby/3.0.0/gems/diff-lcs-1.4.4/Contributing.md +118 -0
  51. data/.bundle/ruby/3.0.0/gems/diff-lcs-1.4.4/History.md +319 -0
  52. data/.bundle/ruby/3.0.0/gems/diff-lcs-1.4.4/License.md +39 -0
  53. data/.bundle/ruby/3.0.0/gems/diff-lcs-1.4.4/Manifest.txt +45 -0
  54. data/.bundle/ruby/3.0.0/gems/diff-lcs-1.4.4/README.rdoc +84 -0
  55. data/.bundle/ruby/3.0.0/gems/diff-lcs-1.4.4/Rakefile +74 -0
  56. data/.bundle/ruby/3.0.0/gems/diff-lcs-1.4.4/autotest/discover.rb +3 -0
  57. data/.bundle/ruby/3.0.0/gems/diff-lcs-1.4.4/bin/htmldiff +35 -0
  58. data/.bundle/ruby/3.0.0/gems/diff-lcs-1.4.4/bin/ldiff +9 -0
  59. data/.bundle/ruby/3.0.0/gems/diff-lcs-1.4.4/docs/COPYING.txt +339 -0
  60. data/.bundle/ruby/3.0.0/gems/diff-lcs-1.4.4/docs/artistic.txt +127 -0
  61. data/.bundle/ruby/3.0.0/gems/diff-lcs-1.4.4/lib/diff-lcs.rb +3 -0
  62. data/.bundle/ruby/3.0.0/gems/diff-lcs-1.4.4/lib/diff/lcs.rb +739 -0
  63. data/.bundle/ruby/3.0.0/gems/diff-lcs-1.4.4/lib/diff/lcs/array.rb +7 -0
  64. data/.bundle/ruby/3.0.0/gems/diff-lcs-1.4.4/lib/diff/lcs/backports.rb +9 -0
  65. data/.bundle/ruby/3.0.0/gems/diff-lcs-1.4.4/lib/diff/lcs/block.rb +37 -0
  66. data/.bundle/ruby/3.0.0/gems/diff-lcs-1.4.4/lib/diff/lcs/callbacks.rb +325 -0
  67. data/.bundle/ruby/3.0.0/gems/diff-lcs-1.4.4/lib/diff/lcs/change.rb +174 -0
  68. data/.bundle/ruby/3.0.0/gems/diff-lcs-1.4.4/lib/diff/lcs/htmldiff.rb +150 -0
  69. data/.bundle/ruby/3.0.0/gems/diff-lcs-1.4.4/lib/diff/lcs/hunk.rb +358 -0
  70. data/.bundle/ruby/3.0.0/gems/diff-lcs-1.4.4/lib/diff/lcs/internals.rb +304 -0
  71. data/.bundle/ruby/3.0.0/gems/diff-lcs-1.4.4/lib/diff/lcs/ldiff.rb +171 -0
  72. data/.bundle/ruby/3.0.0/gems/diff-lcs-1.4.4/lib/diff/lcs/string.rb +5 -0
  73. data/.bundle/ruby/3.0.0/gems/diff-lcs-1.4.4/spec/change_spec.rb +89 -0
  74. data/.bundle/ruby/3.0.0/gems/diff-lcs-1.4.4/spec/diff_spec.rb +51 -0
  75. data/.bundle/ruby/3.0.0/gems/diff-lcs-1.4.4/spec/fixtures/aX +1 -0
  76. data/.bundle/ruby/3.0.0/gems/diff-lcs-1.4.4/spec/fixtures/bXaX +1 -0
  77. data/.bundle/ruby/3.0.0/gems/diff-lcs-1.4.4/spec/fixtures/ds1.csv +50 -0
  78. data/.bundle/ruby/3.0.0/gems/diff-lcs-1.4.4/spec/fixtures/ds2.csv +51 -0
  79. data/.bundle/ruby/3.0.0/gems/diff-lcs-1.4.4/spec/fixtures/ldiff/output.diff +4 -0
  80. data/.bundle/ruby/3.0.0/gems/diff-lcs-1.4.4/spec/fixtures/ldiff/output.diff-c +7 -0
  81. data/.bundle/ruby/3.0.0/gems/diff-lcs-1.4.4/spec/fixtures/ldiff/output.diff-e +3 -0
  82. data/.bundle/ruby/3.0.0/gems/diff-lcs-1.4.4/spec/fixtures/ldiff/output.diff-f +3 -0
  83. data/.bundle/ruby/3.0.0/gems/diff-lcs-1.4.4/spec/fixtures/ldiff/output.diff-u +5 -0
  84. data/.bundle/ruby/3.0.0/gems/diff-lcs-1.4.4/spec/hunk_spec.rb +83 -0
  85. data/.bundle/ruby/3.0.0/gems/diff-lcs-1.4.4/spec/issues_spec.rb +154 -0
  86. data/.bundle/ruby/3.0.0/gems/diff-lcs-1.4.4/spec/lcs_spec.rb +56 -0
  87. data/.bundle/ruby/3.0.0/gems/diff-lcs-1.4.4/spec/ldiff_spec.rb +87 -0
  88. data/.bundle/ruby/3.0.0/gems/diff-lcs-1.4.4/spec/patch_spec.rb +416 -0
  89. data/.bundle/ruby/3.0.0/gems/diff-lcs-1.4.4/spec/sdiff_spec.rb +214 -0
  90. data/.bundle/ruby/3.0.0/gems/diff-lcs-1.4.4/spec/spec_helper.rb +375 -0
  91. data/.bundle/ruby/3.0.0/gems/diff-lcs-1.4.4/spec/traverse_balanced_spec.rb +310 -0
  92. data/.bundle/ruby/3.0.0/gems/diff-lcs-1.4.4/spec/traverse_sequences_spec.rb +139 -0
  93. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/CHANGELOG.md +380 -0
  94. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/LICENSE.md +20 -0
  95. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/README.md +53 -0
  96. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/Rakefile +7 -0
  97. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/examples/client_spec.rb +65 -0
  98. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/examples/client_test.rb +79 -0
  99. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday.rb +178 -0
  100. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday/adapter.rb +110 -0
  101. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday/adapter/em_http.rb +289 -0
  102. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday/adapter/em_http_ssl_patch.rb +62 -0
  103. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday/adapter/em_synchrony.rb +153 -0
  104. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday/adapter/em_synchrony/parallel_manager.rb +69 -0
  105. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday/adapter/httpclient.rb +152 -0
  106. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday/adapter/patron.rb +132 -0
  107. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday/adapter/rack.rb +75 -0
  108. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday/adapter/test.rb +246 -0
  109. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday/adapter/typhoeus.rb +15 -0
  110. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday/adapter_registry.rb +30 -0
  111. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday/autoload.rb +92 -0
  112. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday/connection.rb +615 -0
  113. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday/dependency_loader.rb +37 -0
  114. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday/encoders/flat_params_encoder.rb +105 -0
  115. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday/encoders/nested_params_encoder.rb +176 -0
  116. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday/error.rb +152 -0
  117. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday/file_part.rb +128 -0
  118. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday/logging/formatter.rb +105 -0
  119. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday/methods.rb +6 -0
  120. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday/middleware.rb +31 -0
  121. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday/middleware_registry.rb +129 -0
  122. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday/options.rb +218 -0
  123. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday/options/connection_options.rb +22 -0
  124. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday/options/env.rb +181 -0
  125. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday/options/proxy_options.rb +28 -0
  126. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday/options/request_options.rb +22 -0
  127. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday/options/ssl_options.rb +59 -0
  128. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday/param_part.rb +53 -0
  129. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday/parameters.rb +5 -0
  130. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday/rack_builder.rb +249 -0
  131. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday/request.rb +156 -0
  132. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday/request/authorization.rb +55 -0
  133. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday/request/basic_authentication.rb +20 -0
  134. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday/request/instrumentation.rb +54 -0
  135. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday/request/multipart.rb +106 -0
  136. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday/request/retry.rb +239 -0
  137. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday/request/token_authentication.rb +20 -0
  138. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday/request/url_encoded.rb +56 -0
  139. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday/response.rb +101 -0
  140. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday/response/logger.rb +33 -0
  141. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday/response/raise_error.rb +56 -0
  142. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday/utils.rb +117 -0
  143. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday/utils/headers.rb +139 -0
  144. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday/utils/params_hash.rb +61 -0
  145. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/lib/faraday/version.rb +5 -0
  146. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/spec/external_adapters/faraday_specs_setup.rb +14 -0
  147. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/spec/faraday/adapter/em_http_spec.rb +47 -0
  148. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/spec/faraday/adapter/em_synchrony_spec.rb +16 -0
  149. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/spec/faraday/adapter/excon_spec.rb +49 -0
  150. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/spec/faraday/adapter/httpclient_spec.rb +73 -0
  151. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/spec/faraday/adapter/net_http_spec.rb +64 -0
  152. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/spec/faraday/adapter/patron_spec.rb +18 -0
  153. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/spec/faraday/adapter/rack_spec.rb +8 -0
  154. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/spec/faraday/adapter/test_spec.rb +260 -0
  155. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/spec/faraday/adapter/typhoeus_spec.rb +7 -0
  156. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/spec/faraday/adapter_registry_spec.rb +28 -0
  157. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/spec/faraday/adapter_spec.rb +55 -0
  158. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/spec/faraday/composite_read_io_spec.rb +80 -0
  159. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/spec/faraday/connection_spec.rb +721 -0
  160. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/spec/faraday/error_spec.rb +60 -0
  161. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/spec/faraday/middleware_spec.rb +52 -0
  162. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/spec/faraday/options/env_spec.rb +70 -0
  163. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/spec/faraday/options/options_spec.rb +297 -0
  164. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/spec/faraday/options/proxy_options_spec.rb +37 -0
  165. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/spec/faraday/options/request_options_spec.rb +19 -0
  166. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/spec/faraday/params_encoders/flat_spec.rb +42 -0
  167. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/spec/faraday/params_encoders/nested_spec.rb +142 -0
  168. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/spec/faraday/rack_builder_spec.rb +345 -0
  169. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/spec/faraday/request/authorization_spec.rb +88 -0
  170. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/spec/faraday/request/instrumentation_spec.rb +76 -0
  171. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/spec/faraday/request/multipart_spec.rb +302 -0
  172. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/spec/faraday/request/retry_spec.rb +242 -0
  173. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/spec/faraday/request/url_encoded_spec.rb +83 -0
  174. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/spec/faraday/request_spec.rb +120 -0
  175. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/spec/faraday/response/logger_spec.rb +220 -0
  176. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/spec/faraday/response/middleware_spec.rb +68 -0
  177. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/spec/faraday/response/raise_error_spec.rb +169 -0
  178. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/spec/faraday/response_spec.rb +75 -0
  179. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/spec/faraday/utils/headers_spec.rb +82 -0
  180. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/spec/faraday/utils_spec.rb +56 -0
  181. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/spec/faraday_spec.rb +37 -0
  182. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/spec/spec_helper.rb +132 -0
  183. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/spec/support/disabling_stub.rb +14 -0
  184. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/spec/support/fake_safe_buffer.rb +15 -0
  185. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/spec/support/helper_methods.rb +133 -0
  186. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/spec/support/shared_examples/adapter.rb +105 -0
  187. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/spec/support/shared_examples/params_encoder.rb +18 -0
  188. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/spec/support/shared_examples/request_method.rb +262 -0
  189. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/spec/support/streaming_response_checker.rb +35 -0
  190. data/.bundle/ruby/3.0.0/gems/faraday-1.4.1/spec/support/webmock_rack_app.rb +68 -0
  191. data/.bundle/ruby/3.0.0/gems/faraday-excon-1.1.0/LICENSE.md +21 -0
  192. data/.bundle/ruby/3.0.0/gems/faraday-excon-1.1.0/README.md +61 -0
  193. data/.bundle/ruby/3.0.0/gems/faraday-excon-1.1.0/lib/faraday/adapter/excon.rb +124 -0
  194. data/.bundle/ruby/3.0.0/gems/faraday-excon-1.1.0/lib/faraday/excon.rb +11 -0
  195. data/.bundle/ruby/3.0.0/gems/faraday-excon-1.1.0/lib/faraday/excon/version.rb +7 -0
  196. data/.bundle/ruby/3.0.0/gems/faraday-net_http-1.0.1/LICENSE.md +21 -0
  197. data/.bundle/ruby/3.0.0/gems/faraday-net_http-1.0.1/README.md +57 -0
  198. data/.bundle/ruby/3.0.0/gems/faraday-net_http-1.0.1/lib/faraday/adapter/net_http.rb +213 -0
  199. data/.bundle/ruby/3.0.0/gems/faraday-net_http-1.0.1/lib/faraday/net_http.rb +10 -0
  200. data/.bundle/ruby/3.0.0/gems/faraday-net_http-1.0.1/lib/faraday/net_http/version.rb +7 -0
  201. data/.bundle/ruby/3.0.0/gems/faraday-net_http_persistent-1.1.0/LICENSE.md +21 -0
  202. data/.bundle/ruby/3.0.0/gems/faraday-net_http_persistent-1.1.0/README.md +73 -0
  203. data/.bundle/ruby/3.0.0/gems/faraday-net_http_persistent-1.1.0/lib/faraday/adapter/net_http_persistent.rb +91 -0
  204. data/.bundle/ruby/3.0.0/gems/faraday-net_http_persistent-1.1.0/lib/faraday/net_http_persistent.rb +17 -0
  205. data/.bundle/ruby/3.0.0/gems/faraday-net_http_persistent-1.1.0/lib/faraday/net_http_persistent/version.rb +7 -0
  206. data/.bundle/ruby/3.0.0/gems/multipart-post-2.1.1/.gitignore +6 -0
  207. data/.bundle/ruby/3.0.0/gems/multipart-post-2.1.1/.rspec +5 -0
  208. data/.bundle/ruby/3.0.0/gems/multipart-post-2.1.1/.travis.yml +20 -0
  209. data/.bundle/ruby/3.0.0/gems/multipart-post-2.1.1/.yardopts +6 -0
  210. data/.bundle/ruby/3.0.0/gems/multipart-post-2.1.1/Gemfile +6 -0
  211. data/.bundle/ruby/3.0.0/gems/multipart-post-2.1.1/History.txt +64 -0
  212. data/.bundle/ruby/3.0.0/gems/multipart-post-2.1.1/LICENSE +21 -0
  213. data/.bundle/ruby/3.0.0/gems/multipart-post-2.1.1/Manifest.txt +9 -0
  214. data/.bundle/ruby/3.0.0/gems/multipart-post-2.1.1/README.md +127 -0
  215. data/.bundle/ruby/3.0.0/gems/multipart-post-2.1.1/Rakefile +6 -0
  216. data/.bundle/ruby/3.0.0/gems/multipart-post-2.1.1/lib/composite_io.rb +108 -0
  217. data/.bundle/ruby/3.0.0/gems/multipart-post-2.1.1/lib/multipart_post.rb +9 -0
  218. data/.bundle/ruby/3.0.0/gems/multipart-post-2.1.1/lib/multipartable.rb +48 -0
  219. data/.bundle/ruby/3.0.0/gems/multipart-post-2.1.1/lib/net/http/post/multipart.rb +28 -0
  220. data/.bundle/ruby/3.0.0/gems/multipart-post-2.1.1/lib/parts.rb +126 -0
  221. data/.bundle/ruby/3.0.0/gems/multipart-post-2.1.1/multipart-post.gemspec +23 -0
  222. data/.bundle/ruby/3.0.0/gems/multipart-post-2.1.1/spec/composite_io_spec.rb +138 -0
  223. data/.bundle/ruby/3.0.0/gems/multipart-post-2.1.1/spec/multibyte.txt +1 -0
  224. data/.bundle/ruby/3.0.0/gems/multipart-post-2.1.1/spec/net/http/post/multipart_spec.rb +123 -0
  225. data/.bundle/ruby/3.0.0/gems/multipart-post-2.1.1/spec/parts_spec.rb +102 -0
  226. data/.bundle/ruby/3.0.0/gems/multipart-post-2.1.1/spec/spec_helper.rb +29 -0
  227. data/.bundle/ruby/3.0.0/gems/parallel-1.20.1/MIT-LICENSE.txt +20 -0
  228. data/.bundle/ruby/3.0.0/gems/parallel-1.20.1/lib/parallel.rb +523 -0
  229. data/.bundle/ruby/3.0.0/gems/parallel-1.20.1/lib/parallel/processor_count.rb +42 -0
  230. data/.bundle/ruby/3.0.0/gems/parallel-1.20.1/lib/parallel/version.rb +3 -0
  231. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/LICENSE.txt +25 -0
  232. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/bin/ruby-parse +7 -0
  233. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/bin/ruby-rewrite +7 -0
  234. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/gauntlet_parser.rb +123 -0
  235. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser.rb +85 -0
  236. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/all.rb +14 -0
  237. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/ast/node.rb +40 -0
  238. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/ast/processor.rb +288 -0
  239. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/base.rb +291 -0
  240. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/builders/default.rb +2224 -0
  241. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/clobbering_error.rb +13 -0
  242. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/color.rb +32 -0
  243. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/context.rb +68 -0
  244. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/current.rb +110 -0
  245. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/current_arg_stack.rb +46 -0
  246. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/deprecation.rb +13 -0
  247. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/diagnostic.rb +163 -0
  248. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/diagnostic/engine.rb +104 -0
  249. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/lexer.rb +23780 -0
  250. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/lexer/dedenter.rb +82 -0
  251. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/lexer/explanation.rb +55 -0
  252. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/lexer/literal.rb +269 -0
  253. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/lexer/stack_state.rb +49 -0
  254. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/macruby.rb +6149 -0
  255. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/max_numparam_stack.rb +56 -0
  256. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/messages.rb +114 -0
  257. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/meta.rb +39 -0
  258. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/rewriter.rb +105 -0
  259. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/ruby18.rb +5667 -0
  260. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/ruby19.rb +6092 -0
  261. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/ruby20.rb +6527 -0
  262. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/ruby21.rb +6578 -0
  263. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/ruby22.rb +6613 -0
  264. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/ruby23.rb +6624 -0
  265. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/ruby24.rb +6694 -0
  266. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/ruby25.rb +6662 -0
  267. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/ruby26.rb +6676 -0
  268. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/ruby27.rb +7862 -0
  269. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/ruby28.rb +8047 -0
  270. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/ruby30.rb +8060 -0
  271. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/ruby31.rb +8075 -0
  272. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/rubymotion.rb +6086 -0
  273. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/runner.rb +282 -0
  274. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/runner/ruby_parse.rb +157 -0
  275. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/runner/ruby_rewrite.rb +101 -0
  276. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/source/buffer.rb +355 -0
  277. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/source/comment.rb +134 -0
  278. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/source/comment/associator.rb +233 -0
  279. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/source/map.rb +186 -0
  280. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/source/map/collection.rb +18 -0
  281. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/source/map/condition.rb +21 -0
  282. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/source/map/constant.rb +32 -0
  283. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/source/map/definition.rb +23 -0
  284. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/source/map/for.rb +19 -0
  285. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/source/map/heredoc.rb +19 -0
  286. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/source/map/index.rb +33 -0
  287. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/source/map/keyword.rb +20 -0
  288. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/source/map/method_definition.rb +25 -0
  289. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/source/map/objc_kwarg.rb +19 -0
  290. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/source/map/operator.rb +17 -0
  291. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/source/map/rescue_body.rb +21 -0
  292. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/source/map/send.rb +36 -0
  293. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/source/map/ternary.rb +18 -0
  294. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/source/map/variable.rb +31 -0
  295. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/source/range.rb +326 -0
  296. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/source/rewriter.rb +513 -0
  297. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/source/rewriter/action.rb +44 -0
  298. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/source/tree_rewriter.rb +431 -0
  299. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/source/tree_rewriter/action.rb +242 -0
  300. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/static_environment.rb +60 -0
  301. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/syntax_error.rb +21 -0
  302. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/tree_rewriter.rb +133 -0
  303. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/variables_stack.rb +36 -0
  304. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/lib/parser/version.rb +5 -0
  305. data/.bundle/ruby/3.0.0/gems/parser-3.0.1.1/parser.gemspec +43 -0
  306. data/.bundle/ruby/3.0.0/gems/rainbow-3.0.0/.gitignore +17 -0
  307. data/.bundle/ruby/3.0.0/gems/rainbow-3.0.0/.rubocop.yml +20 -0
  308. data/.bundle/ruby/3.0.0/gems/rainbow-3.0.0/.rubocop_todo.yml +29 -0
  309. data/.bundle/ruby/3.0.0/gems/rainbow-3.0.0/.travis.yml +24 -0
  310. data/.bundle/ruby/3.0.0/gems/rainbow-3.0.0/Changelog.md +93 -0
  311. data/.bundle/ruby/3.0.0/gems/rainbow-3.0.0/Gemfile +28 -0
  312. data/.bundle/ruby/3.0.0/gems/rainbow-3.0.0/Guardfile +8 -0
  313. data/.bundle/ruby/3.0.0/gems/rainbow-3.0.0/LICENSE +20 -0
  314. data/.bundle/ruby/3.0.0/gems/rainbow-3.0.0/README.markdown +224 -0
  315. data/.bundle/ruby/3.0.0/gems/rainbow-3.0.0/Rakefile +9 -0
  316. data/.bundle/ruby/3.0.0/gems/rainbow-3.0.0/appveyor.yml +40 -0
  317. data/.bundle/ruby/3.0.0/gems/rainbow-3.0.0/lib/rainbow.rb +11 -0
  318. data/.bundle/ruby/3.0.0/gems/rainbow-3.0.0/lib/rainbow/color.rb +143 -0
  319. data/.bundle/ruby/3.0.0/gems/rainbow-3.0.0/lib/rainbow/ext/string.rb +54 -0
  320. data/.bundle/ruby/3.0.0/gems/rainbow-3.0.0/lib/rainbow/global.rb +23 -0
  321. data/.bundle/ruby/3.0.0/gems/rainbow-3.0.0/lib/rainbow/null_presenter.rb +93 -0
  322. data/.bundle/ruby/3.0.0/gems/rainbow-3.0.0/lib/rainbow/presenter.rb +135 -0
  323. data/.bundle/ruby/3.0.0/gems/rainbow-3.0.0/lib/rainbow/refinement.rb +12 -0
  324. data/.bundle/ruby/3.0.0/gems/rainbow-3.0.0/lib/rainbow/string_utils.rb +21 -0
  325. data/.bundle/ruby/3.0.0/gems/rainbow-3.0.0/lib/rainbow/version.rb +3 -0
  326. data/.bundle/ruby/3.0.0/gems/rainbow-3.0.0/lib/rainbow/wrapper.rb +20 -0
  327. data/.bundle/ruby/3.0.0/gems/rainbow-3.0.0/lib/rainbow/x11_color_names.rb +151 -0
  328. data/.bundle/ruby/3.0.0/gems/rainbow-3.0.0/rainbow.gemspec +22 -0
  329. data/.bundle/ruby/3.0.0/gems/rainbow-3.0.0/spec/integration/instance_spec.rb +33 -0
  330. data/.bundle/ruby/3.0.0/gems/rainbow-3.0.0/spec/integration/rainbow_spec.rb +157 -0
  331. data/.bundle/ruby/3.0.0/gems/rainbow-3.0.0/spec/integration/refinement_spec.rb +36 -0
  332. data/.bundle/ruby/3.0.0/gems/rainbow-3.0.0/spec/integration/string_spec.rb +81 -0
  333. data/.bundle/ruby/3.0.0/gems/rainbow-3.0.0/spec/integration/uncolor_spec.rb +14 -0
  334. data/.bundle/ruby/3.0.0/gems/rainbow-3.0.0/spec/spec_helper.rb +10 -0
  335. data/.bundle/ruby/3.0.0/gems/rainbow-3.0.0/spec/support/presenter_shared_examples.rb +9 -0
  336. data/.bundle/ruby/3.0.0/gems/rainbow-3.0.0/spec/unit/color_spec.rb +296 -0
  337. data/.bundle/ruby/3.0.0/gems/rainbow-3.0.0/spec/unit/null_presenter_spec.rb +110 -0
  338. data/.bundle/ruby/3.0.0/gems/rainbow-3.0.0/spec/unit/presenter_spec.rb +199 -0
  339. data/.bundle/ruby/3.0.0/gems/rainbow-3.0.0/spec/unit/string_utils_spec.rb +94 -0
  340. data/.bundle/ruby/3.0.0/gems/rainbow-3.0.0/spec/unit/wrapper_spec.rb +32 -0
  341. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/CONTRIBUTING.rdoc +43 -0
  342. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/Gemfile +10 -0
  343. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/History.rdoc +2386 -0
  344. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/MIT-LICENSE +21 -0
  345. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/README.rdoc +155 -0
  346. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/Rakefile +41 -0
  347. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/bin/bundle +105 -0
  348. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/bin/console +7 -0
  349. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/bin/rake +29 -0
  350. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/bin/rdoc +29 -0
  351. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/bin/rubocop +29 -0
  352. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/bin/setup +6 -0
  353. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/doc/command_line_usage.rdoc +158 -0
  354. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/doc/example/Rakefile1 +38 -0
  355. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/doc/example/Rakefile2 +35 -0
  356. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/doc/example/a.c +6 -0
  357. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/doc/example/b.c +6 -0
  358. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/doc/example/main.c +11 -0
  359. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/doc/glossary.rdoc +42 -0
  360. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/doc/jamis.rb +592 -0
  361. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/doc/proto_rake.rdoc +127 -0
  362. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/doc/rake.1 +156 -0
  363. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/doc/rakefile.rdoc +622 -0
  364. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/doc/rational.rdoc +151 -0
  365. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/exe/rake +27 -0
  366. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/lib/rake.rb +71 -0
  367. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/lib/rake/application.rb +824 -0
  368. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/lib/rake/backtrace.rb +24 -0
  369. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/lib/rake/clean.rb +78 -0
  370. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/lib/rake/cloneable.rb +17 -0
  371. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/lib/rake/cpu_counter.rb +107 -0
  372. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/lib/rake/default_loader.rb +15 -0
  373. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/lib/rake/dsl_definition.rb +195 -0
  374. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/lib/rake/early_time.rb +22 -0
  375. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/lib/rake/ext/core.rb +26 -0
  376. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/lib/rake/ext/string.rb +176 -0
  377. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/lib/rake/file_creation_task.rb +25 -0
  378. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/lib/rake/file_list.rb +435 -0
  379. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/lib/rake/file_task.rb +54 -0
  380. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/lib/rake/file_utils.rb +134 -0
  381. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/lib/rake/file_utils_ext.rb +134 -0
  382. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/lib/rake/invocation_chain.rb +57 -0
  383. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/lib/rake/invocation_exception_mixin.rb +17 -0
  384. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/lib/rake/late_time.rb +18 -0
  385. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/lib/rake/linked_list.rb +112 -0
  386. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/lib/rake/loaders/makefile.rb +54 -0
  387. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/lib/rake/multi_task.rb +14 -0
  388. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/lib/rake/name_space.rb +38 -0
  389. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/lib/rake/packagetask.rb +222 -0
  390. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/lib/rake/phony.rb +16 -0
  391. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/lib/rake/private_reader.rb +21 -0
  392. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/lib/rake/promise.rb +100 -0
  393. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/lib/rake/pseudo_status.rb +30 -0
  394. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/lib/rake/rake_module.rb +67 -0
  395. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/lib/rake/rake_test_loader.rb +27 -0
  396. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/lib/rake/rule_recursion_overflow_error.rb +20 -0
  397. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/lib/rake/scope.rb +43 -0
  398. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/lib/rake/task.rb +434 -0
  399. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/lib/rake/task_argument_error.rb +8 -0
  400. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/lib/rake/task_arguments.rb +109 -0
  401. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/lib/rake/task_manager.rb +331 -0
  402. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/lib/rake/tasklib.rb +12 -0
  403. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/lib/rake/testtask.rb +189 -0
  404. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/lib/rake/thread_history_display.rb +49 -0
  405. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/lib/rake/thread_pool.rb +163 -0
  406. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/lib/rake/trace_output.rb +23 -0
  407. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/lib/rake/version.rb +10 -0
  408. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/lib/rake/win32.rb +51 -0
  409. data/.bundle/ruby/3.0.0/gems/rake-13.0.3/rake.gemspec +43 -0
  410. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/CHANGELOG.md +494 -0
  411. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/Gemfile +14 -0
  412. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/LICENSE +22 -0
  413. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/README.md +479 -0
  414. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/Rakefile +87 -0
  415. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser.rb +8 -0
  416. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/error.rb +4 -0
  417. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/expression.rb +155 -0
  418. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/classes/alternation.rb +10 -0
  419. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/classes/anchor.rb +26 -0
  420. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/classes/backref.rb +60 -0
  421. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/classes/conditional.rb +68 -0
  422. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/classes/escape.rb +94 -0
  423. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/classes/free_space.rb +17 -0
  424. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/classes/group.rb +85 -0
  425. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/classes/keep.rb +5 -0
  426. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/classes/literal.rb +7 -0
  427. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/classes/posix_class.rb +11 -0
  428. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/classes/property.rb +120 -0
  429. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/classes/root.rb +12 -0
  430. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/classes/set.rb +27 -0
  431. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/classes/set/intersection.rb +9 -0
  432. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/classes/set/range.rb +24 -0
  433. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/classes/type.rb +19 -0
  434. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/methods/match.rb +13 -0
  435. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/methods/match_length.rb +172 -0
  436. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/methods/options.rb +35 -0
  437. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/methods/strfregexp.rb +114 -0
  438. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/methods/tests.rb +97 -0
  439. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/methods/traverse.rb +64 -0
  440. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/quantifier.rb +53 -0
  441. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/sequence.rb +51 -0
  442. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/sequence_operation.rb +25 -0
  443. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/expression/subexpression.rb +59 -0
  444. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/lexer.rb +127 -0
  445. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/parser.rb +634 -0
  446. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/scanner.rb +2731 -0
  447. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/scanner/char_type.rl +28 -0
  448. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/scanner/properties/long.yml +594 -0
  449. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/scanner/properties/short.yml +237 -0
  450. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/scanner/property.rl +30 -0
  451. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/scanner/scanner.rl +886 -0
  452. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax.rb +11 -0
  453. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/any.rb +15 -0
  454. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/base.rb +95 -0
  455. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/tokens.rb +45 -0
  456. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/tokens/anchor.rb +15 -0
  457. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/tokens/assertion.rb +13 -0
  458. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/tokens/backref.rb +24 -0
  459. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/tokens/character_set.rb +13 -0
  460. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/tokens/character_type.rb +16 -0
  461. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/tokens/conditional.rb +16 -0
  462. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/tokens/escape.rb +30 -0
  463. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/tokens/group.rb +23 -0
  464. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/tokens/keep.rb +12 -0
  465. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/tokens/meta.rb +13 -0
  466. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/tokens/posix_class.rb +17 -0
  467. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/tokens/quantifier.rb +35 -0
  468. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/tokens/unicode_property.rb +675 -0
  469. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/version_lookup.rb +82 -0
  470. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/versions.rb +6 -0
  471. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/versions/1.8.6.rb +21 -0
  472. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/versions/1.9.1.rb +18 -0
  473. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/versions/1.9.3.rb +11 -0
  474. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/versions/2.0.0.rb +17 -0
  475. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/versions/2.2.0.rb +10 -0
  476. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/versions/2.3.0.rb +10 -0
  477. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/versions/2.4.0.rb +10 -0
  478. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/versions/2.4.1.rb +9 -0
  479. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/versions/2.5.0.rb +10 -0
  480. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/versions/2.6.0.rb +10 -0
  481. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/versions/2.6.2.rb +10 -0
  482. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/syntax/versions/2.6.3.rb +10 -0
  483. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/token.rb +35 -0
  484. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/lib/regexp_parser/version.rb +5 -0
  485. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/regexp_parser.gemspec +36 -0
  486. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/expression/base_spec.rb +104 -0
  487. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/expression/clone_spec.rb +152 -0
  488. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/expression/conditional_spec.rb +89 -0
  489. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/expression/free_space_spec.rb +27 -0
  490. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/expression/methods/match_length_spec.rb +161 -0
  491. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/expression/methods/match_spec.rb +25 -0
  492. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/expression/methods/strfregexp_spec.rb +224 -0
  493. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/expression/methods/tests_spec.rb +99 -0
  494. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/expression/methods/traverse_spec.rb +161 -0
  495. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/expression/options_spec.rb +128 -0
  496. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/expression/subexpression_spec.rb +50 -0
  497. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/expression/to_h_spec.rb +26 -0
  498. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/expression/to_s_spec.rb +108 -0
  499. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/lexer/all_spec.rb +22 -0
  500. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/lexer/conditionals_spec.rb +53 -0
  501. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/lexer/delimiters_spec.rb +68 -0
  502. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/lexer/escapes_spec.rb +14 -0
  503. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/lexer/keep_spec.rb +10 -0
  504. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/lexer/literals_spec.rb +64 -0
  505. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/lexer/nesting_spec.rb +99 -0
  506. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/lexer/refcalls_spec.rb +60 -0
  507. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/parser/all_spec.rb +43 -0
  508. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/parser/alternation_spec.rb +88 -0
  509. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/parser/anchors_spec.rb +17 -0
  510. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/parser/conditionals_spec.rb +179 -0
  511. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/parser/errors_spec.rb +30 -0
  512. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/parser/escapes_spec.rb +121 -0
  513. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/parser/free_space_spec.rb +130 -0
  514. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/parser/groups_spec.rb +108 -0
  515. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/parser/keep_spec.rb +6 -0
  516. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/parser/options_spec.rb +28 -0
  517. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/parser/posix_classes_spec.rb +8 -0
  518. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/parser/properties_spec.rb +115 -0
  519. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/parser/quantifiers_spec.rb +68 -0
  520. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/parser/refcalls_spec.rb +117 -0
  521. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/parser/set/intersections_spec.rb +127 -0
  522. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/parser/set/ranges_spec.rb +111 -0
  523. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/parser/sets_spec.rb +178 -0
  524. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/parser/types_spec.rb +18 -0
  525. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/scanner/all_spec.rb +18 -0
  526. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/scanner/anchors_spec.rb +21 -0
  527. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/scanner/conditionals_spec.rb +128 -0
  528. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/scanner/delimiters_spec.rb +52 -0
  529. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/scanner/errors_spec.rb +67 -0
  530. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/scanner/escapes_spec.rb +64 -0
  531. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/scanner/free_space_spec.rb +165 -0
  532. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/scanner/groups_spec.rb +61 -0
  533. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/scanner/keep_spec.rb +10 -0
  534. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/scanner/literals_spec.rb +39 -0
  535. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/scanner/meta_spec.rb +18 -0
  536. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/scanner/options_spec.rb +36 -0
  537. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/scanner/properties_spec.rb +64 -0
  538. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/scanner/quantifiers_spec.rb +25 -0
  539. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/scanner/refcalls_spec.rb +55 -0
  540. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/scanner/sets_spec.rb +151 -0
  541. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/scanner/types_spec.rb +14 -0
  542. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/spec_helper.rb +16 -0
  543. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/support/runner.rb +42 -0
  544. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/support/shared_examples.rb +77 -0
  545. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/support/warning_extractor.rb +60 -0
  546. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/syntax/syntax_spec.rb +48 -0
  547. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/syntax/syntax_token_map_spec.rb +23 -0
  548. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/syntax/versions/1.8.6_spec.rb +17 -0
  549. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/syntax/versions/1.9.1_spec.rb +10 -0
  550. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/syntax/versions/1.9.3_spec.rb +9 -0
  551. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/syntax/versions/2.0.0_spec.rb +13 -0
  552. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/syntax/versions/2.2.0_spec.rb +9 -0
  553. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/syntax/versions/aliases_spec.rb +37 -0
  554. data/.bundle/ruby/3.0.0/gems/regexp_parser-2.1.1/spec/token/token_spec.rb +85 -0
  555. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/LICENSE.txt +22 -0
  556. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/NEWS.md +178 -0
  557. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/README.md +48 -0
  558. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/doc/rexml/context.rdoc +143 -0
  559. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/doc/rexml/tasks/rdoc/child.rdoc +87 -0
  560. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/doc/rexml/tasks/rdoc/document.rdoc +276 -0
  561. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/doc/rexml/tasks/rdoc/element.rdoc +602 -0
  562. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/doc/rexml/tasks/rdoc/node.rdoc +97 -0
  563. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/doc/rexml/tasks/rdoc/parent.rdoc +267 -0
  564. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/doc/rexml/tasks/tocs/child_toc.rdoc +12 -0
  565. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/doc/rexml/tasks/tocs/document_toc.rdoc +30 -0
  566. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/doc/rexml/tasks/tocs/element_toc.rdoc +55 -0
  567. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/doc/rexml/tasks/tocs/master_toc.rdoc +135 -0
  568. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/doc/rexml/tasks/tocs/node_toc.rdoc +16 -0
  569. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/doc/rexml/tasks/tocs/parent_toc.rdoc +25 -0
  570. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml.rb +3 -0
  571. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/attlistdecl.rb +63 -0
  572. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/attribute.rb +205 -0
  573. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/cdata.rb +68 -0
  574. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/child.rb +97 -0
  575. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/comment.rb +80 -0
  576. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/doctype.rb +311 -0
  577. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/document.rb +451 -0
  578. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/dtd/attlistdecl.rb +11 -0
  579. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/dtd/dtd.rb +47 -0
  580. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/dtd/elementdecl.rb +18 -0
  581. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/dtd/entitydecl.rb +57 -0
  582. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/dtd/notationdecl.rb +40 -0
  583. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/element.rb +2599 -0
  584. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/encoding.rb +51 -0
  585. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/entity.rb +171 -0
  586. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/formatters/default.rb +116 -0
  587. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/formatters/pretty.rb +142 -0
  588. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/formatters/transitive.rb +58 -0
  589. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/functions.rb +447 -0
  590. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/instruction.rb +79 -0
  591. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/light/node.rb +188 -0
  592. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/namespace.rb +59 -0
  593. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/node.rb +76 -0
  594. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/output.rb +30 -0
  595. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/parent.rb +166 -0
  596. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/parseexception.rb +52 -0
  597. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/parsers/baseparser.rb +694 -0
  598. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/parsers/lightparser.rb +59 -0
  599. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/parsers/pullparser.rb +197 -0
  600. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/parsers/sax2parser.rb +273 -0
  601. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/parsers/streamparser.rb +61 -0
  602. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/parsers/treeparser.rb +101 -0
  603. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/parsers/ultralightparser.rb +57 -0
  604. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/parsers/xpathparser.rb +689 -0
  605. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/quickpath.rb +266 -0
  606. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/rexml.rb +37 -0
  607. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/sax2listener.rb +98 -0
  608. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/security.rb +28 -0
  609. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/source.rb +298 -0
  610. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/streamlistener.rb +93 -0
  611. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/text.rb +424 -0
  612. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/undefinednamespaceexception.rb +9 -0
  613. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/validation/relaxng.rb +539 -0
  614. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/validation/validation.rb +144 -0
  615. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/validation/validationexception.rb +10 -0
  616. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/xmldecl.rb +130 -0
  617. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/xmltokens.rb +85 -0
  618. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/xpath.rb +81 -0
  619. data/.bundle/ruby/3.0.0/gems/rexml-3.2.5/lib/rexml/xpath_parser.rb +974 -0
  620. data/.bundle/ruby/3.0.0/gems/rspec-3.10.0/LICENSE.md +27 -0
  621. data/.bundle/ruby/3.0.0/gems/rspec-3.10.0/README.md +43 -0
  622. data/.bundle/ruby/3.0.0/gems/rspec-3.10.0/lib/rspec.rb +3 -0
  623. data/.bundle/ruby/3.0.0/gems/rspec-3.10.0/lib/rspec/version.rb +5 -0
  624. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/.document +5 -0
  625. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/.yardopts +8 -0
  626. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/Changelog.md +2327 -0
  627. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/LICENSE.md +26 -0
  628. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/README.md +384 -0
  629. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/exe/rspec +4 -0
  630. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/autorun.rb +3 -0
  631. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core.rb +186 -0
  632. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/backtrace_formatter.rb +65 -0
  633. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/bisect/coordinator.rb +62 -0
  634. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/bisect/example_minimizer.rb +173 -0
  635. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/bisect/fork_runner.rb +138 -0
  636. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/bisect/server.rb +61 -0
  637. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/bisect/shell_command.rb +126 -0
  638. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/bisect/shell_runner.rb +73 -0
  639. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/bisect/utilities.rb +58 -0
  640. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/configuration.rb +2372 -0
  641. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/configuration_options.rb +233 -0
  642. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/did_you_mean.rb +46 -0
  643. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/drb.rb +120 -0
  644. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/dsl.rb +98 -0
  645. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/example.rb +663 -0
  646. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/example_group.rb +901 -0
  647. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/example_status_persister.rb +235 -0
  648. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/filter_manager.rb +231 -0
  649. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/flat_map.rb +20 -0
  650. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/formatters.rb +273 -0
  651. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/formatters/base_bisect_formatter.rb +45 -0
  652. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/formatters/base_formatter.rb +70 -0
  653. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/formatters/base_text_formatter.rb +75 -0
  654. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/formatters/bisect_drb_formatter.rb +29 -0
  655. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/formatters/bisect_progress_formatter.rb +157 -0
  656. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/formatters/console_codes.rb +68 -0
  657. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/formatters/deprecation_formatter.rb +223 -0
  658. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/formatters/documentation_formatter.rb +102 -0
  659. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/formatters/exception_presenter.rb +521 -0
  660. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/formatters/failure_list_formatter.rb +23 -0
  661. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/formatters/fallback_message_formatter.rb +28 -0
  662. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/formatters/helpers.rb +110 -0
  663. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/formatters/html_formatter.rb +153 -0
  664. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/formatters/html_printer.rb +414 -0
  665. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/formatters/html_snippet_extractor.rb +120 -0
  666. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/formatters/json_formatter.rb +102 -0
  667. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/formatters/profile_formatter.rb +68 -0
  668. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/formatters/progress_formatter.rb +29 -0
  669. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/formatters/protocol.rb +182 -0
  670. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/formatters/snippet_extractor.rb +134 -0
  671. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/formatters/syntax_highlighter.rb +91 -0
  672. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/hooks.rb +646 -0
  673. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/invocations.rb +87 -0
  674. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/memoized_helpers.rb +554 -0
  675. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/metadata.rb +498 -0
  676. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/metadata_filter.rb +255 -0
  677. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/minitest_assertions_adapter.rb +31 -0
  678. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/mocking_adapters/flexmock.rb +31 -0
  679. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/mocking_adapters/mocha.rb +57 -0
  680. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/mocking_adapters/null.rb +14 -0
  681. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/mocking_adapters/rr.rb +31 -0
  682. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/mocking_adapters/rspec.rb +32 -0
  683. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/notifications.rb +521 -0
  684. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/option_parser.rb +324 -0
  685. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/ordering.rb +158 -0
  686. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/output_wrapper.rb +29 -0
  687. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/pending.rb +165 -0
  688. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/profiler.rb +34 -0
  689. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/project_initializer.rb +48 -0
  690. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/project_initializer/.rspec +1 -0
  691. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/project_initializer/spec/spec_helper.rb +100 -0
  692. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/rake_task.rb +188 -0
  693. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/reporter.rb +265 -0
  694. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/ruby_project.rb +53 -0
  695. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/runner.rb +212 -0
  696. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/sandbox.rb +37 -0
  697. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/set.rb +54 -0
  698. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/shared_context.rb +55 -0
  699. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/shared_example_group.rb +271 -0
  700. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/shell_escape.rb +49 -0
  701. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/test_unit_assertions_adapter.rb +30 -0
  702. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/version.rb +9 -0
  703. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/warnings.rb +40 -0
  704. data/.bundle/ruby/3.0.0/gems/rspec-core-3.10.1/lib/rspec/core/world.rb +277 -0
  705. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/.document +5 -0
  706. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/.yardopts +6 -0
  707. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/Changelog.md +1240 -0
  708. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/LICENSE.md +25 -0
  709. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/README.md +320 -0
  710. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/expectations.rb +82 -0
  711. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/expectations/block_snippet_extractor.rb +253 -0
  712. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/expectations/configuration.rb +230 -0
  713. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/expectations/expectation_target.rb +127 -0
  714. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/expectations/fail_with.rb +39 -0
  715. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/expectations/failure_aggregator.rb +212 -0
  716. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/expectations/handler.rb +182 -0
  717. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/expectations/minitest_integration.rb +58 -0
  718. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/expectations/syntax.rb +132 -0
  719. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/expectations/version.rb +8 -0
  720. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/matchers.rb +1041 -0
  721. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/matchers/aliased_matcher.rb +116 -0
  722. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/matchers/built_in.rb +53 -0
  723. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/matchers/built_in/all.rb +86 -0
  724. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/matchers/built_in/base_matcher.rb +193 -0
  725. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/matchers/built_in/be.rb +191 -0
  726. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/matchers/built_in/be_between.rb +77 -0
  727. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/matchers/built_in/be_instance_of.rb +26 -0
  728. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/matchers/built_in/be_kind_of.rb +20 -0
  729. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/matchers/built_in/be_within.rb +72 -0
  730. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/matchers/built_in/change.rb +428 -0
  731. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/matchers/built_in/compound.rb +276 -0
  732. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/matchers/built_in/contain_exactly.rb +302 -0
  733. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/matchers/built_in/count_expectation.rb +169 -0
  734. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/matchers/built_in/cover.rb +24 -0
  735. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/matchers/built_in/eq.rb +40 -0
  736. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/matchers/built_in/eql.rb +34 -0
  737. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/matchers/built_in/equal.rb +81 -0
  738. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/matchers/built_in/exist.rb +90 -0
  739. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/matchers/built_in/has.rb +167 -0
  740. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/matchers/built_in/have_attributes.rb +114 -0
  741. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/matchers/built_in/include.rb +206 -0
  742. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/matchers/built_in/match.rb +106 -0
  743. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/matchers/built_in/operators.rb +128 -0
  744. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/matchers/built_in/output.rb +200 -0
  745. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/matchers/built_in/raise_error.rb +259 -0
  746. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/matchers/built_in/respond_to.rb +200 -0
  747. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/matchers/built_in/satisfy.rb +60 -0
  748. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/matchers/built_in/start_or_end_with.rb +94 -0
  749. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/matchers/built_in/throw_symbol.rb +132 -0
  750. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/matchers/built_in/yield.rb +355 -0
  751. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/matchers/composable.rb +171 -0
  752. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/matchers/dsl.rb +540 -0
  753. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/matchers/english_phrasing.rb +58 -0
  754. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/matchers/expecteds_for_multiple_diffs.rb +82 -0
  755. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/matchers/fail_matchers.rb +42 -0
  756. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/matchers/generated_descriptions.rb +41 -0
  757. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/matchers/matcher_delegator.rb +35 -0
  758. data/.bundle/ruby/3.0.0/gems/rspec-expectations-3.10.1/lib/rspec/matchers/matcher_protocol.rb +99 -0
  759. data/.bundle/ruby/3.0.0/gems/rspec-mocks-3.10.2/.document +5 -0
  760. data/.bundle/ruby/3.0.0/gems/rspec-mocks-3.10.2/.yardopts +6 -0
  761. data/.bundle/ruby/3.0.0/gems/rspec-mocks-3.10.2/Changelog.md +1167 -0
  762. data/.bundle/ruby/3.0.0/gems/rspec-mocks-3.10.2/LICENSE.md +25 -0
  763. data/.bundle/ruby/3.0.0/gems/rspec-mocks-3.10.2/README.md +463 -0
  764. data/.bundle/ruby/3.0.0/gems/rspec-mocks-3.10.2/lib/rspec/mocks.rb +133 -0
  765. data/.bundle/ruby/3.0.0/gems/rspec-mocks-3.10.2/lib/rspec/mocks/any_instance.rb +11 -0
  766. data/.bundle/ruby/3.0.0/gems/rspec-mocks-3.10.2/lib/rspec/mocks/any_instance/chain.rb +111 -0
  767. data/.bundle/ruby/3.0.0/gems/rspec-mocks-3.10.2/lib/rspec/mocks/any_instance/error_generator.rb +31 -0
  768. data/.bundle/ruby/3.0.0/gems/rspec-mocks-3.10.2/lib/rspec/mocks/any_instance/expect_chain_chain.rb +31 -0
  769. data/.bundle/ruby/3.0.0/gems/rspec-mocks-3.10.2/lib/rspec/mocks/any_instance/expectation_chain.rb +50 -0
  770. data/.bundle/ruby/3.0.0/gems/rspec-mocks-3.10.2/lib/rspec/mocks/any_instance/message_chains.rb +83 -0
  771. data/.bundle/ruby/3.0.0/gems/rspec-mocks-3.10.2/lib/rspec/mocks/any_instance/proxy.rb +116 -0
  772. data/.bundle/ruby/3.0.0/gems/rspec-mocks-3.10.2/lib/rspec/mocks/any_instance/recorder.rb +295 -0
  773. data/.bundle/ruby/3.0.0/gems/rspec-mocks-3.10.2/lib/rspec/mocks/any_instance/stub_chain.rb +51 -0
  774. data/.bundle/ruby/3.0.0/gems/rspec-mocks-3.10.2/lib/rspec/mocks/any_instance/stub_chain_chain.rb +23 -0
  775. data/.bundle/ruby/3.0.0/gems/rspec-mocks-3.10.2/lib/rspec/mocks/argument_list_matcher.rb +100 -0
  776. data/.bundle/ruby/3.0.0/gems/rspec-mocks-3.10.2/lib/rspec/mocks/argument_matchers.rb +322 -0
  777. data/.bundle/ruby/3.0.0/gems/rspec-mocks-3.10.2/lib/rspec/mocks/configuration.rb +212 -0
  778. data/.bundle/ruby/3.0.0/gems/rspec-mocks-3.10.2/lib/rspec/mocks/error_generator.rb +369 -0
  779. data/.bundle/ruby/3.0.0/gems/rspec-mocks-3.10.2/lib/rspec/mocks/example_methods.rb +434 -0
  780. data/.bundle/ruby/3.0.0/gems/rspec-mocks-3.10.2/lib/rspec/mocks/instance_method_stasher.rb +146 -0
  781. data/.bundle/ruby/3.0.0/gems/rspec-mocks-3.10.2/lib/rspec/mocks/marshal_extension.rb +41 -0
  782. data/.bundle/ruby/3.0.0/gems/rspec-mocks-3.10.2/lib/rspec/mocks/matchers/expectation_customization.rb +20 -0
  783. data/.bundle/ruby/3.0.0/gems/rspec-mocks-3.10.2/lib/rspec/mocks/matchers/have_received.rb +134 -0
  784. data/.bundle/ruby/3.0.0/gems/rspec-mocks-3.10.2/lib/rspec/mocks/matchers/receive.rb +132 -0
  785. data/.bundle/ruby/3.0.0/gems/rspec-mocks-3.10.2/lib/rspec/mocks/matchers/receive_message_chain.rb +82 -0
  786. data/.bundle/ruby/3.0.0/gems/rspec-mocks-3.10.2/lib/rspec/mocks/matchers/receive_messages.rb +77 -0
  787. data/.bundle/ruby/3.0.0/gems/rspec-mocks-3.10.2/lib/rspec/mocks/message_chain.rb +87 -0
  788. data/.bundle/ruby/3.0.0/gems/rspec-mocks-3.10.2/lib/rspec/mocks/message_expectation.rb +751 -0
  789. data/.bundle/ruby/3.0.0/gems/rspec-mocks-3.10.2/lib/rspec/mocks/method_double.rb +288 -0
  790. data/.bundle/ruby/3.0.0/gems/rspec-mocks-3.10.2/lib/rspec/mocks/method_reference.rb +202 -0
  791. data/.bundle/ruby/3.0.0/gems/rspec-mocks-3.10.2/lib/rspec/mocks/minitest_integration.rb +68 -0
  792. data/.bundle/ruby/3.0.0/gems/rspec-mocks-3.10.2/lib/rspec/mocks/mutate_const.rb +339 -0
  793. data/.bundle/ruby/3.0.0/gems/rspec-mocks-3.10.2/lib/rspec/mocks/object_reference.rb +149 -0
  794. data/.bundle/ruby/3.0.0/gems/rspec-mocks-3.10.2/lib/rspec/mocks/order_group.rb +81 -0
  795. data/.bundle/ruby/3.0.0/gems/rspec-mocks-3.10.2/lib/rspec/mocks/proxy.rb +519 -0
  796. data/.bundle/ruby/3.0.0/gems/rspec-mocks-3.10.2/lib/rspec/mocks/space.rb +238 -0
  797. data/.bundle/ruby/3.0.0/gems/rspec-mocks-3.10.2/lib/rspec/mocks/standalone.rb +3 -0
  798. data/.bundle/ruby/3.0.0/gems/rspec-mocks-3.10.2/lib/rspec/mocks/syntax.rb +325 -0
  799. data/.bundle/ruby/3.0.0/gems/rspec-mocks-3.10.2/lib/rspec/mocks/targets.rb +124 -0
  800. data/.bundle/ruby/3.0.0/gems/rspec-mocks-3.10.2/lib/rspec/mocks/test_double.rb +171 -0
  801. data/.bundle/ruby/3.0.0/gems/rspec-mocks-3.10.2/lib/rspec/mocks/verifying_double.rb +129 -0
  802. data/.bundle/ruby/3.0.0/gems/rspec-mocks-3.10.2/lib/rspec/mocks/verifying_message_expectation.rb +54 -0
  803. data/.bundle/ruby/3.0.0/gems/rspec-mocks-3.10.2/lib/rspec/mocks/verifying_proxy.rb +220 -0
  804. data/.bundle/ruby/3.0.0/gems/rspec-mocks-3.10.2/lib/rspec/mocks/version.rb +9 -0
  805. data/.bundle/ruby/3.0.0/gems/rspec-support-3.10.2/Changelog.md +332 -0
  806. data/.bundle/ruby/3.0.0/gems/rspec-support-3.10.2/LICENSE.md +23 -0
  807. data/.bundle/ruby/3.0.0/gems/rspec-support-3.10.2/README.md +40 -0
  808. data/.bundle/ruby/3.0.0/gems/rspec-support-3.10.2/lib/rspec/support.rb +154 -0
  809. data/.bundle/ruby/3.0.0/gems/rspec-support-3.10.2/lib/rspec/support/caller_filter.rb +83 -0
  810. data/.bundle/ruby/3.0.0/gems/rspec-support-3.10.2/lib/rspec/support/comparable_version.rb +46 -0
  811. data/.bundle/ruby/3.0.0/gems/rspec-support-3.10.2/lib/rspec/support/differ.rb +215 -0
  812. data/.bundle/ruby/3.0.0/gems/rspec-support-3.10.2/lib/rspec/support/directory_maker.rb +63 -0
  813. data/.bundle/ruby/3.0.0/gems/rspec-support-3.10.2/lib/rspec/support/encoded_string.rb +161 -0
  814. data/.bundle/ruby/3.0.0/gems/rspec-support-3.10.2/lib/rspec/support/fuzzy_matcher.rb +48 -0
  815. data/.bundle/ruby/3.0.0/gems/rspec-support-3.10.2/lib/rspec/support/hunk_generator.rb +47 -0
  816. data/.bundle/ruby/3.0.0/gems/rspec-support-3.10.2/lib/rspec/support/matcher_definition.rb +42 -0
  817. data/.bundle/ruby/3.0.0/gems/rspec-support-3.10.2/lib/rspec/support/method_signature_verifier.rb +438 -0
  818. data/.bundle/ruby/3.0.0/gems/rspec-support-3.10.2/lib/rspec/support/mutex.rb +73 -0
  819. data/.bundle/ruby/3.0.0/gems/rspec-support-3.10.2/lib/rspec/support/object_formatter.rb +275 -0
  820. data/.bundle/ruby/3.0.0/gems/rspec-support-3.10.2/lib/rspec/support/recursive_const_methods.rb +76 -0
  821. data/.bundle/ruby/3.0.0/gems/rspec-support-3.10.2/lib/rspec/support/reentrant_mutex.rb +61 -0
  822. data/.bundle/ruby/3.0.0/gems/rspec-support-3.10.2/lib/rspec/support/ruby_features.rb +191 -0
  823. data/.bundle/ruby/3.0.0/gems/rspec-support-3.10.2/lib/rspec/support/source.rb +85 -0
  824. data/.bundle/ruby/3.0.0/gems/rspec-support-3.10.2/lib/rspec/support/source/location.rb +21 -0
  825. data/.bundle/ruby/3.0.0/gems/rspec-support-3.10.2/lib/rspec/support/source/node.rb +110 -0
  826. data/.bundle/ruby/3.0.0/gems/rspec-support-3.10.2/lib/rspec/support/source/token.rb +87 -0
  827. data/.bundle/ruby/3.0.0/gems/rspec-support-3.10.2/lib/rspec/support/spec.rb +82 -0
  828. data/.bundle/ruby/3.0.0/gems/rspec-support-3.10.2/lib/rspec/support/spec/deprecation_helpers.rb +48 -0
  829. data/.bundle/ruby/3.0.0/gems/rspec-support-3.10.2/lib/rspec/support/spec/diff_helpers.rb +31 -0
  830. data/.bundle/ruby/3.0.0/gems/rspec-support-3.10.2/lib/rspec/support/spec/formatting_support.rb +9 -0
  831. data/.bundle/ruby/3.0.0/gems/rspec-support-3.10.2/lib/rspec/support/spec/in_sub_process.rb +67 -0
  832. data/.bundle/ruby/3.0.0/gems/rspec-support-3.10.2/lib/rspec/support/spec/library_wide_checks.rb +150 -0
  833. data/.bundle/ruby/3.0.0/gems/rspec-support-3.10.2/lib/rspec/support/spec/shell_out.rb +105 -0
  834. data/.bundle/ruby/3.0.0/gems/rspec-support-3.10.2/lib/rspec/support/spec/stderr_splitter.rb +75 -0
  835. data/.bundle/ruby/3.0.0/gems/rspec-support-3.10.2/lib/rspec/support/spec/string_matcher.rb +45 -0
  836. data/.bundle/ruby/3.0.0/gems/rspec-support-3.10.2/lib/rspec/support/spec/with_isolated_directory.rb +13 -0
  837. data/.bundle/ruby/3.0.0/gems/rspec-support-3.10.2/lib/rspec/support/spec/with_isolated_stderr.rb +13 -0
  838. data/.bundle/ruby/3.0.0/gems/rspec-support-3.10.2/lib/rspec/support/version.rb +7 -0
  839. data/.bundle/ruby/3.0.0/gems/rspec-support-3.10.2/lib/rspec/support/warnings.rb +39 -0
  840. data/.bundle/ruby/3.0.0/gems/rspec-support-3.10.2/lib/rspec/support/with_keywords_when_needed.rb +33 -0
  841. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/LICENSE.txt +20 -0
  842. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/README.md +247 -0
  843. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/assets/logo.png +0 -0
  844. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/assets/output.html.erb +261 -0
  845. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/config/default.yml +4877 -0
  846. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/config/obsoletion.yml +200 -0
  847. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/exe/rubocop +15 -0
  848. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop.rb +695 -0
  849. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/ast_aliases.rb +8 -0
  850. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cached_data.rb +58 -0
  851. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cli.rb +133 -0
  852. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cli/command.rb +22 -0
  853. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cli/command/auto_genenerate_config.rb +132 -0
  854. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cli/command/base.rb +35 -0
  855. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cli/command/execute_runner.rb +100 -0
  856. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cli/command/init_dotfile.rb +44 -0
  857. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cli/command/show_cops.rb +74 -0
  858. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cli/command/suggest_extensions.rb +81 -0
  859. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cli/command/version.rb +18 -0
  860. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cli/environment.rb +22 -0
  861. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/comment_config.rb +157 -0
  862. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/config.rb +293 -0
  863. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/config_loader.rb +277 -0
  864. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/config_loader_resolver.rb +266 -0
  865. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/config_obsoletion.rb +103 -0
  866. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/config_obsoletion/changed_enforced_styles.rb +33 -0
  867. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/config_obsoletion/changed_parameter.rb +21 -0
  868. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/config_obsoletion/cop_rule.rb +33 -0
  869. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/config_obsoletion/extracted_cop.rb +44 -0
  870. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/config_obsoletion/parameter_rule.rb +44 -0
  871. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/config_obsoletion/removed_cop.rb +41 -0
  872. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/config_obsoletion/renamed_cop.rb +34 -0
  873. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/config_obsoletion/rule.rb +41 -0
  874. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/config_obsoletion/split_cop.rb +27 -0
  875. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/config_regeneration.rb +33 -0
  876. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/config_store.rb +72 -0
  877. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/config_validator.rb +234 -0
  878. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/autocorrect_logic.rb +105 -0
  879. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/badge.rb +57 -0
  880. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/base.rb +450 -0
  881. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/bundler/duplicated_gem.rb +97 -0
  882. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/bundler/gem_comment.rb +171 -0
  883. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/bundler/gem_version.rb +99 -0
  884. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/bundler/insecure_protocol_source.rb +62 -0
  885. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/bundler/ordered_gems.rb +71 -0
  886. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/commissioner.rb +169 -0
  887. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/cop.rb +146 -0
  888. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/corrector.rb +118 -0
  889. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/correctors/alignment_corrector.rb +136 -0
  890. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/correctors/condition_corrector.rb +25 -0
  891. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/correctors/each_to_for_corrector.rb +51 -0
  892. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/correctors/empty_line_corrector.rb +25 -0
  893. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/correctors/for_to_each_corrector.rb +72 -0
  894. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb +136 -0
  895. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/correctors/line_break_corrector.rb +58 -0
  896. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/correctors/multiline_literal_brace_corrector.rb +97 -0
  897. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/correctors/ordered_gem_corrector.rb +42 -0
  898. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/correctors/parentheses_corrector.rb +28 -0
  899. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/correctors/percent_literal_corrector.rb +106 -0
  900. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/correctors/punctuation_corrector.rb +27 -0
  901. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/correctors/space_corrector.rb +46 -0
  902. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/correctors/string_literal_corrector.rb +23 -0
  903. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/correctors/unused_arg_corrector.rb +40 -0
  904. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/documentation.rb +22 -0
  905. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/exclude_limit.rb +26 -0
  906. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/force.rb +43 -0
  907. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/gemspec/date_assignment.rb +57 -0
  908. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/gemspec/duplicated_assignment.rb +105 -0
  909. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/gemspec/ordered_dependencies.rb +102 -0
  910. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/gemspec/required_ruby_version.rb +113 -0
  911. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/gemspec/ruby_version_globals_usage.rb +57 -0
  912. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/generator.rb +212 -0
  913. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/generator/configuration_injector.rb +65 -0
  914. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/generator/require_file_injector.rb +75 -0
  915. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/ignored_node.rb +36 -0
  916. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/internal_affairs.rb +15 -0
  917. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/internal_affairs/empty_line_between_expect_offense_and_correction.rb +68 -0
  918. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/internal_affairs/example_description.rb +92 -0
  919. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/internal_affairs/method_name_equal.rb +50 -0
  920. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/internal_affairs/node_destructuring.rb +44 -0
  921. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/internal_affairs/node_matcher_directive.rb +151 -0
  922. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/internal_affairs/node_type_predicate.rb +41 -0
  923. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/internal_affairs/offense_location_keyword.rb +56 -0
  924. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/internal_affairs/redundant_described_class_as_subject.rb +62 -0
  925. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/internal_affairs/redundant_let_rubocop_config_new.rb +65 -0
  926. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/internal_affairs/redundant_location_argument.rb +53 -0
  927. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/internal_affairs/redundant_message_argument.rb +76 -0
  928. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/internal_affairs/style_detected_api_use.rb +148 -0
  929. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/internal_affairs/useless_message_assertion.rb +52 -0
  930. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/access_modifier_indentation.rb +100 -0
  931. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/argument_alignment.rb +92 -0
  932. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/array_alignment.rb +84 -0
  933. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/assignment_indentation.rb +56 -0
  934. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/begin_end_alignment.rb +74 -0
  935. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/block_alignment.rb +236 -0
  936. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/block_end_newline.rb +60 -0
  937. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/case_indentation.rb +155 -0
  938. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/class_structure.rb +324 -0
  939. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/closing_heredoc_indentation.rb +124 -0
  940. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/closing_parenthesis_indentation.rb +191 -0
  941. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/comment_indentation.rb +137 -0
  942. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/condition_position.rb +64 -0
  943. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/def_end_alignment.rb +73 -0
  944. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/dot_position.rb +104 -0
  945. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/else_alignment.rb +156 -0
  946. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/empty_comment.rb +151 -0
  947. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/empty_line_after_guard_clause.rb +174 -0
  948. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/empty_line_after_magic_comment.rb +64 -0
  949. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/empty_line_after_multiline_condition.rb +136 -0
  950. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/empty_line_between_defs.rb +252 -0
  951. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/empty_lines.rb +71 -0
  952. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/empty_lines_around_access_modifier.rb +206 -0
  953. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/empty_lines_around_arguments.rb +103 -0
  954. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/empty_lines_around_attribute_accessor.rb +118 -0
  955. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/empty_lines_around_begin_body.rb +42 -0
  956. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/empty_lines_around_block_body.rb +38 -0
  957. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/empty_lines_around_class_body.rb +85 -0
  958. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb +126 -0
  959. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/empty_lines_around_method_body.rb +42 -0
  960. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/empty_lines_around_module_body.rb +59 -0
  961. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/end_alignment.rb +183 -0
  962. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/end_of_line.rb +92 -0
  963. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/extra_spacing.rb +182 -0
  964. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/first_argument_indentation.rb +276 -0
  965. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/first_array_element_indentation.rb +173 -0
  966. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/first_array_element_line_break.rb +41 -0
  967. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/first_hash_element_indentation.rb +188 -0
  968. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/first_hash_element_line_break.rb +33 -0
  969. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/first_method_argument_line_break.rb +48 -0
  970. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/first_method_parameter_line_break.rb +42 -0
  971. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/first_parameter_indentation.rb +101 -0
  972. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/hash_alignment.rb +359 -0
  973. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/heredoc_argument_closing_parenthesis.rb +305 -0
  974. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/heredoc_indentation.rb +172 -0
  975. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/indentation_consistency.rb +205 -0
  976. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/indentation_style.rb +110 -0
  977. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/indentation_width.rb +372 -0
  978. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/initial_indentation.rb +55 -0
  979. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/leading_comment_space.rb +121 -0
  980. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/leading_empty_lines.rb +48 -0
  981. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/line_length.rb +267 -0
  982. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/multiline_array_brace_layout.rb +115 -0
  983. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/multiline_array_line_breaks.rb +35 -0
  984. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/multiline_assignment_layout.rb +117 -0
  985. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/multiline_block_layout.rb +159 -0
  986. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/multiline_hash_brace_layout.rb +115 -0
  987. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/multiline_hash_key_line_breaks.rb +46 -0
  988. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/multiline_method_argument_line_breaks.rb +47 -0
  989. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/multiline_method_call_brace_layout.rb +131 -0
  990. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/multiline_method_call_indentation.rb +231 -0
  991. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/multiline_method_definition_brace_layout.rb +128 -0
  992. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/multiline_operation_indentation.rb +128 -0
  993. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/parameter_alignment.rb +119 -0
  994. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/redundant_line_break.rb +137 -0
  995. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/rescue_ensure_alignment.rb +198 -0
  996. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/single_line_block_chain.rb +53 -0
  997. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/space_after_colon.rb +49 -0
  998. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/space_after_comma.rb +32 -0
  999. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/space_after_method_name.rb +39 -0
  1000. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/space_after_not.rb +38 -0
  1001. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/space_after_semicolon.rb +29 -0
  1002. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/space_around_block_parameters.rb +162 -0
  1003. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/space_around_equals_in_parameter_default.rb +88 -0
  1004. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/space_around_keyword.rb +240 -0
  1005. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/space_around_method_call_operator.rb +98 -0
  1006. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/space_around_operators.rb +241 -0
  1007. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/space_before_block_braces.rb +152 -0
  1008. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/space_before_brackets.rb +65 -0
  1009. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/space_before_comma.rb +29 -0
  1010. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/space_before_comment.rb +34 -0
  1011. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/space_before_first_arg.rb +69 -0
  1012. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/space_before_semicolon.rb +24 -0
  1013. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/space_in_lambda_literal.rb +72 -0
  1014. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/space_inside_array_literal_brackets.rb +222 -0
  1015. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/space_inside_array_percent_literal.rb +43 -0
  1016. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/space_inside_block_braces.rb +243 -0
  1017. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/space_inside_hash_literal_braces.rb +181 -0
  1018. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/space_inside_parens.rb +130 -0
  1019. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/space_inside_percent_literal_delimiters.rb +60 -0
  1020. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/space_inside_range_literal.rb +54 -0
  1021. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/space_inside_reference_brackets.rb +139 -0
  1022. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/space_inside_string_interpolation.rb +64 -0
  1023. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/trailing_empty_lines.rb +108 -0
  1024. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/layout/trailing_whitespace.rb +101 -0
  1025. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/legacy/corrections_proxy.rb +43 -0
  1026. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/legacy/corrector.rb +27 -0
  1027. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/ambiguous_assignment.rb +54 -0
  1028. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/ambiguous_block_association.rb +74 -0
  1029. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/ambiguous_operator.rb +103 -0
  1030. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/ambiguous_regexp_literal.rb +73 -0
  1031. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/assignment_in_condition.rb +97 -0
  1032. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/big_decimal_new.rb +44 -0
  1033. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/binary_operator_with_identical_operands.rb +55 -0
  1034. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/boolean_symbol.rb +58 -0
  1035. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/circular_argument_reference.rb +72 -0
  1036. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/constant_definition_in_block.rb +100 -0
  1037. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/constant_resolution.rb +89 -0
  1038. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/debugger.rb +117 -0
  1039. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/deprecated_class_methods.rb +146 -0
  1040. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/deprecated_constants.rb +80 -0
  1041. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/deprecated_open_ssl_constant.rb +148 -0
  1042. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/disjunctive_assignment_in_constructor.rb +87 -0
  1043. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/duplicate_branch.rb +154 -0
  1044. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/duplicate_case_condition.rb +43 -0
  1045. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/duplicate_elsif_condition.rb +39 -0
  1046. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/duplicate_hash_key.rb +36 -0
  1047. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/duplicate_methods.rb +235 -0
  1048. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/duplicate_regexp_character_class_element.rb +77 -0
  1049. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/duplicate_require.rb +47 -0
  1050. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/duplicate_rescue_exception.rb +47 -0
  1051. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/each_with_object_argument.rb +44 -0
  1052. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/else_layout.rb +90 -0
  1053. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/empty_block.rb +82 -0
  1054. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/empty_class.rb +93 -0
  1055. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/empty_conditional_body.rb +67 -0
  1056. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/empty_ensure.rb +58 -0
  1057. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/empty_expression.rb +42 -0
  1058. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/empty_file.rb +48 -0
  1059. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/empty_interpolation.rb +33 -0
  1060. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/empty_when.rb +61 -0
  1061. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/ensure_return.rb +59 -0
  1062. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/erb_new_arguments.rb +162 -0
  1063. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/flip_flop.rb +38 -0
  1064. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/float_comparison.rb +93 -0
  1065. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/float_out_of_range.rb +34 -0
  1066. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/format_parameter_mismatch.rb +194 -0
  1067. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/hash_compare_by_identity.rb +38 -0
  1068. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/heredoc_method_call_position.rb +154 -0
  1069. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/identity_comparison.rb +51 -0
  1070. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/implicit_string_concatenation.rb +101 -0
  1071. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/ineffective_access_modifier.rb +121 -0
  1072. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/inherit_exception.rb +105 -0
  1073. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/interpolation_check.rb +53 -0
  1074. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/lambda_without_literal_block.rb +44 -0
  1075. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/literal_as_condition.rb +147 -0
  1076. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/literal_in_interpolation.rb +127 -0
  1077. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/loop.rb +85 -0
  1078. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/missing_cop_enable_directive.rb +81 -0
  1079. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/missing_super.rb +101 -0
  1080. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/mixed_regexp_capture_types.rb +36 -0
  1081. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/multiple_comparison.rb +48 -0
  1082. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/nested_method_definition.rb +100 -0
  1083. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/nested_percent_literal.rb +63 -0
  1084. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/next_without_accumulator.rb +51 -0
  1085. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/no_return_in_begin_end_blocks.rb +58 -0
  1086. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/non_deterministic_require_order.rb +169 -0
  1087. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/non_local_exit_from_iterator.rb +86 -0
  1088. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/number_conversion.rb +155 -0
  1089. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/numbered_parameter_assignment.rb +47 -0
  1090. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/or_assignment_to_constant.rb +39 -0
  1091. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/ordered_magic_comments.rb +83 -0
  1092. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/out_of_range_regexp_ref.rb +96 -0
  1093. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb +83 -0
  1094. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/percent_string_array.rb +68 -0
  1095. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/percent_symbol_array.rb +68 -0
  1096. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/raise_exception.rb +87 -0
  1097. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/rand_one.rb +46 -0
  1098. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/redundant_cop_disable_directive.rb +259 -0
  1099. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/redundant_cop_enable_directive.rb +128 -0
  1100. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/redundant_dir_glob_sort.rb +50 -0
  1101. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/redundant_require_statement.rb +49 -0
  1102. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/redundant_safe_navigation.rb +77 -0
  1103. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/redundant_splat_expansion.rb +209 -0
  1104. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/redundant_string_coercion.rb +52 -0
  1105. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/redundant_with_index.rb +77 -0
  1106. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/redundant_with_object.rb +78 -0
  1107. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/regexp_as_condition.rb +31 -0
  1108. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/require_parentheses.rb +64 -0
  1109. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/rescue_exception.rb +45 -0
  1110. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/rescue_type.rb +88 -0
  1111. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/return_in_void_context.rb +71 -0
  1112. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/safe_navigation_chain.rb +62 -0
  1113. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/safe_navigation_consistency.rb +92 -0
  1114. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/safe_navigation_with_empty.rb +46 -0
  1115. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/script_permission.rb +73 -0
  1116. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/self_assignment.rb +78 -0
  1117. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/send_with_mixin_argument.rb +83 -0
  1118. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/shadowed_argument.rb +176 -0
  1119. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/shadowed_exception.rb +166 -0
  1120. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/shadowing_outer_local_variable.rb +67 -0
  1121. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/struct_new_override.rb +59 -0
  1122. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/suppressed_exception.rb +132 -0
  1123. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/symbol_conversion.rb +188 -0
  1124. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/syntax.rb +40 -0
  1125. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/to_enum_arguments.rb +89 -0
  1126. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/to_json.rb +49 -0
  1127. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/top_level_return_with_argument.rb +34 -0
  1128. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/trailing_comma_in_attribute_declaration.rb +55 -0
  1129. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/triple_quotes.rb +71 -0
  1130. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/underscore_prefixed_variable_name.rb +80 -0
  1131. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/unexpected_block_arity.rb +85 -0
  1132. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/unified_integer.rb +42 -0
  1133. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/unmodified_reduce_accumulator.rb +204 -0
  1134. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/unreachable_code.rb +97 -0
  1135. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/unreachable_loop.rb +196 -0
  1136. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/unused_block_argument.rb +172 -0
  1137. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/unused_method_argument.rb +117 -0
  1138. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/uri_escape_unescape.rb +79 -0
  1139. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/uri_regexp.rb +38 -0
  1140. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/useless_access_modifier.rb +290 -0
  1141. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/useless_assignment.rb +125 -0
  1142. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/useless_else_without_rescue.rb +45 -0
  1143. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/useless_method_definition.rb +68 -0
  1144. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/useless_setter_call.rb +170 -0
  1145. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/useless_times.rb +109 -0
  1146. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/lint/void.rb +140 -0
  1147. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/message_annotator.rb +130 -0
  1148. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/metrics/abc_size.rb +48 -0
  1149. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/metrics/block_length.rb +80 -0
  1150. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/metrics/block_nesting.rb +60 -0
  1151. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/metrics/class_length.rb +65 -0
  1152. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/metrics/cyclomatic_complexity.rb +64 -0
  1153. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/metrics/method_length.rb +64 -0
  1154. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/metrics/module_length.rb +56 -0
  1155. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/metrics/parameter_lists.rb +117 -0
  1156. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/metrics/perceived_complexity.rb +59 -0
  1157. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/metrics/utils/abc_size_calculator.rb +145 -0
  1158. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/metrics/utils/code_length_calculator.rb +160 -0
  1159. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/metrics/utils/iterating_block.rb +61 -0
  1160. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/metrics/utils/repeated_attribute_discount.rb +143 -0
  1161. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/metrics/utils/repeated_csend_discount.rb +42 -0
  1162. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/migration/department_name.rb +79 -0
  1163. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/alignment.rb +81 -0
  1164. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/allowed_identifiers.rb +18 -0
  1165. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/allowed_methods.rb +21 -0
  1166. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/annotation_comment.rb +42 -0
  1167. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/array_min_size.rb +57 -0
  1168. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/array_syntax.rb +17 -0
  1169. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/auto_corrector.rb +12 -0
  1170. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/check_assignment.rb +44 -0
  1171. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/check_line_breakable.rb +198 -0
  1172. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/code_length.rb +59 -0
  1173. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/comments_help.rb +42 -0
  1174. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/configurable_enforced_style.rb +100 -0
  1175. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/configurable_formatting.rb +40 -0
  1176. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/configurable_max.rb +24 -0
  1177. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/configurable_naming.rb +16 -0
  1178. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/configurable_numbering.rb +18 -0
  1179. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/def_node.rb +31 -0
  1180. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/documentation_comment.rb +49 -0
  1181. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/duplication.rb +46 -0
  1182. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/empty_lines_around_body.rb +172 -0
  1183. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/empty_parameter.rb +25 -0
  1184. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/end_keyword_alignment.rb +81 -0
  1185. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/enforce_superclass.rb +38 -0
  1186. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/first_element_line_break.rb +46 -0
  1187. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/frozen_string_literal.rb +56 -0
  1188. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/gem_declaration.rb +13 -0
  1189. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/hash_alignment_styles.rb +144 -0
  1190. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/hash_transform_method.rb +183 -0
  1191. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/heredoc.rb +32 -0
  1192. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/ignored_methods.rb +52 -0
  1193. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/ignored_pattern.rb +29 -0
  1194. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/integer_node.rb +14 -0
  1195. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/interpolation.rb +25 -0
  1196. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/line_length_help.rb +90 -0
  1197. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/match_range.rb +23 -0
  1198. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/method_complexity.rb +77 -0
  1199. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/method_preference.rb +30 -0
  1200. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/min_body_length.rb +21 -0
  1201. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/multiline_element_indentation.rb +87 -0
  1202. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/multiline_element_line_breaks.rb +33 -0
  1203. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/multiline_expression_indentation.rb +226 -0
  1204. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/multiline_literal_brace_layout.rb +141 -0
  1205. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/negative_conditional.rb +34 -0
  1206. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/nil_methods.rb +23 -0
  1207. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/on_normal_if_unless.rb +14 -0
  1208. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/ordered_gem_node.rb +58 -0
  1209. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/parentheses.rb +16 -0
  1210. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/percent_array.rb +57 -0
  1211. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/percent_literal.rb +32 -0
  1212. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/preceding_following_alignment.rb +175 -0
  1213. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/preferred_delimiters.rb +50 -0
  1214. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/range_help.rb +128 -0
  1215. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/rational_literal.rb +19 -0
  1216. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/rescue_node.rb +28 -0
  1217. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/safe_assignment.rb +27 -0
  1218. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/space_after_punctuation.rb +54 -0
  1219. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/space_before_punctuation.rb +49 -0
  1220. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/statement_modifier.rb +94 -0
  1221. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/string_help.rb +38 -0
  1222. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/string_literals_help.rb +23 -0
  1223. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/surrounding_space.rb +130 -0
  1224. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/target_ruby_version.rb +20 -0
  1225. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/trailing_body.rb +25 -0
  1226. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/trailing_comma.rb +209 -0
  1227. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/uncommunicative_name.rb +104 -0
  1228. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/unused_argument.rb +29 -0
  1229. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/mixin/visibility_help.rb +37 -0
  1230. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/naming/accessor_method_name.rb +71 -0
  1231. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/naming/ascii_identifiers.rb +93 -0
  1232. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/naming/binary_operator_parameter_name.rb +53 -0
  1233. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/naming/block_parameter_name.rb +49 -0
  1234. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/naming/class_and_module_camel_case.rb +43 -0
  1235. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/naming/constant_name.rb +84 -0
  1236. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/naming/file_name.rb +214 -0
  1237. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/naming/heredoc_delimiter_case.rb +68 -0
  1238. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/naming/heredoc_delimiter_naming.rb +55 -0
  1239. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/naming/memoized_instance_variable_name.rb +279 -0
  1240. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/naming/method_name.rb +81 -0
  1241. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/naming/method_parameter_name.rb +58 -0
  1242. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/naming/predicate_name.rb +105 -0
  1243. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/naming/rescued_exceptions_variable_name.rb +156 -0
  1244. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/naming/variable_name.rb +54 -0
  1245. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/naming/variable_number.rb +146 -0
  1246. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/offense.rb +239 -0
  1247. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/registry.rb +287 -0
  1248. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/security/eval.rb +33 -0
  1249. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/security/json_load.rb +46 -0
  1250. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/security/marshal_load.rb +39 -0
  1251. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/security/open.rb +75 -0
  1252. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/security/yaml_load.rb +39 -0
  1253. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/severity.rb +67 -0
  1254. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/access_modifier_declarations.rb +136 -0
  1255. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/accessor_grouping.rb +150 -0
  1256. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/alias.rb +148 -0
  1257. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/and_or.rb +153 -0
  1258. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/arguments_forwarding.rb +143 -0
  1259. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/array_coercion.rb +69 -0
  1260. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/array_join.rb +39 -0
  1261. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/ascii_comments.rb +60 -0
  1262. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/attr.rb +70 -0
  1263. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/auto_resource_cleanup.rb +48 -0
  1264. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/bare_percent_literals.rb +76 -0
  1265. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/begin_block.rb +22 -0
  1266. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/bisected_attr_accessor.rb +125 -0
  1267. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/bisected_attr_accessor/macro.rb +60 -0
  1268. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/block_comments.rb +66 -0
  1269. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/block_delimiters.rb +382 -0
  1270. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/case_equality.rb +81 -0
  1271. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/case_like_if.rb +258 -0
  1272. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/character_literal.rb +50 -0
  1273. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/class_and_module_children.rb +158 -0
  1274. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/class_check.rb +54 -0
  1275. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/class_equality_comparison.rb +67 -0
  1276. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/class_methods.rb +54 -0
  1277. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/class_methods_definitions.rb +157 -0
  1278. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/class_vars.rb +64 -0
  1279. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/collection_compact.rb +91 -0
  1280. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/collection_methods.rb +86 -0
  1281. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/colon_method_call.rb +46 -0
  1282. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/colon_method_definition.rb +37 -0
  1283. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/combinable_loops.rb +92 -0
  1284. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/command_literal.rb +181 -0
  1285. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/comment_annotation.rb +100 -0
  1286. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/commented_keyword.rb +86 -0
  1287. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/conditional_assignment.rb +652 -0
  1288. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/constant_visibility.rb +106 -0
  1289. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/copyright.rb +96 -0
  1290. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/date_time.rb +88 -0
  1291. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/def_with_parentheses.rb +54 -0
  1292. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/dir.rb +47 -0
  1293. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/disable_cops_within_source_code_directive.rb +87 -0
  1294. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/document_dynamic_eval_definition.rb +169 -0
  1295. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/documentation.rb +171 -0
  1296. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/documentation_method.rb +126 -0
  1297. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/double_cop_disable_directive.rb +52 -0
  1298. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/double_negation.rb +79 -0
  1299. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/each_for_simple_loop.rb +55 -0
  1300. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/each_with_object.rb +108 -0
  1301. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/empty_block_parameter.rb +47 -0
  1302. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/empty_case_condition.rb +103 -0
  1303. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/empty_else.rb +167 -0
  1304. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/empty_lambda_parameter.rb +44 -0
  1305. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/empty_literal.rb +131 -0
  1306. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/empty_method.rb +104 -0
  1307. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/encoding.rb +52 -0
  1308. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/end_block.rb +28 -0
  1309. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/endless_method.rb +101 -0
  1310. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/eval_with_location.rb +237 -0
  1311. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/even_odd.rb +56 -0
  1312. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/expand_path_arguments.rb +196 -0
  1313. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/explicit_block_argument.rb +114 -0
  1314. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/exponential_notation.rb +116 -0
  1315. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/float_division.rb +143 -0
  1316. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/for.rb +82 -0
  1317. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/format_string.rb +133 -0
  1318. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/format_string_token.rb +177 -0
  1319. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/frozen_string_literal_comment.rb +204 -0
  1320. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/global_std_stream.rb +66 -0
  1321. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/global_vars.rb +80 -0
  1322. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/guard_clause.rb +141 -0
  1323. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/hash_as_last_array_item.rb +88 -0
  1324. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/hash_conversion.rb +133 -0
  1325. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/hash_each_methods.rb +86 -0
  1326. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/hash_except.rb +96 -0
  1327. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/hash_like_case.rb +77 -0
  1328. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/hash_syntax.rb +219 -0
  1329. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/hash_transform_keys.rb +95 -0
  1330. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/hash_transform_values.rb +92 -0
  1331. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/identical_conditional_branches.rb +133 -0
  1332. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/if_inside_else.rb +135 -0
  1333. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/if_unless_modifier.rb +198 -0
  1334. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/if_unless_modifier_of_if_unless.rb +47 -0
  1335. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/if_with_boolean_literal_branches.rb +122 -0
  1336. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/if_with_semicolon.rb +78 -0
  1337. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/implicit_runtime_error.rb +34 -0
  1338. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/infinite_loop.rb +129 -0
  1339. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/inline_comment.rb +34 -0
  1340. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/inverse_methods.rb +185 -0
  1341. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/ip_addresses.rb +75 -0
  1342. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/keyword_parameters_order.rb +75 -0
  1343. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/lambda.rb +125 -0
  1344. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/lambda_call.rb +76 -0
  1345. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/line_end_concatenation.rb +121 -0
  1346. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/method_call_with_args_parentheses.rb +239 -0
  1347. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb +189 -0
  1348. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/method_call_with_args_parentheses/require_parentheses.rb +44 -0
  1349. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/method_call_without_args_parentheses.rb +84 -0
  1350. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/method_called_on_do_end_block.rb +53 -0
  1351. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/method_def_parentheses.rb +160 -0
  1352. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/min_max.rb +64 -0
  1353. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/missing_else.rb +168 -0
  1354. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/missing_respond_to_missing.rb +52 -0
  1355. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/mixin_grouping.rb +135 -0
  1356. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/mixin_usage.rb +72 -0
  1357. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/module_function.rb +149 -0
  1358. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/multiline_block_chain.rb +48 -0
  1359. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/multiline_if_modifier.rb +60 -0
  1360. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/multiline_if_then.rb +44 -0
  1361. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/multiline_memoization.rb +96 -0
  1362. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/multiline_method_signature.rb +91 -0
  1363. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/multiline_ternary_operator.rb +59 -0
  1364. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/multiline_when_then.rb +75 -0
  1365. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/multiple_comparison.rb +157 -0
  1366. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/mutable_constant.rb +182 -0
  1367. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/negated_if.rb +98 -0
  1368. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/negated_if_else_condition.rb +128 -0
  1369. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/negated_unless.rb +88 -0
  1370. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/negated_while.rb +40 -0
  1371. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/nested_modifier.rb +100 -0
  1372. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/nested_parenthesized_calls.rb +70 -0
  1373. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/nested_ternary_operator.rb +58 -0
  1374. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/next.rb +235 -0
  1375. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/nil_comparison.rb +83 -0
  1376. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/nil_lambda.rb +53 -0
  1377. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/non_nil_check.rb +158 -0
  1378. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/not.rb +76 -0
  1379. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/numeric_literal_prefix.rb +119 -0
  1380. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/numeric_literals.rb +106 -0
  1381. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/numeric_predicate.rb +130 -0
  1382. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/one_line_conditional.rb +147 -0
  1383. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/option_hash.rb +54 -0
  1384. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/optional_arguments.rb +55 -0
  1385. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/optional_boolean_parameter.rb +53 -0
  1386. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/or_assignment.rb +97 -0
  1387. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/parallel_assignment.rb +290 -0
  1388. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/parentheses_around_condition.rb +118 -0
  1389. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/percent_literal_delimiters.rb +119 -0
  1390. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/percent_q_literals.rb +70 -0
  1391. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/perl_backrefs.rb +106 -0
  1392. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/preferred_hash_methods.rb +69 -0
  1393. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/proc.rb +34 -0
  1394. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/raise_args.rb +147 -0
  1395. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/random_with_offset.rb +153 -0
  1396. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/redundant_argument.rb +85 -0
  1397. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/redundant_assignment.rb +106 -0
  1398. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/redundant_begin.rb +157 -0
  1399. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/redundant_capital_w.rb +47 -0
  1400. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/redundant_condition.rb +137 -0
  1401. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/redundant_conditional.rb +96 -0
  1402. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/redundant_exception.rb +65 -0
  1403. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/redundant_fetch_block.rb +115 -0
  1404. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/redundant_file_extension_in_require.rb +52 -0
  1405. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/redundant_freeze.rb +69 -0
  1406. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/redundant_interpolation.rb +103 -0
  1407. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/redundant_parentheses.rb +244 -0
  1408. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/redundant_percent_q.rb +109 -0
  1409. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/redundant_regexp_character_class.rb +104 -0
  1410. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/redundant_regexp_escape.rb +118 -0
  1411. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/redundant_return.rb +171 -0
  1412. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/redundant_self.rb +169 -0
  1413. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/redundant_self_assignment.rb +118 -0
  1414. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/redundant_sort.rb +160 -0
  1415. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/redundant_sort_by.rb +47 -0
  1416. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/regexp_literal.rb +213 -0
  1417. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/rescue_modifier.rb +100 -0
  1418. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/rescue_standard_error.rb +126 -0
  1419. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/return_nil.rb +94 -0
  1420. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/safe_navigation.rb +280 -0
  1421. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/sample.rb +143 -0
  1422. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/self_assignment.rb +101 -0
  1423. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/semicolon.rb +101 -0
  1424. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/send.rb +29 -0
  1425. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/signal_exception.rb +216 -0
  1426. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/single_argument_dig.rb +55 -0
  1427. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/single_line_block_params.rb +117 -0
  1428. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/single_line_methods.rb +135 -0
  1429. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/slicing_with_range.rb +38 -0
  1430. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/sole_nested_conditional.rb +176 -0
  1431. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/special_global_vars.rb +178 -0
  1432. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/stabby_lambda_parentheses.rb +79 -0
  1433. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/static_class.rb +97 -0
  1434. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/stderr_puts.rb +57 -0
  1435. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/string_chars.rb +39 -0
  1436. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/string_concatenation.rb +142 -0
  1437. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/string_hash_keys.rb +51 -0
  1438. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/string_literals.rb +132 -0
  1439. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/string_literals_in_interpolation.rb +50 -0
  1440. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/string_methods.rb +36 -0
  1441. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/strip.rb +42 -0
  1442. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/struct_inheritance.rb +68 -0
  1443. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/swap_values.rb +108 -0
  1444. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/symbol_array.rb +108 -0
  1445. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/symbol_literal.rb +28 -0
  1446. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/symbol_proc.rb +128 -0
  1447. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/ternary_parentheses.rb +218 -0
  1448. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/trailing_body_on_class.rb +40 -0
  1449. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/trailing_body_on_method_definition.rb +55 -0
  1450. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/trailing_body_on_module.rb +40 -0
  1451. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/trailing_comma_in_arguments.rb +106 -0
  1452. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/trailing_comma_in_array_literal.rb +96 -0
  1453. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/trailing_comma_in_block_args.rb +86 -0
  1454. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/trailing_comma_in_hash_literal.rb +97 -0
  1455. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/trailing_method_end_statement.rb +65 -0
  1456. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/trailing_underscore_variable.rb +152 -0
  1457. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/trivial_accessors.rb +187 -0
  1458. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/unless_else.rb +51 -0
  1459. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/unless_logical_operators.rb +105 -0
  1460. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/unpack_first.rb +59 -0
  1461. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/variable_interpolation.rb +45 -0
  1462. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/when_then.rb +33 -0
  1463. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/while_until_do.rb +49 -0
  1464. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/while_until_modifier.rb +53 -0
  1465. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/word_array.rb +83 -0
  1466. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/yoda_condition.rb +155 -0
  1467. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/style/zero_length_predicate.rb +119 -0
  1468. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/team.rb +259 -0
  1469. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/util.rb +143 -0
  1470. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/utils/format_string.rb +133 -0
  1471. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/variable_force.rb +454 -0
  1472. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/variable_force/assignment.rb +96 -0
  1473. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/variable_force/branch.rb +331 -0
  1474. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/variable_force/branchable.rb +23 -0
  1475. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/variable_force/reference.rb +47 -0
  1476. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/variable_force/scope.rb +106 -0
  1477. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/variable_force/variable.rb +114 -0
  1478. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cop/variable_force/variable_table.rb +129 -0
  1479. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/cops_documentation_generator.rb +270 -0
  1480. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/core_ext/string.rb +23 -0
  1481. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/directive_comment.rb +92 -0
  1482. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/error.rb +35 -0
  1483. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/ext/processed_source.rb +18 -0
  1484. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/ext/regexp_node.rb +87 -0
  1485. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/ext/regexp_parser.rb +92 -0
  1486. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/file_finder.rb +41 -0
  1487. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/formatter/auto_gen_config_formatter.rb +17 -0
  1488. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/formatter/base_formatter.rb +119 -0
  1489. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/formatter/clang_style_formatter.rb +59 -0
  1490. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/formatter/colorizable.rb +41 -0
  1491. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/formatter/disabled_config_formatter.rb +233 -0
  1492. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/formatter/emacs_style_formatter.rb +39 -0
  1493. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/formatter/file_list_formatter.rb +20 -0
  1494. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/formatter/formatter_set.rb +106 -0
  1495. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/formatter/fuubar_style_formatter.rb +80 -0
  1496. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/formatter/git_hub_actions_formatter.rb +44 -0
  1497. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/formatter/html_formatter.rb +137 -0
  1498. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/formatter/json_formatter.rb +77 -0
  1499. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/formatter/junit_formatter.rb +78 -0
  1500. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/formatter/offense_count_formatter.rb +74 -0
  1501. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/formatter/pacman_formatter.rb +80 -0
  1502. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/formatter/progress_formatter.rb +62 -0
  1503. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/formatter/quiet_formatter.rb +13 -0
  1504. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/formatter/simple_text_formatter.rb +171 -0
  1505. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/formatter/tap_formatter.rb +86 -0
  1506. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/formatter/text_util.rb +20 -0
  1507. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/formatter/worst_offenders_formatter.rb +62 -0
  1508. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/lockfile.rb +40 -0
  1509. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/magic_comment.rb +243 -0
  1510. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/name_similarity.rb +29 -0
  1511. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/options.rb +507 -0
  1512. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/path_util.rb +83 -0
  1513. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/platform.rb +11 -0
  1514. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/rake_task.rb +81 -0
  1515. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/remote_config.rb +102 -0
  1516. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/result_cache.rb +226 -0
  1517. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/rspec/cop_helper.rb +70 -0
  1518. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/rspec/expect_offense.rb +329 -0
  1519. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/rspec/host_environment_simulation_helper.rb +28 -0
  1520. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/rspec/shared_contexts.rb +137 -0
  1521. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/rspec/support.rb +13 -0
  1522. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/runner.rb +416 -0
  1523. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/string_interpreter.rb +60 -0
  1524. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/target_finder.rb +206 -0
  1525. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/target_ruby.rb +264 -0
  1526. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/util.rb +16 -0
  1527. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/version.rb +85 -0
  1528. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/warning.rb +11 -0
  1529. data/.bundle/ruby/3.0.0/gems/rubocop-1.14.0/lib/rubocop/yaml_duplication_checker.rb +40 -0
  1530. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/LICENSE.txt +20 -0
  1531. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/README.md +56 -0
  1532. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop-ast.rb +3 -0
  1533. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast.rb +89 -0
  1534. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/builder.rb +105 -0
  1535. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/ext/range.rb +28 -0
  1536. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/ext/range_min_max.rb +18 -0
  1537. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node.rb +656 -0
  1538. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/alias_node.rb +24 -0
  1539. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/and_node.rb +29 -0
  1540. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/arg_node.rb +34 -0
  1541. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/args_node.rb +39 -0
  1542. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/array_node.rb +65 -0
  1543. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/block_node.rb +149 -0
  1544. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/break_node.rb +12 -0
  1545. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/case_match_node.rb +50 -0
  1546. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/case_node.rb +60 -0
  1547. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/class_node.rb +31 -0
  1548. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/const_node.rb +65 -0
  1549. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/def_node.rb +68 -0
  1550. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/defined_node.rb +19 -0
  1551. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/dstr_node.rb +16 -0
  1552. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/ensure_node.rb +17 -0
  1553. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/float_node.rb +13 -0
  1554. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/for_node.rb +53 -0
  1555. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/forward_args_node.rb +33 -0
  1556. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/hash_node.rb +122 -0
  1557. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/if_node.rb +171 -0
  1558. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/index_node.rb +48 -0
  1559. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/indexasgn_node.rb +50 -0
  1560. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/int_node.rb +13 -0
  1561. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/keyword_splat_node.rb +46 -0
  1562. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/lambda_node.rb +65 -0
  1563. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/mixin/basic_literal_node.rb +16 -0
  1564. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/mixin/binary_operator_node.rb +43 -0
  1565. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/mixin/collection_node.rb +16 -0
  1566. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/mixin/conditional_node.rb +45 -0
  1567. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/mixin/descendence.rb +112 -0
  1568. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/mixin/hash_element_node.rb +125 -0
  1569. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/mixin/method_dispatch_node.rb +259 -0
  1570. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/mixin/method_identifier_predicates.rb +219 -0
  1571. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/mixin/modifier_node.rb +17 -0
  1572. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/mixin/numeric_node.rb +22 -0
  1573. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/mixin/parameterized_node.rb +117 -0
  1574. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/mixin/predicate_operator_node.rb +39 -0
  1575. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/module_node.rb +24 -0
  1576. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/next_node.rb +12 -0
  1577. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/or_node.rb +29 -0
  1578. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/pair_node.rb +67 -0
  1579. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/procarg0_node.rb +17 -0
  1580. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/range_node.rb +18 -0
  1581. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/regexp_node.rb +97 -0
  1582. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/resbody_node.rb +45 -0
  1583. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/rescue_node.rb +49 -0
  1584. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/return_node.rb +12 -0
  1585. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/self_class_node.rb +24 -0
  1586. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/send_node.rb +25 -0
  1587. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/str_node.rb +16 -0
  1588. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/super_node.rb +23 -0
  1589. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/symbol_node.rb +12 -0
  1590. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/until_node.rb +35 -0
  1591. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/when_node.rb +47 -0
  1592. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/while_node.rb +35 -0
  1593. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node/yield_node.rb +23 -0
  1594. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node_pattern.rb +126 -0
  1595. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node_pattern/builder.rb +72 -0
  1596. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node_pattern/comment.rb +45 -0
  1597. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node_pattern/compiler.rb +104 -0
  1598. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node_pattern/compiler/atom_subcompiler.rb +56 -0
  1599. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node_pattern/compiler/binding.rb +78 -0
  1600. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node_pattern/compiler/debug.rb +168 -0
  1601. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node_pattern/compiler/node_pattern_subcompiler.rb +146 -0
  1602. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node_pattern/compiler/sequence_subcompiler.rb +420 -0
  1603. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node_pattern/compiler/subcompiler.rb +57 -0
  1604. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node_pattern/lexer.rb +70 -0
  1605. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node_pattern/lexer.rex +42 -0
  1606. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node_pattern/lexer.rex.rb +185 -0
  1607. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node_pattern/method_definer.rb +145 -0
  1608. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node_pattern/node.rb +260 -0
  1609. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node_pattern/parser.racc.rb +470 -0
  1610. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node_pattern/parser.rb +66 -0
  1611. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node_pattern/parser.y +103 -0
  1612. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node_pattern/sets.rb +37 -0
  1613. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/node_pattern/with_meta.rb +111 -0
  1614. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/processed_source.rb +293 -0
  1615. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/rubocop_compatibility.rb +31 -0
  1616. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/sexp.rb +16 -0
  1617. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/token.rb +116 -0
  1618. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/traversal.rb +182 -0
  1619. data/.bundle/ruby/3.0.0/gems/rubocop-ast-1.5.0/lib/rubocop/ast/version.rb +9 -0
  1620. data/.bundle/ruby/3.0.0/gems/ruby-progressbar-1.11.0/LICENSE.txt +19 -0
  1621. data/.bundle/ruby/3.0.0/gems/ruby-progressbar-1.11.0/README.md +131 -0
  1622. data/.bundle/ruby/3.0.0/gems/ruby-progressbar-1.11.0/Rakefile +2 -0
  1623. data/.bundle/ruby/3.0.0/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar.rb +22 -0
  1624. data/.bundle/ruby/3.0.0/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar/base.rb +183 -0
  1625. data/.bundle/ruby/3.0.0/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar/calculators/length.rb +100 -0
  1626. data/.bundle/ruby/3.0.0/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar/calculators/running_average.rb +9 -0
  1627. data/.bundle/ruby/3.0.0/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar/components.rb +5 -0
  1628. data/.bundle/ruby/3.0.0/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar/components/bar.rb +102 -0
  1629. data/.bundle/ruby/3.0.0/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar/components/percentage.rb +29 -0
  1630. data/.bundle/ruby/3.0.0/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar/components/rate.rb +43 -0
  1631. data/.bundle/ruby/3.0.0/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar/components/time.rb +101 -0
  1632. data/.bundle/ruby/3.0.0/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar/components/title.rb +13 -0
  1633. data/.bundle/ruby/3.0.0/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar/errors/invalid_progress_error.rb +4 -0
  1634. data/.bundle/ruby/3.0.0/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar/format.rb +3 -0
  1635. data/.bundle/ruby/3.0.0/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar/format/formatter.rb +27 -0
  1636. data/.bundle/ruby/3.0.0/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar/format/molecule.rb +60 -0
  1637. data/.bundle/ruby/3.0.0/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar/format/string.rb +36 -0
  1638. data/.bundle/ruby/3.0.0/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar/output.rb +68 -0
  1639. data/.bundle/ruby/3.0.0/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar/outputs/non_tty.rb +47 -0
  1640. data/.bundle/ruby/3.0.0/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar/outputs/null.rb +33 -0
  1641. data/.bundle/ruby/3.0.0/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar/outputs/tty.rb +32 -0
  1642. data/.bundle/ruby/3.0.0/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar/progress.rb +118 -0
  1643. data/.bundle/ruby/3.0.0/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar/refinements.rb +1 -0
  1644. data/.bundle/ruby/3.0.0/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar/refinements/enumerator.rb +23 -0
  1645. data/.bundle/ruby/3.0.0/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar/throttle.rb +25 -0
  1646. data/.bundle/ruby/3.0.0/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar/time.rb +32 -0
  1647. data/.bundle/ruby/3.0.0/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar/timer.rb +72 -0
  1648. data/.bundle/ruby/3.0.0/gems/ruby-progressbar-1.11.0/lib/ruby-progressbar/version.rb +3 -0
  1649. data/.bundle/ruby/3.0.0/gems/ruby2_keywords-0.0.4/LICENSE +22 -0
  1650. data/.bundle/ruby/3.0.0/gems/ruby2_keywords-0.0.4/README.md +67 -0
  1651. data/.bundle/ruby/3.0.0/gems/ruby2_keywords-0.0.4/lib/ruby2_keywords.rb +57 -0
  1652. data/.bundle/ruby/3.0.0/gems/unicode-display_width-2.0.0/CHANGELOG.md +158 -0
  1653. data/.bundle/ruby/3.0.0/gems/unicode-display_width-2.0.0/MIT-LICENSE.txt +22 -0
  1654. data/.bundle/ruby/3.0.0/gems/unicode-display_width-2.0.0/README.md +159 -0
  1655. data/.bundle/ruby/3.0.0/gems/unicode-display_width-2.0.0/data/display_width.marshal.gz +0 -0
  1656. data/.bundle/ruby/3.0.0/gems/unicode-display_width-2.0.0/lib/unicode/display_width.rb +65 -0
  1657. data/.bundle/ruby/3.0.0/gems/unicode-display_width-2.0.0/lib/unicode/display_width/constants.rb +10 -0
  1658. data/.bundle/ruby/3.0.0/gems/unicode-display_width-2.0.0/lib/unicode/display_width/index.rb +14 -0
  1659. data/.bundle/ruby/3.0.0/gems/unicode-display_width-2.0.0/lib/unicode/display_width/no_string_ext.rb +8 -0
  1660. data/.bundle/ruby/3.0.0/gems/unicode-display_width-2.0.0/lib/unicode/display_width/string_ext.rb +9 -0
  1661. data/.bundle/ruby/3.0.0/specifications/ast-2.4.2.gemspec +42 -0
  1662. data/.bundle/ruby/3.0.0/specifications/diff-lcs-1.4.4.gemspec +50 -0
  1663. data/.bundle/ruby/3.0.0/specifications/faraday-1.4.1.gemspec +0 -0
  1664. data/.bundle/ruby/3.0.0/specifications/faraday-excon-1.1.0.gemspec +52 -0
  1665. data/.bundle/ruby/3.0.0/specifications/faraday-net_http-1.0.1.gemspec +50 -0
  1666. data/.bundle/ruby/3.0.0/specifications/faraday-net_http_persistent-1.1.0.gemspec +48 -0
  1667. data/.bundle/ruby/3.0.0/specifications/multipart-post-2.1.1.gemspec +34 -0
  1668. data/.bundle/ruby/3.0.0/specifications/parallel-1.20.1.gemspec +21 -0
  1669. data/.bundle/ruby/3.0.0/specifications/parser-3.0.1.1.gemspec +52 -0
  1670. data/.bundle/ruby/3.0.0/specifications/rainbow-3.0.0.gemspec +31 -0
  1671. data/.bundle/ruby/3.0.0/specifications/rake-13.0.3.gemspec +26 -0
  1672. data/.bundle/ruby/3.0.0/specifications/regexp_parser-2.1.1.gemspec +23 -0
  1673. data/.bundle/ruby/3.0.0/specifications/rexml-3.2.5.gemspec +38 -0
  1674. data/.bundle/ruby/3.0.0/specifications/rspec-3.10.0.gemspec +39 -0
  1675. data/.bundle/ruby/3.0.0/specifications/rspec-core-3.10.1.gemspec +53 -0
  1676. data/.bundle/ruby/3.0.0/specifications/rspec-expectations-3.10.1.gemspec +44 -0
  1677. data/.bundle/ruby/3.0.0/specifications/rspec-mocks-3.10.2.gemspec +44 -0
  1678. data/.bundle/ruby/3.0.0/specifications/rspec-support-3.10.2.gemspec +36 -0
  1679. data/.bundle/ruby/3.0.0/specifications/rubocop-1.14.0.gemspec +52 -0
  1680. data/.bundle/ruby/3.0.0/specifications/rubocop-ast-1.5.0.gemspec +36 -0
  1681. data/.bundle/ruby/3.0.0/specifications/ruby-progressbar-1.11.0.gemspec +38 -0
  1682. data/.bundle/ruby/3.0.0/specifications/ruby2_keywords-0.0.4.gemspec +19 -0
  1683. data/.bundle/ruby/3.0.0/specifications/unicode-display_width-2.0.0.gemspec +36 -0
  1684. data/.rspec +3 -0
  1685. data/.rspec_status +3 -0
  1686. data/.rubocop.yml +13 -0
  1687. data/CHANGELOG.md +5 -0
  1688. data/CODE_OF_CONDUCT.md +84 -0
  1689. data/Gemfile +18 -0
  1690. data/Gemfile.lock +76 -0
  1691. data/LICENSE.txt +21 -0
  1692. data/README.md +35 -0
  1693. data/Rakefile +12 -0
  1694. data/bin/console +14 -0
  1695. data/bin/setup +6 -0
  1696. data/cocRb.gemspec +32 -0
  1697. data/lib/cocRb.rb +29 -0
  1698. data/lib/cocRb/api.rb +50 -0
  1699. data/lib/cocRb/clan.rb +212 -0
  1700. data/lib/cocRb/clanWar.rb +300 -0
  1701. data/lib/cocRb/gp.rb +72 -0
  1702. data/lib/cocRb/labels.rb +68 -0
  1703. data/lib/cocRb/league.rb +140 -0
  1704. data/lib/cocRb/loactions.rb +137 -0
  1705. data/lib/cocRb/player.rb +68 -0
  1706. data/lib/cocRb/utility.rb +43 -0
  1707. data/lib/cocRb/version.rb +5 -0
  1708. metadata +1819 -0
@@ -0,0 +1,291 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Parser
4
+
5
+ ##
6
+ # Base class for version-specific parsers.
7
+ #
8
+ # @api public
9
+ #
10
+ # @!attribute [r] diagnostics
11
+ # @return [Parser::Diagnostic::Engine]
12
+ #
13
+ # @!attribute [r] static_env
14
+ # @return [Parser::StaticEnvironment]
15
+ #
16
+ class Base < Racc::Parser
17
+ ##
18
+ # Parses a string of Ruby code and returns the AST. If the source
19
+ # cannot be parsed, {SyntaxError} is raised and a diagnostic is
20
+ # printed to `stderr`.
21
+ #
22
+ # @example
23
+ # Parser::Base.parse('puts "hello"')
24
+ #
25
+ # @param [String] string The block of code to parse.
26
+ # @param [String] file The name of the file the code originated from.
27
+ # @param [Numeric] line The initial line number.
28
+ # @return [Parser::AST::Node]
29
+ #
30
+ def self.parse(string, file='(string)', line=1)
31
+ parser = default_parser
32
+ source_buffer = setup_source_buffer(file, line, string, parser.default_encoding)
33
+ parser.parse(source_buffer)
34
+ end
35
+
36
+ ##
37
+ # Parses a string of Ruby code and returns the AST and comments. If the
38
+ # source cannot be parsed, {SyntaxError} is raised and a diagnostic is
39
+ # printed to `stderr`.
40
+ #
41
+ # @example
42
+ # Parser::Base.parse_with_comments('puts "hello"')
43
+ #
44
+ # @param [String] string The block of code to parse.
45
+ # @param [String] file The name of the file the code originated from.
46
+ # @param [Numeric] line The initial line number.
47
+ # @return [Array]
48
+ #
49
+ def self.parse_with_comments(string, file='(string)', line=1)
50
+ parser = default_parser
51
+ source_buffer = setup_source_buffer(file, line, string, parser.default_encoding)
52
+ parser.parse_with_comments(source_buffer)
53
+ end
54
+
55
+ ##
56
+ # Parses Ruby source code by reading it from a file. If the source
57
+ # cannot be parsed, {SyntaxError} is raised and a diagnostic is
58
+ # printed to `stderr`.
59
+ #
60
+ # @param [String] filename Path to the file to parse.
61
+ # @return [Parser::AST::Node]
62
+ # @see #parse
63
+ #
64
+ def self.parse_file(filename)
65
+ parse(File.read(filename), filename)
66
+ end
67
+
68
+ ##
69
+ # Parses Ruby source code by reading it from a file and returns the AST and
70
+ # comments. If the source cannot be parsed, {SyntaxError} is raised and a
71
+ # diagnostic is printed to `stderr`.
72
+ #
73
+ # @param [String] filename Path to the file to parse.
74
+ # @return [Array]
75
+ # @see #parse
76
+ #
77
+ def self.parse_file_with_comments(filename)
78
+ parse_with_comments(File.read(filename), filename)
79
+ end
80
+
81
+ ##
82
+ # @return [Parser::Base] parser with the default options set.
83
+ #
84
+ def self.default_parser
85
+ parser = new
86
+
87
+ parser.diagnostics.all_errors_are_fatal = true
88
+ parser.diagnostics.ignore_warnings = true
89
+
90
+ parser.diagnostics.consumer = lambda do |diagnostic|
91
+ $stderr.puts(diagnostic.render)
92
+ end
93
+
94
+ parser
95
+ end
96
+
97
+ def self.setup_source_buffer(file, line, string, encoding)
98
+ string = string.dup.force_encoding(encoding)
99
+
100
+ source_buffer = Source::Buffer.new(file, line)
101
+
102
+ if name == 'Parser::Ruby18'
103
+ source_buffer.raw_source = string
104
+ else
105
+ source_buffer.source = string
106
+ end
107
+
108
+ source_buffer
109
+ end
110
+ private_class_method :setup_source_buffer
111
+
112
+ attr_reader :lexer
113
+ attr_reader :diagnostics
114
+ attr_reader :builder
115
+ attr_reader :static_env
116
+ attr_reader :source_buffer
117
+ attr_reader :context
118
+ attr_reader :max_numparam_stack
119
+ attr_reader :current_arg_stack
120
+ attr_reader :pattern_variables
121
+ attr_reader :pattern_hash_keys
122
+
123
+ ##
124
+ # @param [Parser::Builders::Default] builder The AST builder to use.
125
+ #
126
+ def initialize(builder=Parser::Builders::Default.new)
127
+ @diagnostics = Diagnostic::Engine.new
128
+
129
+ @static_env = StaticEnvironment.new
130
+
131
+ # Stack that holds current parsing context
132
+ @context = Context.new
133
+
134
+ # Maximum numbered parameters stack
135
+ @max_numparam_stack = MaxNumparamStack.new
136
+
137
+ # Current argument names stack
138
+ @current_arg_stack = CurrentArgStack.new
139
+
140
+ # Stack of set of variables used in the current pattern
141
+ @pattern_variables = VariablesStack.new
142
+
143
+ # Stack of set of keys used in the current hash in pattern matchinig
144
+ @pattern_hash_keys = VariablesStack.new
145
+
146
+ @lexer = Lexer.new(version)
147
+ @lexer.diagnostics = @diagnostics
148
+ @lexer.static_env = @static_env
149
+ @lexer.context = @context
150
+
151
+ @builder = builder
152
+ @builder.parser = self
153
+
154
+ # Last emitted token
155
+ @last_token = nil
156
+
157
+ if self.class::Racc_debug_parser && ENV['RACC_DEBUG']
158
+ @yydebug = true
159
+ end
160
+
161
+ reset
162
+ end
163
+
164
+ ##
165
+ # Resets the state of the parser.
166
+ #
167
+ def reset
168
+ @source_buffer = nil
169
+
170
+ @lexer.reset
171
+ @static_env.reset
172
+ @context.reset
173
+ @current_arg_stack.reset
174
+ @pattern_variables.reset
175
+ @pattern_hash_keys.reset
176
+
177
+ self
178
+ end
179
+
180
+ ##
181
+ # Parses a source buffer and returns the AST, or `nil` in case of a non fatal error.
182
+ #
183
+ # @param [Parser::Source::Buffer] source_buffer The source buffer to parse.
184
+ # @return [Parser::AST::Node, nil]
185
+ #
186
+ def parse(source_buffer)
187
+ @lexer.source_buffer = source_buffer
188
+ @source_buffer = source_buffer
189
+
190
+ do_parse || nil # Force `false` to `nil`, see https://github.com/ruby/racc/pull/136
191
+ ensure
192
+ # Don't keep references to the source file.
193
+ @source_buffer = nil
194
+ @lexer.source_buffer = nil
195
+ end
196
+
197
+ ##
198
+ # Parses a source buffer and returns the AST and the source code comments.
199
+ #
200
+ # @see #parse
201
+ # @see Parser::Source::Comment#associate
202
+ # @return [Array]
203
+ #
204
+ def parse_with_comments(source_buffer)
205
+ @lexer.comments = []
206
+
207
+ [ parse(source_buffer), @lexer.comments ]
208
+ ensure
209
+ @lexer.comments = nil
210
+ end
211
+
212
+ ##
213
+ # Parses a source buffer and returns the AST, the source code comments,
214
+ # and the tokens emitted by the lexer. In case of a fatal error, a {SyntaxError}
215
+ # is raised, unless `recover` is true. In case of an error
216
+ # (non-fatal or recovered), `nil` is returned instead of the AST, and
217
+ # comments as well as tokens are only returned up to the location of
218
+ # the error.
219
+ #
220
+ # Currently, token stream format returned by #tokenize is not documented,
221
+ # but is considered part of a public API and only changed according
222
+ # to Semantic Versioning.
223
+ #
224
+ # However, note that the exact token composition of various constructs
225
+ # might vary. For example, a string `"foo"` is represented equally well
226
+ # by `:tSTRING_BEG " :tSTRING_CONTENT foo :tSTRING_END "` and
227
+ # `:tSTRING "foo"`; such details must not be relied upon.
228
+ #
229
+ # @param [Parser::Source::Buffer] source_buffer
230
+ # @param [Boolean] recover If true, recover from syntax errors. False by default.
231
+ # @return [Array]
232
+ #
233
+ def tokenize(source_buffer, recover=false)
234
+ @lexer.tokens = []
235
+ @lexer.comments = []
236
+
237
+ begin
238
+ ast = parse(source_buffer)
239
+ rescue Parser::SyntaxError
240
+ raise if !recover
241
+ end
242
+
243
+ [ ast, @lexer.comments, @lexer.tokens ]
244
+ ensure
245
+ @lexer.tokens = nil
246
+ @lexer.comments = nil
247
+ end
248
+
249
+ private
250
+
251
+ def next_token
252
+ token = @lexer.advance
253
+ @last_token = token
254
+ token
255
+ end
256
+
257
+ def check_kwarg_name(name_t)
258
+ case name_t[0]
259
+ when /^[a-z_]/
260
+ # OK
261
+ when /^[A-Z]/
262
+ diagnostic :error, :argument_const, nil, name_t
263
+ end
264
+ end
265
+
266
+ def diagnostic(level, reason, arguments, location_t, highlights_ts=[])
267
+ _, location = location_t
268
+
269
+ highlights = highlights_ts.map do |token|
270
+ _, range = token
271
+ range
272
+ end
273
+
274
+ @diagnostics.process(
275
+ Diagnostic.new(level, reason, arguments, location, highlights))
276
+
277
+ if level == :error
278
+ yyerror
279
+ end
280
+ end
281
+
282
+ def on_error(error_token_id, error_value, value_stack)
283
+ token_name = token_to_str(error_token_id)
284
+ _, location = error_value
285
+
286
+ @diagnostics.process(Diagnostic.new(
287
+ :error, :unexpected_token, { :token => token_name }, location))
288
+ end
289
+ end
290
+
291
+ end
@@ -0,0 +1,2224 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Parser
4
+
5
+ ##
6
+ # Default AST builder. Uses {AST::Node}s.
7
+ #
8
+ class Builders::Default
9
+ class << self
10
+ ##
11
+ # AST compatibility attribute; since `-> {}` is not semantically
12
+ # equivalent to `lambda {}`, all new code should set this attribute
13
+ # to true.
14
+ #
15
+ # If set to false (the default), `-> {}` is emitted as
16
+ # `s(:block, s(:send, nil, :lambda), s(:args), nil)`.
17
+ #
18
+ # If set to true, `-> {}` is emitted as
19
+ # `s(:block, s(:lambda), s(:args), nil)`.
20
+ #
21
+ # @return [Boolean]
22
+ attr_accessor :emit_lambda
23
+ end
24
+
25
+ @emit_lambda = false
26
+
27
+ class << self
28
+ ##
29
+ # AST compatibility attribute; block arguments of `m { |a| }` are
30
+ # not semantically equivalent to block arguments of `m { |a,| }` or `m { |a, b| }`,
31
+ # all new code should set this attribute to true.
32
+ #
33
+ # If set to false (the default), arguments of `m { |a| }` are emitted as
34
+ # `s(:args, s(:arg, :a))`.
35
+ #
36
+ # If set to true, arguments of `m { |a| }` are emitted as
37
+ # `s(:args, s(:procarg0, :a)).
38
+ #
39
+ # @return [Boolean]
40
+ attr_accessor :emit_procarg0
41
+ end
42
+
43
+ @emit_procarg0 = false
44
+
45
+ class << self
46
+ ##
47
+ # AST compatibility attribute; locations of `__ENCODING__` are not the same
48
+ # as locations of `Encoding::UTF_8` causing problems during rewriting,
49
+ # all new code should set this attribute to true.
50
+ #
51
+ # If set to false (the default), `__ENCODING__` is emitted as
52
+ # ` s(:const, s(:const, nil, :Encoding), :UTF_8)`.
53
+ #
54
+ # If set to true, `__ENCODING__` is emitted as
55
+ # `s(:__ENCODING__)`.
56
+ #
57
+ # @return [Boolean]
58
+ attr_accessor :emit_encoding
59
+ end
60
+
61
+ @emit_encoding = false
62
+
63
+ class << self
64
+ ##
65
+ # AST compatibility attribute; indexed assignment, `x[] = 1`, is not
66
+ # semantically equivalent to calling the method directly, `x.[]=(1)`.
67
+ # Specifically, in the former case, the expression's value is always 1,
68
+ # and in the latter case, the expression's value is the return value
69
+ # of the `[]=` method.
70
+ #
71
+ # If set to false (the default), `self[1]` is emitted as
72
+ # `s(:send, s(:self), :[], s(:int, 1))`, and `self[1] = 2` is
73
+ # emitted as `s(:send, s(:self), :[]=, s(:int, 1), s(:int, 2))`.
74
+ #
75
+ # If set to true, `self[1]` is emitted as
76
+ # `s(:index, s(:self), s(:int, 1))`, and `self[1] = 2` is
77
+ # emitted as `s(:indexasgn, s(:self), s(:int, 1), s(:int, 2))`.
78
+ #
79
+ # @return [Boolean]
80
+ attr_accessor :emit_index
81
+ end
82
+
83
+ @emit_index = false
84
+
85
+ class << self
86
+ ##
87
+ # AST compatibility attribute; causes a single non-mlhs
88
+ # block argument to be wrapped in s(:procarg0).
89
+ #
90
+ # If set to false (the default), block arguments `|a|` are emitted as
91
+ # `s(:args, s(:procarg0, :a))`
92
+ #
93
+ # If set to true, block arguments `|a|` are emitted as
94
+ # `s(:args, s(:procarg0, s(:arg, :a))`
95
+ #
96
+ # @return [Boolean]
97
+ attr_accessor :emit_arg_inside_procarg0
98
+ end
99
+
100
+ @emit_arg_inside_procarg0 = false
101
+
102
+ class << self
103
+ ##
104
+ # AST compatibility attribute; arguments forwarding initially
105
+ # didn't have support for leading arguments
106
+ # (i.e. `def m(a, ...); end` was a syntax error). However, Ruby 3.0
107
+ # added support for any number of arguments in front of the `...`.
108
+ #
109
+ # If set to false (the default):
110
+ # 1. `def m(...) end` is emitted as
111
+ # s(:def, :m, s(:forward_args), nil)
112
+ # 2. `def m(a, b, ...) end` is emitted as
113
+ # s(:def, :m,
114
+ # s(:args, s(:arg, :a), s(:arg, :b), s(:forward_arg)))
115
+ #
116
+ # If set to true it uses a single format:
117
+ # 1. `def m(...) end` is emitted as
118
+ # s(:def, :m, s(:args, s(:forward_arg)))
119
+ # 2. `def m(a, b, ...) end` is emitted as
120
+ # s(:def, :m, s(:args, s(:arg, :a), s(:arg, :b), s(:forward_arg)))
121
+ #
122
+ # It does't matter that much on 2.7 (because there can't be any leading arguments),
123
+ # but on 3.0 it should be better enabled to use a single AST format.
124
+ #
125
+ # @return [Boolean]
126
+ attr_accessor :emit_forward_arg
127
+ end
128
+
129
+ @emit_forward_arg = false
130
+
131
+ class << self
132
+ ##
133
+ # AST compatibility attribute; Starting from Ruby 2.7 keyword arguments
134
+ # of method calls that are passed explicitly as a hash (i.e. with curly braces)
135
+ # are treated as positional arguments and Ruby 2.7 emits a warning on such method
136
+ # call. Ruby 3.0 given an ArgumentError.
137
+ #
138
+ # If set to false (the default) the last hash argument is emitted as `hash`:
139
+ #
140
+ # ```
141
+ # (send nil :foo
142
+ # (hash
143
+ # (pair
144
+ # (sym :bar)
145
+ # (int 42))))
146
+ # ```
147
+ #
148
+ # If set to true it is emitted as `kwargs`:
149
+ #
150
+ # ```
151
+ # (send nil :foo
152
+ # (kwargs
153
+ # (pair
154
+ # (sym :bar)
155
+ # (int 42))))
156
+ # ```
157
+ #
158
+ # Note that `kwargs` node is just a replacement for `hash` argument,
159
+ # so if there's are multiple arguments (or a `kwsplat`) all of them
160
+ # are wrapped into `kwargs` instead of `hash`:
161
+ #
162
+ # ```
163
+ # (send nil :foo
164
+ # (hash
165
+ # (pair
166
+ # (sym :a)
167
+ # (int 42))
168
+ # (kwsplat
169
+ # (send nil :b))
170
+ # (pair
171
+ # (sym :c)
172
+ # (int 10))))
173
+ # ```
174
+ attr_accessor :emit_kwargs
175
+ end
176
+
177
+ @emit_kwargs = false
178
+
179
+ class << self
180
+ ##
181
+ # AST compatibility attribute; Starting from 3.0 Ruby returns
182
+ # true/false from single-line pattern matching with `in` keyword.
183
+ #
184
+ # Before 3.0 there was an exception if given value doesn't match pattern.
185
+ #
186
+ # NOTE: This attribute affects only Ruby 2.7 grammar.
187
+ # 3.0 grammar always emits `match_pattern`/`match_pattern_p`
188
+ #
189
+ # If compatibility attribute set to false `foo in bar` is emitted as `in_match`:
190
+ #
191
+ # ```
192
+ # (in-match
193
+ # (send nil :foo)
194
+ # (match-var :bar))
195
+ # ```
196
+ #
197
+ # If set to true it's emitted as `match_pattern_p`:
198
+ # ```
199
+ # (match-pattern-p
200
+ # (send nil :foo)
201
+ # (match-var :bar))
202
+ # ```
203
+ attr_accessor :emit_match_pattern
204
+ end
205
+
206
+ @emit_match_pattern = false
207
+
208
+ class << self
209
+ ##
210
+ # @api private
211
+ def modernize
212
+ @emit_lambda = true
213
+ @emit_procarg0 = true
214
+ @emit_encoding = true
215
+ @emit_index = true
216
+ @emit_arg_inside_procarg0 = true
217
+ @emit_forward_arg = true
218
+ @emit_kwargs = true
219
+ @emit_match_pattern = true
220
+ end
221
+ end
222
+
223
+ ##
224
+ # @api private
225
+ attr_accessor :parser
226
+
227
+ ##
228
+ # If set to true (the default), `__FILE__` and `__LINE__` are transformed to
229
+ # literal nodes. For example, `s(:str, "lib/foo.rb")` and `s(:int, 10)`.
230
+ #
231
+ # If set to false, `__FILE__` and `__LINE__` are emitted as-is,
232
+ # i.e. as `s(:__FILE__)` and `s(:__LINE__)` nodes.
233
+ #
234
+ # Source maps are identical in both cases.
235
+ #
236
+ # @return [Boolean]
237
+ attr_accessor :emit_file_line_as_literals
238
+
239
+ ##
240
+ # Initializes attributes:
241
+ #
242
+ # * `emit_file_line_as_literals`: `true`
243
+ def initialize
244
+ @emit_file_line_as_literals = true
245
+ end
246
+
247
+ # @!parse private
248
+
249
+ #
250
+ # Literals
251
+ #
252
+
253
+ # Singletons
254
+
255
+ def nil(nil_t)
256
+ n0(:nil,
257
+ token_map(nil_t))
258
+ end
259
+
260
+ def true(true_t)
261
+ n0(:true,
262
+ token_map(true_t))
263
+ end
264
+
265
+ def false(false_t)
266
+ n0(:false,
267
+ token_map(false_t))
268
+ end
269
+
270
+ # Numerics
271
+
272
+ def integer(integer_t)
273
+ numeric(:int, integer_t)
274
+ end
275
+
276
+ def float(float_t)
277
+ numeric(:float, float_t)
278
+ end
279
+
280
+ def rational(rational_t)
281
+ numeric(:rational, rational_t)
282
+ end
283
+
284
+ def complex(complex_t)
285
+ numeric(:complex, complex_t)
286
+ end
287
+
288
+ def numeric(kind, token)
289
+ n(kind, [ value(token) ],
290
+ Source::Map::Operator.new(nil, loc(token)))
291
+ end
292
+ private :numeric
293
+
294
+ def unary_num(unary_t, numeric)
295
+ value, = *numeric
296
+ operator_loc = loc(unary_t)
297
+
298
+ case value(unary_t)
299
+ when '+'
300
+ value = +value
301
+ when '-'
302
+ value = -value
303
+ end
304
+
305
+ numeric.updated(nil, [ value ],
306
+ :location =>
307
+ Source::Map::Operator.new(
308
+ operator_loc,
309
+ operator_loc.join(numeric.loc.expression)))
310
+ end
311
+
312
+ def __LINE__(__LINE__t)
313
+ n0(:__LINE__,
314
+ token_map(__LINE__t))
315
+ end
316
+
317
+ # Strings
318
+
319
+ def string(string_t)
320
+ n(:str, [ string_value(string_t) ],
321
+ delimited_string_map(string_t))
322
+ end
323
+
324
+ def string_internal(string_t)
325
+ n(:str, [ string_value(string_t) ],
326
+ unquoted_map(string_t))
327
+ end
328
+
329
+ def string_compose(begin_t, parts, end_t)
330
+ if collapse_string_parts?(parts)
331
+ if begin_t.nil? && end_t.nil?
332
+ parts.first
333
+ else
334
+ n(:str, parts.first.children,
335
+ string_map(begin_t, parts, end_t))
336
+ end
337
+ else
338
+ n(:dstr, [ *parts ],
339
+ string_map(begin_t, parts, end_t))
340
+ end
341
+ end
342
+
343
+ def character(char_t)
344
+ n(:str, [ string_value(char_t) ],
345
+ prefix_string_map(char_t))
346
+ end
347
+
348
+ def __FILE__(__FILE__t)
349
+ n0(:__FILE__,
350
+ token_map(__FILE__t))
351
+ end
352
+
353
+ # Symbols
354
+
355
+ def symbol(symbol_t)
356
+ n(:sym, [ string_value(symbol_t).to_sym ],
357
+ prefix_string_map(symbol_t))
358
+ end
359
+
360
+ def symbol_internal(symbol_t)
361
+ n(:sym, [ string_value(symbol_t).to_sym ],
362
+ unquoted_map(symbol_t))
363
+ end
364
+
365
+ def symbol_compose(begin_t, parts, end_t)
366
+ if collapse_string_parts?(parts)
367
+ str = parts.first
368
+
369
+ n(:sym, [ str.children.first.to_sym ],
370
+ collection_map(begin_t, str.loc.expression, end_t))
371
+ elsif @parser.version == 18 && parts.empty?
372
+ diagnostic :error, :empty_symbol, nil, loc(begin_t).join(loc(end_t))
373
+ else
374
+ n(:dsym, [ *parts ],
375
+ collection_map(begin_t, parts, end_t))
376
+ end
377
+ end
378
+
379
+ # Executable strings
380
+
381
+ def xstring_compose(begin_t, parts, end_t)
382
+ n(:xstr, [ *parts ],
383
+ string_map(begin_t, parts, end_t))
384
+ end
385
+
386
+ # Indented (interpolated, noninterpolated, executable) strings
387
+
388
+ def dedent_string(node, dedent_level)
389
+ if !dedent_level.nil?
390
+ dedenter = Lexer::Dedenter.new(dedent_level)
391
+
392
+ case node.type
393
+ when :str
394
+ str = node.children.first
395
+ dedenter.dedent(str)
396
+ when :dstr, :xstr
397
+ children = node.children.map do |str_node|
398
+ if str_node.type == :str
399
+ str = str_node.children.first
400
+ dedenter.dedent(str)
401
+ next nil if str.empty?
402
+ else
403
+ dedenter.interrupt
404
+ end
405
+ str_node
406
+ end
407
+
408
+ node = node.updated(nil, children.compact)
409
+ end
410
+ end
411
+
412
+ node
413
+ end
414
+
415
+ # Regular expressions
416
+
417
+ def regexp_options(regopt_t)
418
+ options = value(regopt_t).
419
+ each_char.sort.uniq.
420
+ map(&:to_sym)
421
+
422
+ n(:regopt, options,
423
+ token_map(regopt_t))
424
+ end
425
+
426
+ def regexp_compose(begin_t, parts, end_t, options)
427
+ begin
428
+ static_regexp(parts, options)
429
+ rescue RegexpError => e
430
+ diagnostic :error, :invalid_regexp, { :message => e.message },
431
+ loc(begin_t).join(loc(end_t))
432
+ end
433
+
434
+ n(:regexp, (parts << options),
435
+ regexp_map(begin_t, end_t, options))
436
+ end
437
+
438
+ # Arrays
439
+
440
+ def array(begin_t, elements, end_t)
441
+ n(:array, elements,
442
+ collection_map(begin_t, elements, end_t))
443
+ end
444
+
445
+ def splat(star_t, arg=nil)
446
+ if arg.nil?
447
+ n0(:splat,
448
+ unary_op_map(star_t))
449
+ else
450
+ n(:splat, [ arg ],
451
+ unary_op_map(star_t, arg))
452
+ end
453
+ end
454
+
455
+ def word(parts)
456
+ if collapse_string_parts?(parts)
457
+ parts.first
458
+ else
459
+ n(:dstr, [ *parts ],
460
+ collection_map(nil, parts, nil))
461
+ end
462
+ end
463
+
464
+ def words_compose(begin_t, parts, end_t)
465
+ n(:array, [ *parts ],
466
+ collection_map(begin_t, parts, end_t))
467
+ end
468
+
469
+ def symbols_compose(begin_t, parts, end_t)
470
+ parts = parts.map do |part|
471
+ case part.type
472
+ when :str
473
+ value, = *part
474
+ part.updated(:sym, [ value.to_sym ])
475
+ when :dstr
476
+ part.updated(:dsym)
477
+ else
478
+ part
479
+ end
480
+ end
481
+
482
+ n(:array, [ *parts ],
483
+ collection_map(begin_t, parts, end_t))
484
+ end
485
+
486
+ # Hashes
487
+
488
+ def pair(key, assoc_t, value)
489
+ n(:pair, [ key, value ],
490
+ binary_op_map(key, assoc_t, value))
491
+ end
492
+
493
+ def pair_list_18(list)
494
+ if list.size % 2 != 0
495
+ diagnostic :error, :odd_hash, nil, list.last.loc.expression
496
+ else
497
+ list.
498
+ each_slice(2).map do |key, value|
499
+ n(:pair, [ key, value ],
500
+ binary_op_map(key, nil, value))
501
+ end
502
+ end
503
+ end
504
+
505
+ def pair_keyword(key_t, value)
506
+ key_map, pair_map = pair_keyword_map(key_t, value)
507
+
508
+ key = n(:sym, [ value(key_t).to_sym ], key_map)
509
+
510
+ n(:pair, [ key, value ], pair_map)
511
+ end
512
+
513
+ def pair_quoted(begin_t, parts, end_t, value)
514
+ end_t, pair_map = pair_quoted_map(begin_t, end_t, value)
515
+
516
+ key = symbol_compose(begin_t, parts, end_t)
517
+
518
+ n(:pair, [ key, value ], pair_map)
519
+ end
520
+
521
+ def kwsplat(dstar_t, arg)
522
+ n(:kwsplat, [ arg ],
523
+ unary_op_map(dstar_t, arg))
524
+ end
525
+
526
+ def associate(begin_t, pairs, end_t)
527
+ n(:hash, [ *pairs ],
528
+ collection_map(begin_t, pairs, end_t))
529
+ end
530
+
531
+ # Ranges
532
+
533
+ def range_inclusive(lhs, dot2_t, rhs)
534
+ n(:irange, [ lhs, rhs ],
535
+ range_map(lhs, dot2_t, rhs))
536
+ end
537
+
538
+ def range_exclusive(lhs, dot3_t, rhs)
539
+ n(:erange, [ lhs, rhs ],
540
+ range_map(lhs, dot3_t, rhs))
541
+ end
542
+
543
+ #
544
+ # Access
545
+ #
546
+
547
+ def self(token)
548
+ n0(:self,
549
+ token_map(token))
550
+ end
551
+
552
+ def ident(token)
553
+ n(:ident, [ value(token).to_sym ],
554
+ variable_map(token))
555
+ end
556
+
557
+ def ivar(token)
558
+ n(:ivar, [ value(token).to_sym ],
559
+ variable_map(token))
560
+ end
561
+
562
+ def gvar(token)
563
+ n(:gvar, [ value(token).to_sym ],
564
+ variable_map(token))
565
+ end
566
+
567
+ def cvar(token)
568
+ n(:cvar, [ value(token).to_sym ],
569
+ variable_map(token))
570
+ end
571
+
572
+ def back_ref(token)
573
+ n(:back_ref, [ value(token).to_sym ],
574
+ token_map(token))
575
+ end
576
+
577
+ def nth_ref(token)
578
+ n(:nth_ref, [ value(token) ],
579
+ token_map(token))
580
+ end
581
+
582
+ def accessible(node)
583
+ case node.type
584
+ when :__FILE__
585
+ if @emit_file_line_as_literals
586
+ n(:str, [ node.loc.expression.source_buffer.name ],
587
+ node.loc.dup)
588
+ else
589
+ node
590
+ end
591
+
592
+ when :__LINE__
593
+ if @emit_file_line_as_literals
594
+ n(:int, [ node.loc.expression.line ],
595
+ node.loc.dup)
596
+ else
597
+ node
598
+ end
599
+
600
+ when :__ENCODING__
601
+ if !self.class.emit_encoding
602
+ n(:const, [ n(:const, [ nil, :Encoding], nil), :UTF_8 ],
603
+ node.loc.dup)
604
+ else
605
+ node
606
+ end
607
+
608
+ when :ident
609
+ name, = *node
610
+
611
+ if @parser.static_env.declared?(name)
612
+ if name.to_s == parser.current_arg_stack.top
613
+ diagnostic :error, :circular_argument_reference,
614
+ { :var_name => name.to_s }, node.loc.expression
615
+ end
616
+
617
+ node.updated(:lvar)
618
+ else
619
+ name, = *node
620
+ n(:send, [ nil, name ],
621
+ var_send_map(node))
622
+ end
623
+
624
+ else
625
+ node
626
+ end
627
+ end
628
+
629
+ def const(name_t)
630
+ n(:const, [ nil, value(name_t).to_sym ],
631
+ constant_map(nil, nil, name_t))
632
+ end
633
+
634
+ def const_global(t_colon3, name_t)
635
+ cbase = n0(:cbase, token_map(t_colon3))
636
+
637
+ n(:const, [ cbase, value(name_t).to_sym ],
638
+ constant_map(cbase, t_colon3, name_t))
639
+ end
640
+
641
+ def const_fetch(scope, t_colon2, name_t)
642
+ n(:const, [ scope, value(name_t).to_sym ],
643
+ constant_map(scope, t_colon2, name_t))
644
+ end
645
+
646
+ def __ENCODING__(__ENCODING__t)
647
+ n0(:__ENCODING__,
648
+ token_map(__ENCODING__t))
649
+ end
650
+
651
+ #
652
+ # Assignment
653
+ #
654
+
655
+ def assignable(node)
656
+ case node.type
657
+ when :cvar
658
+ node.updated(:cvasgn)
659
+
660
+ when :ivar
661
+ node.updated(:ivasgn)
662
+
663
+ when :gvar
664
+ node.updated(:gvasgn)
665
+
666
+ when :const
667
+ unless @parser.context.dynamic_const_definition_allowed?
668
+ diagnostic :error, :dynamic_const, nil, node.loc.expression
669
+ end
670
+
671
+ node.updated(:casgn)
672
+
673
+ when :ident
674
+ name, = *node
675
+
676
+ var_name = node.children[0].to_s
677
+ name_loc = node.loc.expression
678
+
679
+ check_assignment_to_numparam(var_name, name_loc)
680
+ check_reserved_for_numparam(var_name, name_loc)
681
+
682
+ @parser.static_env.declare(name)
683
+
684
+ node.updated(:lvasgn)
685
+
686
+ when :nil, :self, :true, :false,
687
+ :__FILE__, :__LINE__, :__ENCODING__
688
+ diagnostic :error, :invalid_assignment, nil, node.loc.expression
689
+
690
+ when :back_ref, :nth_ref
691
+ diagnostic :error, :backref_assignment, nil, node.loc.expression
692
+ end
693
+ end
694
+
695
+ def const_op_assignable(node)
696
+ node.updated(:casgn)
697
+ end
698
+
699
+ def assign(lhs, eql_t, rhs)
700
+ (lhs << rhs).updated(nil, nil,
701
+ :location => lhs.loc.
702
+ with_operator(loc(eql_t)).
703
+ with_expression(join_exprs(lhs, rhs)))
704
+ end
705
+
706
+ def op_assign(lhs, op_t, rhs)
707
+ case lhs.type
708
+ when :gvasgn, :ivasgn, :lvasgn, :cvasgn, :casgn, :send, :csend, :index
709
+ operator = value(op_t)[0..-1].to_sym
710
+ source_map = lhs.loc.
711
+ with_operator(loc(op_t)).
712
+ with_expression(join_exprs(lhs, rhs))
713
+
714
+ if lhs.type == :index
715
+ lhs = lhs.updated(:indexasgn)
716
+ end
717
+
718
+ case operator
719
+ when :'&&'
720
+ n(:and_asgn, [ lhs, rhs ], source_map)
721
+ when :'||'
722
+ n(:or_asgn, [ lhs, rhs ], source_map)
723
+ else
724
+ n(:op_asgn, [ lhs, operator, rhs ], source_map)
725
+ end
726
+
727
+ when :back_ref, :nth_ref
728
+ diagnostic :error, :backref_assignment, nil, lhs.loc.expression
729
+ end
730
+ end
731
+
732
+ def multi_lhs(begin_t, items, end_t)
733
+ n(:mlhs, [ *items ],
734
+ collection_map(begin_t, items, end_t))
735
+ end
736
+
737
+ def multi_assign(lhs, eql_t, rhs)
738
+ n(:masgn, [ lhs, rhs ],
739
+ binary_op_map(lhs, eql_t, rhs))
740
+ end
741
+
742
+ #
743
+ # Class and module definition
744
+ #
745
+
746
+ def def_class(class_t, name,
747
+ lt_t, superclass,
748
+ body, end_t)
749
+ n(:class, [ name, superclass, body ],
750
+ module_definition_map(class_t, name, lt_t, end_t))
751
+ end
752
+
753
+ def def_sclass(class_t, lshft_t, expr,
754
+ body, end_t)
755
+ n(:sclass, [ expr, body ],
756
+ module_definition_map(class_t, nil, lshft_t, end_t))
757
+ end
758
+
759
+ def def_module(module_t, name,
760
+ body, end_t)
761
+ n(:module, [ name, body ],
762
+ module_definition_map(module_t, name, nil, end_t))
763
+ end
764
+
765
+ #
766
+ # Method (un)definition
767
+ #
768
+
769
+ def def_method(def_t, name_t, args,
770
+ body, end_t)
771
+ check_reserved_for_numparam(value(name_t), loc(name_t))
772
+
773
+ n(:def, [ value(name_t).to_sym, args, body ],
774
+ definition_map(def_t, nil, name_t, end_t))
775
+ end
776
+
777
+ def def_endless_method(def_t, name_t, args,
778
+ assignment_t, body)
779
+ check_reserved_for_numparam(value(name_t), loc(name_t))
780
+
781
+ n(:def, [ value(name_t).to_sym, args, body ],
782
+ endless_definition_map(def_t, nil, name_t, assignment_t, body))
783
+ end
784
+
785
+ def def_singleton(def_t, definee, dot_t,
786
+ name_t, args,
787
+ body, end_t)
788
+ validate_definee(definee)
789
+ check_reserved_for_numparam(value(name_t), loc(name_t))
790
+
791
+ n(:defs, [ definee, value(name_t).to_sym, args, body ],
792
+ definition_map(def_t, dot_t, name_t, end_t))
793
+ end
794
+
795
+ def def_endless_singleton(def_t, definee, dot_t,
796
+ name_t, args,
797
+ assignment_t, body)
798
+ validate_definee(definee)
799
+ check_reserved_for_numparam(value(name_t), loc(name_t))
800
+
801
+ n(:defs, [ definee, value(name_t).to_sym, args, body ],
802
+ endless_definition_map(def_t, dot_t, name_t, assignment_t, body))
803
+ end
804
+
805
+ def undef_method(undef_t, names)
806
+ n(:undef, [ *names ],
807
+ keyword_map(undef_t, nil, names, nil))
808
+ end
809
+
810
+ def alias(alias_t, to, from)
811
+ n(:alias, [ to, from ],
812
+ keyword_map(alias_t, nil, [to, from], nil))
813
+ end
814
+
815
+ #
816
+ # Formal arguments
817
+ #
818
+
819
+ def args(begin_t, args, end_t, check_args=true)
820
+ args = check_duplicate_args(args) if check_args
821
+ n(:args, args,
822
+ collection_map(begin_t, args, end_t))
823
+ end
824
+
825
+ def numargs(max_numparam)
826
+ n(:numargs, [ max_numparam ], nil)
827
+ end
828
+
829
+ def forward_only_args(begin_t, dots_t, end_t)
830
+ if self.class.emit_forward_arg
831
+ arg = forward_arg(dots_t)
832
+ n(:args, [ arg ],
833
+ collection_map(begin_t, [ arg ], end_t))
834
+ else
835
+ n(:forward_args, [], collection_map(begin_t, token_map(dots_t), end_t))
836
+ end
837
+ end
838
+
839
+ def forward_arg(dots_t)
840
+ n(:forward_arg, [], token_map(dots_t))
841
+ end
842
+
843
+ def arg(name_t)
844
+ check_reserved_for_numparam(value(name_t), loc(name_t))
845
+
846
+ n(:arg, [ value(name_t).to_sym ],
847
+ variable_map(name_t))
848
+ end
849
+
850
+ def optarg(name_t, eql_t, value)
851
+ check_reserved_for_numparam(value(name_t), loc(name_t))
852
+
853
+ n(:optarg, [ value(name_t).to_sym, value ],
854
+ variable_map(name_t).
855
+ with_operator(loc(eql_t)).
856
+ with_expression(loc(name_t).join(value.loc.expression)))
857
+ end
858
+
859
+ def restarg(star_t, name_t=nil)
860
+ if name_t
861
+ check_reserved_for_numparam(value(name_t), loc(name_t))
862
+ n(:restarg, [ value(name_t).to_sym ],
863
+ arg_prefix_map(star_t, name_t))
864
+ else
865
+ n0(:restarg,
866
+ arg_prefix_map(star_t))
867
+ end
868
+ end
869
+
870
+ def kwarg(name_t)
871
+ check_reserved_for_numparam(value(name_t), loc(name_t))
872
+
873
+ n(:kwarg, [ value(name_t).to_sym ],
874
+ kwarg_map(name_t))
875
+ end
876
+
877
+ def kwoptarg(name_t, value)
878
+ check_reserved_for_numparam(value(name_t), loc(name_t))
879
+
880
+ n(:kwoptarg, [ value(name_t).to_sym, value ],
881
+ kwarg_map(name_t, value))
882
+ end
883
+
884
+ def kwrestarg(dstar_t, name_t=nil)
885
+ if name_t
886
+ check_reserved_for_numparam(value(name_t), loc(name_t))
887
+
888
+ n(:kwrestarg, [ value(name_t).to_sym ],
889
+ arg_prefix_map(dstar_t, name_t))
890
+ else
891
+ n0(:kwrestarg,
892
+ arg_prefix_map(dstar_t))
893
+ end
894
+ end
895
+
896
+ def kwnilarg(dstar_t, nil_t)
897
+ n0(:kwnilarg,
898
+ arg_prefix_map(dstar_t, nil_t))
899
+ end
900
+
901
+ def shadowarg(name_t)
902
+ check_reserved_for_numparam(value(name_t), loc(name_t))
903
+
904
+ n(:shadowarg, [ value(name_t).to_sym ],
905
+ variable_map(name_t))
906
+ end
907
+
908
+ def blockarg(amper_t, name_t)
909
+ check_reserved_for_numparam(value(name_t), loc(name_t))
910
+
911
+ n(:blockarg, [ value(name_t).to_sym ],
912
+ arg_prefix_map(amper_t, name_t))
913
+ end
914
+
915
+ def procarg0(arg)
916
+ if self.class.emit_procarg0
917
+ if arg.type == :arg && self.class.emit_arg_inside_procarg0
918
+ n(:procarg0, [ arg ],
919
+ Source::Map::Collection.new(nil, nil, arg.location.expression))
920
+ else
921
+ arg.updated(:procarg0)
922
+ end
923
+ else
924
+ arg
925
+ end
926
+ end
927
+
928
+ # Ruby 1.8 block arguments
929
+
930
+ def arg_expr(expr)
931
+ if expr.type == :lvasgn
932
+ expr.updated(:arg)
933
+ else
934
+ n(:arg_expr, [ expr ],
935
+ expr.loc.dup)
936
+ end
937
+ end
938
+
939
+ def restarg_expr(star_t, expr=nil)
940
+ if expr.nil?
941
+ n0(:restarg, token_map(star_t))
942
+ elsif expr.type == :lvasgn
943
+ expr.updated(:restarg)
944
+ else
945
+ n(:restarg_expr, [ expr ],
946
+ expr.loc.dup)
947
+ end
948
+ end
949
+
950
+ def blockarg_expr(amper_t, expr)
951
+ if expr.type == :lvasgn
952
+ expr.updated(:blockarg)
953
+ else
954
+ n(:blockarg_expr, [ expr ],
955
+ expr.loc.dup)
956
+ end
957
+ end
958
+
959
+ # MacRuby Objective-C arguments
960
+
961
+ def objc_kwarg(kwname_t, assoc_t, name_t)
962
+ kwname_l = loc(kwname_t)
963
+ if assoc_t.nil? # a: b, not a => b
964
+ kwname_l = kwname_l.resize(kwname_l.size - 1)
965
+ operator_l = kwname_l.end.resize(1)
966
+ else
967
+ operator_l = loc(assoc_t)
968
+ end
969
+
970
+ n(:objc_kwarg, [ value(kwname_t).to_sym, value(name_t).to_sym ],
971
+ Source::Map::ObjcKwarg.new(kwname_l, operator_l, loc(name_t),
972
+ kwname_l.join(loc(name_t))))
973
+ end
974
+
975
+ def objc_restarg(star_t, name=nil)
976
+ if name.nil?
977
+ n0(:restarg, arg_prefix_map(star_t))
978
+ elsif name.type == :arg # regular restarg
979
+ name.updated(:restarg, nil,
980
+ { :location => name.loc.with_operator(loc(star_t)) })
981
+ else # restarg with objc_kwarg inside
982
+ n(:objc_restarg, [ name ],
983
+ unary_op_map(star_t, name))
984
+ end
985
+ end
986
+
987
+ #
988
+ # Method calls
989
+ #
990
+
991
+ def call_type_for_dot(dot_t)
992
+ if !dot_t.nil? && value(dot_t) == :anddot
993
+ :csend
994
+ else
995
+ # This case is a bit tricky. ruby23.y returns the token tDOT with
996
+ # the value :dot, and the token :tANDDOT with the value :anddot.
997
+ #
998
+ # But, ruby{18..22}.y (which unconditionally expect tDOT) just
999
+ # return "." there, since they are to be kept close to the corresponding
1000
+ # Ruby MRI grammars.
1001
+ #
1002
+ # Thankfully, we don't have to care.
1003
+ :send
1004
+ end
1005
+ end
1006
+
1007
+ def forwarded_args(dots_t)
1008
+ n(:forwarded_args, [], token_map(dots_t))
1009
+ end
1010
+
1011
+ def call_method(receiver, dot_t, selector_t,
1012
+ lparen_t=nil, args=[], rparen_t=nil)
1013
+ type = call_type_for_dot(dot_t)
1014
+
1015
+ if self.class.emit_kwargs
1016
+ rewrite_hash_args_to_kwargs(args)
1017
+ end
1018
+
1019
+ if selector_t.nil?
1020
+ n(type, [ receiver, :call, *args ],
1021
+ send_map(receiver, dot_t, nil, lparen_t, args, rparen_t))
1022
+ else
1023
+ n(type, [ receiver, value(selector_t).to_sym, *args ],
1024
+ send_map(receiver, dot_t, selector_t, lparen_t, args, rparen_t))
1025
+ end
1026
+ end
1027
+
1028
+ def call_lambda(lambda_t)
1029
+ if self.class.emit_lambda
1030
+ n0(:lambda, expr_map(loc(lambda_t)))
1031
+ else
1032
+ n(:send, [ nil, :lambda ],
1033
+ send_map(nil, nil, lambda_t))
1034
+ end
1035
+ end
1036
+
1037
+ def block(method_call, begin_t, args, body, end_t)
1038
+ _receiver, _selector, *call_args = *method_call
1039
+
1040
+ if method_call.type == :yield
1041
+ diagnostic :error, :block_given_to_yield, nil, method_call.loc.keyword, [loc(begin_t)]
1042
+ end
1043
+
1044
+ last_arg = call_args.last
1045
+ if last_arg && (last_arg.type == :block_pass || last_arg.type == :forwarded_args)
1046
+ diagnostic :error, :block_and_blockarg, nil, last_arg.loc.expression, [loc(begin_t)]
1047
+ end
1048
+
1049
+ if args.type == :numargs
1050
+ block_type = :numblock
1051
+ args = args.children[0]
1052
+ else
1053
+ block_type = :block
1054
+ end
1055
+
1056
+ if [:send, :csend, :index, :super, :zsuper, :lambda].include?(method_call.type)
1057
+ n(block_type, [ method_call, args, body ],
1058
+ block_map(method_call.loc.expression, begin_t, end_t))
1059
+ else
1060
+ # Code like "return foo 1 do end" is reduced in a weird sequence.
1061
+ # Here, method_call is actually (return).
1062
+ actual_send, = *method_call
1063
+ block =
1064
+ n(block_type, [ actual_send, args, body ],
1065
+ block_map(actual_send.loc.expression, begin_t, end_t))
1066
+
1067
+ n(method_call.type, [ block ],
1068
+ method_call.loc.with_expression(join_exprs(method_call, block)))
1069
+ end
1070
+ end
1071
+
1072
+ def block_pass(amper_t, arg)
1073
+ n(:block_pass, [ arg ],
1074
+ unary_op_map(amper_t, arg))
1075
+ end
1076
+
1077
+ def objc_varargs(pair, rest_of_varargs)
1078
+ value, first_vararg = *pair
1079
+ vararg_array = array(nil, [ first_vararg, *rest_of_varargs ], nil).
1080
+ updated(:objc_varargs)
1081
+ pair.updated(nil, [ value, vararg_array ],
1082
+ { :location => pair.loc.with_expression(
1083
+ pair.loc.expression.join(vararg_array.loc.expression)) })
1084
+ end
1085
+
1086
+ def attr_asgn(receiver, dot_t, selector_t)
1087
+ method_name = (value(selector_t) + '=').to_sym
1088
+ type = call_type_for_dot(dot_t)
1089
+
1090
+ # Incomplete method call.
1091
+ n(type, [ receiver, method_name ],
1092
+ send_map(receiver, dot_t, selector_t))
1093
+ end
1094
+
1095
+ def index(receiver, lbrack_t, indexes, rbrack_t)
1096
+ if self.class.emit_kwargs
1097
+ rewrite_hash_args_to_kwargs(indexes)
1098
+ end
1099
+
1100
+ if self.class.emit_index
1101
+ n(:index, [ receiver, *indexes ],
1102
+ index_map(receiver, lbrack_t, rbrack_t))
1103
+ else
1104
+ n(:send, [ receiver, :[], *indexes ],
1105
+ send_index_map(receiver, lbrack_t, rbrack_t))
1106
+ end
1107
+ end
1108
+
1109
+ def index_asgn(receiver, lbrack_t, indexes, rbrack_t)
1110
+ if self.class.emit_index
1111
+ n(:indexasgn, [ receiver, *indexes ],
1112
+ index_map(receiver, lbrack_t, rbrack_t))
1113
+ else
1114
+ # Incomplete method call.
1115
+ n(:send, [ receiver, :[]=, *indexes ],
1116
+ send_index_map(receiver, lbrack_t, rbrack_t))
1117
+ end
1118
+ end
1119
+
1120
+ def binary_op(receiver, operator_t, arg)
1121
+ source_map = send_binary_op_map(receiver, operator_t, arg)
1122
+
1123
+ if @parser.version == 18
1124
+ operator = value(operator_t)
1125
+
1126
+ if operator == '!='
1127
+ method_call = n(:send, [ receiver, :==, arg ], source_map)
1128
+ elsif operator == '!~'
1129
+ method_call = n(:send, [ receiver, :=~, arg ], source_map)
1130
+ end
1131
+
1132
+ if %w(!= !~).include?(operator)
1133
+ return n(:not, [ method_call ],
1134
+ expr_map(source_map.expression))
1135
+ end
1136
+ end
1137
+
1138
+ n(:send, [ receiver, value(operator_t).to_sym, arg ],
1139
+ source_map)
1140
+ end
1141
+
1142
+ def match_op(receiver, match_t, arg)
1143
+ source_map = send_binary_op_map(receiver, match_t, arg)
1144
+
1145
+ if (regexp = static_regexp_node(receiver))
1146
+ regexp.names.each do |name|
1147
+ @parser.static_env.declare(name)
1148
+ end
1149
+
1150
+ n(:match_with_lvasgn, [ receiver, arg ],
1151
+ source_map)
1152
+ else
1153
+ n(:send, [ receiver, :=~, arg ],
1154
+ source_map)
1155
+ end
1156
+ end
1157
+
1158
+ def unary_op(op_t, receiver)
1159
+ case value(op_t)
1160
+ when '+', '-'
1161
+ method = value(op_t) + '@'
1162
+ else
1163
+ method = value(op_t)
1164
+ end
1165
+
1166
+ n(:send, [ receiver, method.to_sym ],
1167
+ send_unary_op_map(op_t, receiver))
1168
+ end
1169
+
1170
+ def not_op(not_t, begin_t=nil, receiver=nil, end_t=nil)
1171
+ if @parser.version == 18
1172
+ n(:not, [ check_condition(receiver) ],
1173
+ unary_op_map(not_t, receiver))
1174
+ else
1175
+ if receiver.nil?
1176
+ nil_node = n0(:begin, collection_map(begin_t, nil, end_t))
1177
+
1178
+ n(:send, [
1179
+ nil_node, :'!'
1180
+ ], send_unary_op_map(not_t, nil_node))
1181
+ else
1182
+ n(:send, [ check_condition(receiver), :'!' ],
1183
+ send_map(nil, nil, not_t, begin_t, [receiver], end_t))
1184
+ end
1185
+ end
1186
+ end
1187
+
1188
+ #
1189
+ # Control flow
1190
+ #
1191
+
1192
+ # Logical operations: and, or
1193
+
1194
+ def logical_op(type, lhs, op_t, rhs)
1195
+ n(type, [ lhs, rhs ],
1196
+ binary_op_map(lhs, op_t, rhs))
1197
+ end
1198
+
1199
+ # Conditionals
1200
+
1201
+ def condition(cond_t, cond, then_t,
1202
+ if_true, else_t, if_false, end_t)
1203
+ n(:if, [ check_condition(cond), if_true, if_false ],
1204
+ condition_map(cond_t, cond, then_t, if_true, else_t, if_false, end_t))
1205
+ end
1206
+
1207
+ def condition_mod(if_true, if_false, cond_t, cond)
1208
+ n(:if, [ check_condition(cond), if_true, if_false ],
1209
+ keyword_mod_map(if_true || if_false, cond_t, cond))
1210
+ end
1211
+
1212
+ def ternary(cond, question_t, if_true, colon_t, if_false)
1213
+ n(:if, [ check_condition(cond), if_true, if_false ],
1214
+ ternary_map(cond, question_t, if_true, colon_t, if_false))
1215
+ end
1216
+
1217
+ # Case matching
1218
+
1219
+ def when(when_t, patterns, then_t, body)
1220
+ children = patterns << body
1221
+ n(:when, children,
1222
+ keyword_map(when_t, then_t, children, nil))
1223
+ end
1224
+
1225
+ def case(case_t, expr, when_bodies, else_t, else_body, end_t)
1226
+ n(:case, [ expr, *(when_bodies << else_body)],
1227
+ condition_map(case_t, expr, nil, nil, else_t, else_body, end_t))
1228
+ end
1229
+
1230
+ # Loops
1231
+
1232
+ def loop(type, keyword_t, cond, do_t, body, end_t)
1233
+ n(type, [ check_condition(cond), body ],
1234
+ keyword_map(keyword_t, do_t, nil, end_t))
1235
+ end
1236
+
1237
+ def loop_mod(type, body, keyword_t, cond)
1238
+ if body.type == :kwbegin
1239
+ type = :"#{type}_post"
1240
+ end
1241
+
1242
+ n(type, [ check_condition(cond), body ],
1243
+ keyword_mod_map(body, keyword_t, cond))
1244
+ end
1245
+
1246
+ def for(for_t, iterator, in_t, iteratee,
1247
+ do_t, body, end_t)
1248
+ n(:for, [ iterator, iteratee, body ],
1249
+ for_map(for_t, in_t, do_t, end_t))
1250
+ end
1251
+
1252
+ # Keywords
1253
+
1254
+ def keyword_cmd(type, keyword_t, lparen_t=nil, args=[], rparen_t=nil)
1255
+ if type == :yield && args.count > 0
1256
+ last_arg = args.last
1257
+ if last_arg.type == :block_pass
1258
+ diagnostic :error, :block_given_to_yield, nil, loc(keyword_t), [last_arg.loc.expression]
1259
+ end
1260
+ end
1261
+
1262
+ if %i[yield super].include?(type) && self.class.emit_kwargs
1263
+ rewrite_hash_args_to_kwargs(args)
1264
+ end
1265
+
1266
+ n(type, args,
1267
+ keyword_map(keyword_t, lparen_t, args, rparen_t))
1268
+ end
1269
+
1270
+ # BEGIN, END
1271
+
1272
+ def preexe(preexe_t, lbrace_t, compstmt, rbrace_t)
1273
+ n(:preexe, [ compstmt ],
1274
+ keyword_map(preexe_t, lbrace_t, [], rbrace_t))
1275
+ end
1276
+
1277
+ def postexe(postexe_t, lbrace_t, compstmt, rbrace_t)
1278
+ n(:postexe, [ compstmt ],
1279
+ keyword_map(postexe_t, lbrace_t, [], rbrace_t))
1280
+ end
1281
+
1282
+ # Exception handling
1283
+
1284
+ def rescue_body(rescue_t,
1285
+ exc_list, assoc_t, exc_var,
1286
+ then_t, compound_stmt)
1287
+ n(:resbody, [ exc_list, exc_var, compound_stmt ],
1288
+ rescue_body_map(rescue_t, exc_list, assoc_t,
1289
+ exc_var, then_t, compound_stmt))
1290
+ end
1291
+
1292
+ def begin_body(compound_stmt, rescue_bodies=[],
1293
+ else_t=nil, else_=nil,
1294
+ ensure_t=nil, ensure_=nil)
1295
+ if rescue_bodies.any?
1296
+ if else_t
1297
+ compound_stmt =
1298
+ n(:rescue,
1299
+ [ compound_stmt, *(rescue_bodies + [ else_ ]) ],
1300
+ eh_keyword_map(compound_stmt, nil, rescue_bodies, else_t, else_))
1301
+ else
1302
+ compound_stmt =
1303
+ n(:rescue,
1304
+ [ compound_stmt, *(rescue_bodies + [ nil ]) ],
1305
+ eh_keyword_map(compound_stmt, nil, rescue_bodies, nil, nil))
1306
+ end
1307
+ elsif else_t
1308
+ statements = []
1309
+ if !compound_stmt.nil?
1310
+ if compound_stmt.type == :begin
1311
+ statements += compound_stmt.children
1312
+ else
1313
+ statements.push(compound_stmt)
1314
+ end
1315
+ end
1316
+ statements.push(
1317
+ n(:begin, [ else_ ],
1318
+ collection_map(else_t, [ else_ ], nil)))
1319
+ compound_stmt =
1320
+ n(:begin, statements,
1321
+ collection_map(nil, statements, nil))
1322
+ end
1323
+
1324
+ if ensure_t
1325
+ compound_stmt =
1326
+ n(:ensure,
1327
+ [ compound_stmt, ensure_ ],
1328
+ eh_keyword_map(compound_stmt, ensure_t, [ ensure_ ], nil, nil))
1329
+ end
1330
+
1331
+ compound_stmt
1332
+ end
1333
+
1334
+ #
1335
+ # Expression grouping
1336
+ #
1337
+
1338
+ def compstmt(statements)
1339
+ case
1340
+ when statements.none?
1341
+ nil
1342
+ when statements.one?
1343
+ statements.first
1344
+ else
1345
+ n(:begin, statements,
1346
+ collection_map(nil, statements, nil))
1347
+ end
1348
+ end
1349
+
1350
+ def begin(begin_t, body, end_t)
1351
+ if body.nil?
1352
+ # A nil expression: `()'.
1353
+ n0(:begin,
1354
+ collection_map(begin_t, nil, end_t))
1355
+ elsif body.type == :mlhs ||
1356
+ (body.type == :begin &&
1357
+ body.loc.begin.nil? && body.loc.end.nil?)
1358
+ # Synthesized (begin) from compstmt "a; b" or (mlhs)
1359
+ # from multi_lhs "(a, b) = *foo".
1360
+ n(body.type, body.children,
1361
+ collection_map(begin_t, body.children, end_t))
1362
+ else
1363
+ n(:begin, [ body ],
1364
+ collection_map(begin_t, [ body ], end_t))
1365
+ end
1366
+ end
1367
+
1368
+ def begin_keyword(begin_t, body, end_t)
1369
+ if body.nil?
1370
+ # A nil expression: `begin end'.
1371
+ n0(:kwbegin,
1372
+ collection_map(begin_t, nil, end_t))
1373
+ elsif (body.type == :begin &&
1374
+ body.loc.begin.nil? && body.loc.end.nil?)
1375
+ # Synthesized (begin) from compstmt "a; b".
1376
+ n(:kwbegin, body.children,
1377
+ collection_map(begin_t, body.children, end_t))
1378
+ else
1379
+ n(:kwbegin, [ body ],
1380
+ collection_map(begin_t, [ body ], end_t))
1381
+ end
1382
+ end
1383
+
1384
+ #
1385
+ # PATTERN MATCHING
1386
+ #
1387
+
1388
+ def case_match(case_t, expr, in_bodies, else_t, else_body, end_t)
1389
+ else_body = n(:empty_else, nil, token_map(else_t)) if else_t && !else_body
1390
+ n(:case_match, [ expr, *(in_bodies << else_body)],
1391
+ condition_map(case_t, expr, nil, nil, else_t, else_body, end_t))
1392
+ end
1393
+
1394
+ def in_match(lhs, in_t, rhs)
1395
+ n(:in_match, [lhs, rhs],
1396
+ binary_op_map(lhs, in_t, rhs))
1397
+ end
1398
+
1399
+ def match_pattern(lhs, match_t, rhs)
1400
+ n(:match_pattern, [lhs, rhs],
1401
+ binary_op_map(lhs, match_t, rhs))
1402
+ end
1403
+
1404
+ def match_pattern_p(lhs, match_t, rhs)
1405
+ n(:match_pattern_p, [lhs, rhs],
1406
+ binary_op_map(lhs, match_t, rhs))
1407
+ end
1408
+
1409
+ def in_pattern(in_t, pattern, guard, then_t, body)
1410
+ children = [pattern, guard, body]
1411
+ n(:in_pattern, children,
1412
+ keyword_map(in_t, then_t, children.compact, nil))
1413
+ end
1414
+
1415
+ def if_guard(if_t, if_body)
1416
+ n(:if_guard, [if_body], guard_map(if_t, if_body))
1417
+ end
1418
+
1419
+ def unless_guard(unless_t, unless_body)
1420
+ n(:unless_guard, [unless_body], guard_map(unless_t, unless_body))
1421
+ end
1422
+
1423
+ def match_var(name_t)
1424
+ name = value(name_t).to_sym
1425
+ name_l = loc(name_t)
1426
+
1427
+ check_lvar_name(name, name_l)
1428
+ check_duplicate_pattern_variable(name, name_l)
1429
+ @parser.static_env.declare(name)
1430
+
1431
+ n(:match_var, [ name ],
1432
+ variable_map(name_t))
1433
+ end
1434
+
1435
+ def match_hash_var(name_t)
1436
+ name = value(name_t).to_sym
1437
+
1438
+ expr_l = loc(name_t)
1439
+ name_l = expr_l.adjust(end_pos: -1)
1440
+
1441
+ check_lvar_name(name, name_l)
1442
+ check_duplicate_pattern_variable(name, name_l)
1443
+ @parser.static_env.declare(name)
1444
+
1445
+ n(:match_var, [ name ],
1446
+ Source::Map::Variable.new(name_l, expr_l))
1447
+ end
1448
+
1449
+ def match_hash_var_from_str(begin_t, strings, end_t)
1450
+ if strings.length > 1
1451
+ diagnostic :error, :pm_interp_in_var_name, nil, loc(begin_t).join(loc(end_t))
1452
+ end
1453
+
1454
+ string = strings[0]
1455
+
1456
+ case string.type
1457
+ when :str
1458
+ # MRI supports plain strings in hash pattern matching
1459
+ name, = *string
1460
+ name_l = string.loc.expression
1461
+
1462
+ check_lvar_name(name, name_l)
1463
+ check_duplicate_pattern_variable(name, name_l)
1464
+
1465
+ @parser.static_env.declare(name)
1466
+
1467
+ if (begin_l = string.loc.begin)
1468
+ # exclude beginning of the string from the location of the variable
1469
+ name_l = name_l.adjust(begin_pos: begin_l.length)
1470
+ end
1471
+
1472
+ if (end_l = string.loc.end)
1473
+ # exclude end of the string from the location of the variable
1474
+ name_l = name_l.adjust(end_pos: -end_l.length)
1475
+ end
1476
+
1477
+ expr_l = loc(begin_t).join(string.loc.expression).join(loc(end_t))
1478
+ n(:match_var, [ name.to_sym ],
1479
+ Source::Map::Variable.new(name_l, expr_l))
1480
+ when :begin
1481
+ match_hash_var_from_str(begin_t, string.children, end_t)
1482
+ else
1483
+ # we only can get here if there is an interpolation, e.g., ``in "#{ a }":`
1484
+ diagnostic :error, :pm_interp_in_var_name, nil, loc(begin_t).join(loc(end_t))
1485
+ end
1486
+ end
1487
+
1488
+ def match_rest(star_t, name_t = nil)
1489
+ if name_t.nil?
1490
+ n0(:match_rest,
1491
+ unary_op_map(star_t))
1492
+ else
1493
+ name = match_var(name_t)
1494
+ n(:match_rest, [ name ],
1495
+ unary_op_map(star_t, name))
1496
+ end
1497
+ end
1498
+
1499
+ def hash_pattern(lbrace_t, kwargs, rbrace_t)
1500
+ args = check_duplicate_args(kwargs)
1501
+ n(:hash_pattern, args,
1502
+ collection_map(lbrace_t, args, rbrace_t))
1503
+ end
1504
+
1505
+ def array_pattern(lbrack_t, elements, rbrack_t)
1506
+ return n(:array_pattern, nil, collection_map(lbrack_t, [], rbrack_t)) if elements.nil?
1507
+
1508
+ trailing_comma = false
1509
+
1510
+ node_elements = elements.map do |element|
1511
+ if element.type == :match_with_trailing_comma
1512
+ trailing_comma = true
1513
+ element.children.first
1514
+ else
1515
+ trailing_comma = false
1516
+ element
1517
+ end
1518
+ end
1519
+
1520
+ node_type = trailing_comma ? :array_pattern_with_tail : :array_pattern
1521
+
1522
+ n(node_type, node_elements,
1523
+ collection_map(lbrack_t, elements, rbrack_t))
1524
+ end
1525
+
1526
+ def find_pattern(lbrack_t, elements, rbrack_t)
1527
+ n(:find_pattern, elements,
1528
+ collection_map(lbrack_t, elements, rbrack_t))
1529
+ end
1530
+
1531
+ def match_with_trailing_comma(match, comma_t)
1532
+ n(:match_with_trailing_comma, [ match ], expr_map(match.loc.expression.join(loc(comma_t))))
1533
+ end
1534
+
1535
+ def const_pattern(const, ldelim_t, pattern, rdelim_t)
1536
+ n(:const_pattern, [const, pattern],
1537
+ Source::Map::Collection.new(
1538
+ loc(ldelim_t), loc(rdelim_t),
1539
+ const.loc.expression.join(loc(rdelim_t))
1540
+ )
1541
+ )
1542
+ end
1543
+
1544
+ def pin(pin_t, var)
1545
+ n(:pin, [ var ],
1546
+ send_unary_op_map(pin_t, var))
1547
+ end
1548
+
1549
+ def match_alt(left, pipe_t, right)
1550
+ source_map = binary_op_map(left, pipe_t, right)
1551
+
1552
+ n(:match_alt, [ left, right ],
1553
+ source_map)
1554
+ end
1555
+
1556
+ def match_as(value, assoc_t, as)
1557
+ source_map = binary_op_map(value, assoc_t, as)
1558
+
1559
+ n(:match_as, [ value, as ],
1560
+ source_map)
1561
+ end
1562
+
1563
+ def match_nil_pattern(dstar_t, nil_t)
1564
+ n0(:match_nil_pattern,
1565
+ arg_prefix_map(dstar_t, nil_t))
1566
+ end
1567
+
1568
+ def match_pair(label_type, label, value)
1569
+ if label_type == :label
1570
+ check_duplicate_pattern_key(label[0], label[1])
1571
+ pair_keyword(label, value)
1572
+ else
1573
+ begin_t, parts, end_t = label
1574
+ label_loc = loc(begin_t).join(loc(end_t))
1575
+
1576
+ # quoted label like "label": value
1577
+ if (var_name = static_string(parts))
1578
+ check_duplicate_pattern_key(var_name, label_loc)
1579
+ else
1580
+ diagnostic :error, :pm_interp_in_var_name, nil, label_loc
1581
+ end
1582
+
1583
+ pair_quoted(begin_t, parts, end_t, value)
1584
+ end
1585
+ end
1586
+
1587
+ def match_label(label_type, label)
1588
+ if label_type == :label
1589
+ match_hash_var(label)
1590
+ else
1591
+ # quoted label like "label": value
1592
+ begin_t, strings, end_t = label
1593
+ match_hash_var_from_str(begin_t, strings, end_t)
1594
+ end
1595
+ end
1596
+
1597
+ private
1598
+
1599
+ #
1600
+ # VERIFICATION
1601
+ #
1602
+
1603
+ def check_condition(cond)
1604
+ case cond.type
1605
+ when :masgn
1606
+ if @parser.version <= 23
1607
+ diagnostic :error, :masgn_as_condition, nil, cond.loc.expression
1608
+ else
1609
+ cond
1610
+ end
1611
+
1612
+ when :begin
1613
+ if cond.children.count == 1
1614
+ cond.updated(nil, [
1615
+ check_condition(cond.children.last)
1616
+ ])
1617
+ else
1618
+ cond
1619
+ end
1620
+
1621
+ when :and, :or, :irange, :erange
1622
+ lhs, rhs = *cond
1623
+
1624
+ type = case cond.type
1625
+ when :irange then :iflipflop
1626
+ when :erange then :eflipflop
1627
+ end
1628
+
1629
+ if [:and, :or].include?(cond.type) &&
1630
+ @parser.version == 18
1631
+ cond
1632
+ else
1633
+ cond.updated(type, [
1634
+ check_condition(lhs),
1635
+ check_condition(rhs)
1636
+ ])
1637
+ end
1638
+
1639
+ when :regexp
1640
+ n(:match_current_line, [ cond ], expr_map(cond.loc.expression))
1641
+
1642
+ else
1643
+ cond
1644
+ end
1645
+ end
1646
+
1647
+ def check_duplicate_args(args, map={})
1648
+ args.each do |this_arg|
1649
+ case this_arg.type
1650
+ when :arg, :optarg, :restarg, :blockarg,
1651
+ :kwarg, :kwoptarg, :kwrestarg,
1652
+ :shadowarg
1653
+
1654
+ check_duplicate_arg(this_arg, map)
1655
+
1656
+ when :procarg0
1657
+
1658
+ if this_arg.children[0].is_a?(Symbol)
1659
+ # s(:procarg0, :a)
1660
+ check_duplicate_arg(this_arg, map)
1661
+ else
1662
+ # s(:procarg0, s(:arg, :a), ...)
1663
+ check_duplicate_args(this_arg.children, map)
1664
+ end
1665
+
1666
+ when :mlhs
1667
+ check_duplicate_args(this_arg.children, map)
1668
+ end
1669
+ end
1670
+ end
1671
+
1672
+ def check_duplicate_arg(this_arg, map={})
1673
+ this_name, = *this_arg
1674
+
1675
+ that_arg = map[this_name]
1676
+ that_name, = *that_arg
1677
+
1678
+ if that_arg.nil?
1679
+ map[this_name] = this_arg
1680
+ elsif arg_name_collides?(this_name, that_name)
1681
+ diagnostic :error, :duplicate_argument, nil,
1682
+ this_arg.loc.name, [ that_arg.loc.name ]
1683
+ end
1684
+ end
1685
+
1686
+ def check_assignment_to_numparam(name, loc)
1687
+ # MRI < 2.7 treats numbered parameters as regular variables
1688
+ # and so it's allowed to perform assignments like `_1 = 42`.
1689
+ return if @parser.version < 27
1690
+
1691
+ assigning_to_numparam =
1692
+ @parser.context.in_dynamic_block? &&
1693
+ name =~ /\A_([1-9])\z/ &&
1694
+ @parser.max_numparam_stack.has_numparams?
1695
+
1696
+ if assigning_to_numparam
1697
+ diagnostic :error, :cant_assign_to_numparam, { :name => name }, loc
1698
+ end
1699
+ end
1700
+
1701
+ def check_reserved_for_numparam(name, loc)
1702
+ # MRI < 3.0 accepts assignemnt to variables like _1
1703
+ # if it's not a numbered parameter. MRI 3.0 and newer throws an error.
1704
+ return if @parser.version < 30
1705
+
1706
+ if name =~ /\A_([1-9])\z/
1707
+ diagnostic :error, :reserved_for_numparam, { :name => name }, loc
1708
+ end
1709
+ end
1710
+
1711
+ def arg_name_collides?(this_name, that_name)
1712
+ case @parser.version
1713
+ when 18
1714
+ this_name == that_name
1715
+ when 19
1716
+ # Ignore underscore.
1717
+ this_name != :_ &&
1718
+ this_name == that_name
1719
+ else
1720
+ # Ignore everything beginning with underscore.
1721
+ this_name && this_name[0] != '_' &&
1722
+ this_name == that_name
1723
+ end
1724
+ end
1725
+
1726
+ def check_lvar_name(name, loc)
1727
+ if name =~ /\A[[[:lower:]]_][[[:alnum:]]_]*\z/
1728
+ # OK
1729
+ else
1730
+ diagnostic :error, :lvar_name, { name: name }, loc
1731
+ end
1732
+ end
1733
+
1734
+ def check_duplicate_pattern_variable(name, loc)
1735
+ return if name.to_s.start_with?('_')
1736
+
1737
+ if @parser.pattern_variables.declared?(name)
1738
+ diagnostic :error, :duplicate_variable_name, { name: name.to_s }, loc
1739
+ end
1740
+
1741
+ @parser.pattern_variables.declare(name)
1742
+ end
1743
+
1744
+ def check_duplicate_pattern_key(name, loc)
1745
+ if @parser.pattern_hash_keys.declared?(name)
1746
+ diagnostic :error, :duplicate_pattern_key, { name: name.to_s }, loc
1747
+ end
1748
+
1749
+ @parser.pattern_hash_keys.declare(name)
1750
+ end
1751
+
1752
+ #
1753
+ # SOURCE MAPS
1754
+ #
1755
+
1756
+ def n(type, children, source_map)
1757
+ AST::Node.new(type, children, :location => source_map)
1758
+ end
1759
+
1760
+ def n0(type, source_map)
1761
+ n(type, [], source_map)
1762
+ end
1763
+
1764
+ def join_exprs(left_expr, right_expr)
1765
+ left_expr.loc.expression.
1766
+ join(right_expr.loc.expression)
1767
+ end
1768
+
1769
+ def token_map(token)
1770
+ Source::Map.new(loc(token))
1771
+ end
1772
+
1773
+ def delimited_string_map(string_t)
1774
+ str_range = loc(string_t)
1775
+
1776
+ begin_l = str_range.with(end_pos: str_range.begin_pos + 1)
1777
+
1778
+ end_l = str_range.with(begin_pos: str_range.end_pos - 1)
1779
+
1780
+ Source::Map::Collection.new(begin_l, end_l,
1781
+ loc(string_t))
1782
+ end
1783
+
1784
+ def prefix_string_map(symbol)
1785
+ str_range = loc(symbol)
1786
+
1787
+ begin_l = str_range.with(end_pos: str_range.begin_pos + 1)
1788
+
1789
+ Source::Map::Collection.new(begin_l, nil,
1790
+ loc(symbol))
1791
+ end
1792
+
1793
+ def unquoted_map(token)
1794
+ Source::Map::Collection.new(nil, nil,
1795
+ loc(token))
1796
+ end
1797
+
1798
+ def pair_keyword_map(key_t, value_e)
1799
+ key_range = loc(key_t)
1800
+
1801
+ key_l = key_range.adjust(end_pos: -1)
1802
+
1803
+ colon_l = key_range.with(begin_pos: key_range.end_pos - 1)
1804
+
1805
+ [ # key map
1806
+ Source::Map::Collection.new(nil, nil,
1807
+ key_l),
1808
+ # pair map
1809
+ Source::Map::Operator.new(colon_l,
1810
+ key_range.join(value_e.loc.expression)) ]
1811
+ end
1812
+
1813
+ def pair_quoted_map(begin_t, end_t, value_e)
1814
+ end_l = loc(end_t)
1815
+
1816
+ quote_l = end_l.with(begin_pos: end_l.end_pos - 2,
1817
+ end_pos: end_l.end_pos - 1)
1818
+
1819
+ colon_l = end_l.with(begin_pos: end_l.end_pos - 1)
1820
+
1821
+ [ # modified end token
1822
+ [ value(end_t), quote_l ],
1823
+ # pair map
1824
+ Source::Map::Operator.new(colon_l,
1825
+ loc(begin_t).join(value_e.loc.expression)) ]
1826
+ end
1827
+
1828
+ def expr_map(loc)
1829
+ Source::Map.new(loc)
1830
+ end
1831
+
1832
+ def collection_map(begin_t, parts, end_t)
1833
+ if begin_t.nil? || end_t.nil?
1834
+ if parts.any?
1835
+ expr_l = join_exprs(parts.first, parts.last)
1836
+ elsif !begin_t.nil?
1837
+ expr_l = loc(begin_t)
1838
+ elsif !end_t.nil?
1839
+ expr_l = loc(end_t)
1840
+ end
1841
+ else
1842
+ expr_l = loc(begin_t).join(loc(end_t))
1843
+ end
1844
+
1845
+ Source::Map::Collection.new(loc(begin_t), loc(end_t), expr_l)
1846
+ end
1847
+
1848
+ def string_map(begin_t, parts, end_t)
1849
+ if begin_t && value(begin_t).start_with?('<<')
1850
+ if parts.any?
1851
+ expr_l = join_exprs(parts.first, parts.last)
1852
+ else
1853
+ expr_l = loc(end_t).begin
1854
+ end
1855
+
1856
+ Source::Map::Heredoc.new(loc(begin_t), expr_l, loc(end_t))
1857
+ else
1858
+ collection_map(begin_t, parts, end_t)
1859
+ end
1860
+ end
1861
+
1862
+ def regexp_map(begin_t, end_t, options_e)
1863
+ Source::Map::Collection.new(loc(begin_t), loc(end_t),
1864
+ loc(begin_t).join(options_e.loc.expression))
1865
+ end
1866
+
1867
+ def constant_map(scope, colon2_t, name_t)
1868
+ if scope.nil?
1869
+ expr_l = loc(name_t)
1870
+ else
1871
+ expr_l = scope.loc.expression.join(loc(name_t))
1872
+ end
1873
+
1874
+ Source::Map::Constant.new(loc(colon2_t), loc(name_t), expr_l)
1875
+ end
1876
+
1877
+ def variable_map(name_t)
1878
+ Source::Map::Variable.new(loc(name_t))
1879
+ end
1880
+
1881
+ def binary_op_map(left_e, op_t, right_e)
1882
+ Source::Map::Operator.new(loc(op_t), join_exprs(left_e, right_e))
1883
+ end
1884
+
1885
+ def unary_op_map(op_t, arg_e=nil)
1886
+ if arg_e.nil?
1887
+ expr_l = loc(op_t)
1888
+ else
1889
+ expr_l = loc(op_t).join(arg_e.loc.expression)
1890
+ end
1891
+
1892
+ Source::Map::Operator.new(loc(op_t), expr_l)
1893
+ end
1894
+
1895
+ def range_map(start_e, op_t, end_e)
1896
+ if start_e && end_e
1897
+ expr_l = join_exprs(start_e, end_e)
1898
+ elsif start_e
1899
+ expr_l = start_e.loc.expression.join(loc(op_t))
1900
+ elsif end_e
1901
+ expr_l = loc(op_t).join(end_e.loc.expression)
1902
+ end
1903
+
1904
+ Source::Map::Operator.new(loc(op_t), expr_l)
1905
+ end
1906
+
1907
+ def arg_prefix_map(op_t, name_t=nil)
1908
+ if name_t.nil?
1909
+ expr_l = loc(op_t)
1910
+ else
1911
+ expr_l = loc(op_t).join(loc(name_t))
1912
+ end
1913
+
1914
+ Source::Map::Variable.new(loc(name_t), expr_l)
1915
+ end
1916
+
1917
+ def kwarg_map(name_t, value_e=nil)
1918
+ label_range = loc(name_t)
1919
+ name_range = label_range.adjust(end_pos: -1)
1920
+
1921
+ if value_e
1922
+ expr_l = loc(name_t).join(value_e.loc.expression)
1923
+ else
1924
+ expr_l = loc(name_t)
1925
+ end
1926
+
1927
+ Source::Map::Variable.new(name_range, expr_l)
1928
+ end
1929
+
1930
+ def module_definition_map(keyword_t, name_e, operator_t, end_t)
1931
+ if name_e
1932
+ name_l = name_e.loc.expression
1933
+ end
1934
+
1935
+ Source::Map::Definition.new(loc(keyword_t),
1936
+ loc(operator_t), name_l,
1937
+ loc(end_t))
1938
+ end
1939
+
1940
+ def definition_map(keyword_t, operator_t, name_t, end_t)
1941
+ Source::Map::MethodDefinition.new(loc(keyword_t),
1942
+ loc(operator_t), loc(name_t),
1943
+ loc(end_t), nil, nil)
1944
+ end
1945
+
1946
+ def endless_definition_map(keyword_t, operator_t, name_t, assignment_t, body_e)
1947
+ body_l = body_e.loc.expression
1948
+
1949
+ Source::Map::MethodDefinition.new(loc(keyword_t),
1950
+ loc(operator_t), loc(name_t), nil,
1951
+ loc(assignment_t), body_l)
1952
+ end
1953
+
1954
+ def send_map(receiver_e, dot_t, selector_t, begin_t=nil, args=[], end_t=nil)
1955
+ if receiver_e
1956
+ begin_l = receiver_e.loc.expression
1957
+ elsif selector_t
1958
+ begin_l = loc(selector_t)
1959
+ end
1960
+
1961
+ if end_t
1962
+ end_l = loc(end_t)
1963
+ elsif args.any?
1964
+ end_l = args.last.loc.expression
1965
+ elsif selector_t
1966
+ end_l = loc(selector_t)
1967
+ end
1968
+
1969
+ Source::Map::Send.new(loc(dot_t), loc(selector_t),
1970
+ loc(begin_t), loc(end_t),
1971
+ begin_l.join(end_l))
1972
+ end
1973
+
1974
+ def var_send_map(variable_e)
1975
+ Source::Map::Send.new(nil, variable_e.loc.expression,
1976
+ nil, nil,
1977
+ variable_e.loc.expression)
1978
+ end
1979
+
1980
+ def send_binary_op_map(lhs_e, selector_t, rhs_e)
1981
+ Source::Map::Send.new(nil, loc(selector_t),
1982
+ nil, nil,
1983
+ join_exprs(lhs_e, rhs_e))
1984
+ end
1985
+
1986
+ def send_unary_op_map(selector_t, arg_e)
1987
+ if arg_e.nil?
1988
+ expr_l = loc(selector_t)
1989
+ else
1990
+ expr_l = loc(selector_t).join(arg_e.loc.expression)
1991
+ end
1992
+
1993
+ Source::Map::Send.new(nil, loc(selector_t),
1994
+ nil, nil,
1995
+ expr_l)
1996
+ end
1997
+
1998
+ def index_map(receiver_e, lbrack_t, rbrack_t)
1999
+ Source::Map::Index.new(loc(lbrack_t), loc(rbrack_t),
2000
+ receiver_e.loc.expression.join(loc(rbrack_t)))
2001
+ end
2002
+
2003
+ def send_index_map(receiver_e, lbrack_t, rbrack_t)
2004
+ Source::Map::Send.new(nil, loc(lbrack_t).join(loc(rbrack_t)),
2005
+ nil, nil,
2006
+ receiver_e.loc.expression.join(loc(rbrack_t)))
2007
+ end
2008
+
2009
+ def block_map(receiver_l, begin_t, end_t)
2010
+ Source::Map::Collection.new(loc(begin_t), loc(end_t),
2011
+ receiver_l.join(loc(end_t)))
2012
+ end
2013
+
2014
+ def keyword_map(keyword_t, begin_t, args, end_t)
2015
+ args ||= []
2016
+
2017
+ if end_t
2018
+ end_l = loc(end_t)
2019
+ elsif args.any? && !args.last.nil?
2020
+ end_l = args.last.loc.expression
2021
+ elsif args.any? && args.count > 1
2022
+ end_l = args[-2].loc.expression
2023
+ else
2024
+ end_l = loc(keyword_t)
2025
+ end
2026
+
2027
+ Source::Map::Keyword.new(loc(keyword_t), loc(begin_t), loc(end_t),
2028
+ loc(keyword_t).join(end_l))
2029
+ end
2030
+
2031
+ def keyword_mod_map(pre_e, keyword_t, post_e)
2032
+ Source::Map::Keyword.new(loc(keyword_t), nil, nil,
2033
+ join_exprs(pre_e, post_e))
2034
+ end
2035
+
2036
+ def condition_map(keyword_t, cond_e, begin_t, body_e, else_t, else_e, end_t)
2037
+ if end_t
2038
+ end_l = loc(end_t)
2039
+ elsif else_e && else_e.loc.expression
2040
+ end_l = else_e.loc.expression
2041
+ elsif loc(else_t)
2042
+ end_l = loc(else_t)
2043
+ elsif body_e && body_e.loc.expression
2044
+ end_l = body_e.loc.expression
2045
+ elsif loc(begin_t)
2046
+ end_l = loc(begin_t)
2047
+ else
2048
+ end_l = cond_e.loc.expression
2049
+ end
2050
+
2051
+ Source::Map::Condition.new(loc(keyword_t),
2052
+ loc(begin_t), loc(else_t), loc(end_t),
2053
+ loc(keyword_t).join(end_l))
2054
+ end
2055
+
2056
+ def ternary_map(begin_e, question_t, mid_e, colon_t, end_e)
2057
+ Source::Map::Ternary.new(loc(question_t), loc(colon_t),
2058
+ join_exprs(begin_e, end_e))
2059
+ end
2060
+
2061
+ def for_map(keyword_t, in_t, begin_t, end_t)
2062
+ Source::Map::For.new(loc(keyword_t), loc(in_t),
2063
+ loc(begin_t), loc(end_t),
2064
+ loc(keyword_t).join(loc(end_t)))
2065
+ end
2066
+
2067
+ def rescue_body_map(keyword_t, exc_list_e, assoc_t,
2068
+ exc_var_e, then_t,
2069
+ compstmt_e)
2070
+ end_l = compstmt_e.loc.expression if compstmt_e
2071
+ end_l = loc(then_t) if end_l.nil? && then_t
2072
+ end_l = exc_var_e.loc.expression if end_l.nil? && exc_var_e
2073
+ end_l = exc_list_e.loc.expression if end_l.nil? && exc_list_e
2074
+ end_l = loc(keyword_t) if end_l.nil?
2075
+
2076
+ Source::Map::RescueBody.new(loc(keyword_t), loc(assoc_t), loc(then_t),
2077
+ loc(keyword_t).join(end_l))
2078
+ end
2079
+
2080
+ def eh_keyword_map(compstmt_e, keyword_t, body_es,
2081
+ else_t, else_e)
2082
+ if compstmt_e.nil?
2083
+ if keyword_t.nil?
2084
+ begin_l = body_es.first.loc.expression
2085
+ else
2086
+ begin_l = loc(keyword_t)
2087
+ end
2088
+ else
2089
+ begin_l = compstmt_e.loc.expression
2090
+ end
2091
+
2092
+ if else_t
2093
+ if else_e.nil?
2094
+ end_l = loc(else_t)
2095
+ else
2096
+ end_l = else_e.loc.expression
2097
+ end
2098
+ elsif !body_es.last.nil?
2099
+ end_l = body_es.last.loc.expression
2100
+ else
2101
+ end_l = loc(keyword_t)
2102
+ end
2103
+
2104
+ Source::Map::Condition.new(loc(keyword_t), nil, loc(else_t), nil,
2105
+ begin_l.join(end_l))
2106
+ end
2107
+
2108
+ def guard_map(keyword_t, guard_body_e)
2109
+ keyword_l = loc(keyword_t)
2110
+ guard_body_l = guard_body_e.loc.expression
2111
+
2112
+ Source::Map::Keyword.new(keyword_l, nil, nil, keyword_l.join(guard_body_l))
2113
+ end
2114
+
2115
+ #
2116
+ # HELPERS
2117
+ #
2118
+
2119
+ # Extract a static string from e.g. a regular expression,
2120
+ # honoring the fact that MRI expands interpolations like #{""}
2121
+ # at parse time.
2122
+ def static_string(nodes)
2123
+ nodes.map do |node|
2124
+ case node.type
2125
+ when :str
2126
+ node.children[0]
2127
+ when :begin
2128
+ if (string = static_string(node.children))
2129
+ string
2130
+ else
2131
+ return nil
2132
+ end
2133
+ else
2134
+ return nil
2135
+ end
2136
+ end.join
2137
+ end
2138
+
2139
+ def static_regexp(parts, options)
2140
+ source = static_string(parts)
2141
+ return nil if source.nil?
2142
+
2143
+ source = case
2144
+ when options.children.include?(:u)
2145
+ source.encode(Encoding::UTF_8)
2146
+ when options.children.include?(:e)
2147
+ source.encode(Encoding::EUC_JP)
2148
+ when options.children.include?(:s)
2149
+ source.encode(Encoding::WINDOWS_31J)
2150
+ when options.children.include?(:n)
2151
+ source.encode(Encoding::BINARY)
2152
+ else
2153
+ source
2154
+ end
2155
+
2156
+ Regexp.new(source, (Regexp::EXTENDED if options.children.include?(:x)))
2157
+ end
2158
+
2159
+ def static_regexp_node(node)
2160
+ if node.type == :regexp
2161
+ parts, options = node.children[0..-2], node.children[-1]
2162
+ static_regexp(parts, options)
2163
+ end
2164
+ end
2165
+
2166
+ def collapse_string_parts?(parts)
2167
+ parts.one? &&
2168
+ [:str, :dstr].include?(parts.first.type)
2169
+ end
2170
+
2171
+ def value(token)
2172
+ token[0]
2173
+ end
2174
+
2175
+ def string_value(token)
2176
+ unless token[0].valid_encoding?
2177
+ diagnostic(:error, :invalid_encoding, nil, token[1])
2178
+ end
2179
+
2180
+ token[0]
2181
+ end
2182
+
2183
+ def loc(token)
2184
+ # Pass through `nil`s and return nil for tNL.
2185
+ token[1] if token && token[0]
2186
+ end
2187
+
2188
+ def diagnostic(type, reason, arguments, location, highlights=[])
2189
+ @parser.diagnostics.process(
2190
+ Diagnostic.new(type, reason, arguments, location, highlights))
2191
+
2192
+ if type == :error
2193
+ @parser.send :yyerror
2194
+ end
2195
+ end
2196
+
2197
+ def validate_definee(definee)
2198
+ case definee.type
2199
+ when :int, :str, :dstr, :sym, :dsym,
2200
+ :regexp, :array, :hash
2201
+
2202
+ diagnostic :error, :singleton_literal, nil, definee.loc.expression
2203
+ false
2204
+ else
2205
+ true
2206
+ end
2207
+ end
2208
+
2209
+ def rewrite_hash_args_to_kwargs(args)
2210
+ if args.any? && kwargs?(args.last)
2211
+ # foo(..., bar: baz)
2212
+ args[args.length - 1] = args[args.length - 1].updated(:kwargs)
2213
+ elsif args.length > 1 && args.last.type == :block_pass && kwargs?(args[args.length - 2])
2214
+ # foo(..., bar: baz, &blk)
2215
+ args[args.length - 2] = args[args.length - 2].updated(:kwargs)
2216
+ end
2217
+ end
2218
+
2219
+ def kwargs?(node)
2220
+ node.type == :hash && node.loc.begin.nil? && node.loc.end.nil?
2221
+ end
2222
+ end
2223
+
2224
+ end