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,534 @@
1
+ # <!-- rdoc-file=file.c -->
2
+ # Objects of class File::Stat encapsulate common status information for File
3
+ # objects. The information is recorded at the moment the File::Stat object is
4
+ # created; changes made to the file after that point will not be reflected.
5
+ # File::Stat objects are returned by IO#stat, File::stat, File#lstat, and
6
+ # File::lstat. Many of these methods return platform-specific values, and not
7
+ # all values are meaningful on all systems. See also Kernel#test.
8
+ #
9
+ class File::Stat
10
+ include Comparable
11
+
12
+ # <!--
13
+ # rdoc-file=file.c
14
+ # - File::Stat.new(file_name) -> stat
15
+ # -->
16
+ # Create a File::Stat object for the given file name (raising an exception if
17
+ # the file doesn't exist).
18
+ #
19
+ def initialize: (path file_name) -> void
20
+
21
+ def initialize_copy: (self other) -> void
22
+
23
+ # <!--
24
+ # rdoc-file=file.c
25
+ # - self <=> other -> -1, 0, 1, or nil
26
+ # -->
27
+ # Compares `self` and `other`, by comparing their modification times; that is,
28
+ # by comparing <code>self.mtime</code> and <code>other.mtime</code>.
29
+ #
30
+ # Returns:
31
+ #
32
+ # * <code>-1</code>, if <code>self.mtime</code> is earlier.
33
+ # * `0`, if the two values are equal.
34
+ # * `1`, if <code>self.mtime</code> is later.
35
+ # * `nil`, if `other` is not a File::Stat object.
36
+ #
37
+ # Examples:
38
+ #
39
+ # stat0 = File.stat('README.md')
40
+ # stat1 = File.stat('NEWS.md')
41
+ # stat0.mtime # => 2025-12-20 15:33:05.6972341 -0600
42
+ # stat1.mtime # => 2025-12-20 16:02:08.2672945 -0600
43
+ # stat0 <=> stat1 # => -1
44
+ # stat0 <=> stat0.dup # => 0
45
+ # stat1 <=> stat0 # => 1
46
+ # stat0 <=> :foo # => nil
47
+ #
48
+ # Class File::Stat includes module Comparable, each of whose methods uses
49
+ # File::Stat#<=> for comparison.
50
+ #
51
+ def <=>: (self other) -> (-1 | 0 | 1)
52
+ | (untyped) -> (-1 | 0 | 1)?
53
+
54
+ # <!--
55
+ # rdoc-file=file.c
56
+ # - stat.atime -> time
57
+ # -->
58
+ # Returns the last access time for this file as an object of class Time.
59
+ #
60
+ # File.stat("testfile").atime #=> Wed Dec 31 18:00:00 CST 1969
61
+ #
62
+ def atime: () -> Time
63
+
64
+ # <!--
65
+ # rdoc-file=file.c
66
+ # - stat.birthtime -> time
67
+ # -->
68
+ # Returns the birth time for *stat*.
69
+ #
70
+ # If the platform doesn't have birthtime, raises NotImplementedError.
71
+ #
72
+ # File.write("testfile", "foo")
73
+ # sleep 10
74
+ # File.write("testfile", "bar")
75
+ # sleep 10
76
+ # File.chmod(0644, "testfile")
77
+ # sleep 10
78
+ # File.read("testfile")
79
+ # File.stat("testfile").birthtime #=> 2014-02-24 11:19:17 +0900
80
+ # File.stat("testfile").mtime #=> 2014-02-24 11:19:27 +0900
81
+ # File.stat("testfile").ctime #=> 2014-02-24 11:19:37 +0900
82
+ # File.stat("testfile").atime #=> 2014-02-24 11:19:47 +0900
83
+ #
84
+ def birthtime: () -> Time
85
+
86
+ # <!--
87
+ # rdoc-file=file.c
88
+ # - stat.blksize -> integer or nil
89
+ # -->
90
+ # Returns the native file system's block size. Will return `nil` on platforms
91
+ # that don't support this information.
92
+ #
93
+ # File.stat("testfile").blksize #=> 4096
94
+ #
95
+ def blksize: () -> Integer?
96
+
97
+ # <!--
98
+ # rdoc-file=file.c
99
+ # - stat.blockdev? -> true or false
100
+ # -->
101
+ # Returns `true` if the file is a block device, `false` if it isn't or if the
102
+ # operating system doesn't support this feature.
103
+ #
104
+ # File.stat("testfile").blockdev? #=> false
105
+ # File.stat("/dev/hda1").blockdev? #=> true
106
+ #
107
+ def blockdev?: () -> bool
108
+
109
+ # <!--
110
+ # rdoc-file=file.c
111
+ # - stat.blocks -> integer or nil
112
+ # -->
113
+ # Returns the number of native file system blocks allocated for this file, or
114
+ # `nil` if the operating system doesn't support this feature.
115
+ #
116
+ # File.stat("testfile").blocks #=> 2
117
+ #
118
+ def blocks: () -> Integer?
119
+
120
+ # <!--
121
+ # rdoc-file=file.c
122
+ # - stat.chardev? -> true or false
123
+ # -->
124
+ # Returns `true` if the file is a character device, `false` if it isn't or if
125
+ # the operating system doesn't support this feature.
126
+ #
127
+ # File.stat("/dev/tty").chardev? #=> true
128
+ #
129
+ def chardev?: () -> bool
130
+
131
+ # <!--
132
+ # rdoc-file=file.c
133
+ # - stat.ctime -> time
134
+ # -->
135
+ # Returns the change time for *stat* (that is, the time directory information
136
+ # about the file was changed, not the file itself).
137
+ #
138
+ # Note that on Windows (NTFS), returns creation time (birth time).
139
+ #
140
+ # File.stat("testfile").ctime #=> Wed Apr 09 08:53:14 CDT 2003
141
+ #
142
+ def ctime: () -> Time
143
+
144
+ # <!--
145
+ # rdoc-file=file.c
146
+ # - stat.dev -> integer
147
+ # -->
148
+ # Returns an integer representing the device on which *stat* resides.
149
+ #
150
+ # File.stat("testfile").dev #=> 774
151
+ #
152
+ def dev: () -> Integer
153
+
154
+ # <!--
155
+ # rdoc-file=file.c
156
+ # - stat.dev_major -> integer
157
+ # -->
158
+ # Returns the major part of <code>File_Stat#dev</code> or `nil`.
159
+ #
160
+ # File.stat("/dev/fd1").dev_major #=> 2
161
+ # File.stat("/dev/tty").dev_major #=> 5
162
+ #
163
+ def dev_major: () -> Integer?
164
+
165
+ # <!--
166
+ # rdoc-file=file.c
167
+ # - stat.dev_minor -> integer
168
+ # -->
169
+ # Returns the minor part of <code>File_Stat#dev</code> or `nil`.
170
+ #
171
+ # File.stat("/dev/fd1").dev_minor #=> 1
172
+ # File.stat("/dev/tty").dev_minor #=> 0
173
+ #
174
+ def dev_minor: () -> Integer?
175
+
176
+ # <!--
177
+ # rdoc-file=file.c
178
+ # - stat.directory? -> true or false
179
+ # -->
180
+ # Returns `true` if *stat* is a directory, `false` otherwise.
181
+ #
182
+ # File.stat("testfile").directory? #=> false
183
+ # File.stat(".").directory? #=> true
184
+ #
185
+ def directory?: () -> bool
186
+
187
+ # <!--
188
+ # rdoc-file=file.c
189
+ # - stat.executable? -> true or false
190
+ # -->
191
+ # Returns `true` if *stat* is executable or if the operating system doesn't
192
+ # distinguish executable files from nonexecutable files. The tests are made
193
+ # using the effective owner of the process.
194
+ #
195
+ # File.stat("testfile").executable? #=> false
196
+ #
197
+ def executable?: () -> bool
198
+
199
+ # <!--
200
+ # rdoc-file=file.c
201
+ # - stat.executable_real? -> true or false
202
+ # -->
203
+ # Same as <code>executable?</code>, but tests using the real owner of the
204
+ # process.
205
+ #
206
+ def executable_real?: () -> bool
207
+
208
+ # <!--
209
+ # rdoc-file=file.c
210
+ # - stat.file? -> true or false
211
+ # -->
212
+ # Returns `true` if *stat* is a regular file (not a device file, pipe, socket,
213
+ # etc.).
214
+ #
215
+ # File.stat("testfile").file? #=> true
216
+ #
217
+ def file?: () -> bool
218
+
219
+ # <!--
220
+ # rdoc-file=file.c
221
+ # - stat.ftype -> string
222
+ # -->
223
+ # Identifies the type of *stat*. The return string is one of: ```file`'',
224
+ # ```directory`'', ```characterSpecial`'', ```blockSpecial`'', ```fifo`'',
225
+ # ```link`'', ```socket`'', or ```unknown`''.
226
+ #
227
+ # File.stat("/dev/tty").ftype #=> "characterSpecial"
228
+ #
229
+ def ftype: () -> File::ftype
230
+
231
+ # <!--
232
+ # rdoc-file=file.c
233
+ # - stat.gid -> integer
234
+ # -->
235
+ # Returns the numeric group id of the owner of *stat*.
236
+ #
237
+ # File.stat("testfile").gid #=> 500
238
+ #
239
+ def gid: () -> Integer
240
+
241
+ # <!--
242
+ # rdoc-file=file.c
243
+ # - stat.grpowned? -> true or false
244
+ # -->
245
+ # Returns true if the effective group id of the process is the same as the group
246
+ # id of *stat*. On Windows, returns `false`.
247
+ #
248
+ # File.stat("testfile").grpowned? #=> true
249
+ # File.stat("/etc/passwd").grpowned? #=> false
250
+ #
251
+ def grpowned?: () -> bool
252
+
253
+ # <!--
254
+ # rdoc-file=file.c
255
+ # - stat.ino -> integer
256
+ # -->
257
+ # Returns the inode number for *stat*.
258
+ #
259
+ # File.stat("testfile").ino #=> 1083669
260
+ #
261
+ def ino: () -> Integer
262
+
263
+ # <!--
264
+ # rdoc-file=file.c
265
+ # - stat.inspect -> string
266
+ # -->
267
+ # Produce a nicely formatted description of *stat*.
268
+ #
269
+ # File.stat("/etc/passwd").inspect
270
+ # #=> "#<File::Stat dev=0xe000005, ino=1078078, mode=0100644,
271
+ # # nlink=1, uid=0, gid=0, rdev=0x0, size=1374, blksize=4096,
272
+ # # blocks=8, atime=Wed Dec 10 10:16:12 CST 2003,
273
+ # # mtime=Fri Sep 12 15:41:41 CDT 2003,
274
+ # # ctime=Mon Oct 27 11:20:27 CST 2003,
275
+ # # birthtime=Mon Aug 04 08:13:49 CDT 2003>"
276
+ #
277
+ def inspect: () -> String
278
+
279
+ # <!--
280
+ # rdoc-file=file.c
281
+ # - stat.mode -> integer
282
+ # -->
283
+ # Returns an integer representing the permission bits of *stat*. The meaning of
284
+ # the bits is platform dependent; on Unix systems, see <code>stat(2)</code>.
285
+ #
286
+ # File.chmod(0644, "testfile") #=> 1
287
+ # s = File.stat("testfile")
288
+ # sprintf("%o", s.mode) #=> "100644"
289
+ #
290
+ def mode: () -> Integer
291
+
292
+ # <!--
293
+ # rdoc-file=file.c
294
+ # - stat.mtime -> time
295
+ # -->
296
+ # Returns the modification time of *stat*.
297
+ #
298
+ # File.stat("testfile").mtime #=> Wed Apr 09 08:53:14 CDT 2003
299
+ #
300
+ def mtime: () -> Time
301
+
302
+ # <!--
303
+ # rdoc-file=file.c
304
+ # - stat.nlink -> integer
305
+ # -->
306
+ # Returns the number of hard links to *stat*.
307
+ #
308
+ # File.stat("testfile").nlink #=> 1
309
+ # File.link("testfile", "testfile.bak") #=> 0
310
+ # File.stat("testfile").nlink #=> 2
311
+ #
312
+ def nlink: () -> Integer
313
+
314
+ # <!--
315
+ # rdoc-file=file.c
316
+ # - stat.owned? -> true or false
317
+ # -->
318
+ # Returns `true` if the effective user id of the process is the same as the
319
+ # owner of *stat*.
320
+ #
321
+ # File.stat("testfile").owned? #=> true
322
+ # File.stat("/etc/passwd").owned? #=> false
323
+ #
324
+ def owned?: () -> bool
325
+
326
+ # <!--
327
+ # rdoc-file=file.c
328
+ # - stat.pipe? -> true or false
329
+ # -->
330
+ # Returns `true` if the operating system supports pipes and *stat* is a pipe;
331
+ # `false` otherwise.
332
+ #
333
+ def pipe?: () -> bool
334
+
335
+ # <!--
336
+ # rdoc-file=file.c
337
+ # - stat.rdev -> integer or nil
338
+ # -->
339
+ # Returns an integer representing the device type on which *stat* resides.
340
+ # Returns `nil` if the operating system doesn't support this feature.
341
+ #
342
+ # File.stat("/dev/fd1").rdev #=> 513
343
+ # File.stat("/dev/tty").rdev #=> 1280
344
+ #
345
+ def rdev: () -> Integer?
346
+
347
+ # <!--
348
+ # rdoc-file=file.c
349
+ # - stat.rdev_major -> integer
350
+ # -->
351
+ # Returns the major part of <code>File_Stat#rdev</code> or `nil`.
352
+ #
353
+ # File.stat("/dev/fd1").rdev_major #=> 2
354
+ # File.stat("/dev/tty").rdev_major #=> 5
355
+ #
356
+ def rdev_major: () -> Integer?
357
+
358
+ # <!--
359
+ # rdoc-file=file.c
360
+ # - stat.rdev_minor -> integer
361
+ # -->
362
+ # Returns the minor part of <code>File_Stat#rdev</code> or `nil`.
363
+ #
364
+ # File.stat("/dev/fd1").rdev_minor #=> 1
365
+ # File.stat("/dev/tty").rdev_minor #=> 0
366
+ #
367
+ def rdev_minor: () -> Integer?
368
+
369
+ # <!--
370
+ # rdoc-file=file.c
371
+ # - stat.readable? -> true or false
372
+ # -->
373
+ # Returns `true` if *stat* is readable by the effective user id of this process.
374
+ #
375
+ # File.stat("testfile").readable? #=> true
376
+ #
377
+ def readable?: () -> bool
378
+
379
+ # <!--
380
+ # rdoc-file=file.c
381
+ # - stat.readable_real? -> true or false
382
+ # -->
383
+ # Returns `true` if *stat* is readable by the real user id of this process.
384
+ #
385
+ # File.stat("testfile").readable_real? #=> true
386
+ #
387
+ def readable_real?: () -> bool
388
+
389
+ # <!--
390
+ # rdoc-file=file.c
391
+ # - stat.setgid? -> true or false
392
+ # -->
393
+ # Returns `true` if *stat* has the set-group-id permission bit set, `false` if
394
+ # it doesn't or if the operating system doesn't support this feature.
395
+ #
396
+ # File.stat("/usr/sbin/lpc").setgid? #=> true
397
+ #
398
+ def setgid?: () -> bool
399
+
400
+ # <!--
401
+ # rdoc-file=file.c
402
+ # - stat.setuid? -> true or false
403
+ # -->
404
+ # Returns `true` if *stat* has the set-user-id permission bit set, `false` if it
405
+ # doesn't or if the operating system doesn't support this feature.
406
+ #
407
+ # File.stat("/bin/su").setuid? #=> true
408
+ #
409
+ def setuid?: () -> bool
410
+
411
+ # <!--
412
+ # rdoc-file=file.c
413
+ # - stat.size -> integer
414
+ # -->
415
+ # Returns the size of *stat* in bytes.
416
+ #
417
+ # File.stat("testfile").size #=> 66
418
+ #
419
+ def size: () -> Integer
420
+
421
+ # <!--
422
+ # rdoc-file=file.c
423
+ # - stat.size? -> Integer or nil
424
+ # -->
425
+ # Returns `nil` if *stat* is a zero-length file, the size of the file otherwise.
426
+ #
427
+ # File.stat("testfile").size? #=> 66
428
+ # File.stat(File::NULL).size? #=> nil
429
+ #
430
+ def size?: () -> Integer?
431
+
432
+ # <!--
433
+ # rdoc-file=file.c
434
+ # - stat.socket? -> true or false
435
+ # -->
436
+ # Returns `true` if *stat* is a socket, `false` if it isn't or if the operating
437
+ # system doesn't support this feature.
438
+ #
439
+ # File.stat("testfile").socket? #=> false
440
+ #
441
+ def socket?: () -> bool
442
+
443
+ # <!--
444
+ # rdoc-file=file.c
445
+ # - stat.sticky? -> true or false
446
+ # -->
447
+ # Returns `true` if *stat* has its sticky bit set, `false` if it doesn't or if
448
+ # the operating system doesn't support this feature.
449
+ #
450
+ # File.stat("testfile").sticky? #=> false
451
+ #
452
+ def sticky?: () -> bool
453
+
454
+ # <!--
455
+ # rdoc-file=file.c
456
+ # - stat.symlink? -> true or false
457
+ # -->
458
+ # Returns `true` if *stat* is a symbolic link, `false` if it isn't or if the
459
+ # operating system doesn't support this feature. As File::stat automatically
460
+ # follows symbolic links, #symlink? will always be `false` for an object
461
+ # returned by File::stat.
462
+ #
463
+ # File.symlink("testfile", "alink") #=> 0
464
+ # File.stat("alink").symlink? #=> false
465
+ # File.lstat("alink").symlink? #=> true
466
+ #
467
+ def symlink?: () -> bool
468
+
469
+ # <!--
470
+ # rdoc-file=file.c
471
+ # - stat.uid -> integer
472
+ # -->
473
+ # Returns the numeric user id of the owner of *stat*.
474
+ #
475
+ # File.stat("testfile").uid #=> 501
476
+ #
477
+ def uid: () -> Integer
478
+
479
+ # <!--
480
+ # rdoc-file=file.c
481
+ # - stat.world_readable? -> integer or nil
482
+ # -->
483
+ # If *stat* is readable by others, returns an integer representing the file
484
+ # permission bits of *stat*. Returns `nil` otherwise. The meaning of the bits is
485
+ # platform dependent; on Unix systems, see <code>stat(2)</code>.
486
+ #
487
+ # m = File.stat("/etc/passwd").world_readable? #=> 420
488
+ # sprintf("%o", m) #=> "644"
489
+ #
490
+ def world_readable?: () -> Integer?
491
+
492
+ # <!--
493
+ # rdoc-file=file.c
494
+ # - stat.world_writable? -> integer or nil
495
+ # -->
496
+ # If *stat* is writable by others, returns an integer representing the file
497
+ # permission bits of *stat*. Returns `nil` otherwise. The meaning of the bits is
498
+ # platform dependent; on Unix systems, see <code>stat(2)</code>.
499
+ #
500
+ # m = File.stat("/tmp").world_writable? #=> 511
501
+ # sprintf("%o", m) #=> "777"
502
+ #
503
+ def world_writable?: () -> Integer?
504
+
505
+ # <!--
506
+ # rdoc-file=file.c
507
+ # - stat.writable? -> true or false
508
+ # -->
509
+ # Returns `true` if *stat* is writable by the effective user id of this process.
510
+ #
511
+ # File.stat("testfile").writable? #=> true
512
+ #
513
+ def writable?: () -> bool
514
+
515
+ # <!--
516
+ # rdoc-file=file.c
517
+ # - stat.writable_real? -> true or false
518
+ # -->
519
+ # Returns `true` if *stat* is writable by the real user id of this process.
520
+ #
521
+ # File.stat("testfile").writable_real? #=> true
522
+ #
523
+ def writable_real?: () -> bool
524
+
525
+ # <!--
526
+ # rdoc-file=file.c
527
+ # - stat.zero? -> true or false
528
+ # -->
529
+ # Returns `true` if *stat* is a zero-length file; `false` otherwise.
530
+ #
531
+ # File.stat("testfile").zero? #=> false
532
+ #
533
+ def zero?: () -> bool
534
+ end