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
data/include/rbs/ast.h ADDED
@@ -0,0 +1,1047 @@
1
+ /*----------------------------------------------------------------------------*/
2
+ /* This file is generated by the templates/template.rb script and should not */
3
+ /* be modified manually. */
4
+ /* To change the template see */
5
+ /* templates/include/rbs/ast.h.erb */
6
+ /*----------------------------------------------------------------------------*/
7
+
8
+ #ifndef RBS__AST_H
9
+ #define RBS__AST_H
10
+
11
+ #include "rbs/defines.h"
12
+ #include "rbs/util/rbs_allocator.h"
13
+ #include "rbs/util/rbs_constant_pool.h"
14
+ #include "string.h"
15
+ #include "location.h"
16
+
17
+ enum rbs_attribute_visibility {
18
+ RBS_ATTRIBUTE_VISIBILITY_UNSPECIFIED, /* unspecified (nil) */
19
+ RBS_ATTRIBUTE_VISIBILITY_PUBLIC, /* public (:public) */
20
+ RBS_ATTRIBUTE_VISIBILITY_PRIVATE, /* private (:private) */
21
+ };
22
+
23
+ enum rbs_attribute_kind {
24
+ RBS_ATTRIBUTE_KIND_INSTANCE, /* instance (:instance) */
25
+ RBS_ATTRIBUTE_KIND_SINGLETON, /* singleton (:singleton) */
26
+ };
27
+
28
+ enum rbs_alias_kind {
29
+ RBS_ALIAS_KIND_INSTANCE, /* instance (:instance) */
30
+ RBS_ALIAS_KIND_SINGLETON, /* singleton (:singleton) */
31
+ };
32
+
33
+ enum rbs_method_definition_kind {
34
+ RBS_METHOD_DEFINITION_KIND_INSTANCE, /* instance (:instance) */
35
+ RBS_METHOD_DEFINITION_KIND_SINGLETON, /* singleton (:singleton) */
36
+ RBS_METHOD_DEFINITION_KIND_SINGLETON_INSTANCE, /* singleton_instance (:singleton_instance) */
37
+ };
38
+
39
+ enum rbs_method_definition_visibility {
40
+ RBS_METHOD_DEFINITION_VISIBILITY_UNSPECIFIED, /* unspecified (nil) */
41
+ RBS_METHOD_DEFINITION_VISIBILITY_PUBLIC, /* public (:public) */
42
+ RBS_METHOD_DEFINITION_VISIBILITY_PRIVATE, /* private (:private) */
43
+ };
44
+
45
+ enum rbs_type_param_variance {
46
+ RBS_TYPE_PARAM_VARIANCE_INVARIANT, /* invariant (:invariant) */
47
+ RBS_TYPE_PARAM_VARIANCE_COVARIANT, /* covariant (:covariant) */
48
+ RBS_TYPE_PARAM_VARIANCE_CONTRAVARIANT, /* contravariant (:contravariant) */
49
+ };
50
+
51
+ enum rbs_attr_ivar_name_tag {
52
+ RBS_ATTR_IVAR_NAME_TAG_UNSPECIFIED, /* The attribute has inferred instance variable (nil) */
53
+ RBS_ATTR_IVAR_NAME_TAG_EMPTY, /* The attribute has no instance variable (false) */
54
+ RBS_ATTR_IVAR_NAME_TAG_NAME, /* The attribute has instance variable with the given name */
55
+ };
56
+
57
+ typedef struct rbs_attr_ivar_name {
58
+ enum rbs_attr_ivar_name_tag tag;
59
+ rbs_constant_id_t name; /* valid when tag == RBS_ATTR_IVAR_NAME_TAG_NAME */
60
+ } rbs_attr_ivar_name_t;
61
+
62
+ enum rbs_node_type {
63
+ RBS_AST_ANNOTATION = 1,
64
+ RBS_AST_BOOL = 2,
65
+ RBS_AST_COMMENT = 3,
66
+ RBS_AST_DECLARATIONS_CLASS = 4,
67
+ RBS_AST_DECLARATIONS_CLASS_SUPER = 5,
68
+ RBS_AST_DECLARATIONS_CLASS_ALIAS = 6,
69
+ RBS_AST_DECLARATIONS_CONSTANT = 7,
70
+ RBS_AST_DECLARATIONS_GLOBAL = 8,
71
+ RBS_AST_DECLARATIONS_INTERFACE = 9,
72
+ RBS_AST_DECLARATIONS_MODULE = 10,
73
+ RBS_AST_DECLARATIONS_MODULE_SELF = 11,
74
+ RBS_AST_DECLARATIONS_MODULE_ALIAS = 12,
75
+ RBS_AST_DECLARATIONS_TYPE_ALIAS = 13,
76
+ RBS_AST_DIRECTIVES_USE = 14,
77
+ RBS_AST_DIRECTIVES_USE_SINGLE_CLAUSE = 15,
78
+ RBS_AST_DIRECTIVES_USE_WILDCARD_CLAUSE = 16,
79
+ RBS_AST_INTEGER = 17,
80
+ RBS_AST_MEMBERS_ALIAS = 18,
81
+ RBS_AST_MEMBERS_ATTR_ACCESSOR = 19,
82
+ RBS_AST_MEMBERS_ATTR_READER = 20,
83
+ RBS_AST_MEMBERS_ATTR_WRITER = 21,
84
+ RBS_AST_MEMBERS_CLASS_INSTANCE_VARIABLE = 22,
85
+ RBS_AST_MEMBERS_CLASS_VARIABLE = 23,
86
+ RBS_AST_MEMBERS_EXTEND = 24,
87
+ RBS_AST_MEMBERS_INCLUDE = 25,
88
+ RBS_AST_MEMBERS_INSTANCE_VARIABLE = 26,
89
+ RBS_AST_MEMBERS_METHOD_DEFINITION = 27,
90
+ RBS_AST_MEMBERS_METHOD_DEFINITION_OVERLOAD = 28,
91
+ RBS_AST_MEMBERS_PREPEND = 29,
92
+ RBS_AST_MEMBERS_PRIVATE = 30,
93
+ RBS_AST_MEMBERS_PUBLIC = 31,
94
+ RBS_AST_RUBY_ANNOTATIONS_BLOCK_PARAM_TYPE_ANNOTATION = 32,
95
+ RBS_AST_RUBY_ANNOTATIONS_CLASS_ALIAS_ANNOTATION = 33,
96
+ RBS_AST_RUBY_ANNOTATIONS_COLON_METHOD_TYPE_ANNOTATION = 34,
97
+ RBS_AST_RUBY_ANNOTATIONS_DOUBLE_SPLAT_PARAM_TYPE_ANNOTATION = 35,
98
+ RBS_AST_RUBY_ANNOTATIONS_INSTANCE_VARIABLE_ANNOTATION = 36,
99
+ RBS_AST_RUBY_ANNOTATIONS_METHOD_TYPES_ANNOTATION = 37,
100
+ RBS_AST_RUBY_ANNOTATIONS_MODULE_ALIAS_ANNOTATION = 38,
101
+ RBS_AST_RUBY_ANNOTATIONS_MODULE_SELF_ANNOTATION = 39,
102
+ RBS_AST_RUBY_ANNOTATIONS_NODE_TYPE_ASSERTION = 40,
103
+ RBS_AST_RUBY_ANNOTATIONS_PARAM_TYPE_ANNOTATION = 41,
104
+ RBS_AST_RUBY_ANNOTATIONS_RETURN_TYPE_ANNOTATION = 42,
105
+ RBS_AST_RUBY_ANNOTATIONS_SKIP_ANNOTATION = 43,
106
+ RBS_AST_RUBY_ANNOTATIONS_SPLAT_PARAM_TYPE_ANNOTATION = 44,
107
+ RBS_AST_RUBY_ANNOTATIONS_TYPE_APPLICATION_ANNOTATION = 45,
108
+ RBS_AST_STRING = 46,
109
+ RBS_AST_TYPE_PARAM = 47,
110
+ RBS_METHOD_TYPE = 48,
111
+ RBS_NAMESPACE = 49,
112
+ RBS_SIGNATURE = 50,
113
+ RBS_TYPE_NAME = 51,
114
+ RBS_TYPES_ALIAS = 52,
115
+ RBS_TYPES_BASES_ANY = 53,
116
+ RBS_TYPES_BASES_BOOL = 54,
117
+ RBS_TYPES_BASES_BOTTOM = 55,
118
+ RBS_TYPES_BASES_CLASS = 56,
119
+ RBS_TYPES_BASES_INSTANCE = 57,
120
+ RBS_TYPES_BASES_NIL = 58,
121
+ RBS_TYPES_BASES_SELF = 59,
122
+ RBS_TYPES_BASES_TOP = 60,
123
+ RBS_TYPES_BASES_VOID = 61,
124
+ RBS_TYPES_BLOCK = 62,
125
+ RBS_TYPES_CLASS_INSTANCE = 63,
126
+ RBS_TYPES_CLASS_SINGLETON = 64,
127
+ RBS_TYPES_FUNCTION = 65,
128
+ RBS_TYPES_FUNCTION_PARAM = 66,
129
+ RBS_TYPES_INTERFACE = 67,
130
+ RBS_TYPES_INTERSECTION = 68,
131
+ RBS_TYPES_LITERAL = 69,
132
+ RBS_TYPES_OPTIONAL = 70,
133
+ RBS_TYPES_PROC = 71,
134
+ RBS_TYPES_RECORD = 72,
135
+ RBS_TYPES_RECORD_FIELD_TYPE = 73,
136
+ RBS_TYPES_TUPLE = 74,
137
+ RBS_TYPES_UNION = 75,
138
+ RBS_TYPES_UNTYPED_FUNCTION = 76,
139
+ RBS_TYPES_VARIABLE = 77,
140
+ RBS_AST_SYMBOL,
141
+ };
142
+
143
+ typedef struct rbs_node {
144
+ enum rbs_node_type type;
145
+ rbs_location_range location;
146
+ } rbs_node_t;
147
+
148
+ const char *RBS_NONNULL rbs_node_type_name(rbs_node_t *RBS_NONNULL node);
149
+
150
+ /* rbs_node_list_node */
151
+
152
+ typedef struct rbs_node_list_node {
153
+ rbs_node_t *RBS_NONNULL node;
154
+ struct rbs_node_list_node *RBS_NULLABLE next;
155
+ } rbs_node_list_node_t;
156
+
157
+ typedef struct rbs_node_list {
158
+ rbs_allocator_t *RBS_NONNULL allocator;
159
+ rbs_node_list_node_t *RBS_NULLABLE head;
160
+ rbs_node_list_node_t *RBS_NULLABLE tail;
161
+ size_t length;
162
+ } rbs_node_list_t;
163
+
164
+ rbs_node_list_t *RBS_NONNULL rbs_node_list_new(rbs_allocator_t *RBS_NONNULL);
165
+
166
+ void rbs_node_list_append(rbs_node_list_t *RBS_NONNULL list, rbs_node_t *RBS_NONNULL node);
167
+
168
+ /* rbs_hash */
169
+
170
+ typedef struct rbs_hash_node {
171
+ rbs_node_t *RBS_NONNULL key;
172
+ rbs_node_t *RBS_NONNULL value;
173
+ struct rbs_hash_node *RBS_NULLABLE next;
174
+ } rbs_hash_node_t;
175
+
176
+ typedef struct rbs_hash {
177
+ rbs_allocator_t *RBS_NONNULL allocator;
178
+ rbs_hash_node_t *RBS_NULLABLE head;
179
+ rbs_hash_node_t *RBS_NULLABLE tail;
180
+ size_t length;
181
+ } rbs_hash_t;
182
+
183
+ rbs_hash_t *RBS_NONNULL rbs_hash_new(rbs_allocator_t *RBS_NONNULL);
184
+
185
+ void rbs_hash_set(rbs_hash_t *RBS_NONNULL hash, rbs_node_t *RBS_NONNULL key, rbs_node_t *RBS_NONNULL value);
186
+
187
+ rbs_hash_node_t *RBS_NULLABLE rbs_hash_find(rbs_hash_t *RBS_NONNULL hash, rbs_node_t *RBS_NONNULL key);
188
+
189
+ rbs_node_t *RBS_NULLABLE rbs_hash_get(rbs_hash_t *RBS_NONNULL hash, rbs_node_t *RBS_NONNULL key);
190
+
191
+ /* rbs_ast_node */
192
+
193
+ typedef struct rbs_ast_annotation {
194
+ rbs_node_t base;
195
+
196
+ rbs_string_t string;
197
+ } rbs_ast_annotation_t;
198
+
199
+ typedef struct rbs_ast_bool {
200
+ rbs_node_t base;
201
+
202
+ bool value;
203
+ } rbs_ast_bool_t;
204
+
205
+ typedef struct rbs_ast_comment {
206
+ rbs_node_t base;
207
+
208
+ rbs_string_t string;
209
+ } rbs_ast_comment_t;
210
+
211
+ typedef struct rbs_ast_declarations_class {
212
+ rbs_node_t base;
213
+
214
+ struct rbs_type_name *RBS_NONNULL name;
215
+ struct rbs_node_list *RBS_NONNULL type_params;
216
+ struct rbs_ast_declarations_class_super *RBS_NULLABLE super_class;
217
+ struct rbs_node_list *RBS_NONNULL members;
218
+ struct rbs_node_list *RBS_NONNULL annotations;
219
+ struct rbs_ast_comment *RBS_NULLABLE comment;
220
+
221
+ rbs_location_range keyword_range; /* Required */
222
+ rbs_location_range name_range; /* Required */
223
+ rbs_location_range end_range; /* Required */
224
+ rbs_location_range type_params_range; /* Optional */
225
+ rbs_location_range lt_range; /* Optional */
226
+ } rbs_ast_declarations_class_t;
227
+
228
+ typedef struct rbs_ast_declarations_class_super {
229
+ rbs_node_t base;
230
+
231
+ struct rbs_type_name *RBS_NONNULL name;
232
+ struct rbs_node_list *RBS_NONNULL args;
233
+
234
+ rbs_location_range name_range; /* Required */
235
+ rbs_location_range args_range; /* Optional */
236
+ } rbs_ast_declarations_class_super_t;
237
+
238
+ typedef struct rbs_ast_declarations_class_alias {
239
+ rbs_node_t base;
240
+
241
+ struct rbs_type_name *RBS_NONNULL new_name;
242
+ struct rbs_type_name *RBS_NONNULL old_name;
243
+ struct rbs_ast_comment *RBS_NULLABLE comment;
244
+ struct rbs_node_list *RBS_NONNULL annotations;
245
+
246
+ rbs_location_range keyword_range; /* Required */
247
+ rbs_location_range new_name_range; /* Required */
248
+ rbs_location_range eq_range; /* Required */
249
+ rbs_location_range old_name_range; /* Required */
250
+ } rbs_ast_declarations_class_alias_t;
251
+
252
+ typedef struct rbs_ast_declarations_constant {
253
+ rbs_node_t base;
254
+
255
+ struct rbs_type_name *RBS_NONNULL name;
256
+ struct rbs_node *RBS_NONNULL type;
257
+ struct rbs_ast_comment *RBS_NULLABLE comment;
258
+ struct rbs_node_list *RBS_NONNULL annotations;
259
+
260
+ rbs_location_range name_range; /* Required */
261
+ rbs_location_range colon_range; /* Required */
262
+ } rbs_ast_declarations_constant_t;
263
+
264
+ typedef struct rbs_ast_declarations_global {
265
+ rbs_node_t base;
266
+
267
+ struct rbs_ast_symbol *RBS_NONNULL name;
268
+ struct rbs_node *RBS_NONNULL type;
269
+ struct rbs_ast_comment *RBS_NULLABLE comment;
270
+ struct rbs_node_list *RBS_NONNULL annotations;
271
+
272
+ rbs_location_range name_range; /* Required */
273
+ rbs_location_range colon_range; /* Required */
274
+ } rbs_ast_declarations_global_t;
275
+
276
+ typedef struct rbs_ast_declarations_interface {
277
+ rbs_node_t base;
278
+
279
+ struct rbs_type_name *RBS_NONNULL name;
280
+ struct rbs_node_list *RBS_NONNULL type_params;
281
+ struct rbs_node_list *RBS_NONNULL members;
282
+ struct rbs_node_list *RBS_NONNULL annotations;
283
+ struct rbs_ast_comment *RBS_NULLABLE comment;
284
+
285
+ rbs_location_range keyword_range; /* Required */
286
+ rbs_location_range name_range; /* Required */
287
+ rbs_location_range end_range; /* Required */
288
+ rbs_location_range type_params_range; /* Optional */
289
+ } rbs_ast_declarations_interface_t;
290
+
291
+ typedef struct rbs_ast_declarations_module {
292
+ rbs_node_t base;
293
+
294
+ struct rbs_type_name *RBS_NONNULL name;
295
+ struct rbs_node_list *RBS_NONNULL type_params;
296
+ struct rbs_node_list *RBS_NONNULL self_types;
297
+ struct rbs_node_list *RBS_NONNULL members;
298
+ struct rbs_node_list *RBS_NONNULL annotations;
299
+ struct rbs_ast_comment *RBS_NULLABLE comment;
300
+
301
+ rbs_location_range keyword_range; /* Required */
302
+ rbs_location_range name_range; /* Required */
303
+ rbs_location_range end_range; /* Required */
304
+ rbs_location_range type_params_range; /* Optional */
305
+ rbs_location_range colon_range; /* Optional */
306
+ rbs_location_range self_types_range; /* Optional */
307
+ } rbs_ast_declarations_module_t;
308
+
309
+ typedef struct rbs_ast_declarations_module_self {
310
+ rbs_node_t base;
311
+
312
+ struct rbs_type_name *RBS_NONNULL name;
313
+ struct rbs_node_list *RBS_NONNULL args;
314
+
315
+ rbs_location_range name_range; /* Required */
316
+ rbs_location_range args_range; /* Optional */
317
+ } rbs_ast_declarations_module_self_t;
318
+
319
+ typedef struct rbs_ast_declarations_module_alias {
320
+ rbs_node_t base;
321
+
322
+ struct rbs_type_name *RBS_NONNULL new_name;
323
+ struct rbs_type_name *RBS_NONNULL old_name;
324
+ struct rbs_ast_comment *RBS_NULLABLE comment;
325
+ struct rbs_node_list *RBS_NONNULL annotations;
326
+
327
+ rbs_location_range keyword_range; /* Required */
328
+ rbs_location_range new_name_range; /* Required */
329
+ rbs_location_range eq_range; /* Required */
330
+ rbs_location_range old_name_range; /* Required */
331
+ } rbs_ast_declarations_module_alias_t;
332
+
333
+ typedef struct rbs_ast_declarations_type_alias {
334
+ rbs_node_t base;
335
+
336
+ struct rbs_type_name *RBS_NONNULL name;
337
+ struct rbs_node_list *RBS_NONNULL type_params;
338
+ struct rbs_node *RBS_NONNULL type;
339
+ struct rbs_node_list *RBS_NONNULL annotations;
340
+ struct rbs_ast_comment *RBS_NULLABLE comment;
341
+
342
+ rbs_location_range keyword_range; /* Required */
343
+ rbs_location_range name_range; /* Required */
344
+ rbs_location_range eq_range; /* Required */
345
+ rbs_location_range type_params_range; /* Optional */
346
+ } rbs_ast_declarations_type_alias_t;
347
+
348
+ typedef struct rbs_ast_directives_use {
349
+ rbs_node_t base;
350
+
351
+ struct rbs_node_list *RBS_NONNULL clauses;
352
+
353
+ rbs_location_range keyword_range; /* Required */
354
+ } rbs_ast_directives_use_t;
355
+
356
+ typedef struct rbs_ast_directives_use_single_clause {
357
+ rbs_node_t base;
358
+
359
+ struct rbs_type_name *RBS_NONNULL type_name;
360
+ struct rbs_ast_symbol *RBS_NULLABLE new_name;
361
+
362
+ rbs_location_range type_name_range; /* Required */
363
+ rbs_location_range keyword_range; /* Optional */
364
+ rbs_location_range new_name_range; /* Optional */
365
+ } rbs_ast_directives_use_single_clause_t;
366
+
367
+ typedef struct rbs_ast_directives_use_wildcard_clause {
368
+ rbs_node_t base;
369
+
370
+ struct rbs_namespace *RBS_NONNULL rbs_namespace;
371
+
372
+ rbs_location_range namespace_range; /* Required */
373
+ rbs_location_range star_range; /* Required */
374
+ } rbs_ast_directives_use_wildcard_clause_t;
375
+
376
+ typedef struct rbs_ast_integer {
377
+ rbs_node_t base;
378
+
379
+ rbs_string_t string_representation;
380
+ } rbs_ast_integer_t;
381
+
382
+ typedef struct rbs_ast_members_alias {
383
+ rbs_node_t base;
384
+
385
+ struct rbs_ast_symbol *RBS_NONNULL new_name;
386
+ struct rbs_ast_symbol *RBS_NONNULL old_name;
387
+ enum rbs_alias_kind kind;
388
+ struct rbs_node_list *RBS_NONNULL annotations;
389
+ struct rbs_ast_comment *RBS_NULLABLE comment;
390
+
391
+ rbs_location_range keyword_range; /* Required */
392
+ rbs_location_range new_name_range; /* Required */
393
+ rbs_location_range old_name_range; /* Required */
394
+ rbs_location_range new_kind_range; /* Optional */
395
+ rbs_location_range old_kind_range; /* Optional */
396
+ } rbs_ast_members_alias_t;
397
+
398
+ typedef struct rbs_ast_members_attr_accessor {
399
+ rbs_node_t base;
400
+
401
+ struct rbs_ast_symbol *RBS_NONNULL name;
402
+ struct rbs_node *RBS_NONNULL type;
403
+ rbs_attr_ivar_name_t ivar_name;
404
+ enum rbs_attribute_kind kind;
405
+ struct rbs_node_list *RBS_NONNULL annotations;
406
+ struct rbs_ast_comment *RBS_NULLABLE comment;
407
+ enum rbs_attribute_visibility visibility;
408
+
409
+ rbs_location_range keyword_range; /* Required */
410
+ rbs_location_range name_range; /* Required */
411
+ rbs_location_range colon_range; /* Required */
412
+ rbs_location_range kind_range; /* Optional */
413
+ rbs_location_range ivar_range; /* Optional */
414
+ rbs_location_range ivar_name_range; /* Optional */
415
+ rbs_location_range visibility_range; /* Optional */
416
+ } rbs_ast_members_attr_accessor_t;
417
+
418
+ typedef struct rbs_ast_members_attr_reader {
419
+ rbs_node_t base;
420
+
421
+ struct rbs_ast_symbol *RBS_NONNULL name;
422
+ struct rbs_node *RBS_NONNULL type;
423
+ rbs_attr_ivar_name_t ivar_name;
424
+ enum rbs_attribute_kind kind;
425
+ struct rbs_node_list *RBS_NONNULL annotations;
426
+ struct rbs_ast_comment *RBS_NULLABLE comment;
427
+ enum rbs_attribute_visibility visibility;
428
+
429
+ rbs_location_range keyword_range; /* Required */
430
+ rbs_location_range name_range; /* Required */
431
+ rbs_location_range colon_range; /* Required */
432
+ rbs_location_range kind_range; /* Optional */
433
+ rbs_location_range ivar_range; /* Optional */
434
+ rbs_location_range ivar_name_range; /* Optional */
435
+ rbs_location_range visibility_range; /* Optional */
436
+ } rbs_ast_members_attr_reader_t;
437
+
438
+ typedef struct rbs_ast_members_attr_writer {
439
+ rbs_node_t base;
440
+
441
+ struct rbs_ast_symbol *RBS_NONNULL name;
442
+ struct rbs_node *RBS_NONNULL type;
443
+ rbs_attr_ivar_name_t ivar_name;
444
+ enum rbs_attribute_kind kind;
445
+ struct rbs_node_list *RBS_NONNULL annotations;
446
+ struct rbs_ast_comment *RBS_NULLABLE comment;
447
+ enum rbs_attribute_visibility visibility;
448
+
449
+ rbs_location_range keyword_range; /* Required */
450
+ rbs_location_range name_range; /* Required */
451
+ rbs_location_range colon_range; /* Required */
452
+ rbs_location_range kind_range; /* Optional */
453
+ rbs_location_range ivar_range; /* Optional */
454
+ rbs_location_range ivar_name_range; /* Optional */
455
+ rbs_location_range visibility_range; /* Optional */
456
+ } rbs_ast_members_attr_writer_t;
457
+
458
+ typedef struct rbs_ast_members_class_instance_variable {
459
+ rbs_node_t base;
460
+
461
+ struct rbs_ast_symbol *RBS_NONNULL name;
462
+ struct rbs_node *RBS_NONNULL type;
463
+ struct rbs_ast_comment *RBS_NULLABLE comment;
464
+
465
+ rbs_location_range name_range; /* Required */
466
+ rbs_location_range colon_range; /* Required */
467
+ rbs_location_range kind_range; /* Optional */
468
+ } rbs_ast_members_class_instance_variable_t;
469
+
470
+ typedef struct rbs_ast_members_class_variable {
471
+ rbs_node_t base;
472
+
473
+ struct rbs_ast_symbol *RBS_NONNULL name;
474
+ struct rbs_node *RBS_NONNULL type;
475
+ struct rbs_ast_comment *RBS_NULLABLE comment;
476
+
477
+ rbs_location_range name_range; /* Required */
478
+ rbs_location_range colon_range; /* Required */
479
+ rbs_location_range kind_range; /* Optional */
480
+ } rbs_ast_members_class_variable_t;
481
+
482
+ typedef struct rbs_ast_members_extend {
483
+ rbs_node_t base;
484
+
485
+ struct rbs_type_name *RBS_NONNULL name;
486
+ struct rbs_node_list *RBS_NONNULL args;
487
+ struct rbs_node_list *RBS_NONNULL annotations;
488
+ struct rbs_ast_comment *RBS_NULLABLE comment;
489
+
490
+ rbs_location_range name_range; /* Required */
491
+ rbs_location_range keyword_range; /* Required */
492
+ rbs_location_range args_range; /* Optional */
493
+ } rbs_ast_members_extend_t;
494
+
495
+ typedef struct rbs_ast_members_include {
496
+ rbs_node_t base;
497
+
498
+ struct rbs_type_name *RBS_NONNULL name;
499
+ struct rbs_node_list *RBS_NONNULL args;
500
+ struct rbs_node_list *RBS_NONNULL annotations;
501
+ struct rbs_ast_comment *RBS_NULLABLE comment;
502
+
503
+ rbs_location_range name_range; /* Required */
504
+ rbs_location_range keyword_range; /* Required */
505
+ rbs_location_range args_range; /* Optional */
506
+ } rbs_ast_members_include_t;
507
+
508
+ typedef struct rbs_ast_members_instance_variable {
509
+ rbs_node_t base;
510
+
511
+ struct rbs_ast_symbol *RBS_NONNULL name;
512
+ struct rbs_node *RBS_NONNULL type;
513
+ struct rbs_ast_comment *RBS_NULLABLE comment;
514
+
515
+ rbs_location_range name_range; /* Required */
516
+ rbs_location_range colon_range; /* Required */
517
+ rbs_location_range kind_range; /* Optional */
518
+ } rbs_ast_members_instance_variable_t;
519
+
520
+ typedef struct rbs_ast_members_method_definition {
521
+ rbs_node_t base;
522
+
523
+ struct rbs_ast_symbol *RBS_NONNULL name;
524
+ enum rbs_method_definition_kind kind;
525
+ struct rbs_node_list *RBS_NONNULL overloads;
526
+ struct rbs_node_list *RBS_NONNULL annotations;
527
+ struct rbs_ast_comment *RBS_NULLABLE comment;
528
+ bool overloading;
529
+ enum rbs_method_definition_visibility visibility;
530
+
531
+ rbs_location_range keyword_range; /* Required */
532
+ rbs_location_range name_range; /* Required */
533
+ rbs_location_range kind_range; /* Optional */
534
+ rbs_location_range overloading_range; /* Optional */
535
+ rbs_location_range visibility_range; /* Optional */
536
+ } rbs_ast_members_method_definition_t;
537
+
538
+ typedef struct rbs_ast_members_method_definition_overload {
539
+ rbs_node_t base;
540
+
541
+ struct rbs_node_list *RBS_NONNULL annotations;
542
+ struct rbs_node *RBS_NONNULL method_type;
543
+ } rbs_ast_members_method_definition_overload_t;
544
+
545
+ typedef struct rbs_ast_members_prepend {
546
+ rbs_node_t base;
547
+
548
+ struct rbs_type_name *RBS_NONNULL name;
549
+ struct rbs_node_list *RBS_NONNULL args;
550
+ struct rbs_node_list *RBS_NONNULL annotations;
551
+ struct rbs_ast_comment *RBS_NULLABLE comment;
552
+
553
+ rbs_location_range name_range; /* Required */
554
+ rbs_location_range keyword_range; /* Required */
555
+ rbs_location_range args_range; /* Optional */
556
+ } rbs_ast_members_prepend_t;
557
+
558
+ typedef struct rbs_ast_members_private {
559
+ rbs_node_t base;
560
+
561
+ } rbs_ast_members_private_t;
562
+
563
+ typedef struct rbs_ast_members_public {
564
+ rbs_node_t base;
565
+
566
+ } rbs_ast_members_public_t;
567
+
568
+ typedef struct rbs_ast_ruby_annotations_block_param_type_annotation {
569
+ rbs_node_t base;
570
+
571
+ rbs_location_range prefix_location;
572
+ rbs_location_range ampersand_location;
573
+ rbs_location_range name_location;
574
+ rbs_location_range colon_location;
575
+ rbs_location_range question_location;
576
+ rbs_location_range type_location;
577
+ struct rbs_node *RBS_NONNULL type_;
578
+ rbs_location_range comment_location;
579
+ } rbs_ast_ruby_annotations_block_param_type_annotation_t;
580
+
581
+ typedef struct rbs_ast_ruby_annotations_class_alias_annotation {
582
+ rbs_node_t base;
583
+
584
+ rbs_location_range prefix_location;
585
+ rbs_location_range keyword_location;
586
+ struct rbs_type_name *RBS_NONNULL type_name;
587
+ rbs_location_range type_name_location;
588
+ } rbs_ast_ruby_annotations_class_alias_annotation_t;
589
+
590
+ typedef struct rbs_ast_ruby_annotations_colon_method_type_annotation {
591
+ rbs_node_t base;
592
+
593
+ rbs_location_range prefix_location;
594
+ struct rbs_node_list *RBS_NONNULL annotations;
595
+ struct rbs_node *RBS_NONNULL method_type;
596
+ } rbs_ast_ruby_annotations_colon_method_type_annotation_t;
597
+
598
+ typedef struct rbs_ast_ruby_annotations_double_splat_param_type_annotation {
599
+ rbs_node_t base;
600
+
601
+ rbs_location_range prefix_location;
602
+ rbs_location_range star2_location;
603
+ rbs_location_range name_location;
604
+ rbs_location_range colon_location;
605
+ struct rbs_node *RBS_NONNULL param_type;
606
+ rbs_location_range comment_location;
607
+ } rbs_ast_ruby_annotations_double_splat_param_type_annotation_t;
608
+
609
+ typedef struct rbs_ast_ruby_annotations_instance_variable_annotation {
610
+ rbs_node_t base;
611
+
612
+ rbs_location_range prefix_location;
613
+ struct rbs_ast_symbol *RBS_NONNULL ivar_name;
614
+ rbs_location_range ivar_name_location;
615
+ rbs_location_range colon_location;
616
+ struct rbs_node *RBS_NONNULL type;
617
+ rbs_location_range comment_location;
618
+ } rbs_ast_ruby_annotations_instance_variable_annotation_t;
619
+
620
+ typedef struct rbs_ast_ruby_annotations_method_types_annotation {
621
+ rbs_node_t base;
622
+
623
+ rbs_location_range prefix_location;
624
+ struct rbs_node_list *RBS_NONNULL overloads;
625
+ rbs_location_range_list_t *RBS_NONNULL vertical_bar_locations;
626
+ rbs_location_range dot3_location;
627
+ } rbs_ast_ruby_annotations_method_types_annotation_t;
628
+
629
+ typedef struct rbs_ast_ruby_annotations_module_alias_annotation {
630
+ rbs_node_t base;
631
+
632
+ rbs_location_range prefix_location;
633
+ rbs_location_range keyword_location;
634
+ struct rbs_type_name *RBS_NONNULL type_name;
635
+ rbs_location_range type_name_location;
636
+ } rbs_ast_ruby_annotations_module_alias_annotation_t;
637
+
638
+ typedef struct rbs_ast_ruby_annotations_module_self_annotation {
639
+ rbs_node_t base;
640
+
641
+ rbs_location_range prefix_location;
642
+ rbs_location_range keyword_location;
643
+ rbs_location_range colon_location;
644
+ struct rbs_type_name *RBS_NONNULL name;
645
+ struct rbs_node_list *RBS_NONNULL args;
646
+ rbs_location_range open_bracket_location;
647
+ rbs_location_range close_bracket_location;
648
+ rbs_location_range_list_t *RBS_NONNULL args_comma_locations;
649
+ rbs_location_range comment_location;
650
+ } rbs_ast_ruby_annotations_module_self_annotation_t;
651
+
652
+ typedef struct rbs_ast_ruby_annotations_node_type_assertion {
653
+ rbs_node_t base;
654
+
655
+ rbs_location_range prefix_location;
656
+ struct rbs_node *RBS_NONNULL type;
657
+ } rbs_ast_ruby_annotations_node_type_assertion_t;
658
+
659
+ typedef struct rbs_ast_ruby_annotations_param_type_annotation {
660
+ rbs_node_t base;
661
+
662
+ rbs_location_range prefix_location;
663
+ rbs_location_range name_location;
664
+ rbs_location_range colon_location;
665
+ struct rbs_node *RBS_NONNULL param_type;
666
+ rbs_location_range comment_location;
667
+ } rbs_ast_ruby_annotations_param_type_annotation_t;
668
+
669
+ typedef struct rbs_ast_ruby_annotations_return_type_annotation {
670
+ rbs_node_t base;
671
+
672
+ rbs_location_range prefix_location;
673
+ rbs_location_range return_location;
674
+ rbs_location_range colon_location;
675
+ struct rbs_node *RBS_NONNULL return_type;
676
+ rbs_location_range comment_location;
677
+ } rbs_ast_ruby_annotations_return_type_annotation_t;
678
+
679
+ typedef struct rbs_ast_ruby_annotations_skip_annotation {
680
+ rbs_node_t base;
681
+
682
+ rbs_location_range prefix_location;
683
+ rbs_location_range skip_location;
684
+ rbs_location_range comment_location;
685
+ } rbs_ast_ruby_annotations_skip_annotation_t;
686
+
687
+ typedef struct rbs_ast_ruby_annotations_splat_param_type_annotation {
688
+ rbs_node_t base;
689
+
690
+ rbs_location_range prefix_location;
691
+ rbs_location_range star_location;
692
+ rbs_location_range name_location;
693
+ rbs_location_range colon_location;
694
+ struct rbs_node *RBS_NONNULL param_type;
695
+ rbs_location_range comment_location;
696
+ } rbs_ast_ruby_annotations_splat_param_type_annotation_t;
697
+
698
+ typedef struct rbs_ast_ruby_annotations_type_application_annotation {
699
+ rbs_node_t base;
700
+
701
+ rbs_location_range prefix_location;
702
+ struct rbs_node_list *RBS_NONNULL type_args;
703
+ rbs_location_range close_bracket_location;
704
+ rbs_location_range_list_t *RBS_NONNULL comma_locations;
705
+ } rbs_ast_ruby_annotations_type_application_annotation_t;
706
+
707
+ typedef struct rbs_ast_string {
708
+ rbs_node_t base;
709
+
710
+ rbs_string_t string;
711
+ } rbs_ast_string_t;
712
+
713
+ typedef struct rbs_ast_type_param {
714
+ rbs_node_t base;
715
+
716
+ struct rbs_ast_symbol *RBS_NONNULL name;
717
+ enum rbs_type_param_variance variance;
718
+ struct rbs_node *RBS_NULLABLE upper_bound;
719
+ struct rbs_node *RBS_NULLABLE lower_bound;
720
+ struct rbs_node *RBS_NULLABLE default_type;
721
+ bool unchecked;
722
+
723
+ rbs_location_range name_range; /* Required */
724
+ rbs_location_range variance_range; /* Optional */
725
+ rbs_location_range unchecked_range; /* Optional */
726
+ rbs_location_range upper_bound_range; /* Optional */
727
+ rbs_location_range lower_bound_range; /* Optional */
728
+ rbs_location_range default_range; /* Optional */
729
+ } rbs_ast_type_param_t;
730
+
731
+ typedef struct rbs_method_type {
732
+ rbs_node_t base;
733
+
734
+ struct rbs_node_list *RBS_NONNULL type_params;
735
+ struct rbs_node *RBS_NONNULL type;
736
+ struct rbs_types_block *RBS_NULLABLE block;
737
+
738
+ rbs_location_range type_range; /* Required */
739
+ rbs_location_range type_params_range; /* Optional */
740
+ } rbs_method_type_t;
741
+
742
+ typedef struct rbs_namespace {
743
+ rbs_node_t base;
744
+
745
+ struct rbs_node_list *RBS_NONNULL path;
746
+ bool absolute;
747
+ } rbs_namespace_t;
748
+
749
+ typedef struct rbs_signature {
750
+ rbs_node_t base;
751
+
752
+ struct rbs_node_list *RBS_NONNULL directives;
753
+ struct rbs_node_list *RBS_NONNULL declarations;
754
+ } rbs_signature_t;
755
+
756
+ typedef struct rbs_type_name {
757
+ rbs_node_t base;
758
+
759
+ struct rbs_namespace *RBS_NONNULL rbs_namespace;
760
+ struct rbs_ast_symbol *RBS_NONNULL name;
761
+ } rbs_type_name_t;
762
+
763
+ typedef struct rbs_types_alias {
764
+ rbs_node_t base;
765
+
766
+ struct rbs_type_name *RBS_NONNULL name;
767
+ struct rbs_node_list *RBS_NONNULL args;
768
+
769
+ rbs_location_range name_range; /* Required */
770
+ rbs_location_range args_range; /* Optional */
771
+ } rbs_types_alias_t;
772
+
773
+ typedef struct rbs_types_bases_any {
774
+ rbs_node_t base;
775
+
776
+ bool todo;
777
+ } rbs_types_bases_any_t;
778
+
779
+ typedef struct rbs_types_bases_bool {
780
+ rbs_node_t base;
781
+
782
+ } rbs_types_bases_bool_t;
783
+
784
+ typedef struct rbs_types_bases_bottom {
785
+ rbs_node_t base;
786
+
787
+ } rbs_types_bases_bottom_t;
788
+
789
+ typedef struct rbs_types_bases_class {
790
+ rbs_node_t base;
791
+
792
+ } rbs_types_bases_class_t;
793
+
794
+ typedef struct rbs_types_bases_instance {
795
+ rbs_node_t base;
796
+
797
+ } rbs_types_bases_instance_t;
798
+
799
+ typedef struct rbs_types_bases_nil {
800
+ rbs_node_t base;
801
+
802
+ } rbs_types_bases_nil_t;
803
+
804
+ typedef struct rbs_types_bases_self {
805
+ rbs_node_t base;
806
+
807
+ } rbs_types_bases_self_t;
808
+
809
+ typedef struct rbs_types_bases_top {
810
+ rbs_node_t base;
811
+
812
+ } rbs_types_bases_top_t;
813
+
814
+ typedef struct rbs_types_bases_void {
815
+ rbs_node_t base;
816
+
817
+ } rbs_types_bases_void_t;
818
+
819
+ typedef struct rbs_types_block {
820
+ rbs_node_t base;
821
+
822
+ struct rbs_node *RBS_NONNULL type;
823
+ bool required;
824
+ struct rbs_node *RBS_NULLABLE self_type;
825
+ } rbs_types_block_t;
826
+
827
+ typedef struct rbs_types_class_instance {
828
+ rbs_node_t base;
829
+
830
+ struct rbs_type_name *RBS_NONNULL name;
831
+ struct rbs_node_list *RBS_NONNULL args;
832
+
833
+ rbs_location_range name_range; /* Required */
834
+ rbs_location_range args_range; /* Optional */
835
+ } rbs_types_class_instance_t;
836
+
837
+ typedef struct rbs_types_class_singleton {
838
+ rbs_node_t base;
839
+
840
+ struct rbs_type_name *RBS_NONNULL name;
841
+ struct rbs_node_list *RBS_NONNULL args;
842
+
843
+ rbs_location_range name_range; /* Required */
844
+ rbs_location_range args_range; /* Optional */
845
+ } rbs_types_class_singleton_t;
846
+
847
+ typedef struct rbs_types_function {
848
+ rbs_node_t base;
849
+
850
+ struct rbs_node_list *RBS_NONNULL required_positionals;
851
+ struct rbs_node_list *RBS_NONNULL optional_positionals;
852
+ struct rbs_node *RBS_NULLABLE rest_positionals;
853
+ struct rbs_node_list *RBS_NONNULL trailing_positionals;
854
+ struct rbs_hash *RBS_NONNULL required_keywords;
855
+ struct rbs_hash *RBS_NONNULL optional_keywords;
856
+ struct rbs_node *RBS_NULLABLE rest_keywords;
857
+ struct rbs_node *RBS_NONNULL return_type;
858
+ } rbs_types_function_t;
859
+
860
+ typedef struct rbs_types_function_param {
861
+ rbs_node_t base;
862
+
863
+ struct rbs_node *RBS_NONNULL type;
864
+ struct rbs_ast_symbol *RBS_NULLABLE name;
865
+
866
+ rbs_location_range name_range; /* Optional */
867
+ } rbs_types_function_param_t;
868
+
869
+ typedef struct rbs_types_interface {
870
+ rbs_node_t base;
871
+
872
+ struct rbs_type_name *RBS_NONNULL name;
873
+ struct rbs_node_list *RBS_NONNULL args;
874
+
875
+ rbs_location_range name_range; /* Required */
876
+ rbs_location_range args_range; /* Optional */
877
+ } rbs_types_interface_t;
878
+
879
+ typedef struct rbs_types_intersection {
880
+ rbs_node_t base;
881
+
882
+ struct rbs_node_list *RBS_NONNULL types;
883
+ } rbs_types_intersection_t;
884
+
885
+ typedef struct rbs_types_literal {
886
+ rbs_node_t base;
887
+
888
+ struct rbs_node *RBS_NONNULL literal;
889
+ } rbs_types_literal_t;
890
+
891
+ typedef struct rbs_types_optional {
892
+ rbs_node_t base;
893
+
894
+ struct rbs_node *RBS_NONNULL type;
895
+ } rbs_types_optional_t;
896
+
897
+ typedef struct rbs_types_proc {
898
+ rbs_node_t base;
899
+
900
+ struct rbs_node *RBS_NONNULL type;
901
+ struct rbs_types_block *RBS_NULLABLE block;
902
+ struct rbs_node *RBS_NULLABLE self_type;
903
+ } rbs_types_proc_t;
904
+
905
+ typedef struct rbs_types_record {
906
+ rbs_node_t base;
907
+
908
+ struct rbs_hash *RBS_NONNULL all_fields;
909
+ } rbs_types_record_t;
910
+
911
+ typedef struct rbs_types_record_field_type {
912
+ rbs_node_t base;
913
+
914
+ struct rbs_node *RBS_NONNULL type;
915
+ bool required;
916
+ } rbs_types_record_field_type_t;
917
+
918
+ typedef struct rbs_types_tuple {
919
+ rbs_node_t base;
920
+
921
+ struct rbs_node_list *RBS_NONNULL types;
922
+ } rbs_types_tuple_t;
923
+
924
+ typedef struct rbs_types_union {
925
+ rbs_node_t base;
926
+
927
+ struct rbs_node_list *RBS_NONNULL types;
928
+ } rbs_types_union_t;
929
+
930
+ typedef struct rbs_types_untyped_function {
931
+ rbs_node_t base;
932
+
933
+ struct rbs_node *RBS_NONNULL return_type;
934
+ } rbs_types_untyped_function_t;
935
+
936
+ typedef struct rbs_types_variable {
937
+ rbs_node_t base;
938
+
939
+ struct rbs_ast_symbol *RBS_NONNULL name;
940
+ } rbs_types_variable_t;
941
+
942
+ typedef union rbs_ast_ruby_annotations {
943
+ rbs_node_t base;
944
+ rbs_ast_ruby_annotations_block_param_type_annotation_t block_param_type_annotation;
945
+ rbs_ast_ruby_annotations_class_alias_annotation_t class_alias_annotation;
946
+ rbs_ast_ruby_annotations_colon_method_type_annotation_t colon_method_type_annotation;
947
+ rbs_ast_ruby_annotations_double_splat_param_type_annotation_t double_splat_param_type_annotation;
948
+ rbs_ast_ruby_annotations_instance_variable_annotation_t instance_variable_annotation;
949
+ rbs_ast_ruby_annotations_method_types_annotation_t method_types_annotation;
950
+ rbs_ast_ruby_annotations_module_alias_annotation_t module_alias_annotation;
951
+ rbs_ast_ruby_annotations_module_self_annotation_t module_self_annotation;
952
+ rbs_ast_ruby_annotations_node_type_assertion_t node_type_assertion;
953
+ rbs_ast_ruby_annotations_param_type_annotation_t param_type_annotation;
954
+ rbs_ast_ruby_annotations_return_type_annotation_t return_type_annotation;
955
+ rbs_ast_ruby_annotations_skip_annotation_t skip_annotation;
956
+ rbs_ast_ruby_annotations_splat_param_type_annotation_t splat_param_type_annotation;
957
+ rbs_ast_ruby_annotations_type_application_annotation_t type_application_annotation;
958
+ } rbs_ast_ruby_annotations_t;
959
+
960
+ /// `rbs_ast_symbol_t` models user-defined identifiers like class names, method names, etc.
961
+ /// These get stored in the parser's own constant pool, and get surfaced to Ruby as `Symbol`s.
962
+ typedef struct rbs_ast_symbol {
963
+ rbs_node_t base;
964
+ rbs_constant_id_t constant_id;
965
+ } rbs_ast_symbol_t;
966
+
967
+ rbs_ast_symbol_t *RBS_NONNULL rbs_ast_symbol_new(rbs_allocator_t *RBS_NONNULL, rbs_location_range, rbs_constant_pool_t *RBS_NONNULL, rbs_constant_id_t);
968
+
969
+ rbs_ast_annotation_t *RBS_NONNULL rbs_ast_annotation_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_string_t string);
970
+ rbs_ast_bool_t *RBS_NONNULL rbs_ast_bool_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, bool value);
971
+ rbs_ast_comment_t *RBS_NONNULL rbs_ast_comment_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_string_t string);
972
+ rbs_ast_declarations_class_t *RBS_NONNULL rbs_ast_declarations_class_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_type_name_t *RBS_NONNULL name, rbs_node_list_t *RBS_NONNULL type_params, rbs_ast_declarations_class_super_t *RBS_NULLABLE super_class, rbs_node_list_t *RBS_NONNULL members, rbs_node_list_t *RBS_NONNULL annotations, rbs_ast_comment_t *RBS_NULLABLE comment, rbs_location_range keyword_range, rbs_location_range name_range, rbs_location_range end_range);
973
+ rbs_ast_declarations_class_super_t *RBS_NONNULL rbs_ast_declarations_class_super_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_type_name_t *RBS_NONNULL name, rbs_node_list_t *RBS_NONNULL args, rbs_location_range name_range);
974
+ rbs_ast_declarations_class_alias_t *RBS_NONNULL rbs_ast_declarations_class_alias_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_type_name_t *RBS_NONNULL new_name, rbs_type_name_t *RBS_NONNULL old_name, rbs_ast_comment_t *RBS_NULLABLE comment, rbs_node_list_t *RBS_NONNULL annotations, rbs_location_range keyword_range, rbs_location_range new_name_range, rbs_location_range eq_range, rbs_location_range old_name_range);
975
+ rbs_ast_declarations_constant_t *RBS_NONNULL rbs_ast_declarations_constant_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_type_name_t *RBS_NONNULL name, rbs_node_t *RBS_NONNULL type, rbs_ast_comment_t *RBS_NULLABLE comment, rbs_node_list_t *RBS_NONNULL annotations, rbs_location_range name_range, rbs_location_range colon_range);
976
+ rbs_ast_declarations_global_t *RBS_NONNULL rbs_ast_declarations_global_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_ast_symbol_t *RBS_NONNULL name, rbs_node_t *RBS_NONNULL type, rbs_ast_comment_t *RBS_NULLABLE comment, rbs_node_list_t *RBS_NONNULL annotations, rbs_location_range name_range, rbs_location_range colon_range);
977
+ rbs_ast_declarations_interface_t *RBS_NONNULL rbs_ast_declarations_interface_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_type_name_t *RBS_NONNULL name, rbs_node_list_t *RBS_NONNULL type_params, rbs_node_list_t *RBS_NONNULL members, rbs_node_list_t *RBS_NONNULL annotations, rbs_ast_comment_t *RBS_NULLABLE comment, rbs_location_range keyword_range, rbs_location_range name_range, rbs_location_range end_range);
978
+ rbs_ast_declarations_module_t *RBS_NONNULL rbs_ast_declarations_module_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_type_name_t *RBS_NONNULL name, rbs_node_list_t *RBS_NONNULL type_params, rbs_node_list_t *RBS_NONNULL self_types, rbs_node_list_t *RBS_NONNULL members, rbs_node_list_t *RBS_NONNULL annotations, rbs_ast_comment_t *RBS_NULLABLE comment, rbs_location_range keyword_range, rbs_location_range name_range, rbs_location_range end_range);
979
+ rbs_ast_declarations_module_self_t *RBS_NONNULL rbs_ast_declarations_module_self_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_type_name_t *RBS_NONNULL name, rbs_node_list_t *RBS_NONNULL args, rbs_location_range name_range);
980
+ rbs_ast_declarations_module_alias_t *RBS_NONNULL rbs_ast_declarations_module_alias_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_type_name_t *RBS_NONNULL new_name, rbs_type_name_t *RBS_NONNULL old_name, rbs_ast_comment_t *RBS_NULLABLE comment, rbs_node_list_t *RBS_NONNULL annotations, rbs_location_range keyword_range, rbs_location_range new_name_range, rbs_location_range eq_range, rbs_location_range old_name_range);
981
+ rbs_ast_declarations_type_alias_t *RBS_NONNULL rbs_ast_declarations_type_alias_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_type_name_t *RBS_NONNULL name, rbs_node_list_t *RBS_NONNULL type_params, rbs_node_t *RBS_NONNULL type, rbs_node_list_t *RBS_NONNULL annotations, rbs_ast_comment_t *RBS_NULLABLE comment, rbs_location_range keyword_range, rbs_location_range name_range, rbs_location_range eq_range);
982
+ rbs_ast_directives_use_t *RBS_NONNULL rbs_ast_directives_use_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_node_list_t *RBS_NONNULL clauses, rbs_location_range keyword_range);
983
+ rbs_ast_directives_use_single_clause_t *RBS_NONNULL rbs_ast_directives_use_single_clause_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_type_name_t *RBS_NONNULL type_name, rbs_ast_symbol_t *RBS_NULLABLE new_name, rbs_location_range type_name_range);
984
+ rbs_ast_directives_use_wildcard_clause_t *RBS_NONNULL rbs_ast_directives_use_wildcard_clause_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_namespace_t *RBS_NONNULL rbs_namespace, rbs_location_range namespace_range, rbs_location_range star_range);
985
+ rbs_ast_integer_t *RBS_NONNULL rbs_ast_integer_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_string_t string_representation);
986
+ rbs_ast_members_alias_t *RBS_NONNULL rbs_ast_members_alias_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_ast_symbol_t *RBS_NONNULL new_name, rbs_ast_symbol_t *RBS_NONNULL old_name, enum rbs_alias_kind kind, rbs_node_list_t *RBS_NONNULL annotations, rbs_ast_comment_t *RBS_NULLABLE comment, rbs_location_range keyword_range, rbs_location_range new_name_range, rbs_location_range old_name_range);
987
+ rbs_ast_members_attr_accessor_t *RBS_NONNULL rbs_ast_members_attr_accessor_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_ast_symbol_t *RBS_NONNULL name, rbs_node_t *RBS_NONNULL type, rbs_attr_ivar_name_t ivar_name, enum rbs_attribute_kind kind, rbs_node_list_t *RBS_NONNULL annotations, rbs_ast_comment_t *RBS_NULLABLE comment, enum rbs_attribute_visibility visibility, rbs_location_range keyword_range, rbs_location_range name_range, rbs_location_range colon_range);
988
+ rbs_ast_members_attr_reader_t *RBS_NONNULL rbs_ast_members_attr_reader_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_ast_symbol_t *RBS_NONNULL name, rbs_node_t *RBS_NONNULL type, rbs_attr_ivar_name_t ivar_name, enum rbs_attribute_kind kind, rbs_node_list_t *RBS_NONNULL annotations, rbs_ast_comment_t *RBS_NULLABLE comment, enum rbs_attribute_visibility visibility, rbs_location_range keyword_range, rbs_location_range name_range, rbs_location_range colon_range);
989
+ rbs_ast_members_attr_writer_t *RBS_NONNULL rbs_ast_members_attr_writer_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_ast_symbol_t *RBS_NONNULL name, rbs_node_t *RBS_NONNULL type, rbs_attr_ivar_name_t ivar_name, enum rbs_attribute_kind kind, rbs_node_list_t *RBS_NONNULL annotations, rbs_ast_comment_t *RBS_NULLABLE comment, enum rbs_attribute_visibility visibility, rbs_location_range keyword_range, rbs_location_range name_range, rbs_location_range colon_range);
990
+ rbs_ast_members_class_instance_variable_t *RBS_NONNULL rbs_ast_members_class_instance_variable_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_ast_symbol_t *RBS_NONNULL name, rbs_node_t *RBS_NONNULL type, rbs_ast_comment_t *RBS_NULLABLE comment, rbs_location_range name_range, rbs_location_range colon_range);
991
+ rbs_ast_members_class_variable_t *RBS_NONNULL rbs_ast_members_class_variable_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_ast_symbol_t *RBS_NONNULL name, rbs_node_t *RBS_NONNULL type, rbs_ast_comment_t *RBS_NULLABLE comment, rbs_location_range name_range, rbs_location_range colon_range);
992
+ rbs_ast_members_extend_t *RBS_NONNULL rbs_ast_members_extend_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_type_name_t *RBS_NONNULL name, rbs_node_list_t *RBS_NONNULL args, rbs_node_list_t *RBS_NONNULL annotations, rbs_ast_comment_t *RBS_NULLABLE comment, rbs_location_range name_range, rbs_location_range keyword_range);
993
+ rbs_ast_members_include_t *RBS_NONNULL rbs_ast_members_include_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_type_name_t *RBS_NONNULL name, rbs_node_list_t *RBS_NONNULL args, rbs_node_list_t *RBS_NONNULL annotations, rbs_ast_comment_t *RBS_NULLABLE comment, rbs_location_range name_range, rbs_location_range keyword_range);
994
+ rbs_ast_members_instance_variable_t *RBS_NONNULL rbs_ast_members_instance_variable_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_ast_symbol_t *RBS_NONNULL name, rbs_node_t *RBS_NONNULL type, rbs_ast_comment_t *RBS_NULLABLE comment, rbs_location_range name_range, rbs_location_range colon_range);
995
+ rbs_ast_members_method_definition_t *RBS_NONNULL rbs_ast_members_method_definition_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_ast_symbol_t *RBS_NONNULL name, enum rbs_method_definition_kind kind, rbs_node_list_t *RBS_NONNULL overloads, rbs_node_list_t *RBS_NONNULL annotations, rbs_ast_comment_t *RBS_NULLABLE comment, bool overloading, enum rbs_method_definition_visibility visibility, rbs_location_range keyword_range, rbs_location_range name_range);
996
+ rbs_ast_members_method_definition_overload_t *RBS_NONNULL rbs_ast_members_method_definition_overload_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_node_list_t *RBS_NONNULL annotations, rbs_node_t *RBS_NONNULL method_type);
997
+ rbs_ast_members_prepend_t *RBS_NONNULL rbs_ast_members_prepend_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_type_name_t *RBS_NONNULL name, rbs_node_list_t *RBS_NONNULL args, rbs_node_list_t *RBS_NONNULL annotations, rbs_ast_comment_t *RBS_NULLABLE comment, rbs_location_range name_range, rbs_location_range keyword_range);
998
+ rbs_ast_members_private_t *RBS_NONNULL rbs_ast_members_private_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location);
999
+ rbs_ast_members_public_t *RBS_NONNULL rbs_ast_members_public_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location);
1000
+ rbs_ast_ruby_annotations_block_param_type_annotation_t *RBS_NONNULL rbs_ast_ruby_annotations_block_param_type_annotation_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_location_range prefix_location, rbs_location_range ampersand_location, rbs_location_range name_location, rbs_location_range colon_location, rbs_location_range question_location, rbs_location_range type_location, rbs_node_t *RBS_NONNULL type_, rbs_location_range comment_location);
1001
+ rbs_ast_ruby_annotations_class_alias_annotation_t *RBS_NONNULL rbs_ast_ruby_annotations_class_alias_annotation_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_location_range prefix_location, rbs_location_range keyword_location, rbs_type_name_t *RBS_NONNULL type_name, rbs_location_range type_name_location);
1002
+ rbs_ast_ruby_annotations_colon_method_type_annotation_t *RBS_NONNULL rbs_ast_ruby_annotations_colon_method_type_annotation_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_location_range prefix_location, rbs_node_list_t *RBS_NONNULL annotations, rbs_node_t *RBS_NONNULL method_type);
1003
+ rbs_ast_ruby_annotations_double_splat_param_type_annotation_t *RBS_NONNULL rbs_ast_ruby_annotations_double_splat_param_type_annotation_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_location_range prefix_location, rbs_location_range star2_location, rbs_location_range name_location, rbs_location_range colon_location, rbs_node_t *RBS_NONNULL param_type, rbs_location_range comment_location);
1004
+ rbs_ast_ruby_annotations_instance_variable_annotation_t *RBS_NONNULL rbs_ast_ruby_annotations_instance_variable_annotation_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_location_range prefix_location, rbs_ast_symbol_t *RBS_NONNULL ivar_name, rbs_location_range ivar_name_location, rbs_location_range colon_location, rbs_node_t *RBS_NONNULL type, rbs_location_range comment_location);
1005
+ rbs_ast_ruby_annotations_method_types_annotation_t *RBS_NONNULL rbs_ast_ruby_annotations_method_types_annotation_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_location_range prefix_location, rbs_node_list_t *RBS_NONNULL overloads, rbs_location_range_list_t *RBS_NONNULL vertical_bar_locations, rbs_location_range dot3_location);
1006
+ rbs_ast_ruby_annotations_module_alias_annotation_t *RBS_NONNULL rbs_ast_ruby_annotations_module_alias_annotation_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_location_range prefix_location, rbs_location_range keyword_location, rbs_type_name_t *RBS_NONNULL type_name, rbs_location_range type_name_location);
1007
+ rbs_ast_ruby_annotations_module_self_annotation_t *RBS_NONNULL rbs_ast_ruby_annotations_module_self_annotation_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_location_range prefix_location, rbs_location_range keyword_location, rbs_location_range colon_location, rbs_type_name_t *RBS_NONNULL name, rbs_node_list_t *RBS_NONNULL args, rbs_location_range open_bracket_location, rbs_location_range close_bracket_location, rbs_location_range_list_t *RBS_NONNULL args_comma_locations, rbs_location_range comment_location);
1008
+ rbs_ast_ruby_annotations_node_type_assertion_t *RBS_NONNULL rbs_ast_ruby_annotations_node_type_assertion_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_location_range prefix_location, rbs_node_t *RBS_NONNULL type);
1009
+ rbs_ast_ruby_annotations_param_type_annotation_t *RBS_NONNULL rbs_ast_ruby_annotations_param_type_annotation_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_location_range prefix_location, rbs_location_range name_location, rbs_location_range colon_location, rbs_node_t *RBS_NONNULL param_type, rbs_location_range comment_location);
1010
+ rbs_ast_ruby_annotations_return_type_annotation_t *RBS_NONNULL rbs_ast_ruby_annotations_return_type_annotation_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_location_range prefix_location, rbs_location_range return_location, rbs_location_range colon_location, rbs_node_t *RBS_NONNULL return_type, rbs_location_range comment_location);
1011
+ rbs_ast_ruby_annotations_skip_annotation_t *RBS_NONNULL rbs_ast_ruby_annotations_skip_annotation_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_location_range prefix_location, rbs_location_range skip_location, rbs_location_range comment_location);
1012
+ rbs_ast_ruby_annotations_splat_param_type_annotation_t *RBS_NONNULL rbs_ast_ruby_annotations_splat_param_type_annotation_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_location_range prefix_location, rbs_location_range star_location, rbs_location_range name_location, rbs_location_range colon_location, rbs_node_t *RBS_NONNULL param_type, rbs_location_range comment_location);
1013
+ rbs_ast_ruby_annotations_type_application_annotation_t *RBS_NONNULL rbs_ast_ruby_annotations_type_application_annotation_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_location_range prefix_location, rbs_node_list_t *RBS_NONNULL type_args, rbs_location_range close_bracket_location, rbs_location_range_list_t *RBS_NONNULL comma_locations);
1014
+ rbs_ast_string_t *RBS_NONNULL rbs_ast_string_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_string_t string);
1015
+ rbs_ast_type_param_t *RBS_NONNULL rbs_ast_type_param_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_ast_symbol_t *RBS_NONNULL name, enum rbs_type_param_variance variance, rbs_node_t *RBS_NULLABLE upper_bound, rbs_node_t *RBS_NULLABLE lower_bound, rbs_node_t *RBS_NULLABLE default_type, bool unchecked, rbs_location_range name_range);
1016
+ rbs_method_type_t *RBS_NONNULL rbs_method_type_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_node_list_t *RBS_NONNULL type_params, rbs_node_t *RBS_NONNULL type, rbs_types_block_t *RBS_NULLABLE block, rbs_location_range type_range);
1017
+ rbs_namespace_t *RBS_NONNULL rbs_namespace_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_node_list_t *RBS_NONNULL path, bool absolute);
1018
+ rbs_signature_t *RBS_NONNULL rbs_signature_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_node_list_t *RBS_NONNULL directives, rbs_node_list_t *RBS_NONNULL declarations);
1019
+ rbs_type_name_t *RBS_NONNULL rbs_type_name_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_namespace_t *RBS_NONNULL rbs_namespace, rbs_ast_symbol_t *RBS_NONNULL name);
1020
+ rbs_types_alias_t *RBS_NONNULL rbs_types_alias_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_type_name_t *RBS_NONNULL name, rbs_node_list_t *RBS_NONNULL args, rbs_location_range name_range);
1021
+ rbs_types_bases_any_t *RBS_NONNULL rbs_types_bases_any_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, bool todo);
1022
+ rbs_types_bases_bool_t *RBS_NONNULL rbs_types_bases_bool_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location);
1023
+ rbs_types_bases_bottom_t *RBS_NONNULL rbs_types_bases_bottom_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location);
1024
+ rbs_types_bases_class_t *RBS_NONNULL rbs_types_bases_class_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location);
1025
+ rbs_types_bases_instance_t *RBS_NONNULL rbs_types_bases_instance_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location);
1026
+ rbs_types_bases_nil_t *RBS_NONNULL rbs_types_bases_nil_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location);
1027
+ rbs_types_bases_self_t *RBS_NONNULL rbs_types_bases_self_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location);
1028
+ rbs_types_bases_top_t *RBS_NONNULL rbs_types_bases_top_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location);
1029
+ rbs_types_bases_void_t *RBS_NONNULL rbs_types_bases_void_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location);
1030
+ rbs_types_block_t *RBS_NONNULL rbs_types_block_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_node_t *RBS_NONNULL type, bool required, rbs_node_t *RBS_NULLABLE self_type);
1031
+ rbs_types_class_instance_t *RBS_NONNULL rbs_types_class_instance_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_type_name_t *RBS_NONNULL name, rbs_node_list_t *RBS_NONNULL args, rbs_location_range name_range);
1032
+ rbs_types_class_singleton_t *RBS_NONNULL rbs_types_class_singleton_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_type_name_t *RBS_NONNULL name, rbs_node_list_t *RBS_NONNULL args, rbs_location_range name_range);
1033
+ rbs_types_function_t *RBS_NONNULL rbs_types_function_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_node_list_t *RBS_NONNULL required_positionals, rbs_node_list_t *RBS_NONNULL optional_positionals, rbs_node_t *RBS_NULLABLE rest_positionals, rbs_node_list_t *RBS_NONNULL trailing_positionals, rbs_hash_t *RBS_NONNULL required_keywords, rbs_hash_t *RBS_NONNULL optional_keywords, rbs_node_t *RBS_NULLABLE rest_keywords, rbs_node_t *RBS_NONNULL return_type);
1034
+ rbs_types_function_param_t *RBS_NONNULL rbs_types_function_param_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_node_t *RBS_NONNULL type, rbs_ast_symbol_t *RBS_NULLABLE name);
1035
+ rbs_types_interface_t *RBS_NONNULL rbs_types_interface_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_type_name_t *RBS_NONNULL name, rbs_node_list_t *RBS_NONNULL args, rbs_location_range name_range);
1036
+ rbs_types_intersection_t *RBS_NONNULL rbs_types_intersection_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_node_list_t *RBS_NONNULL types);
1037
+ rbs_types_literal_t *RBS_NONNULL rbs_types_literal_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_node_t *RBS_NONNULL literal);
1038
+ rbs_types_optional_t *RBS_NONNULL rbs_types_optional_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_node_t *RBS_NONNULL type);
1039
+ rbs_types_proc_t *RBS_NONNULL rbs_types_proc_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_node_t *RBS_NONNULL type, rbs_types_block_t *RBS_NULLABLE block, rbs_node_t *RBS_NULLABLE self_type);
1040
+ rbs_types_record_t *RBS_NONNULL rbs_types_record_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_hash_t *RBS_NONNULL all_fields);
1041
+ rbs_types_record_field_type_t *RBS_NONNULL rbs_types_record_field_type_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_node_t *RBS_NONNULL type, bool required);
1042
+ rbs_types_tuple_t *RBS_NONNULL rbs_types_tuple_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_node_list_t *RBS_NONNULL types);
1043
+ rbs_types_union_t *RBS_NONNULL rbs_types_union_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_node_list_t *RBS_NONNULL types);
1044
+ rbs_types_untyped_function_t *RBS_NONNULL rbs_types_untyped_function_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_node_t *RBS_NONNULL return_type);
1045
+ rbs_types_variable_t *RBS_NONNULL rbs_types_variable_new(rbs_allocator_t *RBS_NONNULL allocator, rbs_location_range location, rbs_ast_symbol_t *RBS_NONNULL name);
1046
+
1047
+ #endif