rbs 4.1.0.pre.2-java

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 (574) hide show
  1. checksums.yaml +7 -0
  2. data/.clang-format +75 -0
  3. data/.clangd +2 -0
  4. data/.github/dependabot.yml +24 -0
  5. data/.github/workflows/bundle-update.yml +63 -0
  6. data/.github/workflows/c-check.yml +61 -0
  7. data/.github/workflows/comments.yml +37 -0
  8. data/.github/workflows/dependabot.yml +30 -0
  9. data/.github/workflows/jruby.yml +67 -0
  10. data/.github/workflows/milestone.yml +83 -0
  11. data/.github/workflows/ruby.yml +158 -0
  12. data/.github/workflows/rust.yml +184 -0
  13. data/.github/workflows/truffleruby.yml +54 -0
  14. data/.github/workflows/typecheck.yml +39 -0
  15. data/.github/workflows/wasm.yml +53 -0
  16. data/.github/workflows/windows.yml +49 -0
  17. data/.gitignore +38 -0
  18. data/.rubocop.yml +72 -0
  19. data/BSDL +22 -0
  20. data/CHANGELOG.md +2292 -0
  21. data/COPYING +56 -0
  22. data/README.md +240 -0
  23. data/Rakefile +869 -0
  24. data/Steepfile +53 -0
  25. data/config.yml +913 -0
  26. data/core/array.rbs +4142 -0
  27. data/core/basic_object.rbs +376 -0
  28. data/core/binding.rbs +148 -0
  29. data/core/builtin.rbs +278 -0
  30. data/core/class.rbs +223 -0
  31. data/core/comparable.rbs +192 -0
  32. data/core/complex.rbs +812 -0
  33. data/core/constants.rbs +96 -0
  34. data/core/data.rbs +415 -0
  35. data/core/dir.rbs +993 -0
  36. data/core/encoding.rbs +1368 -0
  37. data/core/enumerable.rbs +2506 -0
  38. data/core/enumerator/arithmetic_sequence.rbs +70 -0
  39. data/core/enumerator/product.rbs +92 -0
  40. data/core/enumerator.rbs +705 -0
  41. data/core/env.rbs +6 -0
  42. data/core/errno.rbs +682 -0
  43. data/core/errors.rbs +789 -0
  44. data/core/exception.rbs +485 -0
  45. data/core/false_class.rbs +82 -0
  46. data/core/fiber.rbs +570 -0
  47. data/core/fiber_error.rbs +11 -0
  48. data/core/file.rbs +2045 -0
  49. data/core/file_constants.rbs +463 -0
  50. data/core/file_stat.rbs +534 -0
  51. data/core/file_test.rbs +331 -0
  52. data/core/float.rbs +1316 -0
  53. data/core/gc.rbs +788 -0
  54. data/core/global_variables.rbs +184 -0
  55. data/core/hash.rbs +2183 -0
  56. data/core/integer.rbs +1374 -0
  57. data/core/io/buffer.rbs +995 -0
  58. data/core/io/wait.rbs +48 -0
  59. data/core/io.rbs +3472 -0
  60. data/core/kernel.rbs +3172 -0
  61. data/core/marshal.rbs +207 -0
  62. data/core/match_data.rbs +637 -0
  63. data/core/math.rbs +770 -0
  64. data/core/method.rbs +422 -0
  65. data/core/module.rbs +1856 -0
  66. data/core/nil_class.rbs +210 -0
  67. data/core/numeric.rbs +832 -0
  68. data/core/object.rbs +108 -0
  69. data/core/object_space/weak_key_map.rbs +166 -0
  70. data/core/object_space.rbs +197 -0
  71. data/core/pathname.rbs +1322 -0
  72. data/core/proc.rbs +905 -0
  73. data/core/process.rbs +2316 -0
  74. data/core/ractor.rbs +924 -0
  75. data/core/random.rbs +255 -0
  76. data/core/range.rbs +1209 -0
  77. data/core/rational.rbs +502 -0
  78. data/core/rb_config.rbs +88 -0
  79. data/core/rbs/ops.rbs +154 -0
  80. data/core/rbs/unnamed/argf.rbs +1236 -0
  81. data/core/rbs/unnamed/env_class.rbs +1214 -0
  82. data/core/rbs/unnamed/main_class.rbs +123 -0
  83. data/core/rbs/unnamed/random.rbs +186 -0
  84. data/core/refinement.rbs +59 -0
  85. data/core/regexp.rbs +1974 -0
  86. data/core/ruby.rbs +53 -0
  87. data/core/ruby_vm.rbs +809 -0
  88. data/core/rubygems/basic_specification.rbs +6 -0
  89. data/core/rubygems/config_file.rbs +38 -0
  90. data/core/rubygems/dependency_installer.rbs +6 -0
  91. data/core/rubygems/errors.rbs +109 -0
  92. data/core/rubygems/installer.rbs +15 -0
  93. data/core/rubygems/path_support.rbs +6 -0
  94. data/core/rubygems/platform.rbs +7 -0
  95. data/core/rubygems/request_set.rbs +49 -0
  96. data/core/rubygems/requirement.rbs +148 -0
  97. data/core/rubygems/rubygems.rbs +1105 -0
  98. data/core/rubygems/source_list.rbs +15 -0
  99. data/core/rubygems/specification.rbs +23 -0
  100. data/core/rubygems/stream_ui.rbs +5 -0
  101. data/core/rubygems/uninstaller.rbs +10 -0
  102. data/core/rubygems/version.rbs +293 -0
  103. data/core/set.rbs +751 -0
  104. data/core/signal.rbs +110 -0
  105. data/core/string.rbs +5532 -0
  106. data/core/struct.rbs +668 -0
  107. data/core/symbol.rbs +482 -0
  108. data/core/thread.rbs +1826 -0
  109. data/core/thread_group.rbs +79 -0
  110. data/core/time.rbs +1793 -0
  111. data/core/trace_point.rbs +483 -0
  112. data/core/true_class.rbs +98 -0
  113. data/core/unbound_method.rbs +337 -0
  114. data/core/warning.rbs +87 -0
  115. data/docs/CONTRIBUTING.md +107 -0
  116. data/docs/aliases.md +79 -0
  117. data/docs/architecture.md +110 -0
  118. data/docs/collection.md +192 -0
  119. data/docs/config.md +171 -0
  120. data/docs/data_and_struct.md +86 -0
  121. data/docs/encoding.md +56 -0
  122. data/docs/gem.md +56 -0
  123. data/docs/inline.md +634 -0
  124. data/docs/rbs_by_example.md +309 -0
  125. data/docs/repo.md +125 -0
  126. data/docs/rust.md +96 -0
  127. data/docs/sigs.md +167 -0
  128. data/docs/stdlib.md +147 -0
  129. data/docs/syntax.md +940 -0
  130. data/docs/tools.md +17 -0
  131. data/docs/type_fingerprint.md +21 -0
  132. data/docs/wasm_serialization.md +80 -0
  133. data/exe/rbs +7 -0
  134. data/ext/rbs_extension/ast_translation.c +1855 -0
  135. data/ext/rbs_extension/ast_translation.h +41 -0
  136. data/ext/rbs_extension/class_constants.c +187 -0
  137. data/ext/rbs_extension/class_constants.h +104 -0
  138. data/ext/rbs_extension/compat.h +10 -0
  139. data/ext/rbs_extension/extconf.rb +40 -0
  140. data/ext/rbs_extension/legacy_location.c +294 -0
  141. data/ext/rbs_extension/legacy_location.h +82 -0
  142. data/ext/rbs_extension/main.c +613 -0
  143. data/ext/rbs_extension/rbs_extension.h +16 -0
  144. data/ext/rbs_extension/rbs_string_bridging.c +9 -0
  145. data/ext/rbs_extension/rbs_string_bridging.h +24 -0
  146. data/goodcheck.yml +91 -0
  147. data/include/rbs/ast.h +1047 -0
  148. data/include/rbs/defines.h +99 -0
  149. data/include/rbs/lexer.h +207 -0
  150. data/include/rbs/location.h +40 -0
  151. data/include/rbs/parser.h +153 -0
  152. data/include/rbs/serialize.h +39 -0
  153. data/include/rbs/string.h +47 -0
  154. data/include/rbs/util/rbs_allocator.h +59 -0
  155. data/include/rbs/util/rbs_assert.h +20 -0
  156. data/include/rbs/util/rbs_buffer.h +83 -0
  157. data/include/rbs/util/rbs_constant_pool.h +155 -0
  158. data/include/rbs/util/rbs_encoding.h +282 -0
  159. data/include/rbs/util/rbs_unescape.h +24 -0
  160. data/include/rbs.h +14 -0
  161. data/lib/rbs/ancestor_graph.rb +92 -0
  162. data/lib/rbs/annotate/annotations.rb +199 -0
  163. data/lib/rbs/annotate/formatter.rb +82 -0
  164. data/lib/rbs/annotate/rdoc_annotator.rb +398 -0
  165. data/lib/rbs/annotate/rdoc_source.rb +131 -0
  166. data/lib/rbs/annotate.rb +8 -0
  167. data/lib/rbs/ast/annotation.rb +29 -0
  168. data/lib/rbs/ast/comment.rb +29 -0
  169. data/lib/rbs/ast/declarations.rb +472 -0
  170. data/lib/rbs/ast/directives.rb +49 -0
  171. data/lib/rbs/ast/members.rb +451 -0
  172. data/lib/rbs/ast/ruby/annotations.rb +451 -0
  173. data/lib/rbs/ast/ruby/comment_block.rb +247 -0
  174. data/lib/rbs/ast/ruby/declarations.rb +291 -0
  175. data/lib/rbs/ast/ruby/helpers/constant_helper.rb +28 -0
  176. data/lib/rbs/ast/ruby/helpers/location_helper.rb +15 -0
  177. data/lib/rbs/ast/ruby/members.rb +762 -0
  178. data/lib/rbs/ast/type_param.rb +235 -0
  179. data/lib/rbs/ast/visitor.rb +137 -0
  180. data/lib/rbs/buffer.rb +189 -0
  181. data/lib/rbs/builtin_names.rb +58 -0
  182. data/lib/rbs/cli/colored_io.rb +48 -0
  183. data/lib/rbs/cli/diff.rb +84 -0
  184. data/lib/rbs/cli/validate.rb +294 -0
  185. data/lib/rbs/cli.rb +1253 -0
  186. data/lib/rbs/collection/cleaner.rb +38 -0
  187. data/lib/rbs/collection/config/lockfile.rb +92 -0
  188. data/lib/rbs/collection/config/lockfile_generator.rb +269 -0
  189. data/lib/rbs/collection/config.rb +81 -0
  190. data/lib/rbs/collection/installer.rb +32 -0
  191. data/lib/rbs/collection/sources/base.rb +14 -0
  192. data/lib/rbs/collection/sources/git.rb +265 -0
  193. data/lib/rbs/collection/sources/local.rb +81 -0
  194. data/lib/rbs/collection/sources/rubygems.rb +48 -0
  195. data/lib/rbs/collection/sources/stdlib.rb +50 -0
  196. data/lib/rbs/collection/sources.rb +38 -0
  197. data/lib/rbs/collection.rb +16 -0
  198. data/lib/rbs/constant.rb +28 -0
  199. data/lib/rbs/definition.rb +415 -0
  200. data/lib/rbs/definition_builder/ancestor_builder.rb +678 -0
  201. data/lib/rbs/definition_builder/method_builder.rb +295 -0
  202. data/lib/rbs/definition_builder.rb +1054 -0
  203. data/lib/rbs/diff.rb +131 -0
  204. data/lib/rbs/environment/class_entry.rb +69 -0
  205. data/lib/rbs/environment/module_entry.rb +66 -0
  206. data/lib/rbs/environment/use_map.rb +77 -0
  207. data/lib/rbs/environment.rb +1028 -0
  208. data/lib/rbs/environment_loader.rb +167 -0
  209. data/lib/rbs/environment_walker.rb +155 -0
  210. data/lib/rbs/errors.rb +634 -0
  211. data/lib/rbs/factory.rb +18 -0
  212. data/lib/rbs/file_finder.rb +28 -0
  213. data/lib/rbs/inline_parser/comment_association.rb +117 -0
  214. data/lib/rbs/inline_parser.rb +568 -0
  215. data/lib/rbs/location_aux.rb +170 -0
  216. data/lib/rbs/locator.rb +247 -0
  217. data/lib/rbs/method_type.rb +145 -0
  218. data/lib/rbs/namespace.rb +154 -0
  219. data/lib/rbs/parser/lex_result.rb +15 -0
  220. data/lib/rbs/parser/token.rb +23 -0
  221. data/lib/rbs/parser_aux.rb +142 -0
  222. data/lib/rbs/prototype/helpers.rb +197 -0
  223. data/lib/rbs/prototype/node_usage.rb +99 -0
  224. data/lib/rbs/prototype/rb.rb +816 -0
  225. data/lib/rbs/prototype/rbi.rb +625 -0
  226. data/lib/rbs/prototype/runtime/helpers.rb +59 -0
  227. data/lib/rbs/prototype/runtime/reflection.rb +19 -0
  228. data/lib/rbs/prototype/runtime/value_object_generator.rb +279 -0
  229. data/lib/rbs/prototype/runtime.rb +680 -0
  230. data/lib/rbs/repository.rb +127 -0
  231. data/lib/rbs/resolver/constant_resolver.rb +219 -0
  232. data/lib/rbs/resolver/type_name_resolver.rb +167 -0
  233. data/lib/rbs/rewriter.rb +70 -0
  234. data/lib/rbs/sorter.rb +198 -0
  235. data/lib/rbs/source.rb +99 -0
  236. data/lib/rbs/substitution.rb +83 -0
  237. data/lib/rbs/subtractor.rb +204 -0
  238. data/lib/rbs/test/errors.rb +80 -0
  239. data/lib/rbs/test/guaranteed.rb +30 -0
  240. data/lib/rbs/test/hook.rb +212 -0
  241. data/lib/rbs/test/observer.rb +19 -0
  242. data/lib/rbs/test/setup.rb +84 -0
  243. data/lib/rbs/test/setup_helper.rb +50 -0
  244. data/lib/rbs/test/tester.rb +167 -0
  245. data/lib/rbs/test/type_check.rb +457 -0
  246. data/lib/rbs/test.rb +112 -0
  247. data/lib/rbs/type_alias_dependency.rb +100 -0
  248. data/lib/rbs/type_alias_regularity.rb +126 -0
  249. data/lib/rbs/type_name.rb +122 -0
  250. data/lib/rbs/types.rb +1604 -0
  251. data/lib/rbs/unit_test/convertibles.rb +177 -0
  252. data/lib/rbs/unit_test/spy.rb +138 -0
  253. data/lib/rbs/unit_test/type_assertions.rb +383 -0
  254. data/lib/rbs/unit_test/with_aliases.rb +145 -0
  255. data/lib/rbs/unit_test.rb +6 -0
  256. data/lib/rbs/validator.rb +186 -0
  257. data/lib/rbs/variance_calculator.rb +189 -0
  258. data/lib/rbs/vendorer.rb +71 -0
  259. data/lib/rbs/version.rb +5 -0
  260. data/lib/rbs/wasm/deserializer.rb +213 -0
  261. data/lib/rbs/wasm/jars/asm-analysis.jar +0 -0
  262. data/lib/rbs/wasm/jars/asm-commons.jar +0 -0
  263. data/lib/rbs/wasm/jars/asm-tree.jar +0 -0
  264. data/lib/rbs/wasm/jars/asm-util.jar +0 -0
  265. data/lib/rbs/wasm/jars/asm.jar +0 -0
  266. data/lib/rbs/wasm/jars/compiler.jar +0 -0
  267. data/lib/rbs/wasm/jars/log.jar +0 -0
  268. data/lib/rbs/wasm/jars/runtime.jar +0 -0
  269. data/lib/rbs/wasm/jars/wasi.jar +0 -0
  270. data/lib/rbs/wasm/jars/wasm.jar +0 -0
  271. data/lib/rbs/wasm/location.rb +61 -0
  272. data/lib/rbs/wasm/parser.rb +137 -0
  273. data/lib/rbs/wasm/rbs_parser.wasm +0 -0
  274. data/lib/rbs/wasm/runtime.rb +217 -0
  275. data/lib/rbs/wasm/serialization_schema.rb +110 -0
  276. data/lib/rbs/writer.rb +424 -0
  277. data/lib/rbs.rb +117 -0
  278. data/lib/rdoc/discover.rb +20 -0
  279. data/lib/rdoc_plugin/parser.rb +163 -0
  280. data/rbs.gemspec +68 -0
  281. data/schema/annotation.json +14 -0
  282. data/schema/comment.json +26 -0
  283. data/schema/decls.json +326 -0
  284. data/schema/function.json +87 -0
  285. data/schema/location.json +56 -0
  286. data/schema/members.json +266 -0
  287. data/schema/methodType.json +50 -0
  288. data/schema/typeParam.json +52 -0
  289. data/schema/types.json +317 -0
  290. data/sig/ancestor_builder.rbs +163 -0
  291. data/sig/ancestor_graph.rbs +60 -0
  292. data/sig/annotate/annotations.rbs +102 -0
  293. data/sig/annotate/formatter.rbs +24 -0
  294. data/sig/annotate/rdoc_annotater.rbs +85 -0
  295. data/sig/annotate/rdoc_source.rbs +32 -0
  296. data/sig/annotation.rbs +27 -0
  297. data/sig/ast/ruby/annotations.rbs +470 -0
  298. data/sig/ast/ruby/comment_block.rbs +127 -0
  299. data/sig/ast/ruby/declarations.rbs +158 -0
  300. data/sig/ast/ruby/helpers/constant_helper.rbs +11 -0
  301. data/sig/ast/ruby/helpers/location_helper.rbs +15 -0
  302. data/sig/ast/ruby/members.rbs +198 -0
  303. data/sig/buffer.rbs +108 -0
  304. data/sig/builtin_names.rbs +44 -0
  305. data/sig/cli/colored_io.rbs +15 -0
  306. data/sig/cli/diff.rbs +15 -0
  307. data/sig/cli/validate.rbs +47 -0
  308. data/sig/cli.rbs +89 -0
  309. data/sig/collection/cleaner.rbs +13 -0
  310. data/sig/collection/config/lockfile.rbs +74 -0
  311. data/sig/collection/config/lockfile_generator.rbs +68 -0
  312. data/sig/collection/config.rbs +46 -0
  313. data/sig/collection/installer.rbs +17 -0
  314. data/sig/collection/sources.rbs +214 -0
  315. data/sig/collection.rbs +4 -0
  316. data/sig/comment.rbs +26 -0
  317. data/sig/constant.rbs +21 -0
  318. data/sig/declarations.rbs +274 -0
  319. data/sig/definition.rbs +232 -0
  320. data/sig/definition_builder.rbs +181 -0
  321. data/sig/diff.rbs +28 -0
  322. data/sig/directives.rbs +77 -0
  323. data/sig/environment/class_entry.rbs +50 -0
  324. data/sig/environment/module_entry.rbs +50 -0
  325. data/sig/environment.rbs +286 -0
  326. data/sig/environment_loader.rbs +111 -0
  327. data/sig/environment_walker.rbs +65 -0
  328. data/sig/errors.rbs +408 -0
  329. data/sig/factory.rbs +5 -0
  330. data/sig/file_finder.rbs +28 -0
  331. data/sig/inline_parser/comment_association.rbs +71 -0
  332. data/sig/inline_parser.rbs +126 -0
  333. data/sig/location.rbs +135 -0
  334. data/sig/locator.rbs +56 -0
  335. data/sig/manifest.yaml +5 -0
  336. data/sig/members.rbs +258 -0
  337. data/sig/method_builder.rbs +89 -0
  338. data/sig/method_types.rbs +58 -0
  339. data/sig/namespace.rbs +161 -0
  340. data/sig/parser.rbs +164 -0
  341. data/sig/prototype/helpers.rbs +29 -0
  342. data/sig/prototype/node_usage.rbs +20 -0
  343. data/sig/prototype/rb.rbs +96 -0
  344. data/sig/prototype/rbi.rbs +75 -0
  345. data/sig/prototype/runtime.rbs +182 -0
  346. data/sig/rbs.rbs +21 -0
  347. data/sig/rdoc/rbs.rbs +67 -0
  348. data/sig/repository.rbs +85 -0
  349. data/sig/resolver/constant_resolver.rbs +92 -0
  350. data/sig/resolver/context.rbs +34 -0
  351. data/sig/resolver/type_name_resolver.rbs +61 -0
  352. data/sig/rewriter.rbs +45 -0
  353. data/sig/shims/bundler.rbs +38 -0
  354. data/sig/shims/enumerable.rbs +5 -0
  355. data/sig/shims/rubygems.rbs +19 -0
  356. data/sig/sorter.rbs +41 -0
  357. data/sig/source.rbs +48 -0
  358. data/sig/substitution.rbs +48 -0
  359. data/sig/subtractor.rbs +37 -0
  360. data/sig/test/errors.rbs +52 -0
  361. data/sig/test/guranteed.rbs +9 -0
  362. data/sig/test/type_check.rbs +19 -0
  363. data/sig/test.rbs +82 -0
  364. data/sig/type_alias_dependency.rbs +53 -0
  365. data/sig/type_alias_regularity.rbs +98 -0
  366. data/sig/type_param.rbs +115 -0
  367. data/sig/typename.rbs +89 -0
  368. data/sig/types.rbs +578 -0
  369. data/sig/unit_test/convertibles.rbs +154 -0
  370. data/sig/unit_test/spy.rbs +22 -0
  371. data/sig/unit_test/type_assertions.rbs +211 -0
  372. data/sig/unit_test/with_aliases.rbs +136 -0
  373. data/sig/use_map.rbs +35 -0
  374. data/sig/util.rbs +9 -0
  375. data/sig/validator.rbs +63 -0
  376. data/sig/variance_calculator.rbs +87 -0
  377. data/sig/vendorer.rbs +51 -0
  378. data/sig/version.rbs +3 -0
  379. data/sig/visitor.rbs +47 -0
  380. data/sig/wasm/deserializer.rbs +66 -0
  381. data/sig/wasm/serialization_schema.rbs +13 -0
  382. data/sig/writer.rbs +127 -0
  383. data/src/ast.c +1628 -0
  384. data/src/lexer.c +3217 -0
  385. data/src/lexer.re +155 -0
  386. data/src/lexstate.c +217 -0
  387. data/src/location.c +31 -0
  388. data/src/parser.c +4255 -0
  389. data/src/serialize.c +958 -0
  390. data/src/string.c +41 -0
  391. data/src/util/rbs_allocator.c +162 -0
  392. data/src/util/rbs_assert.c +19 -0
  393. data/src/util/rbs_buffer.c +54 -0
  394. data/src/util/rbs_constant_pool.c +268 -0
  395. data/src/util/rbs_encoding.c +21308 -0
  396. data/src/util/rbs_unescape.c +167 -0
  397. data/stdlib/abbrev/0/abbrev.rbs +66 -0
  398. data/stdlib/abbrev/0/array.rbs +26 -0
  399. data/stdlib/base64/0/base64.rbs +355 -0
  400. data/stdlib/benchmark/0/benchmark.rbs +452 -0
  401. data/stdlib/bigdecimal/0/big_decimal.rbs +1647 -0
  402. data/stdlib/bigdecimal-math/0/big_math.rbs +280 -0
  403. data/stdlib/bigdecimal-math/0/manifest.yaml +2 -0
  404. data/stdlib/cgi/0/core.rbs +911 -0
  405. data/stdlib/cgi/0/manifest.yaml +4 -0
  406. data/stdlib/cgi-escape/0/escape.rbs +171 -0
  407. data/stdlib/coverage/0/coverage.rbs +266 -0
  408. data/stdlib/csv/0/csv.rbs +3776 -0
  409. data/stdlib/csv/0/manifest.yaml +3 -0
  410. data/stdlib/date/0/date.rbs +1598 -0
  411. data/stdlib/date/0/date_time.rbs +617 -0
  412. data/stdlib/date/0/time.rbs +26 -0
  413. data/stdlib/dbm/0/dbm.rbs +421 -0
  414. data/stdlib/delegate/0/delegator.rbs +187 -0
  415. data/stdlib/delegate/0/kernel.rbs +47 -0
  416. data/stdlib/delegate/0/simple_delegator.rbs +96 -0
  417. data/stdlib/did_you_mean/0/did_you_mean.rbs +344 -0
  418. data/stdlib/digest/0/digest.rbs +687 -0
  419. data/stdlib/erb/0/erb.rbs +933 -0
  420. data/stdlib/etc/0/etc.rbs +884 -0
  421. data/stdlib/fileutils/0/fileutils.rbs +1753 -0
  422. data/stdlib/find/0/find.rbs +49 -0
  423. data/stdlib/forwardable/0/forwardable.rbs +271 -0
  424. data/stdlib/io-console/0/io-console.rbs +414 -0
  425. data/stdlib/ipaddr/0/ipaddr.rbs +436 -0
  426. data/stdlib/json/0/json.rbs +1963 -0
  427. data/stdlib/kconv/0/kconv.rbs +166 -0
  428. data/stdlib/logger/0/formatter.rbs +45 -0
  429. data/stdlib/logger/0/log_device.rbs +100 -0
  430. data/stdlib/logger/0/logger.rbs +796 -0
  431. data/stdlib/logger/0/manifest.yaml +2 -0
  432. data/stdlib/logger/0/period.rbs +17 -0
  433. data/stdlib/logger/0/severity.rbs +34 -0
  434. data/stdlib/minitest/0/kernel.rbs +42 -0
  435. data/stdlib/minitest/0/minitest/abstract_reporter.rbs +52 -0
  436. data/stdlib/minitest/0/minitest/assertion.rbs +17 -0
  437. data/stdlib/minitest/0/minitest/assertions.rbs +590 -0
  438. data/stdlib/minitest/0/minitest/backtrace_filter.rbs +23 -0
  439. data/stdlib/minitest/0/minitest/bench_spec.rbs +102 -0
  440. data/stdlib/minitest/0/minitest/benchmark.rbs +259 -0
  441. data/stdlib/minitest/0/minitest/composite_reporter.rbs +25 -0
  442. data/stdlib/minitest/0/minitest/compress.rbs +13 -0
  443. data/stdlib/minitest/0/minitest/error_on_warning.rbs +3 -0
  444. data/stdlib/minitest/0/minitest/expectation.rbs +2 -0
  445. data/stdlib/minitest/0/minitest/expectations.rbs +21 -0
  446. data/stdlib/minitest/0/minitest/guard.rbs +64 -0
  447. data/stdlib/minitest/0/minitest/mock.rbs +64 -0
  448. data/stdlib/minitest/0/minitest/parallel/executor.rbs +46 -0
  449. data/stdlib/minitest/0/minitest/parallel/test/class_methods.rbs +5 -0
  450. data/stdlib/minitest/0/minitest/parallel/test.rbs +3 -0
  451. data/stdlib/minitest/0/minitest/parallel.rbs +2 -0
  452. data/stdlib/minitest/0/minitest/pride_io.rbs +62 -0
  453. data/stdlib/minitest/0/minitest/pride_lol.rbs +19 -0
  454. data/stdlib/minitest/0/minitest/progress_reporter.rbs +11 -0
  455. data/stdlib/minitest/0/minitest/reportable.rbs +53 -0
  456. data/stdlib/minitest/0/minitest/reporter.rbs +5 -0
  457. data/stdlib/minitest/0/minitest/result.rbs +28 -0
  458. data/stdlib/minitest/0/minitest/runnable.rbs +163 -0
  459. data/stdlib/minitest/0/minitest/skip.rbs +6 -0
  460. data/stdlib/minitest/0/minitest/spec/dsl/instance_methods.rbs +48 -0
  461. data/stdlib/minitest/0/minitest/spec/dsl.rbs +129 -0
  462. data/stdlib/minitest/0/minitest/spec.rbs +11 -0
  463. data/stdlib/minitest/0/minitest/statistics_reporter.rbs +81 -0
  464. data/stdlib/minitest/0/minitest/summary_reporter.rbs +18 -0
  465. data/stdlib/minitest/0/minitest/test/lifecycle_hooks.rbs +92 -0
  466. data/stdlib/minitest/0/minitest/test.rbs +69 -0
  467. data/stdlib/minitest/0/minitest/unexpected_error.rbs +12 -0
  468. data/stdlib/minitest/0/minitest/unexpected_warning.rbs +6 -0
  469. data/stdlib/minitest/0/minitest/unit/test_case.rbs +3 -0
  470. data/stdlib/minitest/0/minitest/unit.rbs +4 -0
  471. data/stdlib/minitest/0/minitest.rbs +115 -0
  472. data/stdlib/monitor/0/monitor.rbs +363 -0
  473. data/stdlib/mutex_m/0/mutex_m.rbs +104 -0
  474. data/stdlib/net-http/0/manifest.yaml +3 -0
  475. data/stdlib/net-http/0/net-http.rbs +5580 -0
  476. data/stdlib/net-protocol/0/manifest.yaml +2 -0
  477. data/stdlib/net-protocol/0/net-protocol.rbs +56 -0
  478. data/stdlib/net-smtp/0/manifest.yaml +2 -0
  479. data/stdlib/net-smtp/0/net-smtp.rbs +55 -0
  480. data/stdlib/nkf/0/nkf.rbs +402 -0
  481. data/stdlib/objspace/0/objspace.rbs +470 -0
  482. data/stdlib/observable/0/observable.rbs +217 -0
  483. data/stdlib/open-uri/0/manifest.yaml +4 -0
  484. data/stdlib/open-uri/0/open-uri.rbs +433 -0
  485. data/stdlib/open3/0/open3.rbs +606 -0
  486. data/stdlib/openssl/0/manifest.yaml +3 -0
  487. data/stdlib/openssl/0/openssl.rbs +12231 -0
  488. data/stdlib/optparse/0/optparse.rbs +1734 -0
  489. data/stdlib/pathname/0/pathname.rbs +36 -0
  490. data/stdlib/pp/0/manifest.yaml +2 -0
  491. data/stdlib/pp/0/pp.rbs +301 -0
  492. data/stdlib/prettyprint/0/prettyprint.rbs +383 -0
  493. data/stdlib/pstore/0/pstore.rbs +608 -0
  494. data/stdlib/psych/0/core_ext.rbs +12 -0
  495. data/stdlib/psych/0/dbm.rbs +237 -0
  496. data/stdlib/psych/0/manifest.yaml +3 -0
  497. data/stdlib/psych/0/psych.rbs +455 -0
  498. data/stdlib/psych/0/store.rbs +57 -0
  499. data/stdlib/pty/0/pty.rbs +240 -0
  500. data/stdlib/random-formatter/0/random-formatter.rbs +277 -0
  501. data/stdlib/rdoc/0/code_object.rbs +52 -0
  502. data/stdlib/rdoc/0/comment.rbs +61 -0
  503. data/stdlib/rdoc/0/context.rbs +153 -0
  504. data/stdlib/rdoc/0/markup.rbs +117 -0
  505. data/stdlib/rdoc/0/options.rbs +76 -0
  506. data/stdlib/rdoc/0/parser.rbs +56 -0
  507. data/stdlib/rdoc/0/rdoc.rbs +393 -0
  508. data/stdlib/rdoc/0/ri.rbs +17 -0
  509. data/stdlib/rdoc/0/store.rbs +48 -0
  510. data/stdlib/rdoc/0/top_level.rbs +97 -0
  511. data/stdlib/resolv/0/manifest.yaml +3 -0
  512. data/stdlib/resolv/0/resolv.rbs +1787 -0
  513. data/stdlib/ripper/0/ripper.rbs +1654 -0
  514. data/stdlib/securerandom/0/manifest.yaml +2 -0
  515. data/stdlib/securerandom/0/securerandom.rbs +49 -0
  516. data/stdlib/shellwords/0/shellwords.rbs +229 -0
  517. data/stdlib/singleton/0/singleton.rbs +134 -0
  518. data/stdlib/socket/0/addrinfo.rbs +666 -0
  519. data/stdlib/socket/0/basic_socket.rbs +590 -0
  520. data/stdlib/socket/0/constants.rbs +2295 -0
  521. data/stdlib/socket/0/ip_socket.rbs +94 -0
  522. data/stdlib/socket/0/socket.rbs +4170 -0
  523. data/stdlib/socket/0/socket_error.rbs +5 -0
  524. data/stdlib/socket/0/tcp_server.rbs +192 -0
  525. data/stdlib/socket/0/tcp_socket.rbs +87 -0
  526. data/stdlib/socket/0/udp_socket.rbs +133 -0
  527. data/stdlib/socket/0/unix_server.rbs +169 -0
  528. data/stdlib/socket/0/unix_socket.rbs +172 -0
  529. data/stdlib/stringio/0/stringio.rbs +1681 -0
  530. data/stdlib/strscan/0/string_scanner.rbs +1648 -0
  531. data/stdlib/tempfile/0/tempfile.rbs +483 -0
  532. data/stdlib/time/0/time.rbs +434 -0
  533. data/stdlib/timeout/0/timeout.rbs +137 -0
  534. data/stdlib/tmpdir/0/tmpdir.rbs +69 -0
  535. data/stdlib/tsort/0/cyclic.rbs +8 -0
  536. data/stdlib/tsort/0/interfaces.rbs +20 -0
  537. data/stdlib/tsort/0/tsort.rbs +410 -0
  538. data/stdlib/uri/0/common.rbs +621 -0
  539. data/stdlib/uri/0/file.rbs +118 -0
  540. data/stdlib/uri/0/ftp.rbs +13 -0
  541. data/stdlib/uri/0/generic.rbs +1116 -0
  542. data/stdlib/uri/0/http.rbs +104 -0
  543. data/stdlib/uri/0/https.rbs +14 -0
  544. data/stdlib/uri/0/ldap.rbs +230 -0
  545. data/stdlib/uri/0/ldaps.rbs +14 -0
  546. data/stdlib/uri/0/mailto.rbs +92 -0
  547. data/stdlib/uri/0/rfc2396_parser.rbs +189 -0
  548. data/stdlib/uri/0/rfc3986_parser.rbs +2 -0
  549. data/stdlib/uri/0/ws.rbs +13 -0
  550. data/stdlib/uri/0/wss.rbs +9 -0
  551. data/stdlib/yaml/0/manifest.yaml +2 -0
  552. data/stdlib/yaml/0/yaml.rbs +1 -0
  553. data/stdlib/zlib/0/buf_error.rbs +10 -0
  554. data/stdlib/zlib/0/data_error.rbs +10 -0
  555. data/stdlib/zlib/0/deflate.rbs +211 -0
  556. data/stdlib/zlib/0/error.rbs +20 -0
  557. data/stdlib/zlib/0/gzip_file/crc_error.rbs +12 -0
  558. data/stdlib/zlib/0/gzip_file/error.rbs +23 -0
  559. data/stdlib/zlib/0/gzip_file/length_error.rbs +12 -0
  560. data/stdlib/zlib/0/gzip_file/no_footer.rbs +11 -0
  561. data/stdlib/zlib/0/gzip_file.rbs +156 -0
  562. data/stdlib/zlib/0/gzip_reader.rbs +293 -0
  563. data/stdlib/zlib/0/gzip_writer.rbs +168 -0
  564. data/stdlib/zlib/0/inflate.rbs +180 -0
  565. data/stdlib/zlib/0/mem_error.rbs +10 -0
  566. data/stdlib/zlib/0/need_dict.rbs +13 -0
  567. data/stdlib/zlib/0/stream_end.rbs +11 -0
  568. data/stdlib/zlib/0/stream_error.rbs +11 -0
  569. data/stdlib/zlib/0/version_error.rbs +11 -0
  570. data/stdlib/zlib/0/zlib.rbs +449 -0
  571. data/stdlib/zlib/0/zstream.rbs +201 -0
  572. data/wasm/README.md +59 -0
  573. data/wasm/rbs_wasm.c +411 -0
  574. metadata +660 -0
@@ -0,0 +1,884 @@
1
+ # <!-- rdoc-file=ext/etc/etc.c -->
2
+ # The Etc module provides access to information typically stored in files in the
3
+ # <code>/etc</code> directory on Unix systems.
4
+ #
5
+ # The information accessible consists of the information found in the
6
+ # <code>/etc/passwd</code> and <code>/etc/group</code> files, plus information
7
+ # about the system's temporary directory (<code>/tmp</code>) and configuration
8
+ # directory (<code>/etc</code>).
9
+ #
10
+ # The Etc module provides a more reliable way to access information about the
11
+ # logged in user than environment variables such as +$USER+.
12
+ #
13
+ # <strong>Example:</strong>
14
+ #
15
+ # require 'etc'
16
+ #
17
+ # login = Etc.getlogin
18
+ # info = Etc.getpwnam(login)
19
+ # username = info.gecos.split(/,/).first
20
+ # puts "Hello #{username}, I see your login name is #{login}"
21
+ #
22
+ # Note that the methods provided by this module are not always secure. It should
23
+ # be used for informational purposes, and not for security.
24
+ #
25
+ # All operations defined in this module are class methods, so that you can
26
+ # include the Etc module into your class.
27
+ #
28
+ module Etc
29
+ # <!--
30
+ # rdoc-file=ext/etc/etc.c
31
+ # - confstr(name) -> String
32
+ # -->
33
+ # Returns system configuration variable using confstr().
34
+ #
35
+ # *name* should be a constant under `Etc` which begins with `CS_`.
36
+ #
37
+ # The return value is a string or nil. nil means no configuration-defined value.
38
+ # (confstr() returns 0 but errno is not set.)
39
+ #
40
+ # Etc.confstr(Etc::CS_PATH) #=> "/bin:/usr/bin"
41
+ #
42
+ # # GNU/Linux
43
+ # Etc.confstr(Etc::CS_GNU_LIBC_VERSION) #=> "glibc 2.18"
44
+ # Etc.confstr(Etc::CS_GNU_LIBPTHREAD_VERSION) #=> "NPTL 2.18"
45
+ #
46
+ def self?.confstr: (::Integer p1) -> ::String?
47
+
48
+ # <!--
49
+ # rdoc-file=ext/etc/etc.c
50
+ # - endgrent
51
+ # -->
52
+ # Ends the process of scanning through the <code>/etc/group</code> file begun by
53
+ # ::getgrent, and closes the file.
54
+ #
55
+ def self?.endgrent: () -> void
56
+
57
+ # <!--
58
+ # rdoc-file=ext/etc/etc.c
59
+ # - endpwent
60
+ # -->
61
+ # Ends the process of scanning through the <code>/etc/passwd</code> file begun
62
+ # with ::getpwent, and closes the file.
63
+ #
64
+ def self?.endpwent: () -> void
65
+
66
+ # <!--
67
+ # rdoc-file=ext/etc/etc.c
68
+ # - getgrent -> Etc::Group
69
+ # -->
70
+ # Returns an entry from the <code>/etc/group</code> file.
71
+ #
72
+ # The first time it is called it opens the file and returns the first entry;
73
+ # each successive call returns the next entry, or `nil` if the end of the file
74
+ # has been reached.
75
+ #
76
+ # To close the file when processing is complete, call ::endgrent.
77
+ #
78
+ # Each entry is returned as a Group struct
79
+ #
80
+ def self?.getgrent: () -> ::Etc::Group?
81
+
82
+ # <!--
83
+ # rdoc-file=ext/etc/etc.c
84
+ # - getgrgid(group_id) -> Etc::Group
85
+ # -->
86
+ # Returns information about the group with specified integer `group_id`, as
87
+ # found in <code>/etc/group</code>.
88
+ #
89
+ # The information is returned as a Group struct.
90
+ #
91
+ # See the unix manpage for <code>getgrgid(3)</code> for more detail.
92
+ #
93
+ # <strong>Example:</strong>
94
+ #
95
+ # Etc.getgrgid(100)
96
+ # #=> #<struct Etc::Group name="users", passwd="x", gid=100, mem=["meta", "root"]>
97
+ #
98
+ def self?.getgrgid: (?::Integer group_id) -> ::Etc::Group
99
+
100
+ # <!--
101
+ # rdoc-file=ext/etc/etc.c
102
+ # - getgrnam(name) -> Etc::Group
103
+ # -->
104
+ # Returns information about the group with specified `name`, as found in
105
+ # <code>/etc/group</code>.
106
+ #
107
+ # The information is returned as a Group struct.
108
+ #
109
+ # See the unix manpage for <code>getgrnam(3)</code> for more detail.
110
+ #
111
+ # <strong>Example:</strong>
112
+ #
113
+ # Etc.getgrnam('users')
114
+ # #=> #<struct Etc::Group name="users", passwd="x", gid=100, mem=["meta", "root"]>
115
+ #
116
+ def self?.getgrnam: (::String name) -> ::Etc::Group
117
+
118
+ # <!--
119
+ # rdoc-file=ext/etc/etc.c
120
+ # - getlogin -> String
121
+ # -->
122
+ # Returns the short user name of the currently logged in user. Unfortunately, it
123
+ # is often rather easy to fool ::getlogin.
124
+ #
125
+ # Avoid ::getlogin for security-related purposes.
126
+ #
127
+ # If ::getlogin fails, try ::getpwuid.
128
+ #
129
+ # See the unix manpage for <code>getpwuid(3)</code> for more detail.
130
+ #
131
+ # e.g.
132
+ # Etc.getlogin -> 'guest'
133
+ #
134
+ def self?.getlogin: () -> ::String?
135
+
136
+ # <!--
137
+ # rdoc-file=ext/etc/etc.c
138
+ # - getpwent -> Etc::Passwd
139
+ # -->
140
+ # Returns an entry from the <code>/etc/passwd</code> file.
141
+ #
142
+ # The first time it is called it opens the file and returns the first entry;
143
+ # each successive call returns the next entry, or `nil` if the end of the file
144
+ # has been reached.
145
+ #
146
+ # To close the file when processing is complete, call ::endpwent.
147
+ #
148
+ # Each entry is returned as a Passwd struct.
149
+ #
150
+ def self?.getpwent: () -> ::Etc::Passwd?
151
+
152
+ # <!--
153
+ # rdoc-file=ext/etc/etc.c
154
+ # - getpwnam(name) -> Etc::Passwd
155
+ # -->
156
+ # Returns the <code>/etc/passwd</code> information for the user with specified
157
+ # login `name`.
158
+ #
159
+ # The information is returned as a Passwd struct.
160
+ #
161
+ # See the unix manpage for <code>getpwnam(3)</code> for more detail.
162
+ #
163
+ # <strong>Example:</strong>
164
+ #
165
+ # Etc.getpwnam('root')
166
+ # #=> #<struct Etc::Passwd name="root", passwd="x", uid=0, gid=0, gecos="root",dir="/root", shell="/bin/bash">
167
+ #
168
+ def self?.getpwnam: (::String name) -> ::Etc::Passwd
169
+
170
+ # <!--
171
+ # rdoc-file=ext/etc/etc.c
172
+ # - getpwuid(uid) -> Etc::Passwd
173
+ # -->
174
+ # Returns the <code>/etc/passwd</code> information for the user with the given
175
+ # integer `uid`.
176
+ #
177
+ # The information is returned as a Passwd struct.
178
+ #
179
+ # If `uid` is omitted, the value from <code>Passwd[:uid]</code> is returned
180
+ # instead.
181
+ #
182
+ # See the unix manpage for <code>getpwuid(3)</code> for more detail.
183
+ #
184
+ # <strong>Example:</strong>
185
+ #
186
+ # Etc.getpwuid(0)
187
+ # #=> #<struct Etc::Passwd name="root", passwd="x", uid=0, gid=0, gecos="root",dir="/root", shell="/bin/bash">
188
+ #
189
+ def self?.getpwuid: (?::Integer uid) -> ::Etc::Passwd
190
+
191
+ # <!--
192
+ # rdoc-file=ext/etc/etc.c
193
+ # - group { |struct| block }
194
+ # - group -> Etc::Group
195
+ # -->
196
+ # Provides a convenient Ruby iterator which executes a block for each entry in
197
+ # the <code>/etc/group</code> file.
198
+ #
199
+ # The code block is passed an Group struct.
200
+ #
201
+ # See ::getgrent above for details.
202
+ #
203
+ # <strong>Example:</strong>
204
+ #
205
+ # require 'etc'
206
+ #
207
+ # Etc.group {|g|
208
+ # puts g.name + ": " + g.mem.join(', ')
209
+ # }
210
+ #
211
+ def self?.group: () { (::Etc::Group group) -> void } -> void
212
+ | () -> ::Etc::Group?
213
+
214
+ # <!--
215
+ # rdoc-file=ext/etc/etc.c
216
+ # - nprocessors -> Integer
217
+ # -->
218
+ # Returns the number of online processors.
219
+ #
220
+ # The result is intended as the number of processes to use all available
221
+ # processors.
222
+ #
223
+ # This method is implemented using:
224
+ # * sched_getaffinity(): Linux
225
+ # * sysconf(_SC_NPROCESSORS_ONLN): GNU/Linux, NetBSD, FreeBSD, OpenBSD,
226
+ # DragonFly BSD, OpenIndiana, Mac OS X, AIX
227
+ #
228
+ # <strong>Example:</strong>
229
+ #
230
+ # require 'etc'
231
+ # p Etc.nprocessors #=> 4
232
+ #
233
+ # The result might be smaller number than physical cpus especially when ruby
234
+ # process is bound to specific cpus. This is intended for getting better
235
+ # parallel processing.
236
+ #
237
+ # <strong>Example:</strong> (Linux)
238
+ #
239
+ # linux$ taskset 0x3 ./ruby -retc -e "p Etc.nprocessors" #=> 2
240
+ #
241
+ def self?.nprocessors: () -> ::Integer
242
+
243
+ # <!--
244
+ # rdoc-file=ext/etc/etc.c
245
+ # - passwd { |struct| block }
246
+ # - passwd -> Etc::Passwd
247
+ # -->
248
+ # Provides a convenient Ruby iterator which executes a block for each entry in
249
+ # the <code>/etc/passwd</code> file.
250
+ #
251
+ # The code block is passed an Passwd struct.
252
+ #
253
+ # See ::getpwent above for details.
254
+ #
255
+ # <strong>Example:</strong>
256
+ #
257
+ # require 'etc'
258
+ #
259
+ # Etc.passwd {|u|
260
+ # puts u.name + " = " + u.gecos
261
+ # }
262
+ #
263
+ def self?.passwd: () { (::Etc::Passwd passwd) -> void } -> void
264
+ | () -> ::Etc::Passwd?
265
+
266
+ # <!--
267
+ # rdoc-file=ext/etc/etc.c
268
+ # - setgrent
269
+ # -->
270
+ # Resets the process of reading the <code>/etc/group</code> file, so that the
271
+ # next call to ::getgrent will return the first entry again.
272
+ #
273
+ def self?.setgrent: () -> void
274
+
275
+ # <!--
276
+ # rdoc-file=ext/etc/etc.c
277
+ # - setpwent
278
+ # -->
279
+ # Resets the process of reading the <code>/etc/passwd</code> file, so that the
280
+ # next call to ::getpwent will return the first entry again.
281
+ #
282
+ def self?.setpwent: () -> void
283
+
284
+ # <!--
285
+ # rdoc-file=ext/etc/etc.c
286
+ # - sysconf(name) -> Integer
287
+ # -->
288
+ # Returns system configuration variable using sysconf().
289
+ #
290
+ # *name* should be a constant under `Etc` which begins with `SC_`.
291
+ #
292
+ # The return value is an integer or nil. nil means indefinite limit. (sysconf()
293
+ # returns -1 but errno is not set.)
294
+ #
295
+ # Etc.sysconf(Etc::SC_ARG_MAX) #=> 2097152
296
+ # Etc.sysconf(Etc::SC_LOGIN_NAME_MAX) #=> 256
297
+ #
298
+ def self?.sysconf: (::Integer p1) -> ::Integer?
299
+
300
+ # <!--
301
+ # rdoc-file=ext/etc/etc.c
302
+ # - sysconfdir -> String
303
+ # -->
304
+ # Returns system configuration directory.
305
+ #
306
+ # This is typically <code>"/etc"</code>, but is modified by the prefix used when
307
+ # Ruby was compiled. For example, if Ruby is built and installed in
308
+ # <code>/usr/local</code>, returns <code>"/usr/local/etc"</code> on other
309
+ # platforms than Windows.
310
+ #
311
+ # On Windows, this always returns the directory provided by the system.
312
+ #
313
+ def self?.sysconfdir: () -> ::String
314
+
315
+ # <!--
316
+ # rdoc-file=ext/etc/etc.c
317
+ # - systmpdir -> String
318
+ # -->
319
+ # Returns system temporary directory; typically "/tmp".
320
+ #
321
+ def self?.systmpdir: () -> ::String?
322
+
323
+ # <!--
324
+ # rdoc-file=ext/etc/etc.c
325
+ # - uname -> hash
326
+ # -->
327
+ # Returns the system information obtained by uname system call.
328
+ #
329
+ # The return value is a hash which has 5 keys at least:
330
+ # :sysname, :nodename, :release, :version, :machine
331
+ #
332
+ # <strong>Example:</strong>
333
+ #
334
+ # require 'etc'
335
+ # require 'pp'
336
+ #
337
+ # pp Etc.uname
338
+ # #=> {:sysname=>"Linux",
339
+ # # :nodename=>"boron",
340
+ # # :release=>"2.6.18-6-xen-686",
341
+ # # :version=>"#1 SMP Thu Nov 5 19:54:42 UTC 2009",
342
+ # # :machine=>"i686"}
343
+ #
344
+ def self?.uname: () -> { sysname: ::String, nodename: ::String, release: ::String, version: ::String, machine: ::String }
345
+
346
+ private
347
+
348
+ CS_PATH: Integer
349
+
350
+ CS_POSIX_V6_ILP32_OFF32_CFLAGS: Integer
351
+
352
+ CS_POSIX_V6_ILP32_OFF32_LDFLAGS: Integer
353
+
354
+ CS_POSIX_V6_ILP32_OFF32_LIBS: Integer
355
+
356
+ CS_POSIX_V6_ILP32_OFFBIG_CFLAGS: Integer
357
+
358
+ CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS: Integer
359
+
360
+ CS_POSIX_V6_ILP32_OFFBIG_LIBS: Integer
361
+
362
+ CS_POSIX_V6_LP64_OFF64_CFLAGS: Integer
363
+
364
+ CS_POSIX_V6_LP64_OFF64_LDFLAGS: Integer
365
+
366
+ CS_POSIX_V6_LP64_OFF64_LIBS: Integer
367
+
368
+ CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS: Integer
369
+
370
+ CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS: Integer
371
+
372
+ CS_POSIX_V6_LPBIG_OFFBIG_LIBS: Integer
373
+
374
+ CS_POSIX_V6_WIDTH_RESTRICTED_ENVS: Integer
375
+
376
+ PC_2_SYMLINKS: Integer
377
+
378
+ PC_ALLOC_SIZE_MIN: Integer
379
+
380
+ PC_ASYNC_IO: Integer
381
+
382
+ PC_CHOWN_RESTRICTED: Integer
383
+
384
+ PC_FILESIZEBITS: Integer
385
+
386
+ PC_LINK_MAX: Integer
387
+
388
+ PC_MAX_CANON: Integer
389
+
390
+ PC_MAX_INPUT: Integer
391
+
392
+ PC_NAME_MAX: Integer
393
+
394
+ PC_NO_TRUNC: Integer
395
+
396
+ PC_PATH_MAX: Integer
397
+
398
+ PC_PIPE_BUF: Integer
399
+
400
+ PC_PRIO_IO: Integer
401
+
402
+ PC_REC_INCR_XFER_SIZE: Integer
403
+
404
+ PC_REC_MAX_XFER_SIZE: Integer
405
+
406
+ PC_REC_MIN_XFER_SIZE: Integer
407
+
408
+ PC_REC_XFER_ALIGN: Integer
409
+
410
+ PC_SYMLINK_MAX: Integer
411
+
412
+ PC_SYNC_IO: Integer
413
+
414
+ PC_VDISABLE: Integer
415
+
416
+ SC_2_CHAR_TERM: Integer
417
+
418
+ SC_2_C_BIND: Integer
419
+
420
+ SC_2_C_DEV: Integer
421
+
422
+ SC_2_FORT_DEV: Integer
423
+
424
+ SC_2_FORT_RUN: Integer
425
+
426
+ SC_2_LOCALEDEF: Integer
427
+
428
+ SC_2_PBS: Integer
429
+
430
+ SC_2_PBS_ACCOUNTING: Integer
431
+
432
+ SC_2_PBS_CHECKPOINT: Integer
433
+
434
+ SC_2_PBS_LOCATE: Integer
435
+
436
+ SC_2_PBS_MESSAGE: Integer
437
+
438
+ SC_2_PBS_TRACK: Integer
439
+
440
+ SC_2_SW_DEV: Integer
441
+
442
+ SC_2_UPE: Integer
443
+
444
+ SC_2_VERSION: Integer
445
+
446
+ SC_ADVISORY_INFO: Integer
447
+
448
+ SC_AIO_LISTIO_MAX: Integer
449
+
450
+ SC_AIO_MAX: Integer
451
+
452
+ SC_AIO_PRIO_DELTA_MAX: Integer
453
+
454
+ SC_ARG_MAX: Integer
455
+
456
+ SC_ASYNCHRONOUS_IO: Integer
457
+
458
+ SC_ATEXIT_MAX: Integer
459
+
460
+ SC_BARRIERS: Integer
461
+
462
+ SC_BC_BASE_MAX: Integer
463
+
464
+ SC_BC_DIM_MAX: Integer
465
+
466
+ SC_BC_SCALE_MAX: Integer
467
+
468
+ SC_BC_STRING_MAX: Integer
469
+
470
+ SC_CHILD_MAX: Integer
471
+
472
+ SC_CLK_TCK: Integer
473
+
474
+ SC_CLOCK_SELECTION: Integer
475
+
476
+ SC_COLL_WEIGHTS_MAX: Integer
477
+
478
+ SC_CPUTIME: Integer
479
+
480
+ SC_DELAYTIMER_MAX: Integer
481
+
482
+ SC_EXPR_NEST_MAX: Integer
483
+
484
+ SC_FSYNC: Integer
485
+
486
+ SC_GETGR_R_SIZE_MAX: Integer
487
+
488
+ SC_GETPW_R_SIZE_MAX: Integer
489
+
490
+ SC_HOST_NAME_MAX: Integer
491
+
492
+ SC_IOV_MAX: Integer
493
+
494
+ SC_IPV6: Integer
495
+
496
+ SC_JOB_CONTROL: Integer
497
+
498
+ SC_LINE_MAX: Integer
499
+
500
+ SC_LOGIN_NAME_MAX: Integer
501
+
502
+ SC_MAPPED_FILES: Integer
503
+
504
+ SC_MEMLOCK: Integer
505
+
506
+ SC_MEMLOCK_RANGE: Integer
507
+
508
+ SC_MEMORY_PROTECTION: Integer
509
+
510
+ SC_MESSAGE_PASSING: Integer
511
+
512
+ SC_MONOTONIC_CLOCK: Integer
513
+
514
+ SC_MQ_OPEN_MAX: Integer
515
+
516
+ SC_MQ_PRIO_MAX: Integer
517
+
518
+ SC_NGROUPS_MAX: Integer
519
+
520
+ SC_NPROCESSORS_CONF: Integer
521
+
522
+ SC_NPROCESSORS_ONLN: Integer
523
+
524
+ SC_OPEN_MAX: Integer
525
+
526
+ SC_PAGESIZE: Integer
527
+
528
+ SC_PAGE_SIZE: Integer
529
+
530
+ SC_PHYS_PAGES: Integer
531
+
532
+ SC_PRIORITIZED_IO: Integer
533
+
534
+ SC_PRIORITY_SCHEDULING: Integer
535
+
536
+ SC_RAW_SOCKETS: Integer
537
+
538
+ SC_READER_WRITER_LOCKS: Integer
539
+
540
+ SC_REALTIME_SIGNALS: Integer
541
+
542
+ SC_REGEXP: Integer
543
+
544
+ SC_RE_DUP_MAX: Integer
545
+
546
+ SC_RTSIG_MAX: Integer
547
+
548
+ SC_SAVED_IDS: Integer
549
+
550
+ SC_SEMAPHORES: Integer
551
+
552
+ SC_SEM_NSEMS_MAX: Integer
553
+
554
+ SC_SEM_VALUE_MAX: Integer
555
+
556
+ SC_SHARED_MEMORY_OBJECTS: Integer
557
+
558
+ SC_SHELL: Integer
559
+
560
+ SC_SIGQUEUE_MAX: Integer
561
+
562
+ SC_SPAWN: Integer
563
+
564
+ SC_SPIN_LOCKS: Integer
565
+
566
+ SC_SPORADIC_SERVER: Integer
567
+
568
+ SC_SS_REPL_MAX: Integer
569
+
570
+ SC_STREAM_MAX: Integer
571
+
572
+ SC_SYMLOOP_MAX: Integer
573
+
574
+ SC_SYNCHRONIZED_IO: Integer
575
+
576
+ SC_THREADS: Integer
577
+
578
+ SC_THREAD_ATTR_STACKADDR: Integer
579
+
580
+ SC_THREAD_ATTR_STACKSIZE: Integer
581
+
582
+ SC_THREAD_CPUTIME: Integer
583
+
584
+ SC_THREAD_DESTRUCTOR_ITERATIONS: Integer
585
+
586
+ SC_THREAD_KEYS_MAX: Integer
587
+
588
+ SC_THREAD_PRIORITY_SCHEDULING: Integer
589
+
590
+ SC_THREAD_PRIO_INHERIT: Integer
591
+
592
+ SC_THREAD_PRIO_PROTECT: Integer
593
+
594
+ SC_THREAD_PROCESS_SHARED: Integer
595
+
596
+ SC_THREAD_SAFE_FUNCTIONS: Integer
597
+
598
+ SC_THREAD_SPORADIC_SERVER: Integer
599
+
600
+ SC_THREAD_STACK_MIN: Integer
601
+
602
+ SC_THREAD_THREADS_MAX: Integer
603
+
604
+ SC_TIMEOUTS: Integer
605
+
606
+ SC_TIMERS: Integer
607
+
608
+ SC_TIMER_MAX: Integer
609
+
610
+ SC_TRACE: Integer
611
+
612
+ SC_TRACE_EVENT_FILTER: Integer
613
+
614
+ SC_TRACE_EVENT_NAME_MAX: Integer
615
+
616
+ SC_TRACE_INHERIT: Integer
617
+
618
+ SC_TRACE_LOG: Integer
619
+
620
+ SC_TRACE_NAME_MAX: Integer
621
+
622
+ SC_TRACE_SYS_MAX: Integer
623
+
624
+ SC_TRACE_USER_EVENT_MAX: Integer
625
+
626
+ SC_TTY_NAME_MAX: Integer
627
+
628
+ SC_TYPED_MEMORY_OBJECTS: Integer
629
+
630
+ SC_TZNAME_MAX: Integer
631
+
632
+ SC_V6_ILP32_OFF32: Integer
633
+
634
+ SC_V6_ILP32_OFFBIG: Integer
635
+
636
+ SC_V6_LP64_OFF64: Integer
637
+
638
+ SC_V6_LPBIG_OFFBIG: Integer
639
+
640
+ SC_VERSION: Integer
641
+
642
+ SC_XOPEN_CRYPT: Integer
643
+
644
+ SC_XOPEN_ENH_I18N: Integer
645
+
646
+ SC_XOPEN_REALTIME: Integer
647
+
648
+ SC_XOPEN_REALTIME_THREADS: Integer
649
+
650
+ SC_XOPEN_SHM: Integer
651
+
652
+ SC_XOPEN_STREAMS: Integer
653
+
654
+ SC_XOPEN_UNIX: Integer
655
+
656
+ SC_XOPEN_VERSION: Integer
657
+
658
+ # <!-- rdoc-file=ext/etc/etc.c -->
659
+ # The version
660
+ #
661
+ VERSION: String
662
+
663
+ # <!-- rdoc-file=ext/etc/etc.c -->
664
+ # Group is a placeholder Struct for user group database on Unix systems.
665
+ #
666
+ # ### The struct contains the following members
667
+ #
668
+ # name
669
+ # : contains the name of the group as a String.
670
+ #
671
+ # passwd
672
+ # : contains the encrypted password as a String. An <code>'x'</code> is
673
+ # returned if password access to the group is not available; an empty string
674
+ # is returned if no password is needed to obtain membership of the group.
675
+ # This is system-dependent.
676
+ #
677
+ # gid
678
+ # : contains the group's numeric ID as an integer.
679
+ #
680
+ # mem
681
+ # : is an Array of Strings containing the short login names of the members of
682
+ # the group.
683
+ #
684
+ class Group < Struct[untyped]
685
+ extend Enumerable[untyped]
686
+
687
+ def self.[]: (*untyped) -> untyped
688
+
689
+ # <!--
690
+ # rdoc-file=ext/etc/etc.c
691
+ # - Etc::Group.each { |group| block } -> Etc::Group
692
+ # - Etc::Group.each -> Enumerator
693
+ # -->
694
+ # Iterates for each entry in the <code>/etc/group</code> file if a block is
695
+ # given.
696
+ #
697
+ # If no block is given, returns the Enumerator.
698
+ #
699
+ # The code block is passed a Group struct.
700
+ #
701
+ # <strong>Example:</strong>
702
+ #
703
+ # require 'etc'
704
+ #
705
+ # Etc::Group.each {|g|
706
+ # puts g.name + ": " + g.mem.join(', ')
707
+ # }
708
+ #
709
+ # Etc::Group.collect {|g| g.name}
710
+ # Etc::Group.select {|g| !g.mem.empty?}
711
+ #
712
+ def self.each: () { (::Etc::Group) -> void } -> singleton(::Etc::Group)
713
+ | () -> ::Enumerator[::Etc::Group]
714
+
715
+ def self.inspect: () -> untyped
716
+
717
+ def self.keyword_init?: () -> untyped
718
+
719
+ def self.members: () -> untyped
720
+
721
+ def self.new: (*untyped) -> untyped
722
+
723
+ def gid: () -> Integer
724
+
725
+ def gid=: (Integer new_gid) -> void
726
+
727
+ def mem: () -> Array[String]
728
+
729
+ def mem=: (Array[String] new_mem) -> void
730
+
731
+ def name: () -> String
732
+
733
+ def name=: (String new_name) -> void
734
+
735
+ def passwd: () -> String
736
+
737
+ def passwd=: (String new_passwd) -> void
738
+ end
739
+
740
+ # <!-- rdoc-file=ext/etc/etc.c -->
741
+ # Passwd is a placeholder Struct for user database on Unix systems.
742
+ #
743
+ # ### The struct contains the following members
744
+ #
745
+ # name
746
+ # : contains the short login name of the user as a String.
747
+ #
748
+ # passwd
749
+ # : contains the encrypted password of the user as a String. an
750
+ # <code>'x'</code> is returned if shadow passwords are in use. An
751
+ # <code>'*'</code> is returned if the user cannot log in using a password.
752
+ #
753
+ # uid
754
+ # : contains the integer user ID (uid) of the user.
755
+ #
756
+ # gid
757
+ # : contains the integer group ID (gid) of the user's primary group.
758
+ #
759
+ # dir
760
+ # : contains the path to the home directory of the user as a String.
761
+ #
762
+ # shell
763
+ # : contains the path to the login shell of the user as a String.
764
+ #
765
+ #
766
+ # ### The following members below are system-dependent
767
+ #
768
+ # gecos
769
+ # : contains a longer String description of the user, such as a full name.
770
+ # Some Unix systems provide structured information in the gecos field, but
771
+ # this is system-dependent.
772
+ #
773
+ # change
774
+ # : password change time(integer).
775
+ #
776
+ # quota
777
+ # : quota value(integer).
778
+ #
779
+ # age
780
+ # : password age(integer).
781
+ #
782
+ # class
783
+ # : user access class(string).
784
+ #
785
+ # comment
786
+ # : comment(string).
787
+ #
788
+ # expire
789
+ # : account expiration time(integer).
790
+ #
791
+ class Passwd < Struct[untyped]
792
+ extend Enumerable[untyped]
793
+
794
+ def self.[]: (*untyped) -> untyped
795
+
796
+ # <!--
797
+ # rdoc-file=ext/etc/etc.c
798
+ # - Etc::Passwd.each { |struct| block } -> Etc::Passwd
799
+ # - Etc::Passwd.each -> Enumerator
800
+ # -->
801
+ # Iterates for each entry in the <code>/etc/passwd</code> file if a block is
802
+ # given.
803
+ #
804
+ # If no block is given, returns the Enumerator.
805
+ #
806
+ # The code block is passed an Passwd struct.
807
+ #
808
+ # See Etc.getpwent above for details.
809
+ #
810
+ # <strong>Example:</strong>
811
+ #
812
+ # require 'etc'
813
+ #
814
+ # Etc::Passwd.each {|u|
815
+ # puts u.name + " = " + u.gecos
816
+ # }
817
+ #
818
+ # Etc::Passwd.collect {|u| u.gecos}
819
+ # Etc::Passwd.collect {|u| u.gecos}
820
+ #
821
+ def self.each: () { (::Etc::Passwd) -> void } -> singleton(::Etc::Passwd)
822
+ | () -> ::Enumerator[::Etc::Passwd]
823
+
824
+ def self.inspect: () -> untyped
825
+
826
+ def self.keyword_init?: () -> untyped
827
+
828
+ def self.members: () -> untyped
829
+
830
+ def self.new: (*untyped) -> untyped
831
+
832
+ def age: () -> Integer
833
+
834
+ def age=: (Integer new_age) -> void
835
+
836
+ def change: () -> Integer
837
+
838
+ def change=: (Integer new_change) -> void
839
+
840
+ def comment: () -> String
841
+
842
+ def comment=: (String new_comment) -> void
843
+
844
+ def dir: () -> String
845
+
846
+ def dir=: (String new_dir) -> void
847
+
848
+ def expire: () -> Integer
849
+
850
+ def expire=: (Integer new_expire) -> void
851
+
852
+ def gecos: () -> String
853
+
854
+ def gecos=: (String new_gecos) -> void
855
+
856
+ def gid: () -> Integer
857
+
858
+ def gid=: (Integer new_gid) -> void
859
+
860
+ def name: () -> String
861
+
862
+ def name=: (String new_name) -> void
863
+
864
+ def passwd: () -> String
865
+
866
+ def passwd=: (String new_passwd) -> void
867
+
868
+ def quota: () -> Integer
869
+
870
+ def quota=: (Integer new_quota) -> void
871
+
872
+ def shell: () -> String
873
+
874
+ def shell=: (String new_shell) -> void
875
+
876
+ def uclass: () -> String
877
+
878
+ def uclass=: (String new_uclass) -> void
879
+
880
+ def uid: () -> Integer
881
+
882
+ def uid=: (Integer new_uid) -> void
883
+ end
884
+ end