@ai-ecoverse/wasix-ruby 3.4.11-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1123) hide show
  1. package/LICENSE +56 -0
  2. package/PRESTAGE.md +30 -0
  3. package/README.md +3 -0
  4. package/bin/ruby.wasm +0 -0
  5. package/lib/ruby/3.4.11/English.gemspec +22 -0
  6. package/lib/ruby/3.4.11/English.rb +164 -0
  7. package/lib/ruby/3.4.11/benchmark.gemspec +32 -0
  8. package/lib/ruby/3.4.11/benchmark.rb +594 -0
  9. package/lib/ruby/3.4.11/bundled_gems.rb +248 -0
  10. package/lib/ruby/3.4.11/bundler/.document +1 -0
  11. package/lib/ruby/3.4.11/bundler/build_metadata.rb +43 -0
  12. package/lib/ruby/3.4.11/bundler/bundler.gemspec +45 -0
  13. package/lib/ruby/3.4.11/bundler/capistrano.rb +22 -0
  14. package/lib/ruby/3.4.11/bundler/checksum.rb +264 -0
  15. package/lib/ruby/3.4.11/bundler/ci_detector.rb +75 -0
  16. package/lib/ruby/3.4.11/bundler/cli/add.rb +49 -0
  17. package/lib/ruby/3.4.11/bundler/cli/binstubs.rb +57 -0
  18. package/lib/ruby/3.4.11/bundler/cli/cache.rb +43 -0
  19. package/lib/ruby/3.4.11/bundler/cli/check.rb +40 -0
  20. package/lib/ruby/3.4.11/bundler/cli/clean.rb +25 -0
  21. package/lib/ruby/3.4.11/bundler/cli/common.rb +138 -0
  22. package/lib/ruby/3.4.11/bundler/cli/config.rb +204 -0
  23. package/lib/ruby/3.4.11/bundler/cli/console.rb +42 -0
  24. package/lib/ruby/3.4.11/bundler/cli/doctor/diagnose.rb +167 -0
  25. package/lib/ruby/3.4.11/bundler/cli/doctor/ssl.rb +249 -0
  26. package/lib/ruby/3.4.11/bundler/cli/doctor.rb +33 -0
  27. package/lib/ruby/3.4.11/bundler/cli/exec.rb +89 -0
  28. package/lib/ruby/3.4.11/bundler/cli/fund.rb +36 -0
  29. package/lib/ruby/3.4.11/bundler/cli/gem.rb +467 -0
  30. package/lib/ruby/3.4.11/bundler/cli/info.rb +83 -0
  31. package/lib/ruby/3.4.11/bundler/cli/init.rb +51 -0
  32. package/lib/ruby/3.4.11/bundler/cli/inject.rb +60 -0
  33. package/lib/ruby/3.4.11/bundler/cli/install.rb +199 -0
  34. package/lib/ruby/3.4.11/bundler/cli/issue.rb +41 -0
  35. package/lib/ruby/3.4.11/bundler/cli/list.rb +66 -0
  36. package/lib/ruby/3.4.11/bundler/cli/lock.rb +94 -0
  37. package/lib/ruby/3.4.11/bundler/cli/open.rb +29 -0
  38. package/lib/ruby/3.4.11/bundler/cli/outdated.rb +297 -0
  39. package/lib/ruby/3.4.11/bundler/cli/platform.rb +48 -0
  40. package/lib/ruby/3.4.11/bundler/cli/plugin.rb +35 -0
  41. package/lib/ruby/3.4.11/bundler/cli/pristine.rb +60 -0
  42. package/lib/ruby/3.4.11/bundler/cli/remove.rb +17 -0
  43. package/lib/ruby/3.4.11/bundler/cli/show.rb +75 -0
  44. package/lib/ruby/3.4.11/bundler/cli/update.rb +123 -0
  45. package/lib/ruby/3.4.11/bundler/cli/viz.rb +31 -0
  46. package/lib/ruby/3.4.11/bundler/cli.rb +790 -0
  47. package/lib/ruby/3.4.11/bundler/compact_index_client/cache.rb +96 -0
  48. package/lib/ruby/3.4.11/bundler/compact_index_client/cache_file.rb +148 -0
  49. package/lib/ruby/3.4.11/bundler/compact_index_client/parser.rb +84 -0
  50. package/lib/ruby/3.4.11/bundler/compact_index_client/updater.rb +105 -0
  51. package/lib/ruby/3.4.11/bundler/compact_index_client.rb +97 -0
  52. package/lib/ruby/3.4.11/bundler/constants.rb +14 -0
  53. package/lib/ruby/3.4.11/bundler/current_ruby.rb +82 -0
  54. package/lib/ruby/3.4.11/bundler/definition.rb +1187 -0
  55. package/lib/ruby/3.4.11/bundler/dependency.rb +151 -0
  56. package/lib/ruby/3.4.11/bundler/deployment.rb +69 -0
  57. package/lib/ruby/3.4.11/bundler/deprecate.rb +44 -0
  58. package/lib/ruby/3.4.11/bundler/digest.rb +71 -0
  59. package/lib/ruby/3.4.11/bundler/dsl.rb +638 -0
  60. package/lib/ruby/3.4.11/bundler/endpoint_specification.rb +174 -0
  61. package/lib/ruby/3.4.11/bundler/env.rb +148 -0
  62. package/lib/ruby/3.4.11/bundler/environment_preserver.rb +68 -0
  63. package/lib/ruby/3.4.11/bundler/errors.rb +281 -0
  64. package/lib/ruby/3.4.11/bundler/feature_flag.rb +50 -0
  65. package/lib/ruby/3.4.11/bundler/fetcher/base.rb +52 -0
  66. package/lib/ruby/3.4.11/bundler/fetcher/compact_index.rb +120 -0
  67. package/lib/ruby/3.4.11/bundler/fetcher/dependency.rb +78 -0
  68. package/lib/ruby/3.4.11/bundler/fetcher/downloader.rb +91 -0
  69. package/lib/ruby/3.4.11/bundler/fetcher/gem_remote_fetcher.rb +16 -0
  70. package/lib/ruby/3.4.11/bundler/fetcher/index.rb +25 -0
  71. package/lib/ruby/3.4.11/bundler/fetcher.rb +331 -0
  72. package/lib/ruby/3.4.11/bundler/force_platform.rb +16 -0
  73. package/lib/ruby/3.4.11/bundler/friendly_errors.rb +126 -0
  74. package/lib/ruby/3.4.11/bundler/gem_helper.rb +237 -0
  75. package/lib/ruby/3.4.11/bundler/gem_helpers.rb +144 -0
  76. package/lib/ruby/3.4.11/bundler/gem_tasks.rb +7 -0
  77. package/lib/ruby/3.4.11/bundler/gem_version_promoter.rb +147 -0
  78. package/lib/ruby/3.4.11/bundler/graph.rb +152 -0
  79. package/lib/ruby/3.4.11/bundler/index.rb +205 -0
  80. package/lib/ruby/3.4.11/bundler/injector.rb +285 -0
  81. package/lib/ruby/3.4.11/bundler/inline.rb +98 -0
  82. package/lib/ruby/3.4.11/bundler/installer/gem_installer.rb +85 -0
  83. package/lib/ruby/3.4.11/bundler/installer/parallel_installer.rb +203 -0
  84. package/lib/ruby/3.4.11/bundler/installer/standalone.rb +113 -0
  85. package/lib/ruby/3.4.11/bundler/installer.rb +243 -0
  86. package/lib/ruby/3.4.11/bundler/lazy_specification.rb +243 -0
  87. package/lib/ruby/3.4.11/bundler/lockfile_generator.rb +104 -0
  88. package/lib/ruby/3.4.11/bundler/lockfile_parser.rb +300 -0
  89. package/lib/ruby/3.4.11/bundler/man/.document +1 -0
  90. package/lib/ruby/3.4.11/bundler/man/bundle-add.1 +76 -0
  91. package/lib/ruby/3.4.11/bundler/man/bundle-add.1.ronn +87 -0
  92. package/lib/ruby/3.4.11/bundler/man/bundle-binstubs.1 +33 -0
  93. package/lib/ruby/3.4.11/bundler/man/bundle-binstubs.1.ronn +44 -0
  94. package/lib/ruby/3.4.11/bundler/man/bundle-cache.1 +68 -0
  95. package/lib/ruby/3.4.11/bundler/man/bundle-cache.1.ronn +108 -0
  96. package/lib/ruby/3.4.11/bundler/man/bundle-check.1 +24 -0
  97. package/lib/ruby/3.4.11/bundler/man/bundle-check.1.ronn +31 -0
  98. package/lib/ruby/3.4.11/bundler/man/bundle-clean.1 +17 -0
  99. package/lib/ruby/3.4.11/bundler/man/bundle-clean.1.ronn +18 -0
  100. package/lib/ruby/3.4.11/bundler/man/bundle-config.1 +317 -0
  101. package/lib/ruby/3.4.11/bundler/man/bundle-config.1.ronn +408 -0
  102. package/lib/ruby/3.4.11/bundler/man/bundle-console.1 +33 -0
  103. package/lib/ruby/3.4.11/bundler/man/bundle-console.1.ronn +39 -0
  104. package/lib/ruby/3.4.11/bundler/man/bundle-doctor.1 +30 -0
  105. package/lib/ruby/3.4.11/bundler/man/bundle-doctor.1.ronn +33 -0
  106. package/lib/ruby/3.4.11/bundler/man/bundle-env.1 +9 -0
  107. package/lib/ruby/3.4.11/bundler/man/bundle-env.1.ronn +10 -0
  108. package/lib/ruby/3.4.11/bundler/man/bundle-exec.1 +107 -0
  109. package/lib/ruby/3.4.11/bundler/man/bundle-exec.1.ronn +154 -0
  110. package/lib/ruby/3.4.11/bundler/man/bundle-fund.1 +22 -0
  111. package/lib/ruby/3.4.11/bundler/man/bundle-fund.1.ronn +25 -0
  112. package/lib/ruby/3.4.11/bundler/man/bundle-gem.1 +87 -0
  113. package/lib/ruby/3.4.11/bundler/man/bundle-gem.1.ronn +149 -0
  114. package/lib/ruby/3.4.11/bundler/man/bundle-help.1 +9 -0
  115. package/lib/ruby/3.4.11/bundler/man/bundle-help.1.ronn +12 -0
  116. package/lib/ruby/3.4.11/bundler/man/bundle-info.1 +17 -0
  117. package/lib/ruby/3.4.11/bundler/man/bundle-info.1.ronn +21 -0
  118. package/lib/ruby/3.4.11/bundler/man/bundle-init.1 +20 -0
  119. package/lib/ruby/3.4.11/bundler/man/bundle-init.1.ronn +32 -0
  120. package/lib/ruby/3.4.11/bundler/man/bundle-inject.1 +31 -0
  121. package/lib/ruby/3.4.11/bundler/man/bundle-inject.1.ronn +32 -0
  122. package/lib/ruby/3.4.11/bundler/man/bundle-install.1 +218 -0
  123. package/lib/ruby/3.4.11/bundler/man/bundle-install.1.ronn +387 -0
  124. package/lib/ruby/3.4.11/bundler/man/bundle-issue.1 +45 -0
  125. package/lib/ruby/3.4.11/bundler/man/bundle-issue.1.ronn +37 -0
  126. package/lib/ruby/3.4.11/bundler/man/bundle-licenses.1 +9 -0
  127. package/lib/ruby/3.4.11/bundler/man/bundle-licenses.1.ronn +10 -0
  128. package/lib/ruby/3.4.11/bundler/man/bundle-list.1 +35 -0
  129. package/lib/ruby/3.4.11/bundler/man/bundle-list.1.ronn +36 -0
  130. package/lib/ruby/3.4.11/bundler/man/bundle-lock.1 +75 -0
  131. package/lib/ruby/3.4.11/bundler/man/bundle-lock.1.ronn +115 -0
  132. package/lib/ruby/3.4.11/bundler/man/bundle-open.1 +32 -0
  133. package/lib/ruby/3.4.11/bundler/man/bundle-open.1.ronn +28 -0
  134. package/lib/ruby/3.4.11/bundler/man/bundle-outdated.1 +103 -0
  135. package/lib/ruby/3.4.11/bundler/man/bundle-outdated.1.ronn +110 -0
  136. package/lib/ruby/3.4.11/bundler/man/bundle-platform.1 +49 -0
  137. package/lib/ruby/3.4.11/bundler/man/bundle-platform.1.ronn +49 -0
  138. package/lib/ruby/3.4.11/bundler/man/bundle-plugin.1 +58 -0
  139. package/lib/ruby/3.4.11/bundler/man/bundle-plugin.1.ronn +63 -0
  140. package/lib/ruby/3.4.11/bundler/man/bundle-pristine.1 +23 -0
  141. package/lib/ruby/3.4.11/bundler/man/bundle-pristine.1.ronn +34 -0
  142. package/lib/ruby/3.4.11/bundler/man/bundle-remove.1 +21 -0
  143. package/lib/ruby/3.4.11/bundler/man/bundle-remove.1.ronn +23 -0
  144. package/lib/ruby/3.4.11/bundler/man/bundle-show.1 +19 -0
  145. package/lib/ruby/3.4.11/bundler/man/bundle-show.1.ronn +25 -0
  146. package/lib/ruby/3.4.11/bundler/man/bundle-update.1 +281 -0
  147. package/lib/ruby/3.4.11/bundler/man/bundle-update.1.ronn +359 -0
  148. package/lib/ruby/3.4.11/bundler/man/bundle-version.1 +22 -0
  149. package/lib/ruby/3.4.11/bundler/man/bundle-version.1.ronn +24 -0
  150. package/lib/ruby/3.4.11/bundler/man/bundle-viz.1 +30 -0
  151. package/lib/ruby/3.4.11/bundler/man/bundle-viz.1.ronn +36 -0
  152. package/lib/ruby/3.4.11/bundler/man/bundle.1 +102 -0
  153. package/lib/ruby/3.4.11/bundler/man/bundle.1.ronn +116 -0
  154. package/lib/ruby/3.4.11/bundler/man/gemfile.5 +472 -0
  155. package/lib/ruby/3.4.11/bundler/man/gemfile.5.ronn +558 -0
  156. package/lib/ruby/3.4.11/bundler/man/index.txt +33 -0
  157. package/lib/ruby/3.4.11/bundler/match_metadata.rb +30 -0
  158. package/lib/ruby/3.4.11/bundler/match_platform.rb +23 -0
  159. package/lib/ruby/3.4.11/bundler/match_remote_metadata.rb +29 -0
  160. package/lib/ruby/3.4.11/bundler/materialization.rb +59 -0
  161. package/lib/ruby/3.4.11/bundler/mirror.rb +221 -0
  162. package/lib/ruby/3.4.11/bundler/plugin/api/source.rb +322 -0
  163. package/lib/ruby/3.4.11/bundler/plugin/api.rb +81 -0
  164. package/lib/ruby/3.4.11/bundler/plugin/dsl.rb +53 -0
  165. package/lib/ruby/3.4.11/bundler/plugin/events.rb +85 -0
  166. package/lib/ruby/3.4.11/bundler/plugin/index.rb +197 -0
  167. package/lib/ruby/3.4.11/bundler/plugin/installer/git.rb +34 -0
  168. package/lib/ruby/3.4.11/bundler/plugin/installer/path.rb +26 -0
  169. package/lib/ruby/3.4.11/bundler/plugin/installer/rubygems.rb +19 -0
  170. package/lib/ruby/3.4.11/bundler/plugin/installer.rb +132 -0
  171. package/lib/ruby/3.4.11/bundler/plugin/source_list.rb +31 -0
  172. package/lib/ruby/3.4.11/bundler/plugin.rb +378 -0
  173. package/lib/ruby/3.4.11/bundler/process_lock.rb +20 -0
  174. package/lib/ruby/3.4.11/bundler/remote_specification.rb +126 -0
  175. package/lib/ruby/3.4.11/bundler/resolver/base.rb +118 -0
  176. package/lib/ruby/3.4.11/bundler/resolver/candidate.rb +85 -0
  177. package/lib/ruby/3.4.11/bundler/resolver/incompatibility.rb +15 -0
  178. package/lib/ruby/3.4.11/bundler/resolver/package.rb +94 -0
  179. package/lib/ruby/3.4.11/bundler/resolver/root.rb +25 -0
  180. package/lib/ruby/3.4.11/bundler/resolver/spec_group.rb +74 -0
  181. package/lib/ruby/3.4.11/bundler/resolver/strategy.rb +40 -0
  182. package/lib/ruby/3.4.11/bundler/resolver.rb +526 -0
  183. package/lib/ruby/3.4.11/bundler/retry.rb +66 -0
  184. package/lib/ruby/3.4.11/bundler/ruby_dsl.rb +62 -0
  185. package/lib/ruby/3.4.11/bundler/ruby_version.rb +137 -0
  186. package/lib/ruby/3.4.11/bundler/rubygems_ext.rb +485 -0
  187. package/lib/ruby/3.4.11/bundler/rubygems_gem_installer.rb +172 -0
  188. package/lib/ruby/3.4.11/bundler/rubygems_integration.rb +455 -0
  189. package/lib/ruby/3.4.11/bundler/runtime.rb +320 -0
  190. package/lib/ruby/3.4.11/bundler/safe_marshal.rb +31 -0
  191. package/lib/ruby/3.4.11/bundler/self_manager.rb +206 -0
  192. package/lib/ruby/3.4.11/bundler/settings/validator.rb +102 -0
  193. package/lib/ruby/3.4.11/bundler/settings.rb +599 -0
  194. package/lib/ruby/3.4.11/bundler/setup.rb +39 -0
  195. package/lib/ruby/3.4.11/bundler/shared_helpers.rb +398 -0
  196. package/lib/ruby/3.4.11/bundler/similarity_detector.rb +63 -0
  197. package/lib/ruby/3.4.11/bundler/source/gemspec.rb +15 -0
  198. package/lib/ruby/3.4.11/bundler/source/git/git_proxy.rb +472 -0
  199. package/lib/ruby/3.4.11/bundler/source/git.rb +452 -0
  200. package/lib/ruby/3.4.11/bundler/source/metadata.rb +63 -0
  201. package/lib/ruby/3.4.11/bundler/source/path/installer.rb +53 -0
  202. package/lib/ruby/3.4.11/bundler/source/path.rb +250 -0
  203. package/lib/ruby/3.4.11/bundler/source/rubygems/remote.rb +76 -0
  204. package/lib/ruby/3.4.11/bundler/source/rubygems.rb +522 -0
  205. package/lib/ruby/3.4.11/bundler/source/rubygems_aggregate.rb +68 -0
  206. package/lib/ruby/3.4.11/bundler/source.rb +118 -0
  207. package/lib/ruby/3.4.11/bundler/source_list.rb +273 -0
  208. package/lib/ruby/3.4.11/bundler/source_map.rb +71 -0
  209. package/lib/ruby/3.4.11/bundler/spec_set.rb +395 -0
  210. package/lib/ruby/3.4.11/bundler/stub_specification.rb +146 -0
  211. package/lib/ruby/3.4.11/bundler/templates/.document +1 -0
  212. package/lib/ruby/3.4.11/bundler/templates/Executable +27 -0
  213. package/lib/ruby/3.4.11/bundler/templates/Executable.bundler +109 -0
  214. package/lib/ruby/3.4.11/bundler/templates/Executable.standalone +14 -0
  215. package/lib/ruby/3.4.11/bundler/templates/Gemfile +5 -0
  216. package/lib/ruby/3.4.11/bundler/templates/newgem/CHANGELOG.md.tt +5 -0
  217. package/lib/ruby/3.4.11/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +132 -0
  218. package/lib/ruby/3.4.11/bundler/templates/newgem/Cargo.toml.tt +7 -0
  219. package/lib/ruby/3.4.11/bundler/templates/newgem/Gemfile.tt +24 -0
  220. package/lib/ruby/3.4.11/bundler/templates/newgem/LICENSE.txt.tt +21 -0
  221. package/lib/ruby/3.4.11/bundler/templates/newgem/README.md.tt +49 -0
  222. package/lib/ruby/3.4.11/bundler/templates/newgem/Rakefile.tt +67 -0
  223. package/lib/ruby/3.4.11/bundler/templates/newgem/bin/console.tt +11 -0
  224. package/lib/ruby/3.4.11/bundler/templates/newgem/bin/setup.tt +8 -0
  225. package/lib/ruby/3.4.11/bundler/templates/newgem/circleci/config.yml.tt +25 -0
  226. package/lib/ruby/3.4.11/bundler/templates/newgem/exe/newgem.tt +3 -0
  227. package/lib/ruby/3.4.11/bundler/templates/newgem/ext/newgem/Cargo.toml.tt +15 -0
  228. package/lib/ruby/3.4.11/bundler/templates/newgem/ext/newgem/extconf-c.rb.tt +10 -0
  229. package/lib/ruby/3.4.11/bundler/templates/newgem/ext/newgem/extconf-rust.rb.tt +6 -0
  230. package/lib/ruby/3.4.11/bundler/templates/newgem/ext/newgem/newgem.c.tt +9 -0
  231. package/lib/ruby/3.4.11/bundler/templates/newgem/ext/newgem/newgem.h.tt +6 -0
  232. package/lib/ruby/3.4.11/bundler/templates/newgem/ext/newgem/src/lib.rs.tt +12 -0
  233. package/lib/ruby/3.4.11/bundler/templates/newgem/github/workflows/main.yml.tt +37 -0
  234. package/lib/ruby/3.4.11/bundler/templates/newgem/gitignore.tt +23 -0
  235. package/lib/ruby/3.4.11/bundler/templates/newgem/gitlab-ci.yml.tt +18 -0
  236. package/lib/ruby/3.4.11/bundler/templates/newgem/lib/newgem/version.rb.tt +9 -0
  237. package/lib/ruby/3.4.11/bundler/templates/newgem/lib/newgem.rb.tt +15 -0
  238. package/lib/ruby/3.4.11/bundler/templates/newgem/newgem.gemspec.tt +52 -0
  239. package/lib/ruby/3.4.11/bundler/templates/newgem/rspec.tt +3 -0
  240. package/lib/ruby/3.4.11/bundler/templates/newgem/rubocop.yml.tt +8 -0
  241. package/lib/ruby/3.4.11/bundler/templates/newgem/sig/newgem.rbs.tt +8 -0
  242. package/lib/ruby/3.4.11/bundler/templates/newgem/spec/newgem_spec.rb.tt +11 -0
  243. package/lib/ruby/3.4.11/bundler/templates/newgem/spec/spec_helper.rb.tt +15 -0
  244. package/lib/ruby/3.4.11/bundler/templates/newgem/standard.yml.tt +3 -0
  245. package/lib/ruby/3.4.11/bundler/templates/newgem/test/minitest/test_helper.rb.tt +6 -0
  246. package/lib/ruby/3.4.11/bundler/templates/newgem/test/minitest/test_newgem.rb.tt +13 -0
  247. package/lib/ruby/3.4.11/bundler/templates/newgem/test/test-unit/newgem_test.rb.tt +15 -0
  248. package/lib/ruby/3.4.11/bundler/templates/newgem/test/test-unit/test_helper.rb.tt +6 -0
  249. package/lib/ruby/3.4.11/bundler/ui/rg_proxy.rb +19 -0
  250. package/lib/ruby/3.4.11/bundler/ui/shell.rb +187 -0
  251. package/lib/ruby/3.4.11/bundler/ui/silent.rb +96 -0
  252. package/lib/ruby/3.4.11/bundler/ui.rb +9 -0
  253. package/lib/ruby/3.4.11/bundler/uri_credentials_filter.rb +43 -0
  254. package/lib/ruby/3.4.11/bundler/uri_normalizer.rb +23 -0
  255. package/lib/ruby/3.4.11/bundler/vendor/.document +1 -0
  256. package/lib/ruby/3.4.11/bundler/vendor/connection_pool/.document +1 -0
  257. package/lib/ruby/3.4.11/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb +224 -0
  258. package/lib/ruby/3.4.11/bundler/vendor/connection_pool/lib/connection_pool/version.rb +3 -0
  259. package/lib/ruby/3.4.11/bundler/vendor/connection_pool/lib/connection_pool/wrapper.rb +56 -0
  260. package/lib/ruby/3.4.11/bundler/vendor/connection_pool/lib/connection_pool.rb +186 -0
  261. package/lib/ruby/3.4.11/bundler/vendor/fileutils/.document +1 -0
  262. package/lib/ruby/3.4.11/bundler/vendor/fileutils/lib/fileutils.rb +2696 -0
  263. package/lib/ruby/3.4.11/bundler/vendor/net-http-persistent/.document +1 -0
  264. package/lib/ruby/3.4.11/bundler/vendor/net-http-persistent/lib/net/http/persistent/connection.rb +41 -0
  265. package/lib/ruby/3.4.11/bundler/vendor/net-http-persistent/lib/net/http/persistent/pool.rb +65 -0
  266. package/lib/ruby/3.4.11/bundler/vendor/net-http-persistent/lib/net/http/persistent/timed_stack_multi.rb +79 -0
  267. package/lib/ruby/3.4.11/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +1111 -0
  268. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/.document +1 -0
  269. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/assignment.rb +20 -0
  270. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/basic_package_source.rb +169 -0
  271. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/failure_writer.rb +182 -0
  272. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/incompatibility.rb +150 -0
  273. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/package.rb +43 -0
  274. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/partial_solution.rb +121 -0
  275. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/rubygems.rb +45 -0
  276. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/solve_failure.rb +19 -0
  277. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/static_package_source.rb +61 -0
  278. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/strategy.rb +42 -0
  279. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/term.rb +105 -0
  280. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/version.rb +3 -0
  281. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/version_constraint.rb +129 -0
  282. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/version_range.rb +423 -0
  283. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/version_solver.rb +236 -0
  284. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub/version_union.rb +178 -0
  285. package/lib/ruby/3.4.11/bundler/vendor/pub_grub/lib/pub_grub.rb +31 -0
  286. package/lib/ruby/3.4.11/bundler/vendor/securerandom/.document +1 -0
  287. package/lib/ruby/3.4.11/bundler/vendor/securerandom/lib/securerandom.rb +102 -0
  288. package/lib/ruby/3.4.11/bundler/vendor/thor/.document +1 -0
  289. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/actions/create_file.rb +105 -0
  290. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/actions/create_link.rb +61 -0
  291. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/actions/directory.rb +108 -0
  292. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/actions/empty_directory.rb +143 -0
  293. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +371 -0
  294. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb +130 -0
  295. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/actions.rb +340 -0
  296. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/base.rb +825 -0
  297. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/command.rb +151 -0
  298. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb +107 -0
  299. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/error.rb +106 -0
  300. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/group.rb +292 -0
  301. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/invocation.rb +178 -0
  302. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/line_editor/basic.rb +37 -0
  303. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/line_editor/readline.rb +88 -0
  304. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/line_editor.rb +17 -0
  305. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/nested_context.rb +29 -0
  306. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/parser/argument.rb +86 -0
  307. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/parser/arguments.rb +195 -0
  308. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/parser/option.rb +178 -0
  309. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/parser/options.rb +294 -0
  310. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/parser.rb +4 -0
  311. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/rake_compat.rb +72 -0
  312. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/runner.rb +335 -0
  313. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/shell/basic.rb +388 -0
  314. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/shell/color.rb +112 -0
  315. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/shell/column_printer.rb +29 -0
  316. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/shell/html.rb +81 -0
  317. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/shell/table_printer.rb +118 -0
  318. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/shell/terminal.rb +42 -0
  319. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/shell/wrapped_printer.rb +38 -0
  320. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/shell.rb +81 -0
  321. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/util.rb +285 -0
  322. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor/version.rb +3 -0
  323. package/lib/ruby/3.4.11/bundler/vendor/thor/lib/thor.rb +674 -0
  324. package/lib/ruby/3.4.11/bundler/vendor/tsort/.document +1 -0
  325. package/lib/ruby/3.4.11/bundler/vendor/tsort/lib/tsort.rb +455 -0
  326. package/lib/ruby/3.4.11/bundler/vendor/uri/.document +1 -0
  327. package/lib/ruby/3.4.11/bundler/vendor/uri/lib/uri/common.rb +880 -0
  328. package/lib/ruby/3.4.11/bundler/vendor/uri/lib/uri/file.rb +100 -0
  329. package/lib/ruby/3.4.11/bundler/vendor/uri/lib/uri/ftp.rb +267 -0
  330. package/lib/ruby/3.4.11/bundler/vendor/uri/lib/uri/generic.rb +1592 -0
  331. package/lib/ruby/3.4.11/bundler/vendor/uri/lib/uri/http.rb +125 -0
  332. package/lib/ruby/3.4.11/bundler/vendor/uri/lib/uri/https.rb +23 -0
  333. package/lib/ruby/3.4.11/bundler/vendor/uri/lib/uri/ldap.rb +261 -0
  334. package/lib/ruby/3.4.11/bundler/vendor/uri/lib/uri/ldaps.rb +22 -0
  335. package/lib/ruby/3.4.11/bundler/vendor/uri/lib/uri/mailto.rb +293 -0
  336. package/lib/ruby/3.4.11/bundler/vendor/uri/lib/uri/rfc2396_parser.rb +546 -0
  337. package/lib/ruby/3.4.11/bundler/vendor/uri/lib/uri/rfc3986_parser.rb +206 -0
  338. package/lib/ruby/3.4.11/bundler/vendor/uri/lib/uri/version.rb +6 -0
  339. package/lib/ruby/3.4.11/bundler/vendor/uri/lib/uri/ws.rb +83 -0
  340. package/lib/ruby/3.4.11/bundler/vendor/uri/lib/uri/wss.rb +23 -0
  341. package/lib/ruby/3.4.11/bundler/vendor/uri/lib/uri.rb +104 -0
  342. package/lib/ruby/3.4.11/bundler/vendored_fileutils.rb +4 -0
  343. package/lib/ruby/3.4.11/bundler/vendored_net_http.rb +23 -0
  344. package/lib/ruby/3.4.11/bundler/vendored_persistent.rb +11 -0
  345. package/lib/ruby/3.4.11/bundler/vendored_pub_grub.rb +4 -0
  346. package/lib/ruby/3.4.11/bundler/vendored_securerandom.rb +12 -0
  347. package/lib/ruby/3.4.11/bundler/vendored_thor.rb +8 -0
  348. package/lib/ruby/3.4.11/bundler/vendored_timeout.rb +12 -0
  349. package/lib/ruby/3.4.11/bundler/vendored_tsort.rb +4 -0
  350. package/lib/ruby/3.4.11/bundler/vendored_uri.rb +21 -0
  351. package/lib/ruby/3.4.11/bundler/version.rb +13 -0
  352. package/lib/ruby/3.4.11/bundler/vlad.rb +17 -0
  353. package/lib/ruby/3.4.11/bundler/worker.rb +117 -0
  354. package/lib/ruby/3.4.11/bundler/yaml_serializer.rb +98 -0
  355. package/lib/ruby/3.4.11/bundler.rb +701 -0
  356. package/lib/ruby/3.4.11/cgi/cgi.gemspec +43 -0
  357. package/lib/ruby/3.4.11/cgi/cookie.rb +210 -0
  358. package/lib/ruby/3.4.11/cgi/core.rb +900 -0
  359. package/lib/ruby/3.4.11/cgi/html.rb +1035 -0
  360. package/lib/ruby/3.4.11/cgi/session/pstore.rb +91 -0
  361. package/lib/ruby/3.4.11/cgi/session.rb +562 -0
  362. package/lib/ruby/3.4.11/cgi/util.rb +258 -0
  363. package/lib/ruby/3.4.11/cgi.rb +297 -0
  364. package/lib/ruby/3.4.11/delegate.gemspec +29 -0
  365. package/lib/ruby/3.4.11/delegate.rb +444 -0
  366. package/lib/ruby/3.4.11/did_you_mean/core_ext/name_error.rb +57 -0
  367. package/lib/ruby/3.4.11/did_you_mean/did_you_mean.gemspec +25 -0
  368. package/lib/ruby/3.4.11/did_you_mean/experimental.rb +2 -0
  369. package/lib/ruby/3.4.11/did_you_mean/formatter.rb +44 -0
  370. package/lib/ruby/3.4.11/did_you_mean/formatters/plain_formatter.rb +4 -0
  371. package/lib/ruby/3.4.11/did_you_mean/formatters/verbose_formatter.rb +10 -0
  372. package/lib/ruby/3.4.11/did_you_mean/jaro_winkler.rb +84 -0
  373. package/lib/ruby/3.4.11/did_you_mean/levenshtein.rb +57 -0
  374. package/lib/ruby/3.4.11/did_you_mean/spell_checker.rb +46 -0
  375. package/lib/ruby/3.4.11/did_you_mean/spell_checkers/key_error_checker.rb +28 -0
  376. package/lib/ruby/3.4.11/did_you_mean/spell_checkers/method_name_checker.rb +79 -0
  377. package/lib/ruby/3.4.11/did_you_mean/spell_checkers/name_error_checkers/class_name_checker.rb +49 -0
  378. package/lib/ruby/3.4.11/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb +85 -0
  379. package/lib/ruby/3.4.11/did_you_mean/spell_checkers/name_error_checkers.rb +20 -0
  380. package/lib/ruby/3.4.11/did_you_mean/spell_checkers/null_checker.rb +6 -0
  381. package/lib/ruby/3.4.11/did_you_mean/spell_checkers/pattern_key_name_checker.rb +28 -0
  382. package/lib/ruby/3.4.11/did_you_mean/spell_checkers/require_path_checker.rb +39 -0
  383. package/lib/ruby/3.4.11/did_you_mean/tree_spell_checker.rb +109 -0
  384. package/lib/ruby/3.4.11/did_you_mean/verbose.rb +2 -0
  385. package/lib/ruby/3.4.11/did_you_mean/version.rb +3 -0
  386. package/lib/ruby/3.4.11/did_you_mean.rb +131 -0
  387. package/lib/ruby/3.4.11/erb/compiler.rb +472 -0
  388. package/lib/ruby/3.4.11/erb/def_method.rb +47 -0
  389. package/lib/ruby/3.4.11/erb/util.rb +63 -0
  390. package/lib/ruby/3.4.11/erb/version.rb +5 -0
  391. package/lib/ruby/3.4.11/erb.gemspec +38 -0
  392. package/lib/ruby/3.4.11/erb.rb +509 -0
  393. package/lib/ruby/3.4.11/error_highlight/base.rb +830 -0
  394. package/lib/ruby/3.4.11/error_highlight/core_ext.rb +47 -0
  395. package/lib/ruby/3.4.11/error_highlight/error_highlight.gemspec +27 -0
  396. package/lib/ruby/3.4.11/error_highlight/formatter.rb +74 -0
  397. package/lib/ruby/3.4.11/error_highlight/version.rb +3 -0
  398. package/lib/ruby/3.4.11/error_highlight.rb +2 -0
  399. package/lib/ruby/3.4.11/fileutils.gemspec +31 -0
  400. package/lib/ruby/3.4.11/fileutils.rb +2696 -0
  401. package/lib/ruby/3.4.11/find.gemspec +29 -0
  402. package/lib/ruby/3.4.11/find.rb +90 -0
  403. package/lib/ruby/3.4.11/forwardable/forwardable.gemspec +26 -0
  404. package/lib/ruby/3.4.11/forwardable/impl.rb +17 -0
  405. package/lib/ruby/3.4.11/forwardable.rb +321 -0
  406. package/lib/ruby/3.4.11/ipaddr.gemspec +36 -0
  407. package/lib/ruby/3.4.11/ipaddr.rb +841 -0
  408. package/lib/ruby/3.4.11/irb/cmd/nop.rb +4 -0
  409. package/lib/ruby/3.4.11/irb/color.rb +262 -0
  410. package/lib/ruby/3.4.11/irb/color_printer.rb +55 -0
  411. package/lib/ruby/3.4.11/irb/command/backtrace.rb +17 -0
  412. package/lib/ruby/3.4.11/irb/command/base.rb +60 -0
  413. package/lib/ruby/3.4.11/irb/command/break.rb +17 -0
  414. package/lib/ruby/3.4.11/irb/command/catch.rb +17 -0
  415. package/lib/ruby/3.4.11/irb/command/cd.rb +51 -0
  416. package/lib/ruby/3.4.11/irb/command/chws.rb +40 -0
  417. package/lib/ruby/3.4.11/irb/command/context.rb +16 -0
  418. package/lib/ruby/3.4.11/irb/command/continue.rb +17 -0
  419. package/lib/ruby/3.4.11/irb/command/debug.rb +73 -0
  420. package/lib/ruby/3.4.11/irb/command/delete.rb +17 -0
  421. package/lib/ruby/3.4.11/irb/command/disable_irb.rb +19 -0
  422. package/lib/ruby/3.4.11/irb/command/edit.rb +63 -0
  423. package/lib/ruby/3.4.11/irb/command/exit.rb +18 -0
  424. package/lib/ruby/3.4.11/irb/command/finish.rb +17 -0
  425. package/lib/ruby/3.4.11/irb/command/force_exit.rb +18 -0
  426. package/lib/ruby/3.4.11/irb/command/help.rb +83 -0
  427. package/lib/ruby/3.4.11/irb/command/history.rb +45 -0
  428. package/lib/ruby/3.4.11/irb/command/info.rb +17 -0
  429. package/lib/ruby/3.4.11/irb/command/internal_helpers.rb +27 -0
  430. package/lib/ruby/3.4.11/irb/command/irb_info.rb +33 -0
  431. package/lib/ruby/3.4.11/irb/command/load.rb +91 -0
  432. package/lib/ruby/3.4.11/irb/command/ls.rb +167 -0
  433. package/lib/ruby/3.4.11/irb/command/measure.rb +49 -0
  434. package/lib/ruby/3.4.11/irb/command/next.rb +17 -0
  435. package/lib/ruby/3.4.11/irb/command/pushws.rb +65 -0
  436. package/lib/ruby/3.4.11/irb/command/show_doc.rb +51 -0
  437. package/lib/ruby/3.4.11/irb/command/show_source.rb +74 -0
  438. package/lib/ruby/3.4.11/irb/command/step.rb +17 -0
  439. package/lib/ruby/3.4.11/irb/command/subirb.rb +123 -0
  440. package/lib/ruby/3.4.11/irb/command/whereami.rb +23 -0
  441. package/lib/ruby/3.4.11/irb/command.rb +23 -0
  442. package/lib/ruby/3.4.11/irb/completion.rb +504 -0
  443. package/lib/ruby/3.4.11/irb/context.rb +716 -0
  444. package/lib/ruby/3.4.11/irb/debug/ui.rb +101 -0
  445. package/lib/ruby/3.4.11/irb/debug.rb +127 -0
  446. package/lib/ruby/3.4.11/irb/default_commands.rb +276 -0
  447. package/lib/ruby/3.4.11/irb/easter-egg.rb +152 -0
  448. package/lib/ruby/3.4.11/irb/ext/change-ws.rb +37 -0
  449. package/lib/ruby/3.4.11/irb/ext/eval_history.rb +149 -0
  450. package/lib/ruby/3.4.11/irb/ext/loader.rb +127 -0
  451. package/lib/ruby/3.4.11/irb/ext/multi-irb.rb +258 -0
  452. package/lib/ruby/3.4.11/irb/ext/tracer.rb +39 -0
  453. package/lib/ruby/3.4.11/irb/ext/use-loader.rb +67 -0
  454. package/lib/ruby/3.4.11/irb/ext/workspaces.rb +36 -0
  455. package/lib/ruby/3.4.11/irb/frame.rb +80 -0
  456. package/lib/ruby/3.4.11/irb/help.rb +28 -0
  457. package/lib/ruby/3.4.11/irb/helper_method/base.rb +16 -0
  458. package/lib/ruby/3.4.11/irb/helper_method/conf.rb +11 -0
  459. package/lib/ruby/3.4.11/irb/helper_method.rb +29 -0
  460. package/lib/ruby/3.4.11/irb/history.rb +112 -0
  461. package/lib/ruby/3.4.11/irb/init.rb +538 -0
  462. package/lib/ruby/3.4.11/irb/input-method.rb +515 -0
  463. package/lib/ruby/3.4.11/irb/inspector.rb +131 -0
  464. package/lib/ruby/3.4.11/irb/irb.gemspec +46 -0
  465. package/lib/ruby/3.4.11/irb/lc/error.rb +52 -0
  466. package/lib/ruby/3.4.11/irb/lc/help-message +55 -0
  467. package/lib/ruby/3.4.11/irb/lc/ja/error.rb +53 -0
  468. package/lib/ruby/3.4.11/irb/lc/ja/help-message +58 -0
  469. package/lib/ruby/3.4.11/irb/locale.rb +153 -0
  470. package/lib/ruby/3.4.11/irb/nesting_parser.rb +239 -0
  471. package/lib/ruby/3.4.11/irb/notifier.rb +230 -0
  472. package/lib/ruby/3.4.11/irb/output-method.rb +80 -0
  473. package/lib/ruby/3.4.11/irb/pager.rb +100 -0
  474. package/lib/ruby/3.4.11/irb/ruby-lex.rb +476 -0
  475. package/lib/ruby/3.4.11/irb/ruby_logo.aa +118 -0
  476. package/lib/ruby/3.4.11/irb/source_finder.rb +138 -0
  477. package/lib/ruby/3.4.11/irb/statement.rb +80 -0
  478. package/lib/ruby/3.4.11/irb/version.rb +11 -0
  479. package/lib/ruby/3.4.11/irb/workspace.rb +171 -0
  480. package/lib/ruby/3.4.11/irb/ws-for-case-2.rb +9 -0
  481. package/lib/ruby/3.4.11/irb/xmp.rb +164 -0
  482. package/lib/ruby/3.4.11/irb.rb +1593 -0
  483. package/lib/ruby/3.4.11/logger/errors.rb +9 -0
  484. package/lib/ruby/3.4.11/logger/formatter.rb +36 -0
  485. package/lib/ruby/3.4.11/logger/log_device.rb +236 -0
  486. package/lib/ruby/3.4.11/logger/logger.gemspec +22 -0
  487. package/lib/ruby/3.4.11/logger/period.rb +47 -0
  488. package/lib/ruby/3.4.11/logger/severity.rb +38 -0
  489. package/lib/ruby/3.4.11/logger/version.rb +5 -0
  490. package/lib/ruby/3.4.11/logger.rb +761 -0
  491. package/lib/ruby/3.4.11/mkmf.rb +3045 -0
  492. package/lib/ruby/3.4.11/net/http/exceptions.rb +34 -0
  493. package/lib/ruby/3.4.11/net/http/generic_request.rb +414 -0
  494. package/lib/ruby/3.4.11/net/http/header.rb +981 -0
  495. package/lib/ruby/3.4.11/net/http/net-http.gemspec +39 -0
  496. package/lib/ruby/3.4.11/net/http/proxy_delta.rb +17 -0
  497. package/lib/ruby/3.4.11/net/http/request.rb +88 -0
  498. package/lib/ruby/3.4.11/net/http/requests.rb +430 -0
  499. package/lib/ruby/3.4.11/net/http/response.rb +738 -0
  500. package/lib/ruby/3.4.11/net/http/responses.rb +1174 -0
  501. package/lib/ruby/3.4.11/net/http/status.rb +84 -0
  502. package/lib/ruby/3.4.11/net/http.rb +2574 -0
  503. package/lib/ruby/3.4.11/net/https.rb +23 -0
  504. package/lib/ruby/3.4.11/net/net-protocol.gemspec +34 -0
  505. package/lib/ruby/3.4.11/net/protocol.rb +544 -0
  506. package/lib/ruby/3.4.11/open-uri.gemspec +32 -0
  507. package/lib/ruby/3.4.11/open-uri.rb +895 -0
  508. package/lib/ruby/3.4.11/open3/open3.gemspec +33 -0
  509. package/lib/ruby/3.4.11/open3/version.rb +3 -0
  510. package/lib/ruby/3.4.11/open3.rb +1410 -0
  511. package/lib/ruby/3.4.11/optionparser.rb +2 -0
  512. package/lib/ruby/3.4.11/optparse/ac.rb +70 -0
  513. package/lib/ruby/3.4.11/optparse/date.rb +18 -0
  514. package/lib/ruby/3.4.11/optparse/kwargs.rb +27 -0
  515. package/lib/ruby/3.4.11/optparse/optparse.gemspec +31 -0
  516. package/lib/ruby/3.4.11/optparse/shellwords.rb +7 -0
  517. package/lib/ruby/3.4.11/optparse/time.rb +11 -0
  518. package/lib/ruby/3.4.11/optparse/uri.rb +7 -0
  519. package/lib/ruby/3.4.11/optparse/version.rb +80 -0
  520. package/lib/ruby/3.4.11/optparse.rb +2429 -0
  521. package/lib/ruby/3.4.11/ostruct.gemspec +24 -0
  522. package/lib/ruby/3.4.11/ostruct.rb +489 -0
  523. package/lib/ruby/3.4.11/pp.gemspec +35 -0
  524. package/lib/ruby/3.4.11/pp.rb +699 -0
  525. package/lib/ruby/3.4.11/prettyprint.gemspec +29 -0
  526. package/lib/ruby/3.4.11/prettyprint.rb +558 -0
  527. package/lib/ruby/3.4.11/prism/compiler.rb +801 -0
  528. package/lib/ruby/3.4.11/prism/desugar_compiler.rb +392 -0
  529. package/lib/ruby/3.4.11/prism/dispatcher.rb +2210 -0
  530. package/lib/ruby/3.4.11/prism/dsl.rb +1003 -0
  531. package/lib/ruby/3.4.11/prism/ffi.rb +570 -0
  532. package/lib/ruby/3.4.11/prism/inspect_visitor.rb +2392 -0
  533. package/lib/ruby/3.4.11/prism/lex_compat.rb +928 -0
  534. package/lib/ruby/3.4.11/prism/mutation_compiler.rb +772 -0
  535. package/lib/ruby/3.4.11/prism/node.rb +18816 -0
  536. package/lib/ruby/3.4.11/prism/node_ext.rb +511 -0
  537. package/lib/ruby/3.4.11/prism/pack.rb +230 -0
  538. package/lib/ruby/3.4.11/prism/parse_result/comments.rb +188 -0
  539. package/lib/ruby/3.4.11/prism/parse_result/errors.rb +66 -0
  540. package/lib/ruby/3.4.11/prism/parse_result/newlines.rb +155 -0
  541. package/lib/ruby/3.4.11/prism/parse_result.rb +911 -0
  542. package/lib/ruby/3.4.11/prism/pattern.rb +269 -0
  543. package/lib/ruby/3.4.11/prism/polyfill/append_as_bytes.rb +15 -0
  544. package/lib/ruby/3.4.11/prism/polyfill/byteindex.rb +13 -0
  545. package/lib/ruby/3.4.11/prism/polyfill/scan_byte.rb +14 -0
  546. package/lib/ruby/3.4.11/prism/polyfill/unpack1.rb +14 -0
  547. package/lib/ruby/3.4.11/prism/polyfill/warn.rb +36 -0
  548. package/lib/ruby/3.4.11/prism/prism.gemspec +174 -0
  549. package/lib/ruby/3.4.11/prism/reflection.rb +416 -0
  550. package/lib/ruby/3.4.11/prism/relocation.rb +505 -0
  551. package/lib/ruby/3.4.11/prism/serialize.rb +2400 -0
  552. package/lib/ruby/3.4.11/prism/string_query.rb +31 -0
  553. package/lib/ruby/3.4.11/prism/translation/parser/builder.rb +62 -0
  554. package/lib/ruby/3.4.11/prism/translation/parser/compiler.rb +2234 -0
  555. package/lib/ruby/3.4.11/prism/translation/parser/lexer.rb +820 -0
  556. package/lib/ruby/3.4.11/prism/translation/parser.rb +374 -0
  557. package/lib/ruby/3.4.11/prism/translation/parser33.rb +13 -0
  558. package/lib/ruby/3.4.11/prism/translation/parser34.rb +13 -0
  559. package/lib/ruby/3.4.11/prism/translation/parser35.rb +13 -0
  560. package/lib/ruby/3.4.11/prism/translation/parser_current.rb +24 -0
  561. package/lib/ruby/3.4.11/prism/translation/ripper/sexp.rb +126 -0
  562. package/lib/ruby/3.4.11/prism/translation/ripper/shim.rb +5 -0
  563. package/lib/ruby/3.4.11/prism/translation/ripper.rb +3474 -0
  564. package/lib/ruby/3.4.11/prism/translation/ruby_parser.rb +1929 -0
  565. package/lib/ruby/3.4.11/prism/translation.rb +16 -0
  566. package/lib/ruby/3.4.11/prism/visitor.rb +813 -0
  567. package/lib/ruby/3.4.11/prism.rb +91 -0
  568. package/lib/ruby/3.4.11/pstore.gemspec +32 -0
  569. package/lib/ruby/3.4.11/pstore.rb +736 -0
  570. package/lib/ruby/3.4.11/random/formatter.rb +372 -0
  571. package/lib/ruby/3.4.11/rbconfig.rb +366 -0
  572. package/lib/ruby/3.4.11/rdoc/.document +2 -0
  573. package/lib/ruby/3.4.11/rdoc/code_object/alias.rb +104 -0
  574. package/lib/ruby/3.4.11/rdoc/code_object/anon_class.rb +10 -0
  575. package/lib/ruby/3.4.11/rdoc/code_object/any_method.rb +374 -0
  576. package/lib/ruby/3.4.11/rdoc/code_object/attr.rb +172 -0
  577. package/lib/ruby/3.4.11/rdoc/code_object/class_module.rb +888 -0
  578. package/lib/ruby/3.4.11/rdoc/code_object/constant.rb +186 -0
  579. package/lib/ruby/3.4.11/rdoc/code_object/context/section.rb +175 -0
  580. package/lib/ruby/3.4.11/rdoc/code_object/context.rb +1222 -0
  581. package/lib/ruby/3.4.11/rdoc/code_object/extend.rb +9 -0
  582. package/lib/ruby/3.4.11/rdoc/code_object/ghost_method.rb +6 -0
  583. package/lib/ruby/3.4.11/rdoc/code_object/include.rb +9 -0
  584. package/lib/ruby/3.4.11/rdoc/code_object/meta_method.rb +6 -0
  585. package/lib/ruby/3.4.11/rdoc/code_object/method_attr.rb +410 -0
  586. package/lib/ruby/3.4.11/rdoc/code_object/mixin.rb +120 -0
  587. package/lib/ruby/3.4.11/rdoc/code_object/normal_class.rb +92 -0
  588. package/lib/ruby/3.4.11/rdoc/code_object/normal_module.rb +73 -0
  589. package/lib/ruby/3.4.11/rdoc/code_object/require.rb +51 -0
  590. package/lib/ruby/3.4.11/rdoc/code_object/single_class.rb +30 -0
  591. package/lib/ruby/3.4.11/rdoc/code_object/top_level.rb +273 -0
  592. package/lib/ruby/3.4.11/rdoc/code_object.rb +395 -0
  593. package/lib/ruby/3.4.11/rdoc/code_objects.rb +5 -0
  594. package/lib/ruby/3.4.11/rdoc/comment.rb +236 -0
  595. package/lib/ruby/3.4.11/rdoc/cross_reference.rb +228 -0
  596. package/lib/ruby/3.4.11/rdoc/encoding.rb +120 -0
  597. package/lib/ruby/3.4.11/rdoc/erb_partial.rb +18 -0
  598. package/lib/ruby/3.4.11/rdoc/erbio.rb +37 -0
  599. package/lib/ruby/3.4.11/rdoc/generator/darkfish.rb +812 -0
  600. package/lib/ruby/3.4.11/rdoc/generator/json_index.rb +284 -0
  601. package/lib/ruby/3.4.11/rdoc/generator/markup.rb +171 -0
  602. package/lib/ruby/3.4.11/rdoc/generator/pot/message_extractor.rb +68 -0
  603. package/lib/ruby/3.4.11/rdoc/generator/pot/po.rb +84 -0
  604. package/lib/ruby/3.4.11/rdoc/generator/pot/po_entry.rb +141 -0
  605. package/lib/ruby/3.4.11/rdoc/generator/pot.rb +94 -0
  606. package/lib/ruby/3.4.11/rdoc/generator/ri.rb +30 -0
  607. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/.document +0 -0
  608. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/_footer.rhtml +5 -0
  609. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/_head.rhtml +48 -0
  610. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/_sidebar_classes.rhtml +5 -0
  611. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/_sidebar_extends.rhtml +15 -0
  612. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/_sidebar_includes.rhtml +15 -0
  613. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/_sidebar_installed.rhtml +15 -0
  614. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/_sidebar_methods.rhtml +21 -0
  615. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/_sidebar_navigation.rhtml +11 -0
  616. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/_sidebar_pages.rhtml +32 -0
  617. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/_sidebar_parent.rhtml +6 -0
  618. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/_sidebar_search.rhtml +14 -0
  619. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/_sidebar_sections.rhtml +11 -0
  620. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml +39 -0
  621. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/_sidebar_toggle.rhtml +3 -0
  622. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/class.rhtml +221 -0
  623. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/css/fonts.css +167 -0
  624. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/css/rdoc.css +683 -0
  625. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/fonts/Lato-Light.ttf +0 -0
  626. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/fonts/Lato-LightItalic.ttf +0 -0
  627. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/fonts/Lato-Regular.ttf +0 -0
  628. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/fonts/Lato-RegularItalic.ttf +0 -0
  629. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/fonts/SourceCodePro-Bold.ttf +0 -0
  630. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/fonts/SourceCodePro-Regular.ttf +0 -0
  631. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/add.png +0 -0
  632. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/arrow_up.png +0 -0
  633. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/brick.png +0 -0
  634. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/brick_link.png +0 -0
  635. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/bug.png +0 -0
  636. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/bullet_black.png +0 -0
  637. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/bullet_toggle_minus.png +0 -0
  638. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/bullet_toggle_plus.png +0 -0
  639. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/date.png +0 -0
  640. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/delete.png +0 -0
  641. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/find.png +0 -0
  642. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/loadingAnimation.gif +0 -0
  643. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/macFFBgHack.png +0 -0
  644. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/package.png +0 -0
  645. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/page_green.png +0 -0
  646. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/page_white_text.png +0 -0
  647. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/page_white_width.png +0 -0
  648. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/plugin.png +0 -0
  649. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/ruby.png +0 -0
  650. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/tag_blue.png +0 -0
  651. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/tag_green.png +0 -0
  652. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/transparent.png +0 -0
  653. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/wrench.png +0 -0
  654. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/wrench_orange.png +0 -0
  655. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/images/zoom.png +0 -0
  656. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/index.rhtml +23 -0
  657. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/js/darkfish.js +120 -0
  658. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/js/search.js +110 -0
  659. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/page.rhtml +18 -0
  660. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/servlet_not_found.rhtml +20 -0
  661. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/servlet_root.rhtml +65 -0
  662. package/lib/ruby/3.4.11/rdoc/generator/template/darkfish/table_of_contents.rhtml +70 -0
  663. package/lib/ruby/3.4.11/rdoc/generator/template/json_index/.document +1 -0
  664. package/lib/ruby/3.4.11/rdoc/generator/template/json_index/js/navigation.js +105 -0
  665. package/lib/ruby/3.4.11/rdoc/generator/template/json_index/js/searcher.js +229 -0
  666. package/lib/ruby/3.4.11/rdoc/generator.rb +51 -0
  667. package/lib/ruby/3.4.11/rdoc/i18n/locale.rb +102 -0
  668. package/lib/ruby/3.4.11/rdoc/i18n/text.rb +126 -0
  669. package/lib/ruby/3.4.11/rdoc/i18n.rb +10 -0
  670. package/lib/ruby/3.4.11/rdoc/known_classes.rb +74 -0
  671. package/lib/ruby/3.4.11/rdoc/markdown/.document +1 -0
  672. package/lib/ruby/3.4.11/rdoc/markdown/entities.rb +2131 -0
  673. package/lib/ruby/3.4.11/rdoc/markdown/literals.rb +454 -0
  674. package/lib/ruby/3.4.11/rdoc/markdown.rb +16806 -0
  675. package/lib/ruby/3.4.11/rdoc/markup/attr_changer.rb +22 -0
  676. package/lib/ruby/3.4.11/rdoc/markup/attr_span.rb +35 -0
  677. package/lib/ruby/3.4.11/rdoc/markup/attribute_manager.rb +405 -0
  678. package/lib/ruby/3.4.11/rdoc/markup/attributes.rb +70 -0
  679. package/lib/ruby/3.4.11/rdoc/markup/blank_line.rb +27 -0
  680. package/lib/ruby/3.4.11/rdoc/markup/block_quote.rb +14 -0
  681. package/lib/ruby/3.4.11/rdoc/markup/document.rb +164 -0
  682. package/lib/ruby/3.4.11/rdoc/markup/formatter.rb +272 -0
  683. package/lib/ruby/3.4.11/rdoc/markup/hard_break.rb +31 -0
  684. package/lib/ruby/3.4.11/rdoc/markup/heading.rb +84 -0
  685. package/lib/ruby/3.4.11/rdoc/markup/include.rb +42 -0
  686. package/lib/ruby/3.4.11/rdoc/markup/indented_paragraph.rb +47 -0
  687. package/lib/ruby/3.4.11/rdoc/markup/list.rb +101 -0
  688. package/lib/ruby/3.4.11/rdoc/markup/list_item.rb +99 -0
  689. package/lib/ruby/3.4.11/rdoc/markup/paragraph.rb +28 -0
  690. package/lib/ruby/3.4.11/rdoc/markup/parser.rb +585 -0
  691. package/lib/ruby/3.4.11/rdoc/markup/pre_process.rb +318 -0
  692. package/lib/ruby/3.4.11/rdoc/markup/raw.rb +69 -0
  693. package/lib/ruby/3.4.11/rdoc/markup/regexp_handling.rb +40 -0
  694. package/lib/ruby/3.4.11/rdoc/markup/rule.rb +20 -0
  695. package/lib/ruby/3.4.11/rdoc/markup/table.rb +56 -0
  696. package/lib/ruby/3.4.11/rdoc/markup/to_ansi.rb +93 -0
  697. package/lib/ruby/3.4.11/rdoc/markup/to_bs.rb +102 -0
  698. package/lib/ruby/3.4.11/rdoc/markup/to_html.rb +462 -0
  699. package/lib/ruby/3.4.11/rdoc/markup/to_html_crossref.rb +226 -0
  700. package/lib/ruby/3.4.11/rdoc/markup/to_html_snippet.rb +287 -0
  701. package/lib/ruby/3.4.11/rdoc/markup/to_joined_paragraph.rb +46 -0
  702. package/lib/ruby/3.4.11/rdoc/markup/to_label.rb +74 -0
  703. package/lib/ruby/3.4.11/rdoc/markup/to_markdown.rb +191 -0
  704. package/lib/ruby/3.4.11/rdoc/markup/to_rdoc.rb +353 -0
  705. package/lib/ruby/3.4.11/rdoc/markup/to_table_of_contents.rb +88 -0
  706. package/lib/ruby/3.4.11/rdoc/markup/to_test.rb +69 -0
  707. package/lib/ruby/3.4.11/rdoc/markup/to_tt_only.rb +120 -0
  708. package/lib/ruby/3.4.11/rdoc/markup/verbatim.rb +83 -0
  709. package/lib/ruby/3.4.11/rdoc/markup.rb +240 -0
  710. package/lib/ruby/3.4.11/rdoc/options.rb +1416 -0
  711. package/lib/ruby/3.4.11/rdoc/parser/c.rb +1257 -0
  712. package/lib/ruby/3.4.11/rdoc/parser/changelog.rb +350 -0
  713. package/lib/ruby/3.4.11/rdoc/parser/markdown.rb +22 -0
  714. package/lib/ruby/3.4.11/rdoc/parser/prism_ruby.rb +1092 -0
  715. package/lib/ruby/3.4.11/rdoc/parser/rd.rb +22 -0
  716. package/lib/ruby/3.4.11/rdoc/parser/ripper_state_lex.rb +302 -0
  717. package/lib/ruby/3.4.11/rdoc/parser/ruby.rb +2378 -0
  718. package/lib/ruby/3.4.11/rdoc/parser/ruby_tools.rb +165 -0
  719. package/lib/ruby/3.4.11/rdoc/parser/simple.rb +61 -0
  720. package/lib/ruby/3.4.11/rdoc/parser/text.rb +11 -0
  721. package/lib/ruby/3.4.11/rdoc/parser.rb +297 -0
  722. package/lib/ruby/3.4.11/rdoc/rd/.document +1 -0
  723. package/lib/ruby/3.4.11/rdoc/rd/block_parser.rb +1706 -0
  724. package/lib/ruby/3.4.11/rdoc/rd/inline.rb +71 -0
  725. package/lib/ruby/3.4.11/rdoc/rd/inline_parser.rb +1854 -0
  726. package/lib/ruby/3.4.11/rdoc/rd.rb +99 -0
  727. package/lib/ruby/3.4.11/rdoc/rdoc.gemspec +68 -0
  728. package/lib/ruby/3.4.11/rdoc/rdoc.rb +551 -0
  729. package/lib/ruby/3.4.11/rdoc/ri/driver.rb +1566 -0
  730. package/lib/ruby/3.4.11/rdoc/ri/formatter.rb +6 -0
  731. package/lib/ruby/3.4.11/rdoc/ri/paths.rb +171 -0
  732. package/lib/ruby/3.4.11/rdoc/ri/store.rb +6 -0
  733. package/lib/ruby/3.4.11/rdoc/ri/task.rb +71 -0
  734. package/lib/ruby/3.4.11/rdoc/ri.rb +20 -0
  735. package/lib/ruby/3.4.11/rdoc/rubygems_hook.rb +327 -0
  736. package/lib/ruby/3.4.11/rdoc/servlet.rb +452 -0
  737. package/lib/ruby/3.4.11/rdoc/stats/normal.rb +58 -0
  738. package/lib/ruby/3.4.11/rdoc/stats/quiet.rb +59 -0
  739. package/lib/ruby/3.4.11/rdoc/stats/verbose.rb +44 -0
  740. package/lib/ruby/3.4.11/rdoc/stats.rb +461 -0
  741. package/lib/ruby/3.4.11/rdoc/store.rb +997 -0
  742. package/lib/ruby/3.4.11/rdoc/task.rb +354 -0
  743. package/lib/ruby/3.4.11/rdoc/text.rb +322 -0
  744. package/lib/ruby/3.4.11/rdoc/token_stream.rb +118 -0
  745. package/lib/ruby/3.4.11/rdoc/tom_doc.rb +257 -0
  746. package/lib/ruby/3.4.11/rdoc/version.rb +10 -0
  747. package/lib/ruby/3.4.11/rdoc.rb +211 -0
  748. package/lib/ruby/3.4.11/readline.gemspec +33 -0
  749. package/lib/ruby/3.4.11/readline.rb +7 -0
  750. package/lib/ruby/3.4.11/reline/config.rb +373 -0
  751. package/lib/ruby/3.4.11/reline/face.rb +199 -0
  752. package/lib/ruby/3.4.11/reline/history.rb +76 -0
  753. package/lib/ruby/3.4.11/reline/io/ansi.rb +325 -0
  754. package/lib/ruby/3.4.11/reline/io/dumb.rb +120 -0
  755. package/lib/ruby/3.4.11/reline/io/windows.rb +530 -0
  756. package/lib/ruby/3.4.11/reline/io.rb +55 -0
  757. package/lib/ruby/3.4.11/reline/key_actor/base.rb +37 -0
  758. package/lib/ruby/3.4.11/reline/key_actor/composite.rb +17 -0
  759. package/lib/ruby/3.4.11/reline/key_actor/emacs.rb +517 -0
  760. package/lib/ruby/3.4.11/reline/key_actor/vi_command.rb +518 -0
  761. package/lib/ruby/3.4.11/reline/key_actor/vi_insert.rb +517 -0
  762. package/lib/ruby/3.4.11/reline/key_actor.rb +8 -0
  763. package/lib/ruby/3.4.11/reline/key_stroke.rb +119 -0
  764. package/lib/ruby/3.4.11/reline/kill_ring.rb +125 -0
  765. package/lib/ruby/3.4.11/reline/line_editor.rb +2382 -0
  766. package/lib/ruby/3.4.11/reline/reline.gemspec +30 -0
  767. package/lib/ruby/3.4.11/reline/unicode/east_asian_width.rb +1267 -0
  768. package/lib/ruby/3.4.11/reline/unicode.rb +415 -0
  769. package/lib/ruby/3.4.11/reline/version.rb +3 -0
  770. package/lib/ruby/3.4.11/reline.rb +519 -0
  771. package/lib/ruby/3.4.11/resolv.gemspec +30 -0
  772. package/lib/ruby/3.4.11/resolv.rb +3587 -0
  773. package/lib/ruby/3.4.11/ruby2_keywords.gemspec +23 -0
  774. package/lib/ruby/3.4.11/ruby_vm/rjit/.document +1 -0
  775. package/lib/ruby/3.4.11/ruby_vm/rjit/assembler.rb +1160 -0
  776. package/lib/ruby/3.4.11/ruby_vm/rjit/block.rb +11 -0
  777. package/lib/ruby/3.4.11/ruby_vm/rjit/branch_stub.rb +24 -0
  778. package/lib/ruby/3.4.11/ruby_vm/rjit/c_pointer.rb +394 -0
  779. package/lib/ruby/3.4.11/ruby_vm/rjit/c_type.rb +99 -0
  780. package/lib/ruby/3.4.11/ruby_vm/rjit/code_block.rb +91 -0
  781. package/lib/ruby/3.4.11/ruby_vm/rjit/compiler.rb +518 -0
  782. package/lib/ruby/3.4.11/ruby_vm/rjit/context.rb +377 -0
  783. package/lib/ruby/3.4.11/ruby_vm/rjit/entry_stub.rb +7 -0
  784. package/lib/ruby/3.4.11/ruby_vm/rjit/exit_compiler.rb +164 -0
  785. package/lib/ruby/3.4.11/ruby_vm/rjit/hooks.rb +36 -0
  786. package/lib/ruby/3.4.11/ruby_vm/rjit/insn_compiler.rb +6046 -0
  787. package/lib/ruby/3.4.11/ruby_vm/rjit/instruction.rb +1326 -0
  788. package/lib/ruby/3.4.11/ruby_vm/rjit/invariants.rb +155 -0
  789. package/lib/ruby/3.4.11/ruby_vm/rjit/jit_state.rb +65 -0
  790. package/lib/ruby/3.4.11/ruby_vm/rjit/stats.rb +191 -0
  791. package/lib/ruby/3.4.11/ruby_vm/rjit/type.rb +221 -0
  792. package/lib/ruby/3.4.11/rubygems/available_set.rb +165 -0
  793. package/lib/ruby/3.4.11/rubygems/basic_specification.rb +383 -0
  794. package/lib/ruby/3.4.11/rubygems/bundler_version_finder.rb +77 -0
  795. package/lib/ruby/3.4.11/rubygems/ci_detector.rb +75 -0
  796. package/lib/ruby/3.4.11/rubygems/command.rb +664 -0
  797. package/lib/ruby/3.4.11/rubygems/command_manager.rb +255 -0
  798. package/lib/ruby/3.4.11/rubygems/commands/build_command.rb +127 -0
  799. package/lib/ruby/3.4.11/rubygems/commands/cert_command.rb +325 -0
  800. package/lib/ruby/3.4.11/rubygems/commands/check_command.rb +97 -0
  801. package/lib/ruby/3.4.11/rubygems/commands/cleanup_command.rb +178 -0
  802. package/lib/ruby/3.4.11/rubygems/commands/contents_command.rb +196 -0
  803. package/lib/ruby/3.4.11/rubygems/commands/dependency_command.rb +206 -0
  804. package/lib/ruby/3.4.11/rubygems/commands/environment_command.rb +181 -0
  805. package/lib/ruby/3.4.11/rubygems/commands/exec_command.rb +256 -0
  806. package/lib/ruby/3.4.11/rubygems/commands/fetch_command.rb +109 -0
  807. package/lib/ruby/3.4.11/rubygems/commands/generate_index_command.rb +51 -0
  808. package/lib/ruby/3.4.11/rubygems/commands/help_command.rb +375 -0
  809. package/lib/ruby/3.4.11/rubygems/commands/info_command.rb +38 -0
  810. package/lib/ruby/3.4.11/rubygems/commands/install_command.rb +269 -0
  811. package/lib/ruby/3.4.11/rubygems/commands/list_command.rb +42 -0
  812. package/lib/ruby/3.4.11/rubygems/commands/lock_command.rb +109 -0
  813. package/lib/ruby/3.4.11/rubygems/commands/mirror_command.rb +26 -0
  814. package/lib/ruby/3.4.11/rubygems/commands/open_command.rb +83 -0
  815. package/lib/ruby/3.4.11/rubygems/commands/outdated_command.rb +33 -0
  816. package/lib/ruby/3.4.11/rubygems/commands/owner_command.rb +124 -0
  817. package/lib/ruby/3.4.11/rubygems/commands/pristine_command.rb +217 -0
  818. package/lib/ruby/3.4.11/rubygems/commands/push_command.rb +135 -0
  819. package/lib/ruby/3.4.11/rubygems/commands/query_command.rb +43 -0
  820. package/lib/ruby/3.4.11/rubygems/commands/rdoc_command.rb +90 -0
  821. package/lib/ruby/3.4.11/rubygems/commands/rebuild_command.rb +262 -0
  822. package/lib/ruby/3.4.11/rubygems/commands/search_command.rb +41 -0
  823. package/lib/ruby/3.4.11/rubygems/commands/server_command.rb +26 -0
  824. package/lib/ruby/3.4.11/rubygems/commands/setup_command.rb +663 -0
  825. package/lib/ruby/3.4.11/rubygems/commands/signin_command.rb +34 -0
  826. package/lib/ruby/3.4.11/rubygems/commands/signout_command.rb +32 -0
  827. package/lib/ruby/3.4.11/rubygems/commands/sources_command.rb +227 -0
  828. package/lib/ruby/3.4.11/rubygems/commands/specification_command.rb +156 -0
  829. package/lib/ruby/3.4.11/rubygems/commands/stale_command.rb +40 -0
  830. package/lib/ruby/3.4.11/rubygems/commands/uninstall_command.rb +204 -0
  831. package/lib/ruby/3.4.11/rubygems/commands/unpack_command.rb +168 -0
  832. package/lib/ruby/3.4.11/rubygems/commands/update_command.rb +326 -0
  833. package/lib/ruby/3.4.11/rubygems/commands/which_command.rb +88 -0
  834. package/lib/ruby/3.4.11/rubygems/commands/yank_command.rb +99 -0
  835. package/lib/ruby/3.4.11/rubygems/compatibility.rb +41 -0
  836. package/lib/ruby/3.4.11/rubygems/config_file.rb +618 -0
  837. package/lib/ruby/3.4.11/rubygems/core_ext/kernel_gem.rb +68 -0
  838. package/lib/ruby/3.4.11/rubygems/core_ext/kernel_require.rb +149 -0
  839. package/lib/ruby/3.4.11/rubygems/core_ext/kernel_warn.rb +45 -0
  840. package/lib/ruby/3.4.11/rubygems/core_ext/tcpsocket_init.rb +54 -0
  841. package/lib/ruby/3.4.11/rubygems/defaults.rb +308 -0
  842. package/lib/ruby/3.4.11/rubygems/dependency.rb +348 -0
  843. package/lib/ruby/3.4.11/rubygems/dependency_installer.rb +335 -0
  844. package/lib/ruby/3.4.11/rubygems/dependency_list.rb +243 -0
  845. package/lib/ruby/3.4.11/rubygems/deprecate.rb +169 -0
  846. package/lib/ruby/3.4.11/rubygems/doctor.rb +132 -0
  847. package/lib/ruby/3.4.11/rubygems/errors.rb +177 -0
  848. package/lib/ruby/3.4.11/rubygems/exceptions.rb +293 -0
  849. package/lib/ruby/3.4.11/rubygems/ext/build_error.rb +9 -0
  850. package/lib/ruby/3.4.11/rubygems/ext/builder.rb +260 -0
  851. package/lib/ruby/3.4.11/rubygems/ext/cargo_builder/link_flag_converter.rb +27 -0
  852. package/lib/ruby/3.4.11/rubygems/ext/cargo_builder.rb +346 -0
  853. package/lib/ruby/3.4.11/rubygems/ext/cmake_builder.rb +21 -0
  854. package/lib/ruby/3.4.11/rubygems/ext/configure_builder.rb +26 -0
  855. package/lib/ruby/3.4.11/rubygems/ext/ext_conf_builder.rb +77 -0
  856. package/lib/ruby/3.4.11/rubygems/ext/rake_builder.rb +37 -0
  857. package/lib/ruby/3.4.11/rubygems/ext.rb +20 -0
  858. package/lib/ruby/3.4.11/rubygems/gem_runner.rb +89 -0
  859. package/lib/ruby/3.4.11/rubygems/gemcutter_utilities/webauthn_listener/response.rb +163 -0
  860. package/lib/ruby/3.4.11/rubygems/gemcutter_utilities/webauthn_listener.rb +105 -0
  861. package/lib/ruby/3.4.11/rubygems/gemcutter_utilities/webauthn_poller.rb +80 -0
  862. package/lib/ruby/3.4.11/rubygems/gemcutter_utilities.rb +397 -0
  863. package/lib/ruby/3.4.11/rubygems/gemspec_helpers.rb +19 -0
  864. package/lib/ruby/3.4.11/rubygems/install_default_message.rb +13 -0
  865. package/lib/ruby/3.4.11/rubygems/install_message.rb +13 -0
  866. package/lib/ruby/3.4.11/rubygems/install_update_options.rb +204 -0
  867. package/lib/ruby/3.4.11/rubygems/installer.rb +1031 -0
  868. package/lib/ruby/3.4.11/rubygems/installer_uninstaller_utils.rb +27 -0
  869. package/lib/ruby/3.4.11/rubygems/local_remote_options.rb +146 -0
  870. package/lib/ruby/3.4.11/rubygems/name_tuple.rb +119 -0
  871. package/lib/ruby/3.4.11/rubygems/openssl.rb +7 -0
  872. package/lib/ruby/3.4.11/rubygems/package/digest_io.rb +63 -0
  873. package/lib/ruby/3.4.11/rubygems/package/file_source.rb +32 -0
  874. package/lib/ruby/3.4.11/rubygems/package/io_source.rb +48 -0
  875. package/lib/ruby/3.4.11/rubygems/package/old.rb +169 -0
  876. package/lib/ruby/3.4.11/rubygems/package/source.rb +4 -0
  877. package/lib/ruby/3.4.11/rubygems/package/tar_header.rb +277 -0
  878. package/lib/ruby/3.4.11/rubygems/package/tar_reader/entry.rb +244 -0
  879. package/lib/ruby/3.4.11/rubygems/package/tar_reader.rb +101 -0
  880. package/lib/ruby/3.4.11/rubygems/package/tar_writer.rb +332 -0
  881. package/lib/ruby/3.4.11/rubygems/package.rb +742 -0
  882. package/lib/ruby/3.4.11/rubygems/package_task.rb +123 -0
  883. package/lib/ruby/3.4.11/rubygems/path_support.rb +85 -0
  884. package/lib/ruby/3.4.11/rubygems/platform.rb +269 -0
  885. package/lib/ruby/3.4.11/rubygems/psych_tree.rb +37 -0
  886. package/lib/ruby/3.4.11/rubygems/query_utils.rb +349 -0
  887. package/lib/ruby/3.4.11/rubygems/rdoc.rb +26 -0
  888. package/lib/ruby/3.4.11/rubygems/remote_fetcher.rb +341 -0
  889. package/lib/ruby/3.4.11/rubygems/request/connection_pools.rb +95 -0
  890. package/lib/ruby/3.4.11/rubygems/request/http_pool.rb +47 -0
  891. package/lib/ruby/3.4.11/rubygems/request/https_pool.rb +10 -0
  892. package/lib/ruby/3.4.11/rubygems/request.rb +298 -0
  893. package/lib/ruby/3.4.11/rubygems/request_set/gem_dependency_api.rb +841 -0
  894. package/lib/ruby/3.4.11/rubygems/request_set/lockfile/parser.rb +344 -0
  895. package/lib/ruby/3.4.11/rubygems/request_set/lockfile/tokenizer.rb +122 -0
  896. package/lib/ruby/3.4.11/rubygems/request_set/lockfile.rb +235 -0
  897. package/lib/ruby/3.4.11/rubygems/request_set.rb +468 -0
  898. package/lib/ruby/3.4.11/rubygems/requirement.rb +298 -0
  899. package/lib/ruby/3.4.11/rubygems/resolver/activation_request.rb +159 -0
  900. package/lib/ruby/3.4.11/rubygems/resolver/api_set/gem_parser.rb +21 -0
  901. package/lib/ruby/3.4.11/rubygems/resolver/api_set.rb +139 -0
  902. package/lib/ruby/3.4.11/rubygems/resolver/api_specification.rb +105 -0
  903. package/lib/ruby/3.4.11/rubygems/resolver/best_set.rb +49 -0
  904. package/lib/ruby/3.4.11/rubygems/resolver/composed_set.rb +65 -0
  905. package/lib/ruby/3.4.11/rubygems/resolver/conflict.rb +146 -0
  906. package/lib/ruby/3.4.11/rubygems/resolver/current_set.rb +12 -0
  907. package/lib/ruby/3.4.11/rubygems/resolver/dependency_request.rb +119 -0
  908. package/lib/ruby/3.4.11/rubygems/resolver/git_set.rb +120 -0
  909. package/lib/ruby/3.4.11/rubygems/resolver/git_specification.rb +57 -0
  910. package/lib/ruby/3.4.11/rubygems/resolver/index_set.rb +79 -0
  911. package/lib/ruby/3.4.11/rubygems/resolver/index_specification.rb +101 -0
  912. package/lib/ruby/3.4.11/rubygems/resolver/installed_specification.rb +57 -0
  913. package/lib/ruby/3.4.11/rubygems/resolver/installer_set.rb +271 -0
  914. package/lib/ruby/3.4.11/rubygems/resolver/local_specification.rb +40 -0
  915. package/lib/ruby/3.4.11/rubygems/resolver/lock_set.rb +81 -0
  916. package/lib/ruby/3.4.11/rubygems/resolver/lock_specification.rb +86 -0
  917. package/lib/ruby/3.4.11/rubygems/resolver/requirement_list.rb +82 -0
  918. package/lib/ruby/3.4.11/rubygems/resolver/set.rb +55 -0
  919. package/lib/ruby/3.4.11/rubygems/resolver/source_set.rb +47 -0
  920. package/lib/ruby/3.4.11/rubygems/resolver/spec_specification.rb +76 -0
  921. package/lib/ruby/3.4.11/rubygems/resolver/specification.rb +126 -0
  922. package/lib/ruby/3.4.11/rubygems/resolver/stats.rb +46 -0
  923. package/lib/ruby/3.4.11/rubygems/resolver/vendor_set.rb +86 -0
  924. package/lib/ruby/3.4.11/rubygems/resolver/vendor_specification.rb +23 -0
  925. package/lib/ruby/3.4.11/rubygems/resolver.rb +341 -0
  926. package/lib/ruby/3.4.11/rubygems/s3_uri_signer.rb +177 -0
  927. package/lib/ruby/3.4.11/rubygems/safe_marshal/elements.rb +146 -0
  928. package/lib/ruby/3.4.11/rubygems/safe_marshal/reader.rb +325 -0
  929. package/lib/ruby/3.4.11/rubygems/safe_marshal/visitors/stream_printer.rb +31 -0
  930. package/lib/ruby/3.4.11/rubygems/safe_marshal/visitors/to_ruby.rb +428 -0
  931. package/lib/ruby/3.4.11/rubygems/safe_marshal/visitors/visitor.rb +74 -0
  932. package/lib/ruby/3.4.11/rubygems/safe_marshal.rb +74 -0
  933. package/lib/ruby/3.4.11/rubygems/safe_yaml.rb +45 -0
  934. package/lib/ruby/3.4.11/rubygems/security/policies.rb +114 -0
  935. package/lib/ruby/3.4.11/rubygems/security/policy.rb +288 -0
  936. package/lib/ruby/3.4.11/rubygems/security/signer.rb +212 -0
  937. package/lib/ruby/3.4.11/rubygems/security/trust_dir.rb +117 -0
  938. package/lib/ruby/3.4.11/rubygems/security.rb +615 -0
  939. package/lib/ruby/3.4.11/rubygems/security_option.rb +43 -0
  940. package/lib/ruby/3.4.11/rubygems/source/git.rb +244 -0
  941. package/lib/ruby/3.4.11/rubygems/source/installed.rb +39 -0
  942. package/lib/ruby/3.4.11/rubygems/source/local.rb +131 -0
  943. package/lib/ruby/3.4.11/rubygems/source/lock.rb +49 -0
  944. package/lib/ruby/3.4.11/rubygems/source/specific_file.rb +73 -0
  945. package/lib/ruby/3.4.11/rubygems/source/vendor.rb +24 -0
  946. package/lib/ruby/3.4.11/rubygems/source.rb +247 -0
  947. package/lib/ruby/3.4.11/rubygems/source_list.rb +146 -0
  948. package/lib/ruby/3.4.11/rubygems/spec_fetcher.rb +290 -0
  949. package/lib/ruby/3.4.11/rubygems/specification.rb +2666 -0
  950. package/lib/ruby/3.4.11/rubygems/specification_policy.rb +558 -0
  951. package/lib/ruby/3.4.11/rubygems/specification_record.rb +212 -0
  952. package/lib/ruby/3.4.11/rubygems/ssl_certs/.document +1 -0
  953. package/lib/ruby/3.4.11/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA.pem +21 -0
  954. package/lib/ruby/3.4.11/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA_R3.pem +21 -0
  955. package/lib/ruby/3.4.11/rubygems/stub_specification.rb +235 -0
  956. package/lib/ruby/3.4.11/rubygems/target_rbconfig.rb +50 -0
  957. package/lib/ruby/3.4.11/rubygems/text.rb +85 -0
  958. package/lib/ruby/3.4.11/rubygems/uninstaller.rb +429 -0
  959. package/lib/ruby/3.4.11/rubygems/unknown_command_spell_checker.rb +21 -0
  960. package/lib/ruby/3.4.11/rubygems/update_suggestion.rb +56 -0
  961. package/lib/ruby/3.4.11/rubygems/uri.rb +126 -0
  962. package/lib/ruby/3.4.11/rubygems/uri_formatter.rb +47 -0
  963. package/lib/ruby/3.4.11/rubygems/user_interaction.rb +650 -0
  964. package/lib/ruby/3.4.11/rubygems/util/licenses.rb +834 -0
  965. package/lib/ruby/3.4.11/rubygems/util/list.rb +40 -0
  966. package/lib/ruby/3.4.11/rubygems/util.rb +118 -0
  967. package/lib/ruby/3.4.11/rubygems/validator.rb +144 -0
  968. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/.document +1 -0
  969. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb +57 -0
  970. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb +88 -0
  971. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/action.rb +36 -0
  972. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +66 -0
  973. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +62 -0
  974. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +63 -0
  975. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +61 -0
  976. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/log.rb +126 -0
  977. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/set_payload.rb +46 -0
  978. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +36 -0
  979. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +164 -0
  980. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/dependency_graph.rb +255 -0
  981. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/errors.rb +149 -0
  982. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/gem_metadata.rb +6 -0
  983. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/modules/specification_provider.rb +112 -0
  984. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/modules/ui.rb +67 -0
  985. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/resolution.rb +839 -0
  986. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/resolver.rb +46 -0
  987. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo/state.rb +58 -0
  988. package/lib/ruby/3.4.11/rubygems/vendor/molinillo/lib/molinillo.rb +11 -0
  989. package/lib/ruby/3.4.11/rubygems/vendor/net-http/.document +1 -0
  990. package/lib/ruby/3.4.11/rubygems/vendor/net-http/lib/net/http/exceptions.rb +34 -0
  991. package/lib/ruby/3.4.11/rubygems/vendor/net-http/lib/net/http/generic_request.rb +414 -0
  992. package/lib/ruby/3.4.11/rubygems/vendor/net-http/lib/net/http/header.rb +981 -0
  993. package/lib/ruby/3.4.11/rubygems/vendor/net-http/lib/net/http/proxy_delta.rb +17 -0
  994. package/lib/ruby/3.4.11/rubygems/vendor/net-http/lib/net/http/request.rb +88 -0
  995. package/lib/ruby/3.4.11/rubygems/vendor/net-http/lib/net/http/requests.rb +430 -0
  996. package/lib/ruby/3.4.11/rubygems/vendor/net-http/lib/net/http/response.rb +738 -0
  997. package/lib/ruby/3.4.11/rubygems/vendor/net-http/lib/net/http/responses.rb +1174 -0
  998. package/lib/ruby/3.4.11/rubygems/vendor/net-http/lib/net/http/status.rb +84 -0
  999. package/lib/ruby/3.4.11/rubygems/vendor/net-http/lib/net/http.rb +2580 -0
  1000. package/lib/ruby/3.4.11/rubygems/vendor/net-http/lib/net/https.rb +23 -0
  1001. package/lib/ruby/3.4.11/rubygems/vendor/net-protocol/.document +1 -0
  1002. package/lib/ruby/3.4.11/rubygems/vendor/net-protocol/lib/net/protocol.rb +544 -0
  1003. package/lib/ruby/3.4.11/rubygems/vendor/optparse/.document +1 -0
  1004. package/lib/ruby/3.4.11/rubygems/vendor/optparse/lib/optionparser.rb +2 -0
  1005. package/lib/ruby/3.4.11/rubygems/vendor/optparse/lib/optparse/ac.rb +70 -0
  1006. package/lib/ruby/3.4.11/rubygems/vendor/optparse/lib/optparse/date.rb +18 -0
  1007. package/lib/ruby/3.4.11/rubygems/vendor/optparse/lib/optparse/kwargs.rb +27 -0
  1008. package/lib/ruby/3.4.11/rubygems/vendor/optparse/lib/optparse/shellwords.rb +7 -0
  1009. package/lib/ruby/3.4.11/rubygems/vendor/optparse/lib/optparse/time.rb +11 -0
  1010. package/lib/ruby/3.4.11/rubygems/vendor/optparse/lib/optparse/uri.rb +7 -0
  1011. package/lib/ruby/3.4.11/rubygems/vendor/optparse/lib/optparse/version.rb +80 -0
  1012. package/lib/ruby/3.4.11/rubygems/vendor/optparse/lib/optparse.rb +2426 -0
  1013. package/lib/ruby/3.4.11/rubygems/vendor/resolv/.document +1 -0
  1014. package/lib/ruby/3.4.11/rubygems/vendor/resolv/lib/resolv.rb +3455 -0
  1015. package/lib/ruby/3.4.11/rubygems/vendor/securerandom/.document +1 -0
  1016. package/lib/ruby/3.4.11/rubygems/vendor/securerandom/lib/securerandom.rb +102 -0
  1017. package/lib/ruby/3.4.11/rubygems/vendor/timeout/.document +1 -0
  1018. package/lib/ruby/3.4.11/rubygems/vendor/timeout/lib/timeout.rb +198 -0
  1019. package/lib/ruby/3.4.11/rubygems/vendor/tsort/.document +1 -0
  1020. package/lib/ruby/3.4.11/rubygems/vendor/tsort/lib/tsort.rb +455 -0
  1021. package/lib/ruby/3.4.11/rubygems/vendor/uri/.document +1 -0
  1022. package/lib/ruby/3.4.11/rubygems/vendor/uri/lib/uri/common.rb +880 -0
  1023. package/lib/ruby/3.4.11/rubygems/vendor/uri/lib/uri/file.rb +100 -0
  1024. package/lib/ruby/3.4.11/rubygems/vendor/uri/lib/uri/ftp.rb +267 -0
  1025. package/lib/ruby/3.4.11/rubygems/vendor/uri/lib/uri/generic.rb +1592 -0
  1026. package/lib/ruby/3.4.11/rubygems/vendor/uri/lib/uri/http.rb +125 -0
  1027. package/lib/ruby/3.4.11/rubygems/vendor/uri/lib/uri/https.rb +23 -0
  1028. package/lib/ruby/3.4.11/rubygems/vendor/uri/lib/uri/ldap.rb +261 -0
  1029. package/lib/ruby/3.4.11/rubygems/vendor/uri/lib/uri/ldaps.rb +22 -0
  1030. package/lib/ruby/3.4.11/rubygems/vendor/uri/lib/uri/mailto.rb +293 -0
  1031. package/lib/ruby/3.4.11/rubygems/vendor/uri/lib/uri/rfc2396_parser.rb +546 -0
  1032. package/lib/ruby/3.4.11/rubygems/vendor/uri/lib/uri/rfc3986_parser.rb +206 -0
  1033. package/lib/ruby/3.4.11/rubygems/vendor/uri/lib/uri/version.rb +6 -0
  1034. package/lib/ruby/3.4.11/rubygems/vendor/uri/lib/uri/ws.rb +83 -0
  1035. package/lib/ruby/3.4.11/rubygems/vendor/uri/lib/uri/wss.rb +23 -0
  1036. package/lib/ruby/3.4.11/rubygems/vendor/uri/lib/uri.rb +104 -0
  1037. package/lib/ruby/3.4.11/rubygems/vendored_molinillo.rb +3 -0
  1038. package/lib/ruby/3.4.11/rubygems/vendored_net_http.rb +5 -0
  1039. package/lib/ruby/3.4.11/rubygems/vendored_optparse.rb +3 -0
  1040. package/lib/ruby/3.4.11/rubygems/vendored_securerandom.rb +3 -0
  1041. package/lib/ruby/3.4.11/rubygems/vendored_timeout.rb +5 -0
  1042. package/lib/ruby/3.4.11/rubygems/vendored_tsort.rb +3 -0
  1043. package/lib/ruby/3.4.11/rubygems/version.rb +441 -0
  1044. package/lib/ruby/3.4.11/rubygems/version_option.rb +80 -0
  1045. package/lib/ruby/3.4.11/rubygems/yaml_serializer.rb +98 -0
  1046. package/lib/ruby/3.4.11/rubygems.rb +1417 -0
  1047. package/lib/ruby/3.4.11/securerandom.gemspec +34 -0
  1048. package/lib/ruby/3.4.11/securerandom.rb +102 -0
  1049. package/lib/ruby/3.4.11/set/set.gemspec +30 -0
  1050. package/lib/ruby/3.4.11/set/sorted_set.rb +6 -0
  1051. package/lib/ruby/3.4.11/set.rb +855 -0
  1052. package/lib/ruby/3.4.11/shellwords.gemspec +31 -0
  1053. package/lib/ruby/3.4.11/shellwords.rb +254 -0
  1054. package/lib/ruby/3.4.11/singleton.gemspec +30 -0
  1055. package/lib/ruby/3.4.11/singleton.rb +239 -0
  1056. package/lib/ruby/3.4.11/syntax_suggest/api.rb +233 -0
  1057. package/lib/ruby/3.4.11/syntax_suggest/around_block_scan.rb +232 -0
  1058. package/lib/ruby/3.4.11/syntax_suggest/block_expand.rb +165 -0
  1059. package/lib/ruby/3.4.11/syntax_suggest/capture/before_after_keyword_ends.rb +85 -0
  1060. package/lib/ruby/3.4.11/syntax_suggest/capture/falling_indent_lines.rb +71 -0
  1061. package/lib/ruby/3.4.11/syntax_suggest/capture_code_context.rb +245 -0
  1062. package/lib/ruby/3.4.11/syntax_suggest/clean_document.rb +306 -0
  1063. package/lib/ruby/3.4.11/syntax_suggest/cli.rb +130 -0
  1064. package/lib/ruby/3.4.11/syntax_suggest/code_block.rb +100 -0
  1065. package/lib/ruby/3.4.11/syntax_suggest/code_frontier.rb +178 -0
  1066. package/lib/ruby/3.4.11/syntax_suggest/code_line.rb +243 -0
  1067. package/lib/ruby/3.4.11/syntax_suggest/code_search.rb +139 -0
  1068. package/lib/ruby/3.4.11/syntax_suggest/core_ext.rb +96 -0
  1069. package/lib/ruby/3.4.11/syntax_suggest/display_code_with_line_numbers.rb +70 -0
  1070. package/lib/ruby/3.4.11/syntax_suggest/display_invalid_blocks.rb +83 -0
  1071. package/lib/ruby/3.4.11/syntax_suggest/explain_syntax.rb +117 -0
  1072. package/lib/ruby/3.4.11/syntax_suggest/left_right_lex_count.rb +168 -0
  1073. package/lib/ruby/3.4.11/syntax_suggest/lex_all.rb +74 -0
  1074. package/lib/ruby/3.4.11/syntax_suggest/lex_value.rb +70 -0
  1075. package/lib/ruby/3.4.11/syntax_suggest/mini_stringio.rb +30 -0
  1076. package/lib/ruby/3.4.11/syntax_suggest/parse_blocks_from_indent_line.rb +60 -0
  1077. package/lib/ruby/3.4.11/syntax_suggest/pathname_from_message.rb +59 -0
  1078. package/lib/ruby/3.4.11/syntax_suggest/priority_engulf_queue.rb +63 -0
  1079. package/lib/ruby/3.4.11/syntax_suggest/priority_queue.rb +105 -0
  1080. package/lib/ruby/3.4.11/syntax_suggest/ripper_errors.rb +39 -0
  1081. package/lib/ruby/3.4.11/syntax_suggest/scan_history.rb +134 -0
  1082. package/lib/ruby/3.4.11/syntax_suggest/syntax_suggest.gemspec +32 -0
  1083. package/lib/ruby/3.4.11/syntax_suggest/unvisited_lines.rb +36 -0
  1084. package/lib/ruby/3.4.11/syntax_suggest/version.rb +5 -0
  1085. package/lib/ruby/3.4.11/syntax_suggest.rb +3 -0
  1086. package/lib/ruby/3.4.11/tempfile.gemspec +33 -0
  1087. package/lib/ruby/3.4.11/tempfile.rb +640 -0
  1088. package/lib/ruby/3.4.11/time.gemspec +35 -0
  1089. package/lib/ruby/3.4.11/time.rb +731 -0
  1090. package/lib/ruby/3.4.11/timeout.gemspec +33 -0
  1091. package/lib/ruby/3.4.11/timeout.rb +200 -0
  1092. package/lib/ruby/3.4.11/tmpdir.gemspec +30 -0
  1093. package/lib/ruby/3.4.11/tmpdir.rb +189 -0
  1094. package/lib/ruby/3.4.11/tsort.gemspec +29 -0
  1095. package/lib/ruby/3.4.11/tsort.rb +455 -0
  1096. package/lib/ruby/3.4.11/un.gemspec +31 -0
  1097. package/lib/ruby/3.4.11/un.rb +441 -0
  1098. package/lib/ruby/3.4.11/unicode_normalize/normalize.rb +181 -0
  1099. package/lib/ruby/3.4.11/unicode_normalize/tables.rb +9259 -0
  1100. package/lib/ruby/3.4.11/uri/common.rb +880 -0
  1101. package/lib/ruby/3.4.11/uri/file.rb +100 -0
  1102. package/lib/ruby/3.4.11/uri/ftp.rb +267 -0
  1103. package/lib/ruby/3.4.11/uri/generic.rb +1592 -0
  1104. package/lib/ruby/3.4.11/uri/http.rb +125 -0
  1105. package/lib/ruby/3.4.11/uri/https.rb +23 -0
  1106. package/lib/ruby/3.4.11/uri/ldap.rb +261 -0
  1107. package/lib/ruby/3.4.11/uri/ldaps.rb +22 -0
  1108. package/lib/ruby/3.4.11/uri/mailto.rb +293 -0
  1109. package/lib/ruby/3.4.11/uri/rfc2396_parser.rb +546 -0
  1110. package/lib/ruby/3.4.11/uri/rfc3986_parser.rb +206 -0
  1111. package/lib/ruby/3.4.11/uri/uri.gemspec +42 -0
  1112. package/lib/ruby/3.4.11/uri/version.rb +6 -0
  1113. package/lib/ruby/3.4.11/uri/ws.rb +83 -0
  1114. package/lib/ruby/3.4.11/uri/wss.rb +23 -0
  1115. package/lib/ruby/3.4.11/uri.rb +104 -0
  1116. package/lib/ruby/3.4.11/wasm32-wasi/rbconfig.rb +366 -0
  1117. package/lib/ruby/3.4.11/weakref.gemspec +34 -0
  1118. package/lib/ruby/3.4.11/weakref.rb +58 -0
  1119. package/lib/ruby/3.4.11/yaml/dbm.rb +295 -0
  1120. package/lib/ruby/3.4.11/yaml/store.rb +98 -0
  1121. package/lib/ruby/3.4.11/yaml/yaml.gemspec +30 -0
  1122. package/lib/ruby/3.4.11/yaml.rb +70 -0
  1123. package/package.json +31 -0
@@ -0,0 +1,1257 @@
1
+ # frozen_string_literal: true
2
+ require 'tsort'
3
+
4
+ ##
5
+ # RDoc::Parser::C attempts to parse C extension files. It looks for
6
+ # the standard patterns that you find in extensions: +rb_define_class+,
7
+ # +rb_define_method+ and so on. It tries to find the corresponding
8
+ # C source for the methods and extract comments, but if we fail
9
+ # we don't worry too much.
10
+ #
11
+ # The comments associated with a Ruby method are extracted from the C
12
+ # comment block associated with the routine that _implements_ that
13
+ # method, that is to say the method whose name is given in the
14
+ # +rb_define_method+ call. For example, you might write:
15
+ #
16
+ # /*
17
+ # * Returns a new array that is a one-dimensional flattening of this
18
+ # * array (recursively). That is, for every element that is an array,
19
+ # * extract its elements into the new array.
20
+ # *
21
+ # * s = [ 1, 2, 3 ] #=> [1, 2, 3]
22
+ # * t = [ 4, 5, 6, [7, 8] ] #=> [4, 5, 6, [7, 8]]
23
+ # * a = [ s, t, 9, 10 ] #=> [[1, 2, 3], [4, 5, 6, [7, 8]], 9, 10]
24
+ # * a.flatten #=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
25
+ # */
26
+ # static VALUE
27
+ # rb_ary_flatten(VALUE ary)
28
+ # {
29
+ # ary = rb_obj_dup(ary);
30
+ # rb_ary_flatten_bang(ary);
31
+ # return ary;
32
+ # }
33
+ #
34
+ # ...
35
+ #
36
+ # void
37
+ # Init_Array(void)
38
+ # {
39
+ # ...
40
+ # rb_define_method(rb_cArray, "flatten", rb_ary_flatten, 0);
41
+ #
42
+ # Here RDoc will determine from the +rb_define_method+ line that there's a
43
+ # method called "flatten" in class Array, and will look for the implementation
44
+ # in the method +rb_ary_flatten+. It will then use the comment from that
45
+ # method in the HTML output. This method must be in the same source file
46
+ # as the +rb_define_method+.
47
+ #
48
+ # The comment blocks may include special directives:
49
+ #
50
+ # [Document-class: +name+]
51
+ # Documentation for the named class.
52
+ #
53
+ # [Document-module: +name+]
54
+ # Documentation for the named module.
55
+ #
56
+ # [Document-const: +name+]
57
+ # Documentation for the named +rb_define_const+.
58
+ #
59
+ # Constant values can be supplied on the first line of the comment like so:
60
+ #
61
+ # /* 300: The highest possible score in bowling */
62
+ # rb_define_const(cFoo, "PERFECT", INT2FIX(300));
63
+ #
64
+ # The value can contain internal colons so long as they are escaped with a \
65
+ #
66
+ # [Document-global: +name+]
67
+ # Documentation for the named +rb_define_global_const+
68
+ #
69
+ # [Document-variable: +name+]
70
+ # Documentation for the named +rb_define_variable+
71
+ #
72
+ # [Document-method\: +method_name+]
73
+ # Documentation for the named method. Use this when the method name is
74
+ # unambiguous.
75
+ #
76
+ # [Document-method\: <tt>ClassName::method_name</tt>]
77
+ # Documentation for a singleton method in the given class. Use this when
78
+ # the method name alone is ambiguous.
79
+ #
80
+ # [Document-method\: <tt>ClassName#method_name</tt>]
81
+ # Documentation for a instance method in the given class. Use this when the
82
+ # method name alone is ambiguous.
83
+ #
84
+ # [Document-attr: +name+]
85
+ # Documentation for the named attribute.
86
+ #
87
+ # [call-seq: <i>text up to an empty line</i>]
88
+ # Because C source doesn't give descriptive names to Ruby-level parameters,
89
+ # you need to document the calling sequence explicitly
90
+ #
91
+ # In addition, RDoc assumes by default that the C method implementing a
92
+ # Ruby function is in the same source file as the rb_define_method call.
93
+ # If this isn't the case, add the comment:
94
+ #
95
+ # rb_define_method(....); // in filename
96
+ #
97
+ # As an example, we might have an extension that defines multiple classes
98
+ # in its Init_xxx method. We could document them using
99
+ #
100
+ # /*
101
+ # * Document-class: MyClass
102
+ # *
103
+ # * Encapsulate the writing and reading of the configuration
104
+ # * file. ...
105
+ # */
106
+ #
107
+ # /*
108
+ # * Document-method: read_value
109
+ # *
110
+ # * call-seq:
111
+ # * cfg.read_value(key) -> value
112
+ # * cfg.read_value(key} { |key| } -> value
113
+ # *
114
+ # * Return the value corresponding to +key+ from the configuration.
115
+ # * In the second form, if the key isn't found, invoke the
116
+ # * block and return its value.
117
+ # */
118
+
119
+ class RDoc::Parser::C < RDoc::Parser
120
+
121
+ parse_files_matching(/\.(?:([CcHh])\1?|c([+xp])\2|y)\z/)
122
+
123
+ include RDoc::Text
124
+
125
+ # :stopdoc:
126
+ BOOL_ARG_PATTERN = /\s*+\b([01]|Q?(?:true|false)|TRUE|FALSE)\b\s*/
127
+ TRUE_VALUES = ['1', 'TRUE', 'true', 'Qtrue'].freeze
128
+ # :startdoc:
129
+
130
+ ##
131
+ # Maps C variable names to names of Ruby classes or modules
132
+
133
+ attr_reader :classes
134
+
135
+ ##
136
+ # C file the parser is parsing
137
+
138
+ attr_accessor :content
139
+
140
+ ##
141
+ # Dependencies from a missing enclosing class to the classes in
142
+ # missing_dependencies that depend upon it.
143
+
144
+ attr_reader :enclosure_dependencies
145
+
146
+ ##
147
+ # Maps C variable names to names of Ruby classes (and singleton classes)
148
+
149
+ attr_reader :known_classes
150
+
151
+ ##
152
+ # Classes found while parsing the C file that were not yet registered due to
153
+ # a missing enclosing class. These are processed by do_missing
154
+
155
+ attr_reader :missing_dependencies
156
+
157
+ ##
158
+ # Maps C variable names to names of Ruby singleton classes
159
+
160
+ attr_reader :singleton_classes
161
+
162
+ ##
163
+ # The TopLevel items in the parsed file belong to
164
+
165
+ attr_reader :top_level
166
+
167
+ ##
168
+ # Prepares for parsing a C file. See RDoc::Parser#initialize for details on
169
+ # the arguments.
170
+
171
+ def initialize(top_level, content, options, stats)
172
+ super
173
+
174
+ @known_classes = RDoc::KNOWN_CLASSES.dup
175
+ @content = handle_tab_width handle_ifdefs_in @content
176
+ @file_dir = File.dirname @file_name
177
+
178
+ @classes = load_variable_map :c_class_variables
179
+ @singleton_classes = load_variable_map :c_singleton_class_variables
180
+
181
+ @markup = @options.markup
182
+
183
+ # class_variable => { function => [method, ...] }
184
+ @methods = Hash.new { |h, f| h[f] = Hash.new { |i, m| i[m] = [] } }
185
+
186
+ # missing variable => [handle_class_module arguments]
187
+ @missing_dependencies = {}
188
+
189
+ # missing enclosure variable => [dependent handle_class_module arguments]
190
+ @enclosure_dependencies = Hash.new { |h, k| h[k] = [] }
191
+ @enclosure_dependencies.instance_variable_set :@missing_dependencies,
192
+ @missing_dependencies
193
+
194
+ @enclosure_dependencies.extend TSort
195
+
196
+ def @enclosure_dependencies.tsort_each_node(&block)
197
+ each_key(&block)
198
+ rescue TSort::Cyclic => e
199
+ cycle_vars = e.message.scan(/"(.*?)"/).flatten
200
+
201
+ cycle = cycle_vars.sort.map do |var_name|
202
+ delete var_name
203
+
204
+ var_name, type, mod_name, = @missing_dependencies[var_name]
205
+
206
+ "#{type} #{mod_name} (#{var_name})"
207
+ end.join ', '
208
+
209
+ warn "Unable to create #{cycle} due to a cyclic class or module creation"
210
+
211
+ retry
212
+ end
213
+
214
+ def @enclosure_dependencies.tsort_each_child(node, &block)
215
+ fetch(node, []).each(&block)
216
+ end
217
+ end
218
+
219
+ ##
220
+ # Scans #content for rb_define_alias
221
+
222
+ def do_aliases
223
+ @content.scan(/rb_define_alias\s*\(
224
+ \s*(\w+),
225
+ \s*"(.+?)",
226
+ \s*"(.+?)"
227
+ \s*\)/xm) do |var_name, new_name, old_name|
228
+ class_name = @known_classes[var_name]
229
+
230
+ unless class_name then
231
+ @options.warn "Enclosing class or module %p for alias %s %s is not known" % [
232
+ var_name, new_name, old_name]
233
+ next
234
+ end
235
+
236
+ class_obj = find_class var_name, class_name
237
+ comment = find_alias_comment var_name, new_name, old_name
238
+ comment.normalize
239
+ if comment.to_s.empty? and existing_method = class_obj.method_list.find { |m| m.name == old_name}
240
+ comment = existing_method.comment
241
+ end
242
+ add_alias(var_name, class_obj, old_name, new_name, comment)
243
+ end
244
+ end
245
+
246
+ ##
247
+ # Add alias, either from a direct alias definition, or from two
248
+ # method that reference the same function.
249
+
250
+ def add_alias(var_name, class_obj, old_name, new_name, comment)
251
+ al = RDoc::Alias.new '', old_name, new_name, comment, singleton: @singleton_classes.key?(var_name)
252
+ al.record_location @top_level
253
+ class_obj.add_alias al
254
+ @stats.add_alias al
255
+ al
256
+ end
257
+
258
+ ##
259
+ # Scans #content for rb_attr and rb_define_attr
260
+
261
+ def do_attrs
262
+ @content.scan(/rb_attr\s*\(
263
+ \s*(\w+),
264
+ \s*([\w"()]+),
265
+ #{BOOL_ARG_PATTERN},
266
+ #{BOOL_ARG_PATTERN},
267
+ \s*\w+\);/xmo) do |var_name, attr_name, read, write|
268
+ handle_attr var_name, attr_name, read, write
269
+ end
270
+
271
+ @content.scan(%r%rb_define_attr\(
272
+ \s*([\w\.]+),
273
+ \s*"([^"]+)",
274
+ #{BOOL_ARG_PATTERN},
275
+ #{BOOL_ARG_PATTERN}\);
276
+ %xmo) do |var_name, attr_name, read, write|
277
+ handle_attr var_name, attr_name, read, write
278
+ end
279
+ end
280
+
281
+ ##
282
+ # Scans #content for boot_defclass
283
+
284
+ def do_boot_defclass
285
+ @content.scan(/(\w+)\s*=\s*boot_defclass\s*\(\s*"(\w+?)",\s*(\w+?)\s*\)/) do
286
+ |var_name, class_name, parent|
287
+ parent = nil if parent == "0"
288
+ handle_class_module(var_name, :class, class_name, parent, nil)
289
+ end
290
+ end
291
+
292
+ ##
293
+ # Scans #content for rb_define_class, boot_defclass, rb_define_class_under
294
+ # and rb_singleton_class
295
+
296
+ def do_classes_and_modules
297
+ do_boot_defclass if @file_name == "class.c"
298
+
299
+ @content.scan(
300
+ %r(
301
+ (?<open>\s*\(\s*) {0}
302
+ (?<close>\s*\)\s*) {0}
303
+ (?<name>\s*"(?<class_name>\w+)") {0}
304
+ (?<parent>\s*(?:
305
+ (?<parent_name>[\w\*\s\(\)\.\->]+) |
306
+ rb_path2class\s*\(\s*"(?<path>[\w:]+)"\s*\)
307
+ )) {0}
308
+ (?<under>\w+) {0}
309
+
310
+ (?<var_name>[\w\.]+)\s* =
311
+ \s*rb_(?:
312
+ define_(?:
313
+ class(?: # rb_define_class(name, parent_name)
314
+ \(\s*
315
+ \g<name>,
316
+ \g<parent>
317
+ \s*\)
318
+ |
319
+ _under\g<open> # rb_define_class_under(under, name, parent_name...)
320
+ \g<under>,
321
+ \g<name>,
322
+ \g<parent>
323
+ \g<close>
324
+ )
325
+ |
326
+ (?<module>)
327
+ module(?: # rb_define_module(name)
328
+ \g<open>
329
+ \g<name>
330
+ \g<close>
331
+ |
332
+ _under\g<open> # rb_define_module_under(under, name)
333
+ \g<under>,
334
+ \g<name>
335
+ \g<close>
336
+ )
337
+ )
338
+ |
339
+ (?<attributes>(?:\s*"\w+",)*\s*NULL\s*) {0}
340
+ struct_define(?:
341
+ \g<open> # rb_struct_define(name, ...)
342
+ \g<name>,
343
+ |
344
+ _under\g<open> # rb_struct_define_under(under, name, ...)
345
+ \g<under>,
346
+ \g<name>,
347
+ |
348
+ _without_accessor(?:
349
+ \g<open> # rb_struct_define_without_accessor(name, parent_name, ...)
350
+ |
351
+ _under\g<open> # rb_struct_define_without_accessor_under(under, name, parent_name, ...)
352
+ \g<under>,
353
+ )
354
+ \g<name>,
355
+ \g<parent>,
356
+ \s*\w+, # Allocation function
357
+ )
358
+ \g<attributes>
359
+ \g<close>
360
+ |
361
+ singleton_class\g<open> # rb_singleton_class(target_class_name)
362
+ (?<target_class_name>\w+)
363
+ \g<close>
364
+ )
365
+ )mx
366
+ ) do
367
+ if target_class_name = $~[:target_class_name]
368
+ # rb_singleton_class(target_class_name)
369
+ handle_singleton $~[:var_name], target_class_name
370
+ next
371
+ end
372
+
373
+ var_name = $~[:var_name]
374
+ type = $~[:module] ? :module : :class
375
+ class_name = $~[:class_name]
376
+ parent_name = $~[:parent_name] || $~[:path]
377
+ under = $~[:under]
378
+ attributes = $~[:attributes]
379
+
380
+ handle_class_module(var_name, type, class_name, parent_name, under)
381
+ if attributes and !parent_name # rb_struct_define *not* without_accessor
382
+ true_flag = 'Qtrue'
383
+ attributes.scan(/"\K\w+(?=")/) do |attr_name|
384
+ handle_attr var_name, attr_name, true_flag, true_flag
385
+ end
386
+ end
387
+ end
388
+ end
389
+
390
+ ##
391
+ # Scans #content for rb_define_variable, rb_define_readonly_variable,
392
+ # rb_define_const and rb_define_global_const
393
+
394
+ def do_constants
395
+ @content.scan(%r%\Wrb_define_
396
+ ( variable |
397
+ readonly_variable |
398
+ const |
399
+ global_const )
400
+ \s*\(
401
+ (?:\s*(\w+),)?
402
+ \s*"(\w+)",
403
+ \s*(.*?)\s*\)\s*;
404
+ %xm) do |type, var_name, const_name, definition|
405
+ var_name = "rb_cObject" if !var_name or var_name == "rb_mKernel"
406
+ type = "const" if type == "global_const"
407
+ handle_constants type, var_name, const_name, definition
408
+ end
409
+
410
+ @content.scan(%r%
411
+ \Wrb_curses_define_const
412
+ \s*\(
413
+ \s*
414
+ (\w+)
415
+ \s*
416
+ \)
417
+ \s*;%xm) do |consts|
418
+ const = consts.first
419
+
420
+ handle_constants 'const', 'mCurses', const, "UINT2NUM(#{const})"
421
+ end
422
+
423
+ @content.scan(%r%
424
+ \Wrb_file_const
425
+ \s*\(
426
+ \s*
427
+ "([^"]+)",
428
+ \s*
429
+ (.*?)
430
+ \s*
431
+ \)
432
+ \s*;%xm) do |name, value|
433
+ handle_constants 'const', 'rb_mFConst', name, value
434
+ end
435
+ end
436
+
437
+
438
+ ##
439
+ # Scans #content for rb_include_module
440
+
441
+ def do_includes
442
+ @content.scan(/rb_include_module\s*\(\s*(\w+?),\s*(\w+?)\s*\)/) do |c, m|
443
+ next unless cls = @classes[c]
444
+ m = @known_classes[m] || m
445
+
446
+ comment = new_comment '', @top_level, :c
447
+ incl = cls.add_include RDoc::Include.new(m, comment)
448
+ incl.record_location @top_level
449
+ end
450
+ end
451
+
452
+ ##
453
+ # Scans #content for rb_define_method, rb_define_singleton_method,
454
+ # rb_define_module_function, rb_define_private_method,
455
+ # rb_define_global_function and define_filetest_function
456
+
457
+ def do_methods
458
+ @content.scan(%r%rb_define_
459
+ (
460
+ singleton_method |
461
+ method |
462
+ module_function |
463
+ private_method
464
+ )
465
+ \s*\(\s*([\w\.]+),
466
+ \s*"([^"]+)",
467
+ \s*(?:RUBY_METHOD_FUNC\(|VALUEFUNC\(|\(METHOD\))?(\w+)\)?,
468
+ \s*(-?\w+)\s*\)
469
+ (?:;\s*/[*/]\s+in\s+(\w+?\.(?:cpp|c|y)))?
470
+ %xm) do |type, var_name, meth_name, function, param_count, source_file|
471
+
472
+ # Ignore top-object and weird struct.c dynamic stuff
473
+ next if var_name == "ruby_top_self"
474
+ next if var_name == "nstr"
475
+
476
+ var_name = "rb_cObject" if var_name == "rb_mKernel"
477
+ handle_method(type, var_name, meth_name, function, param_count,
478
+ source_file)
479
+ end
480
+
481
+ @content.scan(%r%rb_define_global_function\s*\(
482
+ \s*"([^"]+)",
483
+ \s*(?:RUBY_METHOD_FUNC\(|VALUEFUNC\()?(\w+)\)?,
484
+ \s*(-?\w+)\s*\)
485
+ (?:;\s*/[*/]\s+in\s+(\w+?\.[cy]))?
486
+ %xm) do |meth_name, function, param_count, source_file|
487
+ handle_method("method", "rb_mKernel", meth_name, function, param_count,
488
+ source_file)
489
+ end
490
+
491
+ @content.scan(/define_filetest_function\s*\(
492
+ \s*"([^"]+)",
493
+ \s*(?:RUBY_METHOD_FUNC\(|VALUEFUNC\()?(\w+)\)?,
494
+ \s*(-?\w+)\s*\)/xm) do |meth_name, function, param_count|
495
+
496
+ handle_method("method", "rb_mFileTest", meth_name, function, param_count)
497
+ handle_method("singleton_method", "rb_cFile", meth_name, function,
498
+ param_count)
499
+ end
500
+ end
501
+
502
+ ##
503
+ # Creates classes and module that were missing were defined due to the file
504
+ # order being different than the declaration order.
505
+
506
+ def do_missing
507
+ return if @missing_dependencies.empty?
508
+
509
+ @enclosure_dependencies.tsort.each do |in_module|
510
+ arguments = @missing_dependencies.delete in_module
511
+
512
+ next unless arguments # dependency on existing class
513
+
514
+ handle_class_module(*arguments)
515
+ end
516
+ end
517
+
518
+ ##
519
+ # Finds the comment for an alias on +class_name+ from +new_name+ to
520
+ # +old_name+
521
+
522
+ def find_alias_comment(class_name, new_name, old_name)
523
+ content =~ %r%((?>/\*.*?\*/\s+))
524
+ rb_define_alias\(\s*#{Regexp.escape class_name}\s*,
525
+ \s*"#{Regexp.escape new_name}"\s*,
526
+ \s*"#{Regexp.escape old_name}"\s*\);%xm
527
+
528
+ new_comment($1 || '', @top_level, :c)
529
+ end
530
+
531
+ ##
532
+ # Finds a comment for rb_define_attr, rb_attr or Document-attr.
533
+ #
534
+ # +var_name+ is the C class variable the attribute is defined on.
535
+ # +attr_name+ is the attribute's name.
536
+ #
537
+ # +read+ and +write+ are the read/write flags ('1' or '0'). Either both or
538
+ # neither must be provided.
539
+
540
+ def find_attr_comment(var_name, attr_name, read = nil, write = nil)
541
+ attr_name = Regexp.escape attr_name
542
+
543
+ rw = if read and write then
544
+ /\s*#{read}\s*,\s*#{write}\s*/xm
545
+ else
546
+ /.*?/m
547
+ end
548
+
549
+ comment = if @content =~ %r%((?>/\*.*?\*/\s+))
550
+ rb_define_attr\((?:\s*#{var_name},)?\s*
551
+ "#{attr_name}"\s*,
552
+ #{rw}\)\s*;%xm then
553
+ $1
554
+ elsif @content =~ %r%((?>/\*.*?\*/\s+))
555
+ rb_attr\(\s*#{var_name}\s*,
556
+ \s*#{attr_name}\s*,
557
+ #{rw},.*?\)\s*;%xm then
558
+ $1
559
+ elsif @content =~ %r%(/\*.*?(?:\s*\*\s*)?)
560
+ Document-attr:\s#{attr_name}\s*?\n
561
+ ((?>(.|\n)*?\*/))%x then
562
+ "#{$1}\n#{$2}"
563
+ else
564
+ ''
565
+ end
566
+
567
+ new_comment comment, @top_level, :c
568
+ end
569
+
570
+ ##
571
+ # Generate a Ruby-method table
572
+
573
+ def gen_body_table(file_content)
574
+ table = {}
575
+ file_content.scan(%r{
576
+ ((?>/\*.*?\*/\s*)?)
577
+ ((?:\w+\s+){0,2} VALUE\s+(\w+)
578
+ \s*(?:\([^\)]*\))(?:[^\);]|$))
579
+ | ((?>/\*.*?\*/\s*))^\s*(\#\s*define\s+(\w+)\s+(\w+))
580
+ | ^\s*\#\s*define\s+(\w+)\s+(\w+)
581
+ }xm) do
582
+ case
583
+ when name = $3
584
+ table[name] = [:func_def, $1, $2, $~.offset(2)] if !(t = table[name]) || t[0] != :func_def
585
+ when name = $6
586
+ table[name] = [:macro_def, $4, $5, $~.offset(5), $7] if !(t = table[name]) || t[0] == :macro_alias
587
+ when name = $8
588
+ table[name] ||= [:macro_alias, $9]
589
+ end
590
+ end
591
+ table
592
+ end
593
+
594
+ ##
595
+ # Find the C code corresponding to a Ruby method
596
+
597
+ def find_body(class_name, meth_name, meth_obj, file_content, quiet = false)
598
+ if file_content
599
+ @body_table ||= {}
600
+ @body_table[file_content] ||= gen_body_table file_content
601
+ type, *args = @body_table[file_content][meth_name]
602
+ end
603
+
604
+ case type
605
+ when :func_def
606
+ comment = new_comment args[0], @top_level, :c
607
+ body = args[1]
608
+ offset, = args[2]
609
+
610
+ comment.remove_private if comment
611
+
612
+ # try to find the whole body
613
+ body = $& if /#{Regexp.escape body}[^(]*?\{.*?^\}/m =~ file_content
614
+
615
+ # The comment block may have been overridden with a 'Document-method'
616
+ # block. This happens in the interpreter when multiple methods are
617
+ # vectored through to the same C method but those methods are logically
618
+ # distinct (for example Kernel.hash and Kernel.object_id share the same
619
+ # implementation
620
+
621
+ override_comment = find_override_comment class_name, meth_obj
622
+ comment = override_comment if override_comment
623
+
624
+ comment.normalize
625
+ find_modifiers comment, meth_obj if comment
626
+
627
+ #meth_obj.params = params
628
+ meth_obj.start_collecting_tokens
629
+ tk = { :line_no => 1, :char_no => 1, :text => body }
630
+ meth_obj.add_token tk
631
+ meth_obj.comment = comment
632
+ meth_obj.line = file_content[0, offset].count("\n") + 1
633
+
634
+ body
635
+ when :macro_def
636
+ comment = new_comment args[0], @top_level, :c
637
+ body = args[1]
638
+ offset, = args[2]
639
+
640
+ find_body class_name, args[3], meth_obj, file_content, true
641
+
642
+ comment.normalize
643
+ find_modifiers comment, meth_obj
644
+
645
+ meth_obj.start_collecting_tokens
646
+ tk = { :line_no => 1, :char_no => 1, :text => body }
647
+ meth_obj.add_token tk
648
+ meth_obj.comment = comment
649
+ meth_obj.line = file_content[0, offset].count("\n") + 1
650
+
651
+ body
652
+ when :macro_alias
653
+ # with no comment we hope the aliased definition has it and use it's
654
+ # definition
655
+
656
+ body = find_body(class_name, args[0], meth_obj, file_content, true)
657
+
658
+ return body if body
659
+
660
+ @options.warn "No definition for #{meth_name}"
661
+ false
662
+ else # No body, but might still have an override comment
663
+ comment = find_override_comment class_name, meth_obj
664
+
665
+ if comment then
666
+ comment.normalize
667
+ find_modifiers comment, meth_obj
668
+ meth_obj.comment = comment
669
+
670
+ ''
671
+ else
672
+ @options.warn "No definition for #{meth_name}"
673
+ false
674
+ end
675
+ end
676
+ end
677
+
678
+ ##
679
+ # Finds a RDoc::NormalClass or RDoc::NormalModule for +raw_name+
680
+
681
+ def find_class(raw_name, name, base_name = nil)
682
+ unless @classes[raw_name]
683
+ if raw_name =~ /^rb_m/
684
+ container = @top_level.add_module RDoc::NormalModule, name
685
+ else
686
+ container = @top_level.add_class RDoc::NormalClass, name
687
+ end
688
+ container.name = base_name if base_name
689
+
690
+ container.record_location @top_level
691
+ @classes[raw_name] = container
692
+ end
693
+ @classes[raw_name]
694
+ end
695
+
696
+ ##
697
+ # Look for class or module documentation above Init_+class_name+(void),
698
+ # in a Document-class +class_name+ (or module) comment or above an
699
+ # rb_define_class (or module). If a comment is supplied above a matching
700
+ # Init_ and a rb_define_class the Init_ comment is used.
701
+ #
702
+ # /*
703
+ # * This is a comment for Foo
704
+ # */
705
+ # Init_Foo(void) {
706
+ # VALUE cFoo = rb_define_class("Foo", rb_cObject);
707
+ # }
708
+ #
709
+ # /*
710
+ # * Document-class: Foo
711
+ # * This is a comment for Foo
712
+ # */
713
+ # Init_foo(void) {
714
+ # VALUE cFoo = rb_define_class("Foo", rb_cObject);
715
+ # }
716
+ #
717
+ # /*
718
+ # * This is a comment for Foo
719
+ # */
720
+ # VALUE cFoo = rb_define_class("Foo", rb_cObject);
721
+
722
+ def find_class_comment(class_name, class_mod)
723
+ comment = nil
724
+
725
+ if @content =~ %r%
726
+ ((?>/\*.*?\*/\s+))
727
+ (static\s+)?
728
+ void\s+
729
+ Init(?:VM)?_(?i:#{class_name})\s*(?:_\(\s*)?\(\s*(?:void\s*)?\)%xm then
730
+ comment = $1.sub(%r%Document-(?:class|module):\s+#{class_name}%, '')
731
+ elsif @content =~ %r%Document-(?:class|module):\s+#{class_name}\s*?
732
+ (?:<\s+[:,\w]+)?\n((?>.*?\*/))%xm then
733
+ comment = "/*\n#{$1}"
734
+ elsif @content =~ %r%((?>/\*.*?\*/\s+))
735
+ ([\w\.\s]+\s* = \s+)?rb_define_(class|module)[\t (]*?"(#{class_name})"%xm then
736
+ comment = $1
737
+ elsif @content =~ %r%((?>/\*.*?\*/\s+))
738
+ ([\w\. \t]+ = \s+)?rb_define_(class|module)_under[\t\w, (]*?"(#{class_name.split('::').last})"%xm then
739
+ comment = $1
740
+ else
741
+ comment = ''
742
+ end
743
+
744
+ comment = new_comment comment, @top_level, :c
745
+ comment.normalize
746
+
747
+ look_for_directives_in class_mod, comment
748
+
749
+ class_mod.add_comment comment, @top_level
750
+ end
751
+
752
+ ##
753
+ # Generate a const table
754
+
755
+ def gen_const_table(file_content)
756
+ table = {}
757
+ @content.scan(%r{
758
+ (?<doc>(?>^\s*/\*.*?\*/\s+))
759
+ rb_define_(?<type>\w+)\(\s*(?:\w+),\s*
760
+ "(?<name>\w+)"\s*,
761
+ .*?\)\s*;
762
+ | (?<doc>(?>^\s*/\*.*?\*/\s+))
763
+ rb_define_global_(?<type>const)\(\s*
764
+ "(?<name>\w+)"\s*,
765
+ .*?\)\s*;
766
+ | (?<doc>(?>^\s*/\*.*?\*/\s+))
767
+ rb_file_(?<type>const)\(\s*
768
+ "(?<name>\w+)"\s*,
769
+ .*?\)\s*;
770
+ | (?<doc>(?>^\s*/\*.*?\*/\s+))
771
+ rb_curses_define_(?<type>const)\(\s*
772
+ (?<name>\w+)
773
+ \s*\)\s*;
774
+ | Document-(?:const|global|variable):\s
775
+ (?<name>(?:\w+::)*\w+)
776
+ \s*?\n(?<doc>(?>.*?\*/))
777
+ }mxi) do
778
+ name, doc, type = $~.values_at(:name, :doc, :type)
779
+ if type
780
+ table[[type, name]] = doc
781
+ else
782
+ table[name] = "/*\n" + doc
783
+ end
784
+ end
785
+ table
786
+ end
787
+
788
+ ##
789
+ # Finds a comment matching +type+ and +const_name+ either above the
790
+ # comment or in the matching Document- section.
791
+
792
+ def find_const_comment(type, const_name, class_name = nil)
793
+ @const_table ||= {}
794
+ @const_table[@content] ||= gen_const_table @content
795
+ table = @const_table[@content]
796
+
797
+ comment =
798
+ table[[type, const_name]] ||
799
+ (class_name && table[class_name + "::" + const_name]) ||
800
+ table[const_name] ||
801
+ ''
802
+
803
+ new_comment comment, @top_level, :c
804
+ end
805
+
806
+ ##
807
+ # Handles modifiers in +comment+ and updates +meth_obj+ as appropriate.
808
+
809
+ def find_modifiers(comment, meth_obj)
810
+ comment.normalize
811
+ meth_obj.call_seq = comment.extract_call_seq
812
+
813
+ look_for_directives_in meth_obj, comment
814
+ end
815
+
816
+ ##
817
+ # Finds a <tt>Document-method</tt> override for +meth_obj+ on +class_name+
818
+
819
+ def find_override_comment(class_name, meth_obj)
820
+ name = Regexp.escape meth_obj.name
821
+ prefix = Regexp.escape meth_obj.name_prefix
822
+
823
+ comment = if @content =~ %r%Document-method:
824
+ \s+#{class_name}#{prefix}#{name}
825
+ \s*?\n((?>.*?\*/))%xm then
826
+ "/*#{$1}"
827
+ elsif @content =~ %r%Document-method:
828
+ \s#{name}\s*?\n((?>.*?\*/))%xm then
829
+ "/*#{$1}"
830
+ end
831
+
832
+ return unless comment
833
+
834
+ new_comment comment, @top_level, :c
835
+ end
836
+
837
+ ##
838
+ # Creates a new RDoc::Attr +attr_name+ on class +var_name+ that is either
839
+ # +read+, +write+ or both
840
+
841
+ def handle_attr(var_name, attr_name, read, write)
842
+ rw = ''
843
+ rw += 'R' if TRUE_VALUES.include?(read)
844
+ rw += 'W' if TRUE_VALUES.include?(write)
845
+
846
+ class_name = @known_classes[var_name]
847
+
848
+ return unless class_name
849
+
850
+ class_obj = find_class var_name, class_name
851
+
852
+ return unless class_obj
853
+
854
+ comment = find_attr_comment var_name, attr_name
855
+ comment.normalize
856
+
857
+ name = attr_name.gsub(/rb_intern(?:_const)?\("([^"]+)"\)/, '\1')
858
+
859
+ attr = RDoc::Attr.new '', name, rw, comment
860
+
861
+ attr.record_location @top_level
862
+ class_obj.add_attribute attr
863
+ @stats.add_attribute attr
864
+ end
865
+
866
+ ##
867
+ # Creates a new RDoc::NormalClass or RDoc::NormalModule based on +type+
868
+ # named +class_name+ in +parent+ which was assigned to the C +var_name+.
869
+
870
+ def handle_class_module(var_name, type, class_name, parent, in_module)
871
+ parent_name = @known_classes[parent] || parent
872
+
873
+ if in_module then
874
+ enclosure = @classes[in_module] || @store.find_c_enclosure(in_module)
875
+
876
+ if enclosure.nil? and enclosure = @known_classes[in_module] then
877
+ enc_type = /^rb_m/ =~ in_module ? :module : :class
878
+ handle_class_module in_module, enc_type, enclosure, nil, nil
879
+ enclosure = @classes[in_module]
880
+ end
881
+
882
+ unless enclosure then
883
+ @enclosure_dependencies[in_module] << var_name
884
+ @missing_dependencies[var_name] =
885
+ [var_name, type, class_name, parent, in_module]
886
+
887
+ return
888
+ end
889
+ else
890
+ enclosure = @top_level
891
+ end
892
+
893
+ if type == :class then
894
+ full_name = if RDoc::ClassModule === enclosure then
895
+ enclosure.full_name + "::#{class_name}"
896
+ else
897
+ class_name
898
+ end
899
+
900
+ if @content =~ %r%Document-class:\s+#{full_name}\s*<\s+([:,\w]+)% then
901
+ parent_name = $1
902
+ end
903
+
904
+ cm = enclosure.add_class RDoc::NormalClass, class_name, parent_name
905
+ else
906
+ cm = enclosure.add_module RDoc::NormalModule, class_name
907
+ end
908
+
909
+ cm.record_location enclosure.top_level
910
+
911
+ find_class_comment cm.full_name, cm
912
+
913
+ case cm
914
+ when RDoc::NormalClass
915
+ @stats.add_class cm
916
+ when RDoc::NormalModule
917
+ @stats.add_module cm
918
+ end
919
+
920
+ @classes[var_name] = cm
921
+ @known_classes[var_name] = cm.full_name
922
+ @store.add_c_enclosure var_name, cm
923
+ end
924
+
925
+ ##
926
+ # Adds constants. By providing some_value: at the start of the comment you
927
+ # can override the C value of the comment to give a friendly definition.
928
+ #
929
+ # /* 300: The perfect score in bowling */
930
+ # rb_define_const(cFoo, "PERFECT", INT2FIX(300));
931
+ #
932
+ # Will override <tt>INT2FIX(300)</tt> with the value +300+ in the output
933
+ # RDoc. Values may include quotes and escaped colons (\:).
934
+
935
+ def handle_constants(type, var_name, const_name, definition)
936
+ class_name = @known_classes[var_name]
937
+
938
+ return unless class_name
939
+
940
+ class_obj = find_class var_name, class_name, class_name[/::\K[^:]+\z/]
941
+
942
+ unless class_obj then
943
+ @options.warn 'Enclosing class or module %p is not known' % [const_name]
944
+ return
945
+ end
946
+
947
+ comment = find_const_comment type, const_name, class_name
948
+ comment.normalize
949
+
950
+ # In the case of rb_define_const, the definition and comment are in
951
+ # "/* definition: comment */" form. The literal ':' and '\' characters
952
+ # can be escaped with a backslash.
953
+ if type.downcase == 'const' then
954
+ if /\A(.+?)?:(?!\S)/ =~ comment.text
955
+ new_definition, new_comment = $1, $'
956
+
957
+ if !new_definition # Default to literal C definition
958
+ new_definition = definition
959
+ else
960
+ new_definition = new_definition.gsub(/\\([\\:])/, '\1')
961
+ end
962
+
963
+ new_definition.sub!(/\A(\s+)/, '')
964
+
965
+ new_comment = "#{$1}#{new_comment.lstrip}"
966
+
967
+ new_comment = self.new_comment(new_comment, @top_level, :c)
968
+
969
+ con = RDoc::Constant.new const_name, new_definition, new_comment
970
+ else
971
+ con = RDoc::Constant.new const_name, definition, comment
972
+ end
973
+ else
974
+ con = RDoc::Constant.new const_name, definition, comment
975
+ end
976
+
977
+ con.record_location @top_level
978
+ @stats.add_constant con
979
+ class_obj.add_constant con
980
+ end
981
+
982
+ ##
983
+ # Removes #ifdefs that would otherwise confuse us
984
+
985
+ def handle_ifdefs_in(body)
986
+ body.gsub(/^#ifdef HAVE_PROTOTYPES.*?#else.*?\n(.*?)#endif.*?\n/m, '\1')
987
+ end
988
+
989
+ ##
990
+ # Adds an RDoc::AnyMethod +meth_name+ defined on a class or module assigned
991
+ # to +var_name+. +type+ is the type of method definition function used.
992
+ # +singleton_method+ and +module_function+ create a singleton method.
993
+
994
+ def handle_method(type, var_name, meth_name, function, param_count,
995
+ source_file = nil)
996
+ class_name = @known_classes[var_name]
997
+ singleton = @singleton_classes.key? var_name
998
+
999
+ @methods[var_name][function] << meth_name
1000
+
1001
+ return unless class_name
1002
+
1003
+ class_obj = find_class var_name, class_name
1004
+
1005
+ if existing_method = class_obj.method_list.find { |m| m.c_function == function }
1006
+ add_alias(var_name, class_obj, existing_method.name, meth_name, existing_method.comment)
1007
+ end
1008
+
1009
+ if class_obj then
1010
+ if meth_name == 'initialize' then
1011
+ meth_name = 'new'
1012
+ singleton = true
1013
+ type = 'method' # force public
1014
+ end
1015
+
1016
+ singleton = singleton || %w[singleton_method module_function].include?(type)
1017
+ meth_obj = RDoc::AnyMethod.new '', meth_name, singleton: singleton
1018
+ meth_obj.c_function = function
1019
+
1020
+ p_count = Integer(param_count) rescue -1
1021
+
1022
+ if source_file then
1023
+ file_name = File.join @file_dir, source_file
1024
+
1025
+ if File.exist? file_name then
1026
+ file_content = File.read file_name
1027
+ else
1028
+ @options.warn "unknown source #{source_file} for #{meth_name} in #{@file_name}"
1029
+ end
1030
+ else
1031
+ file_content = @content
1032
+ end
1033
+
1034
+ body = find_body class_name, function, meth_obj, file_content
1035
+
1036
+ if body and meth_obj.document_self then
1037
+ meth_obj.params = if p_count < -1 then # -2 is Array
1038
+ '(*args)'
1039
+ elsif p_count == -1 then # argc, argv
1040
+ rb_scan_args body
1041
+ else
1042
+ args = (1..p_count).map { |i| "p#{i}" }
1043
+ "(#{args.join ', '})"
1044
+ end
1045
+
1046
+
1047
+ meth_obj.record_location @top_level
1048
+
1049
+ if meth_obj.section_title
1050
+ class_obj.temporary_section = class_obj.add_section(meth_obj.section_title)
1051
+ end
1052
+ class_obj.add_method meth_obj
1053
+
1054
+ @stats.add_method meth_obj
1055
+ meth_obj.visibility = :private if 'private_method' == type
1056
+ end
1057
+ end
1058
+ end
1059
+
1060
+ ##
1061
+ # Registers a singleton class +sclass_var+ as a singleton of +class_var+
1062
+
1063
+ def handle_singleton(sclass_var, class_var)
1064
+ class_name = @known_classes[class_var]
1065
+
1066
+ @known_classes[sclass_var] = class_name
1067
+ @singleton_classes[sclass_var] = class_name
1068
+ end
1069
+
1070
+ ##
1071
+ # Loads the variable map with the given +name+ from the RDoc::Store, if
1072
+ # present.
1073
+
1074
+ def load_variable_map(map_name)
1075
+ return {} unless files = @store.cache[map_name]
1076
+ return {} unless name_map = files[@file_name]
1077
+
1078
+ class_map = {}
1079
+
1080
+ name_map.each do |variable, name|
1081
+ next unless mod = @store.find_class_or_module(name)
1082
+
1083
+ class_map[variable] = if map_name == :c_class_variables then
1084
+ mod
1085
+ else
1086
+ name
1087
+ end
1088
+ @known_classes[variable] = name
1089
+ end
1090
+
1091
+ class_map
1092
+ end
1093
+
1094
+ ##
1095
+ # Look for directives in a normal comment block:
1096
+ #
1097
+ # /*
1098
+ # * :title: My Awesome Project
1099
+ # */
1100
+ #
1101
+ # This method modifies the +comment+
1102
+ # Both :main: and :title: directives are deprecated and will be removed in RDoc 7.
1103
+
1104
+ def look_for_directives_in(context, comment)
1105
+ @preprocess.handle comment, context do |directive, param|
1106
+ case directive
1107
+ when 'main' then
1108
+ @options.main_page = param
1109
+
1110
+ warn <<~MSG
1111
+ The :main: directive is deprecated and will be removed in RDoc 7.
1112
+
1113
+ You can use these options to specify the initial page displayed instead:
1114
+ - `--main=#{param}` via the command line
1115
+ - `rdoc.main = "#{param}"` if you use `RDoc::Task`
1116
+ - `main_page: #{param}` in your `.rdoc_options` file
1117
+ MSG
1118
+ ''
1119
+ when 'title' then
1120
+ @options.default_title = param if @options.respond_to? :default_title=
1121
+
1122
+ warn <<~MSG
1123
+ The :title: directive is deprecated and will be removed in RDoc 7.
1124
+
1125
+ You can use these options to specify the title displayed instead:
1126
+ - `--title=#{param}` via the command line
1127
+ - `rdoc.title = "#{param}"` if you use `RDoc::Task`
1128
+ - `title: #{param}` in your `.rdoc_options` file
1129
+ MSG
1130
+ ''
1131
+ end
1132
+ end
1133
+
1134
+ comment
1135
+ end
1136
+
1137
+ ##
1138
+ # Extracts parameters from the +method_body+ and returns a method
1139
+ # parameter string. Follows 1.9.3dev's scan-arg-spec, see README.EXT
1140
+
1141
+ def rb_scan_args(method_body)
1142
+ method_body =~ /rb_scan_args\((.*?)\)/m
1143
+ return '(*args)' unless $1
1144
+
1145
+ $1.split(/,/)[2] =~ /"(.*?)"/ # format argument
1146
+ format = $1.split(//)
1147
+
1148
+ lead = opt = trail = 0
1149
+
1150
+ if format.first =~ /\d/ then
1151
+ lead = $&.to_i
1152
+ format.shift
1153
+ if format.first =~ /\d/ then
1154
+ opt = $&.to_i
1155
+ format.shift
1156
+ if format.first =~ /\d/ then
1157
+ trail = $&.to_i
1158
+ format.shift
1159
+ block_arg = true
1160
+ end
1161
+ end
1162
+ end
1163
+
1164
+ if format.first == '*' and not block_arg then
1165
+ var = true
1166
+ format.shift
1167
+ if format.first =~ /\d/ then
1168
+ trail = $&.to_i
1169
+ format.shift
1170
+ end
1171
+ end
1172
+
1173
+ if format.first == ':' then
1174
+ hash = true
1175
+ format.shift
1176
+ end
1177
+
1178
+ if format.first == '&' then
1179
+ block = true
1180
+ format.shift
1181
+ end
1182
+
1183
+ # if the format string is not empty there's a bug in the C code, ignore it
1184
+
1185
+ args = []
1186
+ position = 1
1187
+
1188
+ (1...(position + lead)).each do |index|
1189
+ args << "p#{index}"
1190
+ end
1191
+
1192
+ position += lead
1193
+
1194
+ (position...(position + opt)).each do |index|
1195
+ args << "p#{index} = v#{index}"
1196
+ end
1197
+
1198
+ position += opt
1199
+
1200
+ if var then
1201
+ args << '*args'
1202
+ position += 1
1203
+ end
1204
+
1205
+ (position...(position + trail)).each do |index|
1206
+ args << "p#{index}"
1207
+ end
1208
+
1209
+ position += trail
1210
+
1211
+ if hash then
1212
+ args << "p#{position} = {}"
1213
+ end
1214
+
1215
+ args << '&block' if block
1216
+
1217
+ "(#{args.join ', '})"
1218
+ end
1219
+
1220
+ ##
1221
+ # Removes lines that are commented out that might otherwise get picked up
1222
+ # when scanning for classes and methods
1223
+
1224
+ def remove_commented_out_lines
1225
+ @content = @content.gsub(%r%//.*rb_define_%, '//')
1226
+ end
1227
+
1228
+ ##
1229
+ # Extracts the classes, modules, methods, attributes, constants and aliases
1230
+ # from a C file and returns an RDoc::TopLevel for this file
1231
+
1232
+ def scan
1233
+ remove_commented_out_lines
1234
+
1235
+ do_classes_and_modules
1236
+ do_missing
1237
+
1238
+ do_constants
1239
+ do_methods
1240
+ do_includes
1241
+ do_aliases
1242
+ do_attrs
1243
+
1244
+ @store.add_c_variables self
1245
+
1246
+ @top_level
1247
+ end
1248
+
1249
+ ##
1250
+ # Creates a RDoc::Comment instance.
1251
+
1252
+ def new_comment(text = nil, location = nil, language = nil)
1253
+ RDoc::Comment.new(text, location, language).tap do |comment|
1254
+ comment.format = @markup
1255
+ end
1256
+ end
1257
+ end