pigeonhole-db 1.1.0

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 (1256) hide show
  1. checksums.yaml +7 -0
  2. data/Cargo.lock +899 -0
  3. data/Cargo.toml +45 -0
  4. data/LICENSE +21 -0
  5. data/README.md +22 -0
  6. data/extconf.rb +12 -0
  7. data/lib/pigeonhole/api.rb +615 -0
  8. data/lib/pigeonhole/index.rb +208 -0
  9. data/lib/pigeonhole/memory.rb +507 -0
  10. data/lib/pigeonhole/version.rb +6 -0
  11. data/lib/pigeonhole-db.rb +6 -0
  12. data/lib/pigeonhole.rb +47 -0
  13. data/sig/pigeonhole.rbs +1484 -0
  14. data/src/budget.rs +205 -0
  15. data/src/classes.rs +279 -0
  16. data/src/convert.rs +192 -0
  17. data/src/db.rs +685 -0
  18. data/src/error.rs +151 -0
  19. data/src/feed.rs +316 -0
  20. data/src/fork.rs +64 -0
  21. data/src/gvl.rs +112 -0
  22. data/src/index.rs +1157 -0
  23. data/src/lib.rs +534 -0
  24. data/src/memory.rs +2178 -0
  25. data/src/read.rs +312 -0
  26. data/src/table.rs +1161 -0
  27. data/src/vector.rs +262 -0
  28. data/src/walk.rs +406 -0
  29. data/vendor/bundle/ruby/3.4.0/bin/minitest +29 -0
  30. data/vendor/bundle/ruby/3.4.0/bin/rake +29 -0
  31. data/vendor/bundle/ruby/3.4.0/bin/rake-compiler +29 -0
  32. data/vendor/bundle/ruby/3.4.0/bin/rake-compiler-dock +29 -0
  33. data/vendor/bundle/ruby/3.4.0/bin/rb-sys-dock +29 -0
  34. data/vendor/bundle/ruby/3.4.0/bin/rbs +29 -0
  35. data/vendor/bundle/ruby/3.4.0/cache/drb-2.2.3.gem +0 -0
  36. data/vendor/bundle/ruby/3.4.0/cache/logger-1.7.0.gem +0 -0
  37. data/vendor/bundle/ruby/3.4.0/cache/minitest-6.0.6.gem +0 -0
  38. data/vendor/bundle/ruby/3.4.0/cache/prism-1.9.0.gem +0 -0
  39. data/vendor/bundle/ruby/3.4.0/cache/rake-13.4.2.gem +0 -0
  40. data/vendor/bundle/ruby/3.4.0/cache/rake-compiler-1.3.2.gem +0 -0
  41. data/vendor/bundle/ruby/3.4.0/cache/rake-compiler-dock-1.12.0.gem +0 -0
  42. data/vendor/bundle/ruby/3.4.0/cache/rb_sys-0.9.130.gem +0 -0
  43. data/vendor/bundle/ruby/3.4.0/cache/rbs-4.2.0.gem +0 -0
  44. data/vendor/bundle/ruby/3.4.0/cache/toml-rb-6.0.0.gem +0 -0
  45. data/vendor/bundle/ruby/3.4.0/cache/tsort-0.2.0.gem +0 -0
  46. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/prism-1.9.0/gem.build_complete +0 -0
  47. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/prism-1.9.0/gem_make.out +44 -0
  48. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/prism-1.9.0/mkmf.log +74 -0
  49. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/prism-1.9.0/prism/prism.so +0 -0
  50. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/rbs-4.2.0/gem.build_complete +0 -0
  51. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/rbs-4.2.0/gem_make.out +41 -0
  52. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/rbs-4.2.0/mkmf.log +102 -0
  53. data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/rbs-4.2.0/rbs_extension.so +0 -0
  54. data/vendor/bundle/ruby/3.4.0/gems/drb-2.2.3/LICENSE.txt +22 -0
  55. data/vendor/bundle/ruby/3.4.0/gems/drb-2.2.3/drb.gemspec +42 -0
  56. data/vendor/bundle/ruby/3.4.0/gems/drb-2.2.3/lib/drb/acl.rb +239 -0
  57. data/vendor/bundle/ruby/3.4.0/gems/drb-2.2.3/lib/drb/drb.rb +1993 -0
  58. data/vendor/bundle/ruby/3.4.0/gems/drb-2.2.3/lib/drb/eq.rb +15 -0
  59. data/vendor/bundle/ruby/3.4.0/gems/drb-2.2.3/lib/drb/extserv.rb +44 -0
  60. data/vendor/bundle/ruby/3.4.0/gems/drb-2.2.3/lib/drb/extservm.rb +94 -0
  61. data/vendor/bundle/ruby/3.4.0/gems/drb-2.2.3/lib/drb/gw.rb +161 -0
  62. data/vendor/bundle/ruby/3.4.0/gems/drb-2.2.3/lib/drb/observer.rb +26 -0
  63. data/vendor/bundle/ruby/3.4.0/gems/drb-2.2.3/lib/drb/ssl.rb +354 -0
  64. data/vendor/bundle/ruby/3.4.0/gems/drb-2.2.3/lib/drb/timeridconv.rb +97 -0
  65. data/vendor/bundle/ruby/3.4.0/gems/drb-2.2.3/lib/drb/unix.rb +118 -0
  66. data/vendor/bundle/ruby/3.4.0/gems/drb-2.2.3/lib/drb/version.rb +3 -0
  67. data/vendor/bundle/ruby/3.4.0/gems/drb-2.2.3/lib/drb/weakidconv.rb +31 -0
  68. data/vendor/bundle/ruby/3.4.0/gems/drb-2.2.3/lib/drb.rb +3 -0
  69. data/vendor/bundle/ruby/3.4.0/gems/logger-1.7.0/BSDL +22 -0
  70. data/vendor/bundle/ruby/3.4.0/gems/logger-1.7.0/COPYING +56 -0
  71. data/vendor/bundle/ruby/3.4.0/gems/logger-1.7.0/README.md +104 -0
  72. data/vendor/bundle/ruby/3.4.0/gems/logger-1.7.0/lib/logger/errors.rb +9 -0
  73. data/vendor/bundle/ruby/3.4.0/gems/logger-1.7.0/lib/logger/formatter.rb +36 -0
  74. data/vendor/bundle/ruby/3.4.0/gems/logger-1.7.0/lib/logger/log_device.rb +265 -0
  75. data/vendor/bundle/ruby/3.4.0/gems/logger-1.7.0/lib/logger/period.rb +47 -0
  76. data/vendor/bundle/ruby/3.4.0/gems/logger-1.7.0/lib/logger/severity.rb +38 -0
  77. data/vendor/bundle/ruby/3.4.0/gems/logger-1.7.0/lib/logger/version.rb +5 -0
  78. data/vendor/bundle/ruby/3.4.0/gems/logger-1.7.0/lib/logger.rb +789 -0
  79. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/History.rdoc +1860 -0
  80. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/Manifest.txt +41 -0
  81. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/README.rdoc +763 -0
  82. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/Rakefile +89 -0
  83. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/bin/minitest +5 -0
  84. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/design_rationale.rb +54 -0
  85. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/lib/hoe/minitest.rb +30 -0
  86. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/lib/minitest/assertions.rb +821 -0
  87. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/lib/minitest/autorun.rb +5 -0
  88. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/lib/minitest/benchmark.rb +452 -0
  89. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/lib/minitest/bisect.rb +304 -0
  90. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/lib/minitest/complete.rb +56 -0
  91. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/lib/minitest/compress.rb +94 -0
  92. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/lib/minitest/error_on_warning.rb +11 -0
  93. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/lib/minitest/expectations.rb +321 -0
  94. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/lib/minitest/find_minimal_combination.rb +127 -0
  95. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/lib/minitest/hell.rb +11 -0
  96. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/lib/minitest/manual_plugins.rb +4 -0
  97. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/lib/minitest/parallel.rb +72 -0
  98. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/lib/minitest/path_expander.rb +432 -0
  99. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/lib/minitest/pride.rb +4 -0
  100. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/lib/minitest/pride_plugin.rb +135 -0
  101. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/lib/minitest/server.rb +49 -0
  102. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/lib/minitest/server_plugin.rb +88 -0
  103. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/lib/minitest/spec.rb +324 -0
  104. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/lib/minitest/sprint.rb +105 -0
  105. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/lib/minitest/sprint_plugin.rb +39 -0
  106. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/lib/minitest/test.rb +232 -0
  107. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/lib/minitest/test_task.rb +331 -0
  108. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/lib/minitest.rb +1232 -0
  109. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/test/minitest/metametameta.rb +150 -0
  110. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/test/minitest/test_bisect.rb +249 -0
  111. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/test/minitest/test_find_minimal_combination.rb +138 -0
  112. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/test/minitest/test_minitest_assertions.rb +1729 -0
  113. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/test/minitest/test_minitest_benchmark.rb +151 -0
  114. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/test/minitest/test_minitest_reporter.rb +437 -0
  115. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/test/minitest/test_minitest_spec.rb +1095 -0
  116. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/test/minitest/test_minitest_test.rb +1295 -0
  117. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/test/minitest/test_minitest_test_task.rb +57 -0
  118. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/test/minitest/test_path_expander.rb +229 -0
  119. data/vendor/bundle/ruby/3.4.0/gems/minitest-6.0.6/test/minitest/test_server.rb +146 -0
  120. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/BSDmakefile +58 -0
  121. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/CHANGELOG.md +786 -0
  122. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/CODE_OF_CONDUCT.md +76 -0
  123. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/CONTRIBUTING.md +58 -0
  124. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/LICENSE.md +7 -0
  125. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/Makefile +116 -0
  126. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/README.md +143 -0
  127. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/config.yml +4739 -0
  128. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/docs/build_system.md +119 -0
  129. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/docs/configuration.md +68 -0
  130. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/docs/cruby_compilation.md +27 -0
  131. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/docs/design.md +53 -0
  132. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/docs/encoding.md +121 -0
  133. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/docs/fuzzing.md +88 -0
  134. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/docs/heredocs.md +36 -0
  135. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/docs/javascript.md +118 -0
  136. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/docs/local_variable_depth.md +229 -0
  137. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/docs/mapping.md +117 -0
  138. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/docs/parser_translation.md +24 -0
  139. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/docs/parsing_rules.md +22 -0
  140. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/docs/releasing.md +75 -0
  141. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/docs/relocation.md +34 -0
  142. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/docs/ripper_translation.md +63 -0
  143. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/docs/ruby_api.md +45 -0
  144. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/docs/ruby_parser_translation.md +19 -0
  145. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/docs/serialization.md +233 -0
  146. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/docs/testing.md +55 -0
  147. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/ext/prism/Makefile +273 -0
  148. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/ext/prism/api_node.c +6945 -0
  149. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/ext/prism/api_pack.c +276 -0
  150. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/ext/prism/extconf.rb +127 -0
  151. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/ext/prism/extension.c +1427 -0
  152. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/ext/prism/extension.h +19 -0
  153. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/include/prism/ast.h +8254 -0
  154. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/include/prism/defines.h +260 -0
  155. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/include/prism/diagnostic.h +458 -0
  156. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/include/prism/encoding.h +283 -0
  157. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/include/prism/node.h +129 -0
  158. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/include/prism/options.h +488 -0
  159. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/include/prism/pack.h +163 -0
  160. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/include/prism/parser.h +936 -0
  161. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/include/prism/prettyprint.h +34 -0
  162. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/include/prism/regexp.h +43 -0
  163. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/include/prism/static_literals.h +121 -0
  164. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/include/prism/util/pm_buffer.h +236 -0
  165. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/include/prism/util/pm_char.h +204 -0
  166. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/include/prism/util/pm_constant_pool.h +218 -0
  167. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/include/prism/util/pm_integer.h +130 -0
  168. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/include/prism/util/pm_list.h +103 -0
  169. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/include/prism/util/pm_memchr.h +29 -0
  170. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/include/prism/util/pm_newline_list.h +113 -0
  171. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/include/prism/util/pm_string.h +200 -0
  172. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/include/prism/util/pm_strncasecmp.h +32 -0
  173. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/include/prism/util/pm_strpbrk.h +46 -0
  174. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/include/prism/version.h +29 -0
  175. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/include/prism.h +408 -0
  176. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/compiler.rb +801 -0
  177. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/desugar_compiler.rb +392 -0
  178. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/dispatcher.rb +2210 -0
  179. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/dot_visitor.rb +4767 -0
  180. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/dsl.rb +1003 -0
  181. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/ffi.rb +578 -0
  182. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/inspect_visitor.rb +2393 -0
  183. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/lex_compat.rb +911 -0
  184. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/mutation_compiler.rb +772 -0
  185. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/node.rb +19966 -0
  186. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/node_ext.rb +511 -0
  187. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/pack.rb +230 -0
  188. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/parse_result/comments.rb +188 -0
  189. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/parse_result/errors.rb +66 -0
  190. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/parse_result/newlines.rb +155 -0
  191. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/parse_result.rb +907 -0
  192. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/pattern.rb +269 -0
  193. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/polyfill/append_as_bytes.rb +15 -0
  194. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/polyfill/byteindex.rb +13 -0
  195. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/polyfill/scan_byte.rb +14 -0
  196. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/polyfill/unpack1.rb +14 -0
  197. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/polyfill/warn.rb +36 -0
  198. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/prism.so +0 -0
  199. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/reflection.rb +416 -0
  200. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/relocation.rb +505 -0
  201. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/serialize.rb +2400 -0
  202. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/string_query.rb +31 -0
  203. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/translation/parser/builder.rb +62 -0
  204. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/translation/parser/compiler.rb +2234 -0
  205. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/translation/parser/lexer.rb +820 -0
  206. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/translation/parser.rb +376 -0
  207. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/translation/parser_current.rb +26 -0
  208. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/translation/parser_versions.rb +36 -0
  209. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/translation/ripper/filter.rb +53 -0
  210. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/translation/ripper/lexer.rb +135 -0
  211. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/translation/ripper/sexp.rb +126 -0
  212. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/translation/ripper/shim.rb +5 -0
  213. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/translation/ripper.rb +3520 -0
  214. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/translation/ruby_parser.rb +1964 -0
  215. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/translation.rb +18 -0
  216. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism/visitor.rb +813 -0
  217. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/lib/prism.rb +98 -0
  218. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/prism.gemspec +172 -0
  219. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/rbi/prism/compiler.rbi +12 -0
  220. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/rbi/prism/dsl.rbi +524 -0
  221. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/rbi/prism/inspect_visitor.rbi +12 -0
  222. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/rbi/prism/node.rbi +8750 -0
  223. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/rbi/prism/node_ext.rbi +107 -0
  224. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/rbi/prism/parse_result.rbi +404 -0
  225. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/rbi/prism/reflection.rbi +58 -0
  226. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/rbi/prism/string_query.rbi +12 -0
  227. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/rbi/prism/translation/parser.rbi +11 -0
  228. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/rbi/prism/translation/parser_versions.rbi +23 -0
  229. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/rbi/prism/translation/ripper.rbi +15 -0
  230. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/rbi/prism/visitor.rbi +473 -0
  231. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/rbi/prism.rbi +63 -0
  232. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/sig/prism/compiler.rbs +9 -0
  233. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/sig/prism/dispatcher.rbs +19 -0
  234. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/sig/prism/dot_visitor.rbs +6 -0
  235. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/sig/prism/dsl.rbs +351 -0
  236. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/sig/prism/inspect_visitor.rbs +22 -0
  237. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/sig/prism/lex_compat.rbs +10 -0
  238. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/sig/prism/mutation_compiler.rbs +159 -0
  239. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/sig/prism/node.rbs +4042 -0
  240. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/sig/prism/node_ext.rbs +149 -0
  241. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/sig/prism/pack.rbs +43 -0
  242. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/sig/prism/parse_result/comments.rbs +38 -0
  243. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/sig/prism/parse_result.rbs +197 -0
  244. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/sig/prism/pattern.rbs +13 -0
  245. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/sig/prism/reflection.rbs +50 -0
  246. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/sig/prism/relocation.rbs +185 -0
  247. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/sig/prism/serialize.rbs +8 -0
  248. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/sig/prism/string_query.rbs +11 -0
  249. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/sig/prism/visitor.rbs +169 -0
  250. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/sig/prism.rbs +272 -0
  251. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/src/diagnostic.c +854 -0
  252. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/src/encoding.c +5340 -0
  253. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/src/node.c +8685 -0
  254. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/src/options.c +338 -0
  255. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/src/pack.c +509 -0
  256. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/src/prettyprint.c +8957 -0
  257. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/src/prism.c +22679 -0
  258. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/src/regexp.c +790 -0
  259. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/src/serialize.c +2274 -0
  260. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/src/static_literals.c +617 -0
  261. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/src/token_type.c +703 -0
  262. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/src/util/pm_buffer.c +357 -0
  263. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/src/util/pm_char.c +318 -0
  264. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/src/util/pm_constant_pool.c +342 -0
  265. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/src/util/pm_integer.c +670 -0
  266. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/src/util/pm_list.c +49 -0
  267. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/src/util/pm_memchr.c +35 -0
  268. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/src/util/pm_newline_list.c +125 -0
  269. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/src/util/pm_string.c +381 -0
  270. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/src/util/pm_strncasecmp.c +36 -0
  271. data/vendor/bundle/ruby/3.4.0/gems/prism-1.9.0/src/util/pm_strpbrk.c +206 -0
  272. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/History.rdoc +2454 -0
  273. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/MIT-LICENSE +21 -0
  274. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/README.rdoc +155 -0
  275. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/doc/command_line_usage.rdoc +171 -0
  276. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/doc/example/Rakefile1 +38 -0
  277. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/doc/example/Rakefile2 +35 -0
  278. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/doc/example/a.c +6 -0
  279. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/doc/example/b.c +6 -0
  280. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/doc/example/main.c +11 -0
  281. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/doc/glossary.rdoc +42 -0
  282. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/doc/jamis.rb +592 -0
  283. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/doc/proto_rake.rdoc +127 -0
  284. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/doc/rake.1 +156 -0
  285. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/doc/rakefile.rdoc +635 -0
  286. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/doc/rational.rdoc +151 -0
  287. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/exe/rake +27 -0
  288. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/application.rb +847 -0
  289. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/backtrace.rb +25 -0
  290. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/clean.rb +78 -0
  291. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/cloneable.rb +17 -0
  292. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/cpu_counter.rb +122 -0
  293. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/default_loader.rb +15 -0
  294. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/dsl_definition.rb +196 -0
  295. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/early_time.rb +22 -0
  296. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/ext/core.rb +26 -0
  297. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/ext/string.rb +176 -0
  298. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/file_creation_task.rb +25 -0
  299. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/file_list.rb +435 -0
  300. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/file_task.rb +58 -0
  301. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/file_utils.rb +137 -0
  302. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/file_utils_ext.rb +135 -0
  303. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/invocation_chain.rb +57 -0
  304. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/invocation_exception_mixin.rb +17 -0
  305. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/late_time.rb +18 -0
  306. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/linked_list.rb +112 -0
  307. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/loaders/makefile.rb +54 -0
  308. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/multi_task.rb +14 -0
  309. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/name_space.rb +38 -0
  310. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/options.rb +31 -0
  311. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/packagetask.rb +222 -0
  312. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/phony.rb +16 -0
  313. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/private_reader.rb +21 -0
  314. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/promise.rb +100 -0
  315. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/pseudo_status.rb +30 -0
  316. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/rake_module.rb +67 -0
  317. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/rake_test_loader.rb +27 -0
  318. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/rule_recursion_overflow_error.rb +20 -0
  319. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/scope.rb +43 -0
  320. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/task.rb +434 -0
  321. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/task_argument_error.rb +8 -0
  322. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/task_arguments.rb +113 -0
  323. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/task_manager.rb +333 -0
  324. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/tasklib.rb +12 -0
  325. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/testtask.rb +192 -0
  326. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/thread_history_display.rb +49 -0
  327. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/thread_pool.rb +157 -0
  328. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/trace_output.rb +23 -0
  329. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/version.rb +10 -0
  330. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake/win32.rb +17 -0
  331. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/lib/rake.rb +69 -0
  332. data/vendor/bundle/ruby/3.4.0/gems/rake-13.4.2/rake.gemspec +102 -0
  333. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-1.3.2/Gemfile +8 -0
  334. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-1.3.2/History.md +708 -0
  335. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-1.3.2/LICENSE.txt +20 -0
  336. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-1.3.2/README.md +505 -0
  337. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-1.3.2/Rakefile +15 -0
  338. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-1.3.2/appveyor.yml +22 -0
  339. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-1.3.2/bin/rake-compiler +24 -0
  340. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-1.3.2/cucumber.yml +4 -0
  341. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-1.3.2/features/compile.feature +79 -0
  342. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-1.3.2/features/cross-compile.feature +23 -0
  343. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-1.3.2/features/cross-package-multi.feature +15 -0
  344. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-1.3.2/features/cross-package.feature +14 -0
  345. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-1.3.2/features/java-compile.feature +22 -0
  346. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-1.3.2/features/java-no-native-compile.feature +33 -0
  347. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-1.3.2/features/java-package.feature +24 -0
  348. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-1.3.2/features/package.feature +40 -0
  349. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-1.3.2/features/step_definitions/compilation.rb +70 -0
  350. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-1.3.2/features/step_definitions/cross_compilation.rb +27 -0
  351. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-1.3.2/features/step_definitions/execution.rb +52 -0
  352. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-1.3.2/features/step_definitions/folders.rb +32 -0
  353. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-1.3.2/features/step_definitions/gem.rb +46 -0
  354. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-1.3.2/features/step_definitions/java_compilation.rb +7 -0
  355. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-1.3.2/features/support/env.rb +10 -0
  356. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-1.3.2/features/support/file_template_helpers.rb +137 -0
  357. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-1.3.2/features/support/generator_helpers.rb +123 -0
  358. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-1.3.2/features/support/platform_extension_helpers.rb +27 -0
  359. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-1.3.2/lib/rake/baseextensiontask.rb +90 -0
  360. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-1.3.2/lib/rake/compiler_config.rb +38 -0
  361. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-1.3.2/lib/rake/extensioncompiler.rb +51 -0
  362. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-1.3.2/lib/rake/extensiontask.rb +621 -0
  363. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-1.3.2/lib/rake/javaextensiontask.rb +321 -0
  364. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-1.3.2/tasks/bin/cross-ruby.rake +189 -0
  365. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-1.3.2/tasks/bootstrap.rake +11 -0
  366. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-1.3.2/tasks/common.rake +10 -0
  367. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-1.3.2/tasks/cucumber.rake +23 -0
  368. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-1.3.2/tasks/gem.rake +15 -0
  369. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-1.3.2/tasks/rspec.rake +9 -0
  370. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/CHANGELOG.md +446 -0
  371. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/CONTRIBUTING.md +109 -0
  372. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/Dockerfile.jruby +79 -0
  373. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/Dockerfile.mri.erb +282 -0
  374. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/Gemfile +8 -0
  375. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/LICENSE.txt +22 -0
  376. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/README.md +447 -0
  377. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/Rakefile +246 -0
  378. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/bin/rake-compiler-dock +18 -0
  379. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/build/buildkitd.toml +2 -0
  380. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/build/gem_helper.rb +54 -0
  381. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/build/mk_i686.rb +18 -0
  382. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/build/mk_musl_cross.sh +37 -0
  383. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/build/mk_osxcross.sh +45 -0
  384. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/build/mk_pkg_config.sh +24 -0
  385. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/build/parallel_docker_build.rb +169 -0
  386. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/build/patches/rake-compiler-1.3.1/0004-Enable-build-of-static-libruby.patch +38 -0
  387. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/build/patches/rake-compiler-1.3.1/0005-build-miniruby-first.patch +16 -0
  388. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/build/patches/rake-compiler-1.3.1/0006-ruby-4-rubyspec-capiext.patch +16 -0
  389. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/build/rcd-env.sh +6 -0
  390. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/build/runas +7 -0
  391. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/build/sigfw.c +45 -0
  392. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/build/strip_wrapper_codesign +17 -0
  393. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/build/strip_wrapper_vbox +30 -0
  394. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/build/sudoers +1 -0
  395. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/lib/rake_compiler_dock/colors.rb +43 -0
  396. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/lib/rake_compiler_dock/docker_check.rb +356 -0
  397. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/lib/rake_compiler_dock/predefined_user_group.rb +5 -0
  398. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/lib/rake_compiler_dock/starter.rb +206 -0
  399. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/lib/rake_compiler_dock/version.rb +4 -0
  400. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/lib/rake_compiler_dock.rb +151 -0
  401. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/mingw64-ucrt/Dockerfile +66 -0
  402. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/mingw64-ucrt/README.md +14 -0
  403. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/mingw64-ucrt/binutils-mingw-w64-ignore-check-errors.patch +13 -0
  404. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/mingw64-ucrt/gcc-mingw-w64-only-c-c++.patch +13 -0
  405. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/mingw64-ucrt/mingw-w64-enable-ucrt.patch +22 -0
  406. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/rake-compiler-dock.gemspec +34 -0
  407. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/test/env/Dockerfile.alpine +17 -0
  408. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/test/env/Dockerfile.debian +24 -0
  409. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/test/fixtures/mig_test_rpc.defs +8 -0
  410. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/test/rcd_test/Gemfile +11 -0
  411. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/test/rcd_test/Rakefile +97 -0
  412. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/test/rcd_test/ext/java/RcdTestExtService.java +19 -0
  413. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/test/rcd_test/ext/java/RubyRcdTest.java +16 -0
  414. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/test/rcd_test/ext/mri/extconf.rb +111 -0
  415. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/test/rcd_test/ext/mri/rcd_test_ext.c +65 -0
  416. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/test/rcd_test/ext/mri/rcd_test_ext.h +11 -0
  417. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/test/rcd_test/lib/rcd_test.rb +6 -0
  418. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/test/rcd_test/rcd_test.gemspec +28 -0
  419. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/test/rcd_test/test/test_basic.rb +49 -0
  420. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/test/test_environment_variables.rb +108 -0
  421. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/test/test_mig.rb +18 -0
  422. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/test/test_parallel_docker_build.rb +95 -0
  423. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/test/test_rubygems_plugins.rb +12 -0
  424. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/test/test_starter.rb +158 -0
  425. data/vendor/bundle/ruby/3.4.0/gems/rake-compiler-dock-1.12.0/test/test_versions.rb +82 -0
  426. data/vendor/bundle/ruby/3.4.0/gems/rb_sys-0.9.130/LICENSE-APACHE +190 -0
  427. data/vendor/bundle/ruby/3.4.0/gems/rb_sys-0.9.130/LICENSE-MIT +21 -0
  428. data/vendor/bundle/ruby/3.4.0/gems/rb_sys-0.9.130/README.md +42 -0
  429. data/vendor/bundle/ruby/3.4.0/gems/rb_sys-0.9.130/certs/ianks.pem +21 -0
  430. data/vendor/bundle/ruby/3.4.0/gems/rb_sys-0.9.130/exe/rb-sys-dock +495 -0
  431. data/vendor/bundle/ruby/3.4.0/gems/rb_sys-0.9.130/lib/rb_sys/cargo/config.rb +72 -0
  432. data/vendor/bundle/ruby/3.4.0/gems/rb_sys-0.9.130/lib/rb_sys/cargo/metadata.rb +158 -0
  433. data/vendor/bundle/ruby/3.4.0/gems/rb_sys-0.9.130/lib/rb_sys/cargo.rb +9 -0
  434. data/vendor/bundle/ruby/3.4.0/gems/rb_sys-0.9.130/lib/rb_sys/cargo_builder/link_flag_converter.rb +37 -0
  435. data/vendor/bundle/ruby/3.4.0/gems/rb_sys-0.9.130/lib/rb_sys/cargo_builder.rb +370 -0
  436. data/vendor/bundle/ruby/3.4.0/gems/rb_sys-0.9.130/lib/rb_sys/error.rb +43 -0
  437. data/vendor/bundle/ruby/3.4.0/gems/rb_sys-0.9.130/lib/rb_sys/extensiontask.rb +188 -0
  438. data/vendor/bundle/ruby/3.4.0/gems/rb_sys-0.9.130/lib/rb_sys/mkmf/config.rb +75 -0
  439. data/vendor/bundle/ruby/3.4.0/gems/rb_sys-0.9.130/lib/rb_sys/mkmf.rb +413 -0
  440. data/vendor/bundle/ruby/3.4.0/gems/rb_sys-0.9.130/lib/rb_sys/toolchain_info/data.rb +10 -0
  441. data/vendor/bundle/ruby/3.4.0/gems/rb_sys-0.9.130/lib/rb_sys/toolchain_info.rb +82 -0
  442. data/vendor/bundle/ruby/3.4.0/gems/rb_sys-0.9.130/lib/rb_sys/util/logger.rb +73 -0
  443. data/vendor/bundle/ruby/3.4.0/gems/rb_sys-0.9.130/lib/rb_sys/version.rb +5 -0
  444. data/vendor/bundle/ruby/3.4.0/gems/rb_sys-0.9.130/lib/rb_sys.rb +8 -0
  445. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/BSDL +22 -0
  446. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/CHANGELOG.md +2463 -0
  447. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/COPYING +56 -0
  448. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/Dockerfile.jruby +53 -0
  449. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/README.md +240 -0
  450. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/Rakefile +1213 -0
  451. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/Steepfile +55 -0
  452. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/config.yml +920 -0
  453. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/array.rbs +4205 -0
  454. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/basic_object.rbs +376 -0
  455. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/binding.rbs +148 -0
  456. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/builtin.rbs +278 -0
  457. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/class.rbs +223 -0
  458. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/comparable.rbs +192 -0
  459. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/complex.rbs +812 -0
  460. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/constants.rbs +96 -0
  461. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/data.rbs +415 -0
  462. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/dir.rbs +993 -0
  463. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/encoding.rbs +1368 -0
  464. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/enumerable.rbs +2506 -0
  465. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/enumerator/arithmetic_sequence.rbs +70 -0
  466. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/enumerator/product.rbs +92 -0
  467. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/enumerator.rbs +705 -0
  468. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/env.rbs +6 -0
  469. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/errno.rbs +682 -0
  470. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/errors.rbs +789 -0
  471. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/exception.rbs +485 -0
  472. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/false_class.rbs +82 -0
  473. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/fiber.rbs +570 -0
  474. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/fiber_error.rbs +11 -0
  475. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/file.rbs +2045 -0
  476. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/file_constants.rbs +463 -0
  477. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/file_stat.rbs +534 -0
  478. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/file_test.rbs +331 -0
  479. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/float.rbs +1292 -0
  480. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/gc.rbs +788 -0
  481. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/global_variables.rbs +184 -0
  482. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/hash.rbs +2183 -0
  483. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/integer.rbs +1374 -0
  484. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/io/buffer.rbs +995 -0
  485. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/io/wait.rbs +48 -0
  486. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/io.rbs +3473 -0
  487. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/kernel.rbs +3172 -0
  488. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/marshal.rbs +207 -0
  489. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/match_data.rbs +637 -0
  490. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/math.rbs +770 -0
  491. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/method.rbs +422 -0
  492. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/module.rbs +1856 -0
  493. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/nil_class.rbs +210 -0
  494. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/numeric.rbs +832 -0
  495. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/object.rbs +108 -0
  496. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/object_space/weak_key_map.rbs +166 -0
  497. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/object_space.rbs +197 -0
  498. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/pathname.rbs +1312 -0
  499. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/proc.rbs +905 -0
  500. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/process.rbs +2316 -0
  501. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/ractor.rbs +914 -0
  502. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/random.rbs +255 -0
  503. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/range.rbs +1209 -0
  504. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/rational.rbs +502 -0
  505. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/rb_config.rbs +88 -0
  506. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/rbs/ops.rbs +154 -0
  507. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/rbs/unnamed/argf.rbs +1236 -0
  508. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/rbs/unnamed/env_class.rbs +1214 -0
  509. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/rbs/unnamed/main_class.rbs +123 -0
  510. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/rbs/unnamed/random.rbs +186 -0
  511. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/refinement.rbs +59 -0
  512. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/regexp.rbs +1974 -0
  513. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/ruby.rbs +53 -0
  514. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/ruby_vm.rbs +809 -0
  515. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/rubygems/basic_specification.rbs +6 -0
  516. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/rubygems/config_file.rbs +38 -0
  517. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/rubygems/dependency_installer.rbs +6 -0
  518. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/rubygems/errors.rbs +112 -0
  519. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/rubygems/installer.rbs +15 -0
  520. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/rubygems/path_support.rbs +6 -0
  521. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/rubygems/platform.rbs +7 -0
  522. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/rubygems/request_set.rbs +49 -0
  523. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/rubygems/requirement.rbs +138 -0
  524. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/rubygems/rubygems.rbs +1108 -0
  525. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/rubygems/source_list.rbs +15 -0
  526. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/rubygems/specification.rbs +31 -0
  527. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/rubygems/stream_ui.rbs +5 -0
  528. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/rubygems/uninstaller.rbs +10 -0
  529. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/rubygems/version.rbs +133 -0
  530. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/set.rbs +751 -0
  531. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/signal.rbs +110 -0
  532. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/string.rbs +5532 -0
  533. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/struct.rbs +668 -0
  534. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/symbol.rbs +482 -0
  535. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/thread.rbs +1821 -0
  536. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/thread_group.rbs +79 -0
  537. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/time.rbs +1793 -0
  538. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/trace_point.rbs +483 -0
  539. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/true_class.rbs +98 -0
  540. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/unbound_method.rbs +337 -0
  541. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/core/warning.rbs +87 -0
  542. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/docs/CONTRIBUTING.md +107 -0
  543. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/docs/aliases.md +79 -0
  544. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/docs/architecture.md +110 -0
  545. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/docs/collection.md +192 -0
  546. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/docs/config.md +171 -0
  547. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/docs/data_and_struct.md +86 -0
  548. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/docs/encoding.md +56 -0
  549. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/docs/gem.md +56 -0
  550. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/docs/inline.md +634 -0
  551. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/docs/rbs_by_example.md +309 -0
  552. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/docs/release.md +303 -0
  553. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/docs/repo.md +125 -0
  554. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/docs/rust.md +96 -0
  555. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/docs/sigs.md +167 -0
  556. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/docs/stdlib.md +155 -0
  557. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/docs/syntax.md +952 -0
  558. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/docs/tools.md +17 -0
  559. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/docs/type_fingerprint.md +21 -0
  560. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/docs/wasm_serialization.md +80 -0
  561. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/exe/rbs +7 -0
  562. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/ext/rbs_extension/Makefile +273 -0
  563. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/ext/rbs_extension/ast_translation.c +1870 -0
  564. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/ext/rbs_extension/ast_translation.h +41 -0
  565. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/ext/rbs_extension/class_constants.c +189 -0
  566. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/ext/rbs_extension/class_constants.h +105 -0
  567. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/ext/rbs_extension/compat.h +10 -0
  568. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/ext/rbs_extension/extconf.rb +40 -0
  569. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/ext/rbs_extension/legacy_location.c +299 -0
  570. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/ext/rbs_extension/legacy_location.h +82 -0
  571. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/ext/rbs_extension/main.c +649 -0
  572. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/ext/rbs_extension/rbs_extension.h +16 -0
  573. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/ext/rbs_extension/rbs_string_bridging.c +9 -0
  574. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/ext/rbs_extension/rbs_string_bridging.h +24 -0
  575. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/goodcheck.yml +91 -0
  576. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/include/rbs/ast.h +1055 -0
  577. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/include/rbs/defines.h +104 -0
  578. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/include/rbs/lexer.h +208 -0
  579. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/include/rbs/location.h +40 -0
  580. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/include/rbs/parser.h +187 -0
  581. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/include/rbs/serialize.h +39 -0
  582. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/include/rbs/string.h +47 -0
  583. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/include/rbs/util/rbs_allocator.h +59 -0
  584. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/include/rbs/util/rbs_assert.h +20 -0
  585. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/include/rbs/util/rbs_buffer.h +83 -0
  586. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/include/rbs/util/rbs_constant_pool.h +155 -0
  587. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/include/rbs/util/rbs_encoding.h +282 -0
  588. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/include/rbs/util/rbs_unescape.h +24 -0
  589. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/include/rbs.h +14 -0
  590. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/ancestor_graph.rb +92 -0
  591. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/annotate/annotations.rb +199 -0
  592. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/annotate/formatter.rb +82 -0
  593. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/annotate/rdoc_annotator.rb +398 -0
  594. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/annotate/rdoc_source.rb +131 -0
  595. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/annotate.rb +8 -0
  596. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/ast/annotation.rb +29 -0
  597. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/ast/comment.rb +29 -0
  598. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/ast/declarations.rb +472 -0
  599. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/ast/directives.rb +49 -0
  600. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/ast/members.rb +451 -0
  601. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/ast/ruby/annotations.rb +451 -0
  602. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/ast/ruby/comment_block.rb +247 -0
  603. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/ast/ruby/declarations.rb +291 -0
  604. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/ast/ruby/helpers/constant_helper.rb +28 -0
  605. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/ast/ruby/helpers/location_helper.rb +15 -0
  606. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/ast/ruby/members.rb +762 -0
  607. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/ast/type_param.rb +235 -0
  608. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/ast/visitor.rb +137 -0
  609. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/buffer.rb +189 -0
  610. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/builtin_names.rb +58 -0
  611. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/cli/colored_io.rb +48 -0
  612. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/cli/diff.rb +84 -0
  613. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/cli/validate.rb +294 -0
  614. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/cli.rb +1253 -0
  615. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/collection/cleaner.rb +38 -0
  616. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/collection/config/lockfile.rb +92 -0
  617. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/collection/config/lockfile_generator.rb +269 -0
  618. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/collection/config.rb +81 -0
  619. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/collection/installer.rb +32 -0
  620. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/collection/sources/base.rb +14 -0
  621. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/collection/sources/git.rb +265 -0
  622. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/collection/sources/local.rb +81 -0
  623. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/collection/sources/rubygems.rb +48 -0
  624. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/collection/sources/stdlib.rb +50 -0
  625. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/collection/sources.rb +38 -0
  626. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/collection.rb +16 -0
  627. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/constant.rb +28 -0
  628. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/definition.rb +415 -0
  629. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/definition_builder/ancestor_builder.rb +681 -0
  630. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/definition_builder/method_builder.rb +295 -0
  631. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/definition_builder.rb +1057 -0
  632. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/diff.rb +131 -0
  633. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/environment/class_entry.rb +81 -0
  634. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/environment/module_entry.rb +91 -0
  635. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/environment/use_map.rb +77 -0
  636. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/environment.rb +1028 -0
  637. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/environment_loader.rb +167 -0
  638. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/environment_walker.rb +155 -0
  639. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/errors.rb +634 -0
  640. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/factory.rb +18 -0
  641. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/file_finder.rb +28 -0
  642. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/inline_parser/comment_association.rb +117 -0
  643. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/inline_parser.rb +568 -0
  644. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/location_aux.rb +170 -0
  645. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/locator.rb +247 -0
  646. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/method_type.rb +145 -0
  647. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/namespace.rb +154 -0
  648. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/parser/lex_result.rb +15 -0
  649. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/parser/token.rb +23 -0
  650. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/parser_aux.rb +144 -0
  651. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/prototype/helpers.rb +164 -0
  652. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/prototype/node_usage.rb +99 -0
  653. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/prototype/rb.rb +816 -0
  654. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/prototype/rbi.rb +793 -0
  655. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/prototype/runtime/helpers.rb +59 -0
  656. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/prototype/runtime/reflection.rb +19 -0
  657. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/prototype/runtime/value_object_generator.rb +278 -0
  658. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/prototype/runtime.rb +680 -0
  659. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/repository.rb +127 -0
  660. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/resolver/constant_resolver.rb +219 -0
  661. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/resolver/type_name_resolver.rb +167 -0
  662. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/rewriter.rb +70 -0
  663. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/sorter.rb +198 -0
  664. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/source.rb +99 -0
  665. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/substitution.rb +83 -0
  666. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/subtractor.rb +204 -0
  667. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/test/errors.rb +80 -0
  668. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/test/guaranteed.rb +30 -0
  669. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/test/hook.rb +212 -0
  670. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/test/observer.rb +19 -0
  671. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/test/setup.rb +84 -0
  672. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/test/setup_helper.rb +50 -0
  673. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/test/tester.rb +167 -0
  674. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/test/type_check.rb +457 -0
  675. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/test.rb +112 -0
  676. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/type_alias_dependency.rb +100 -0
  677. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/type_alias_regularity.rb +126 -0
  678. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/type_name.rb +122 -0
  679. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/types.rb +1646 -0
  680. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/unit_test/convertibles.rb +177 -0
  681. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/unit_test/spy.rb +138 -0
  682. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/unit_test/type_assertions.rb +383 -0
  683. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/unit_test/with_aliases.rb +145 -0
  684. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/unit_test.rb +6 -0
  685. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/validator.rb +186 -0
  686. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/variance_calculator.rb +189 -0
  687. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/vendorer.rb +71 -0
  688. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/version.rb +5 -0
  689. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/wasm/deserializer.rb +213 -0
  690. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/wasm/location.rb +61 -0
  691. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/wasm/parser.rb +174 -0
  692. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/wasm/runtime.rb +211 -0
  693. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/wasm/serialization_schema.rb +111 -0
  694. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs/writer.rb +424 -0
  695. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs.rb +117 -0
  696. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs_extension.so +0 -0
  697. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rbs_jars.rb +39 -0
  698. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rdoc/discover.rb +20 -0
  699. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/lib/rdoc_plugin/parser.rb +168 -0
  700. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/rbs.gemspec +77 -0
  701. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/schema/annotation.json +14 -0
  702. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/schema/comment.json +26 -0
  703. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/schema/decls.json +326 -0
  704. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/schema/function.json +98 -0
  705. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/schema/location.json +56 -0
  706. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/schema/members.json +266 -0
  707. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/schema/methodType.json +50 -0
  708. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/schema/typeParam.json +52 -0
  709. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/schema/types.json +317 -0
  710. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/ancestor_builder.rbs +163 -0
  711. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/ancestor_graph.rbs +60 -0
  712. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/annotate/annotations.rbs +102 -0
  713. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/annotate/formatter.rbs +24 -0
  714. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/annotate/rdoc_annotater.rbs +85 -0
  715. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/annotate/rdoc_source.rbs +32 -0
  716. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/annotation.rbs +27 -0
  717. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/ast/ruby/annotations.rbs +470 -0
  718. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/ast/ruby/comment_block.rbs +127 -0
  719. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/ast/ruby/declarations.rbs +158 -0
  720. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/ast/ruby/helpers/constant_helper.rbs +11 -0
  721. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/ast/ruby/helpers/location_helper.rbs +15 -0
  722. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/ast/ruby/members.rbs +198 -0
  723. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/buffer.rbs +108 -0
  724. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/builtin_names.rbs +44 -0
  725. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/cli/colored_io.rbs +15 -0
  726. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/cli/diff.rbs +15 -0
  727. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/cli/validate.rbs +47 -0
  728. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/cli.rbs +89 -0
  729. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/collection/cleaner.rbs +13 -0
  730. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/collection/config/lockfile.rbs +74 -0
  731. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/collection/config/lockfile_generator.rbs +68 -0
  732. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/collection/config.rbs +46 -0
  733. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/collection/installer.rbs +17 -0
  734. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/collection/sources.rbs +214 -0
  735. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/collection.rbs +4 -0
  736. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/comment.rbs +26 -0
  737. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/constant.rbs +21 -0
  738. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/declarations.rbs +274 -0
  739. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/definition.rbs +232 -0
  740. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/definition_builder.rbs +181 -0
  741. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/diff.rbs +28 -0
  742. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/directives.rbs +77 -0
  743. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/environment/class_entry.rbs +56 -0
  744. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/environment/module_entry.rbs +65 -0
  745. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/environment.rbs +286 -0
  746. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/environment_loader.rbs +111 -0
  747. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/environment_walker.rbs +65 -0
  748. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/errors.rbs +408 -0
  749. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/factory.rbs +5 -0
  750. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/file_finder.rbs +28 -0
  751. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/inline_parser/comment_association.rbs +71 -0
  752. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/inline_parser.rbs +126 -0
  753. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/location.rbs +135 -0
  754. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/locator.rbs +56 -0
  755. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/manifest.yaml +5 -0
  756. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/members.rbs +258 -0
  757. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/method_builder.rbs +89 -0
  758. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/method_types.rbs +58 -0
  759. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/namespace.rbs +161 -0
  760. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/parser.rbs +164 -0
  761. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/prototype/helpers.rbs +29 -0
  762. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/prototype/node_usage.rbs +20 -0
  763. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/prototype/rb.rbs +96 -0
  764. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/prototype/rbi.rbs +104 -0
  765. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/prototype/runtime.rbs +182 -0
  766. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/rbs.rbs +21 -0
  767. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/rdoc/rbs.rbs +67 -0
  768. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/repository.rbs +85 -0
  769. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/resolver/constant_resolver.rbs +92 -0
  770. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/resolver/context.rbs +34 -0
  771. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/resolver/type_name_resolver.rbs +61 -0
  772. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/rewriter.rbs +45 -0
  773. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/shims/bundler.rbs +38 -0
  774. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/shims/enumerable.rbs +5 -0
  775. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/shims/rubygems.rbs +19 -0
  776. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/sorter.rbs +41 -0
  777. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/source.rbs +48 -0
  778. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/substitution.rbs +48 -0
  779. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/subtractor.rbs +37 -0
  780. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/test/errors.rbs +52 -0
  781. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/test/guranteed.rbs +9 -0
  782. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/test/type_check.rbs +19 -0
  783. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/test.rbs +82 -0
  784. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/type_alias_dependency.rbs +53 -0
  785. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/type_alias_regularity.rbs +98 -0
  786. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/type_param.rbs +115 -0
  787. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/typename.rbs +89 -0
  788. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/types.rbs +588 -0
  789. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/unit_test/convertibles.rbs +154 -0
  790. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/unit_test/spy.rbs +22 -0
  791. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/unit_test/type_assertions.rbs +211 -0
  792. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/unit_test/with_aliases.rbs +136 -0
  793. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/use_map.rbs +35 -0
  794. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/util.rbs +9 -0
  795. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/validator.rbs +63 -0
  796. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/variance_calculator.rbs +87 -0
  797. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/vendorer.rbs +51 -0
  798. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/version.rbs +3 -0
  799. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/visitor.rbs +47 -0
  800. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/wasm/deserializer.rbs +66 -0
  801. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/wasm/serialization_schema.rbs +13 -0
  802. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/sig/writer.rbs +127 -0
  803. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/src/ast.c +1644 -0
  804. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/src/lexer.c +3223 -0
  805. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/src/lexer.re +187 -0
  806. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/src/lexstate.c +222 -0
  807. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/src/location.c +31 -0
  808. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/src/parser.c +4318 -0
  809. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/src/serialize.c +965 -0
  810. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/src/string.c +41 -0
  811. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/src/util/rbs_allocator.c +171 -0
  812. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/src/util/rbs_assert.c +19 -0
  813. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/src/util/rbs_buffer.c +54 -0
  814. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/src/util/rbs_constant_pool.c +268 -0
  815. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/src/util/rbs_encoding.c +21454 -0
  816. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/src/util/rbs_unescape.c +167 -0
  817. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/abbrev/0/abbrev.rbs +66 -0
  818. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/abbrev/0/array.rbs +26 -0
  819. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/base64/0/base64.rbs +355 -0
  820. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/benchmark/0/benchmark.rbs +452 -0
  821. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/bigdecimal/0/big_decimal.rbs +1647 -0
  822. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/bigdecimal-math/0/big_math.rbs +280 -0
  823. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/bigdecimal-math/0/manifest.yaml +2 -0
  824. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/cgi/0/core.rbs +911 -0
  825. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/cgi/0/manifest.yaml +4 -0
  826. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/cgi-escape/0/escape.rbs +171 -0
  827. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/coverage/0/coverage.rbs +266 -0
  828. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/csv/0/csv.rbs +3776 -0
  829. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/csv/0/manifest.yaml +3 -0
  830. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/date/0/date.rbs +1598 -0
  831. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/date/0/date_time.rbs +617 -0
  832. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/date/0/time.rbs +26 -0
  833. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/dbm/0/dbm.rbs +421 -0
  834. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/delegate/0/delegator.rbs +188 -0
  835. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/delegate/0/kernel.rbs +47 -0
  836. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/delegate/0/simple_delegator.rbs +96 -0
  837. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/did_you_mean/0/did_you_mean.rbs +344 -0
  838. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/digest/0/digest.rbs +693 -0
  839. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/erb/0/erb.rbs +933 -0
  840. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/etc/0/etc.rbs +884 -0
  841. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/fileutils/0/fileutils.rbs +1753 -0
  842. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/find/0/find.rbs +49 -0
  843. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/forwardable/0/forwardable.rbs +271 -0
  844. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/io-console/0/io-console.rbs +414 -0
  845. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/ipaddr/0/ipaddr.rbs +431 -0
  846. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/json/0/json.rbs +1963 -0
  847. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/kconv/0/kconv.rbs +166 -0
  848. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/logger/0/formatter.rbs +45 -0
  849. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/logger/0/log_device.rbs +100 -0
  850. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/logger/0/logger.rbs +796 -0
  851. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/logger/0/manifest.yaml +2 -0
  852. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/logger/0/period.rbs +17 -0
  853. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/logger/0/severity.rbs +34 -0
  854. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/minitest/0/kernel.rbs +42 -0
  855. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/minitest/0/minitest/abstract_reporter.rbs +52 -0
  856. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/minitest/0/minitest/assertion.rbs +17 -0
  857. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/minitest/0/minitest/assertions.rbs +590 -0
  858. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/minitest/0/minitest/backtrace_filter.rbs +23 -0
  859. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/minitest/0/minitest/bench_spec.rbs +102 -0
  860. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/minitest/0/minitest/benchmark.rbs +259 -0
  861. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/minitest/0/minitest/composite_reporter.rbs +25 -0
  862. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/minitest/0/minitest/compress.rbs +13 -0
  863. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/minitest/0/minitest/error_on_warning.rbs +3 -0
  864. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/minitest/0/minitest/expectation.rbs +2 -0
  865. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/minitest/0/minitest/expectations.rbs +21 -0
  866. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/minitest/0/minitest/guard.rbs +64 -0
  867. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/minitest/0/minitest/mock.rbs +64 -0
  868. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/minitest/0/minitest/parallel/executor.rbs +46 -0
  869. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/minitest/0/minitest/parallel/test/class_methods.rbs +5 -0
  870. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/minitest/0/minitest/parallel/test.rbs +3 -0
  871. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/minitest/0/minitest/parallel.rbs +2 -0
  872. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/minitest/0/minitest/pride_io.rbs +62 -0
  873. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/minitest/0/minitest/pride_lol.rbs +19 -0
  874. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/minitest/0/minitest/progress_reporter.rbs +11 -0
  875. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/minitest/0/minitest/reportable.rbs +53 -0
  876. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/minitest/0/minitest/reporter.rbs +5 -0
  877. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/minitest/0/minitest/result.rbs +28 -0
  878. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/minitest/0/minitest/runnable.rbs +163 -0
  879. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/minitest/0/minitest/skip.rbs +6 -0
  880. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/minitest/0/minitest/spec/dsl/instance_methods.rbs +48 -0
  881. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/minitest/0/minitest/spec/dsl.rbs +129 -0
  882. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/minitest/0/minitest/spec.rbs +11 -0
  883. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/minitest/0/minitest/statistics_reporter.rbs +81 -0
  884. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/minitest/0/minitest/summary_reporter.rbs +18 -0
  885. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/minitest/0/minitest/test/lifecycle_hooks.rbs +92 -0
  886. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/minitest/0/minitest/test.rbs +69 -0
  887. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/minitest/0/minitest/unexpected_error.rbs +12 -0
  888. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/minitest/0/minitest/unexpected_warning.rbs +6 -0
  889. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/minitest/0/minitest/unit/test_case.rbs +3 -0
  890. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/minitest/0/minitest/unit.rbs +4 -0
  891. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/minitest/0/minitest.rbs +115 -0
  892. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/monitor/0/monitor.rbs +363 -0
  893. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/mutex_m/0/mutex_m.rbs +104 -0
  894. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/net-http/0/manifest.yaml +3 -0
  895. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/net-http/0/net-http.rbs +5580 -0
  896. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/net-protocol/0/manifest.yaml +2 -0
  897. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/net-protocol/0/net-protocol.rbs +56 -0
  898. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/net-smtp/0/manifest.yaml +2 -0
  899. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/net-smtp/0/net-smtp.rbs +55 -0
  900. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/nkf/0/nkf.rbs +402 -0
  901. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/objspace/0/objspace.rbs +470 -0
  902. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/observable/0/observable.rbs +217 -0
  903. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/open-uri/0/manifest.yaml +4 -0
  904. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/open-uri/0/open-uri.rbs +433 -0
  905. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/open3/0/open3.rbs +606 -0
  906. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/openssl/0/manifest.yaml +3 -0
  907. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/openssl/0/openssl.rbs +12237 -0
  908. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/optparse/0/optparse.rbs +1734 -0
  909. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/pathname/0/pathname.rbs +36 -0
  910. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/pp/0/manifest.yaml +2 -0
  911. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/pp/0/pp.rbs +301 -0
  912. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/prettyprint/0/prettyprint.rbs +383 -0
  913. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/pstore/0/pstore.rbs +608 -0
  914. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/psych/0/core_ext.rbs +12 -0
  915. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/psych/0/dbm.rbs +237 -0
  916. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/psych/0/manifest.yaml +3 -0
  917. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/psych/0/psych.rbs +455 -0
  918. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/psych/0/store.rbs +57 -0
  919. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/pty/0/pty.rbs +240 -0
  920. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/random-formatter/0/random-formatter.rbs +277 -0
  921. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/rdoc/0/code_object.rbs +52 -0
  922. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/rdoc/0/comment.rbs +61 -0
  923. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/rdoc/0/context.rbs +153 -0
  924. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/rdoc/0/markup.rbs +117 -0
  925. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/rdoc/0/options.rbs +76 -0
  926. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/rdoc/0/parser.rbs +56 -0
  927. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/rdoc/0/rdoc.rbs +393 -0
  928. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/rdoc/0/ri.rbs +17 -0
  929. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/rdoc/0/store.rbs +48 -0
  930. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/rdoc/0/top_level.rbs +97 -0
  931. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/resolv/0/manifest.yaml +3 -0
  932. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/resolv/0/resolv.rbs +1787 -0
  933. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/ripper/0/ripper.rbs +1654 -0
  934. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/securerandom/0/manifest.yaml +2 -0
  935. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/securerandom/0/securerandom.rbs +49 -0
  936. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/shellwords/0/shellwords.rbs +229 -0
  937. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/singleton/0/singleton.rbs +137 -0
  938. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/socket/0/addrinfo.rbs +666 -0
  939. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/socket/0/basic_socket.rbs +590 -0
  940. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/socket/0/constants.rbs +2295 -0
  941. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/socket/0/ip_socket.rbs +94 -0
  942. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/socket/0/socket.rbs +4170 -0
  943. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/socket/0/socket_error.rbs +5 -0
  944. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/socket/0/tcp_server.rbs +192 -0
  945. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/socket/0/tcp_socket.rbs +87 -0
  946. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/socket/0/udp_socket.rbs +133 -0
  947. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/socket/0/unix_server.rbs +169 -0
  948. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/socket/0/unix_socket.rbs +172 -0
  949. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/stringio/0/stringio.rbs +1682 -0
  950. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/strscan/0/string_scanner.rbs +1648 -0
  951. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/tempfile/0/manifest.yaml +3 -0
  952. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/tempfile/0/tempfile.rbs +483 -0
  953. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/time/0/time.rbs +434 -0
  954. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/timeout/0/timeout.rbs +132 -0
  955. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/tmpdir/0/tmpdir.rbs +69 -0
  956. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/tsort/0/cyclic.rbs +8 -0
  957. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/tsort/0/interfaces.rbs +20 -0
  958. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/tsort/0/tsort.rbs +410 -0
  959. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/uri/0/common.rbs +621 -0
  960. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/uri/0/file.rbs +118 -0
  961. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/uri/0/ftp.rbs +13 -0
  962. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/uri/0/generic.rbs +1111 -0
  963. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/uri/0/http.rbs +104 -0
  964. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/uri/0/https.rbs +14 -0
  965. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/uri/0/ldap.rbs +230 -0
  966. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/uri/0/ldaps.rbs +14 -0
  967. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/uri/0/mailto.rbs +92 -0
  968. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/uri/0/rfc2396_parser.rbs +189 -0
  969. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/uri/0/rfc3986_parser.rbs +2 -0
  970. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/uri/0/ws.rbs +13 -0
  971. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/uri/0/wss.rbs +9 -0
  972. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/yaml/0/manifest.yaml +2 -0
  973. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/yaml/0/yaml.rbs +1 -0
  974. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/zlib/0/buf_error.rbs +10 -0
  975. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/zlib/0/data_error.rbs +10 -0
  976. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/zlib/0/deflate.rbs +211 -0
  977. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/zlib/0/error.rbs +20 -0
  978. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/zlib/0/gzip_file/crc_error.rbs +12 -0
  979. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/zlib/0/gzip_file/error.rbs +23 -0
  980. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/zlib/0/gzip_file/length_error.rbs +12 -0
  981. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/zlib/0/gzip_file/no_footer.rbs +11 -0
  982. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/zlib/0/gzip_file.rbs +156 -0
  983. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/zlib/0/gzip_reader.rbs +293 -0
  984. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/zlib/0/gzip_writer.rbs +169 -0
  985. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/zlib/0/inflate.rbs +180 -0
  986. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/zlib/0/mem_error.rbs +10 -0
  987. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/zlib/0/need_dict.rbs +13 -0
  988. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/zlib/0/stream_end.rbs +11 -0
  989. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/zlib/0/stream_error.rbs +11 -0
  990. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/zlib/0/version_error.rbs +11 -0
  991. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/zlib/0/zlib.rbs +449 -0
  992. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/stdlib/zlib/0/zstream.rbs +200 -0
  993. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/wasm/README.md +109 -0
  994. data/vendor/bundle/ruby/3.4.0/gems/rbs-4.2.0/wasm/rbs_wasm.c +479 -0
  995. data/vendor/bundle/ruby/3.4.0/gems/toml-rb-6.0.0/LICENSE +19 -0
  996. data/vendor/bundle/ruby/3.4.0/gems/toml-rb-6.0.0/README.md +135 -0
  997. data/vendor/bundle/ruby/3.4.0/gems/toml-rb-6.0.0/lib/toml-rb/datetime.rb +54 -0
  998. data/vendor/bundle/ruby/3.4.0/gems/toml-rb-6.0.0/lib/toml-rb/dumper.rb +182 -0
  999. data/vendor/bundle/ruby/3.4.0/gems/toml-rb-6.0.0/lib/toml-rb/errors.rb +17 -0
  1000. data/vendor/bundle/ruby/3.4.0/gems/toml-rb-6.0.0/lib/toml-rb/inline_table.rb +18 -0
  1001. data/vendor/bundle/ruby/3.4.0/gems/toml-rb-6.0.0/lib/toml-rb/keyvalue.rb +45 -0
  1002. data/vendor/bundle/ruby/3.4.0/gems/toml-rb-6.0.0/lib/toml-rb/parser.rb +296 -0
  1003. data/vendor/bundle/ruby/3.4.0/gems/toml-rb-6.0.0/lib/toml-rb/string.rb +41 -0
  1004. data/vendor/bundle/ruby/3.4.0/gems/toml-rb-6.0.0/lib/toml-rb/table.rb +34 -0
  1005. data/vendor/bundle/ruby/3.4.0/gems/toml-rb-6.0.0/lib/toml-rb/table_array.rb +43 -0
  1006. data/vendor/bundle/ruby/3.4.0/gems/toml-rb-6.0.0/lib/toml-rb/version.rb +5 -0
  1007. data/vendor/bundle/ruby/3.4.0/gems/toml-rb-6.0.0/lib/toml-rb.rb +90 -0
  1008. data/vendor/bundle/ruby/3.4.0/gems/tsort-0.2.0/Gemfile +4 -0
  1009. data/vendor/bundle/ruby/3.4.0/gems/tsort-0.2.0/LICENSE.txt +22 -0
  1010. data/vendor/bundle/ruby/3.4.0/gems/tsort-0.2.0/README.md +72 -0
  1011. data/vendor/bundle/ruby/3.4.0/gems/tsort-0.2.0/Rakefile +10 -0
  1012. data/vendor/bundle/ruby/3.4.0/gems/tsort-0.2.0/bin/console +14 -0
  1013. data/vendor/bundle/ruby/3.4.0/gems/tsort-0.2.0/bin/setup +8 -0
  1014. data/vendor/bundle/ruby/3.4.0/gems/tsort-0.2.0/lib/tsort.rb +455 -0
  1015. data/vendor/bundle/ruby/3.4.0/gems/tsort-0.2.0/tsort.gemspec +29 -0
  1016. data/vendor/bundle/ruby/3.4.0/specifications/drb-2.2.3.gemspec +22 -0
  1017. data/vendor/bundle/ruby/3.4.0/specifications/logger-1.7.0.gemspec +22 -0
  1018. data/vendor/bundle/ruby/3.4.0/specifications/minitest-6.0.6.gemspec +35 -0
  1019. data/vendor/bundle/ruby/3.4.0/specifications/prism-1.9.0.gemspec +24 -0
  1020. data/vendor/bundle/ruby/3.4.0/specifications/rake-13.4.2.gemspec +26 -0
  1021. data/vendor/bundle/ruby/3.4.0/specifications/rake-compiler-1.3.2.gemspec +33 -0
  1022. data/vendor/bundle/ruby/3.4.0/specifications/rake-compiler-dock-1.12.0.gemspec +28 -0
  1023. data/vendor/bundle/ruby/3.4.0/specifications/rb_sys-0.9.130.gemspec +29 -0
  1024. data/vendor/bundle/ruby/3.4.0/specifications/rbs-4.2.0.gemspec +33 -0
  1025. data/vendor/bundle/ruby/3.4.0/specifications/toml-rb-6.0.0.gemspec +27 -0
  1026. data/vendor/bundle/ruby/3.4.0/specifications/tsort-0.2.0.gemspec +23 -0
  1027. data/vendor/cache/Cargo.toml +21 -0
  1028. data/vendor/cache/LICENSE +21 -0
  1029. data/vendor/cache/README.md +5 -0
  1030. data/vendor/cache/src/hash.rs +85 -0
  1031. data/vendor/cache/src/lib.rs +751 -0
  1032. data/vendor/cache/src/loom_tests.rs +340 -0
  1033. data/vendor/cache/src/s3fifo.rs +648 -0
  1034. data/vendor/cache/src/sync.rs +25 -0
  1035. data/vendor/cache/src/tests.rs +260 -0
  1036. data/vendor/compaction/Cargo.toml +32 -0
  1037. data/vendor/compaction/LICENSE +21 -0
  1038. data/vendor/compaction/README.md +5 -0
  1039. data/vendor/compaction/src/blob.rs +478 -0
  1040. data/vendor/compaction/src/cursor.rs +700 -0
  1041. data/vendor/compaction/src/gc.rs +802 -0
  1042. data/vendor/compaction/src/job.rs +861 -0
  1043. data/vendor/compaction/src/lib.rs +102 -0
  1044. data/vendor/compaction/src/merge.rs +995 -0
  1045. data/vendor/compaction/src/picker.rs +681 -0
  1046. data/vendor/compaction/src/resolver.rs +1346 -0
  1047. data/vendor/engine/Cargo.toml +56 -0
  1048. data/vendor/engine/LICENSE +21 -0
  1049. data/vendor/engine/README.md +5 -0
  1050. data/vendor/engine/src/admission.rs +421 -0
  1051. data/vendor/engine/src/catalog.rs +1233 -0
  1052. data/vendor/engine/src/check.rs +1386 -0
  1053. data/vendor/engine/src/clock.rs +244 -0
  1054. data/vendor/engine/src/clock_loom.rs +482 -0
  1055. data/vendor/engine/src/close_gate.rs +325 -0
  1056. data/vendor/engine/src/compact.rs +1509 -0
  1057. data/vendor/engine/src/engine/hooks.rs +1654 -0
  1058. data/vendor/engine/src/engine/info.rs +229 -0
  1059. data/vendor/engine/src/engine.rs +6114 -0
  1060. data/vendor/engine/src/error.rs +490 -0
  1061. data/vendor/engine/src/feed.rs +960 -0
  1062. data/vendor/engine/src/feed_reader.rs +1600 -0
  1063. data/vendor/engine/src/flush.rs +839 -0
  1064. data/vendor/engine/src/flushed_roots.rs +158 -0
  1065. data/vendor/engine/src/flushed_through_loom.rs +77 -0
  1066. data/vendor/engine/src/health.rs +201 -0
  1067. data/vendor/engine/src/large.rs +372 -0
  1068. data/vendor/engine/src/large_settle.rs +201 -0
  1069. data/vendor/engine/src/lib.rs +112 -0
  1070. data/vendor/engine/src/load_slot.rs +324 -0
  1071. data/vendor/engine/src/maintenance.rs +935 -0
  1072. data/vendor/engine/src/manifest/flight.rs +563 -0
  1073. data/vendor/engine/src/manifest.rs +1516 -0
  1074. data/vendor/engine/src/nonblocking.rs +603 -0
  1075. data/vendor/engine/src/options.rs +334 -0
  1076. data/vendor/engine/src/position.rs +125 -0
  1077. data/vendor/engine/src/purge_guard.rs +220 -0
  1078. data/vendor/engine/src/read/keys.rs +1049 -0
  1079. data/vendor/engine/src/read/knn.rs +423 -0
  1080. data/vendor/engine/src/read/reduce.rs +2057 -0
  1081. data/vendor/engine/src/read/traverse.rs +1013 -0
  1082. data/vendor/engine/src/read.rs +2429 -0
  1083. data/vendor/engine/src/row_cache.rs +1101 -0
  1084. data/vendor/engine/src/shard/tablets.rs +3582 -0
  1085. data/vendor/engine/src/shard.rs +12215 -0
  1086. data/vendor/engine/src/snapshot.rs +1429 -0
  1087. data/vendor/engine/src/source.rs +1379 -0
  1088. data/vendor/engine/src/timer_state.rs +226 -0
  1089. data/vendor/engine/src/waker.rs +124 -0
  1090. data/vendor/engine/src/watermark_waiters.rs +674 -0
  1091. data/vendor/engine/src/write.rs +1321 -0
  1092. data/vendor/format/Cargo.toml +40 -0
  1093. data/vendor/format/LICENSE +21 -0
  1094. data/vendor/format/README.md +5 -0
  1095. data/vendor/format/src/blob.rs +101 -0
  1096. data/vendor/format/src/block.rs +1120 -0
  1097. data/vendor/format/src/bloom.rs +456 -0
  1098. data/vendor/format/src/buckets.rs +552 -0
  1099. data/vendor/format/src/bytes.rs +101 -0
  1100. data/vendor/format/src/checksum.rs +132 -0
  1101. data/vendor/format/src/compress.rs +196 -0
  1102. data/vendor/format/src/cursor.rs +110 -0
  1103. data/vendor/format/src/distance.rs +598 -0
  1104. data/vendor/format/src/error.rs +93 -0
  1105. data/vendor/format/src/exact.rs +602 -0
  1106. data/vendor/format/src/feed.rs +285 -0
  1107. data/vendor/format/src/filter.rs +157 -0
  1108. data/vendor/format/src/half.rs +182 -0
  1109. data/vendor/format/src/hash.rs +127 -0
  1110. data/vendor/format/src/hll.rs +500 -0
  1111. data/vendor/format/src/ids.rs +95 -0
  1112. data/vendor/format/src/key.rs +620 -0
  1113. data/vendor/format/src/kind_params.rs +101 -0
  1114. data/vendor/format/src/lib.rs +54 -0
  1115. data/vendor/format/src/manifest.rs +1287 -0
  1116. data/vendor/format/src/roaring.rs +865 -0
  1117. data/vendor/format/src/scan.rs +297 -0
  1118. data/vendor/format/src/shm.rs +805 -0
  1119. data/vendor/format/src/sst.rs +233 -0
  1120. data/vendor/format/src/superblock.rs +345 -0
  1121. data/vendor/format/src/value.rs +163 -0
  1122. data/vendor/format/src/varint.rs +87 -0
  1123. data/vendor/format/src/vector.rs +936 -0
  1124. data/vendor/format/src/version.rs +92 -0
  1125. data/vendor/format/src/wal.rs +999 -0
  1126. data/vendor/io/Cargo.toml +29 -0
  1127. data/vendor/io/LICENSE +21 -0
  1128. data/vendor/io/README.md +5 -0
  1129. data/vendor/io/src/async_poll.rs +44 -0
  1130. data/vendor/io/src/buf.rs +694 -0
  1131. data/vendor/io/src/completion.rs +444 -0
  1132. data/vendor/io/src/error.rs +110 -0
  1133. data/vendor/io/src/file.rs +206 -0
  1134. data/vendor/io/src/lib.rs +53 -0
  1135. data/vendor/io/src/nowait.rs +256 -0
  1136. data/vendor/io/src/os/mod.rs +149 -0
  1137. data/vendor/io/src/os/unix.rs +897 -0
  1138. data/vendor/io/src/os/windows.rs +552 -0
  1139. data/vendor/io/src/own.rs +257 -0
  1140. data/vendor/io/src/pread.rs +854 -0
  1141. data/vendor/io/src/ring_wake.rs +113 -0
  1142. data/vendor/io/src/shared.rs +410 -0
  1143. data/vendor/io/src/sim.rs +1545 -0
  1144. data/vendor/io/src/sys.rs +214 -0
  1145. data/vendor/io/src/uring.rs +1839 -0
  1146. data/vendor/io/src/vfs.rs +154 -0
  1147. data/vendor/memory/Cargo.toml +34 -0
  1148. data/vendor/memory/LICENSE +21 -0
  1149. data/vendor/memory/README.md +11 -0
  1150. data/vendor/memory/src/consolidate.rs +640 -0
  1151. data/vendor/memory/src/dedup.rs +231 -0
  1152. data/vendor/memory/src/error.rs +131 -0
  1153. data/vendor/memory/src/feed_loop.rs +572 -0
  1154. data/vendor/memory/src/forget.rs +724 -0
  1155. data/vendor/memory/src/hooks.rs +109 -0
  1156. data/vendor/memory/src/ivf.rs +204 -0
  1157. data/vendor/memory/src/layout.rs +340 -0
  1158. data/vendor/memory/src/lib.rs +61 -0
  1159. data/vendor/memory/src/recall.rs +1182 -0
  1160. data/vendor/memory/src/store.rs +1785 -0
  1161. data/vendor/memory/src/watch.rs +339 -0
  1162. data/vendor/memtable/Cargo.toml +24 -0
  1163. data/vendor/memtable/LICENSE +21 -0
  1164. data/vendor/memtable/README.md +5 -0
  1165. data/vendor/memtable/src/lib.rs +1658 -0
  1166. data/vendor/memtable/src/loom_tests.rs +274 -0
  1167. data/vendor/memtable/src/mem.rs +344 -0
  1168. data/vendor/memtable/src/tests.rs +1061 -0
  1169. data/vendor/pager/Cargo.toml +23 -0
  1170. data/vendor/pager/LICENSE +21 -0
  1171. data/vendor/pager/README.md +5 -0
  1172. data/vendor/pager/src/alloc.rs +1008 -0
  1173. data/vendor/pager/src/lib.rs +1710 -0
  1174. data/vendor/pigeonhole/Cargo.toml +42 -0
  1175. data/vendor/pigeonhole/LICENSE +21 -0
  1176. data/vendor/pigeonhole/README.md +99 -0
  1177. data/vendor/pigeonhole/src/cell.rs +829 -0
  1178. data/vendor/pigeonhole/src/check.rs +368 -0
  1179. data/vendor/pigeonhole/src/db.rs +2324 -0
  1180. data/vendor/pigeonhole/src/doc_support.rs +89 -0
  1181. data/vendor/pigeonhole/src/error.rs +257 -0
  1182. data/vendor/pigeonhole/src/feed.rs +696 -0
  1183. data/vendor/pigeonhole/src/info.rs +425 -0
  1184. data/vendor/pigeonhole/src/lib.rs +202 -0
  1185. data/vendor/pigeonhole/src/merge.rs +135 -0
  1186. data/vendor/pigeonhole/src/metrics.rs +476 -0
  1187. data/vendor/pigeonhole/src/nonblocking.rs +666 -0
  1188. data/vendor/pigeonhole/src/options.rs +2075 -0
  1189. data/vendor/pigeonhole/src/read/budget.rs +584 -0
  1190. data/vendor/pigeonhole/src/read.rs +2463 -0
  1191. data/vendor/pigeonhole/src/recovery.rs +876 -0
  1192. data/vendor/pigeonhole/src/retry.rs +358 -0
  1193. data/vendor/pigeonhole/src/set.rs +103 -0
  1194. data/vendor/pigeonhole/src/table.rs +861 -0
  1195. data/vendor/pigeonhole/src/vector.rs +351 -0
  1196. data/vendor/pigeonhole/src/write.rs +2815 -0
  1197. data/vendor/runtime/Cargo.toml +21 -0
  1198. data/vendor/runtime/LICENSE +21 -0
  1199. data/vendor/runtime/README.md +5 -0
  1200. data/vendor/runtime/src/completion.rs +629 -0
  1201. data/vendor/runtime/src/drivers.rs +1175 -0
  1202. data/vendor/runtime/src/lib.rs +1546 -0
  1203. data/vendor/runtime/src/pool.rs +992 -0
  1204. data/vendor/runtime/src/sched.rs +809 -0
  1205. data/vendor/runtime/src/signal.rs +532 -0
  1206. data/vendor/runtime/src/submit_gate.rs +144 -0
  1207. data/vendor/shm/Cargo.toml +24 -0
  1208. data/vendor/shm/LICENSE +21 -0
  1209. data/vendor/shm/README.md +5 -0
  1210. data/vendor/shm/src/lib.rs +427 -0
  1211. data/vendor/shm/src/lock.rs +153 -0
  1212. data/vendor/shm/src/region.rs +1609 -0
  1213. data/vendor/sst/Cargo.toml +26 -0
  1214. data/vendor/sst/LICENSE +21 -0
  1215. data/vendor/sst/README.md +5 -0
  1216. data/vendor/sst/src/blob.rs +380 -0
  1217. data/vendor/sst/src/iter.rs +803 -0
  1218. data/vendor/sst/src/lib.rs +695 -0
  1219. data/vendor/sst/src/reader.rs +814 -0
  1220. data/vendor/sst/src/writer.rs +596 -0
  1221. data/vendor/text/Cargo.toml +26 -0
  1222. data/vendor/text/LICENSE +21 -0
  1223. data/vendor/text/README.md +9 -0
  1224. data/vendor/text/src/error.rs +108 -0
  1225. data/vendor/text/src/fuzzy.rs +265 -0
  1226. data/vendor/text/src/highlight.rs +236 -0
  1227. data/vendor/text/src/index.rs +1152 -0
  1228. data/vendor/text/src/layout.rs +424 -0
  1229. data/vendor/text/src/lib.rs +75 -0
  1230. data/vendor/text/src/maxscore.rs +658 -0
  1231. data/vendor/text/src/query.rs +450 -0
  1232. data/vendor/text/src/search.rs +569 -0
  1233. data/vendor/text/src/sloppy.rs +460 -0
  1234. data/vendor/text/src/tokenizer.rs +163 -0
  1235. data/vendor/vector/Cargo.toml +28 -0
  1236. data/vendor/vector/LICENSE +21 -0
  1237. data/vendor/vector/README.md +9 -0
  1238. data/vendor/vector/src/error.rs +63 -0
  1239. data/vendor/vector/src/half.rs +167 -0
  1240. data/vendor/vector/src/hooks.rs +135 -0
  1241. data/vendor/vector/src/index.rs +2690 -0
  1242. data/vendor/vector/src/layout.rs +102 -0
  1243. data/vendor/vector/src/lib.rs +52 -0
  1244. data/vendor/vector/src/point.rs +500 -0
  1245. data/vendor/vector/src/rebalancer.rs +200 -0
  1246. data/vendor/vector/src/registry.rs +81 -0
  1247. data/vendor/wal/Cargo.toml +25 -0
  1248. data/vendor/wal/LICENSE +21 -0
  1249. data/vendor/wal/README.md +5 -0
  1250. data/vendor/wal/src/feed.rs +610 -0
  1251. data/vendor/wal/src/foreground.rs +122 -0
  1252. data/vendor/wal/src/lib.rs +458 -0
  1253. data/vendor/wal/src/mem.rs +166 -0
  1254. data/vendor/wal/src/recovery.rs +426 -0
  1255. data/vendor/wal/src/stream.rs +2382 -0
  1256. metadata +1310 -0
@@ -0,0 +1,2274 @@
1
+ /* :markup: markdown */
2
+
3
+ /*----------------------------------------------------------------------------*/
4
+ /* This file is generated by the templates/template.rb script and should not */
5
+ /* be modified manually. See */
6
+ /* templates/src/serialize.c.erb */
7
+ /* if you are looking to modify the */
8
+ /* template */
9
+ /*----------------------------------------------------------------------------*/
10
+
11
+ #include "prism.h"
12
+
13
+ // We optionally support serializing to a binary string. For systems that don't
14
+ // want or need this functionality, it can be turned off with the
15
+ // PRISM_EXCLUDE_SERIALIZATION define.
16
+ #ifndef PRISM_EXCLUDE_SERIALIZATION
17
+
18
+ #include <stdio.h>
19
+
20
+ static inline uint32_t
21
+ pm_ptrdifft_to_u32(ptrdiff_t value) {
22
+ assert(value >= 0 && ((unsigned long) value) < UINT32_MAX);
23
+ return (uint32_t) value;
24
+ }
25
+
26
+ static inline uint32_t
27
+ pm_sizet_to_u32(size_t value) {
28
+ assert(value < UINT32_MAX);
29
+ return (uint32_t) value;
30
+ }
31
+
32
+ static void
33
+ pm_serialize_location(const pm_parser_t *parser, const pm_location_t *location, pm_buffer_t *buffer) {
34
+ assert(location->start);
35
+ assert(location->end);
36
+ assert(location->start <= location->end);
37
+
38
+ pm_buffer_append_varuint(buffer, pm_ptrdifft_to_u32(location->start - parser->start));
39
+ pm_buffer_append_varuint(buffer, pm_ptrdifft_to_u32(location->end - location->start));
40
+ }
41
+
42
+ static void
43
+ pm_serialize_string(const pm_parser_t *parser, const pm_string_t *string, pm_buffer_t *buffer) {
44
+ switch (string->type) {
45
+ case PM_STRING_SHARED: {
46
+ pm_buffer_append_byte(buffer, 1);
47
+ pm_buffer_append_varuint(buffer, pm_ptrdifft_to_u32(pm_string_source(string) - parser->start));
48
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(pm_string_length(string)));
49
+ break;
50
+ }
51
+ case PM_STRING_OWNED:
52
+ case PM_STRING_CONSTANT: {
53
+ uint32_t length = pm_sizet_to_u32(pm_string_length(string));
54
+ pm_buffer_append_byte(buffer, 2);
55
+ pm_buffer_append_varuint(buffer, length);
56
+ pm_buffer_append_bytes(buffer, pm_string_source(string), length);
57
+ break;
58
+ }
59
+ #ifdef PRISM_HAS_MMAP
60
+ case PM_STRING_MAPPED:
61
+ assert(false && "Cannot serialize mapped strings.");
62
+ break;
63
+ #endif
64
+ }
65
+ }
66
+
67
+ static void
68
+ pm_serialize_integer(const pm_integer_t *integer, pm_buffer_t *buffer) {
69
+ pm_buffer_append_byte(buffer, integer->negative ? 1 : 0);
70
+ if (integer->values == NULL) {
71
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(1));
72
+ pm_buffer_append_varuint(buffer, integer->value);
73
+ } else {
74
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(integer->length));
75
+ for (size_t i = 0; i < integer->length; i++) {
76
+ pm_buffer_append_varuint(buffer, integer->values[i]);
77
+ }
78
+ }
79
+ }
80
+
81
+ static void
82
+ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
83
+ pm_buffer_append_byte(buffer, (uint8_t) PM_NODE_TYPE(node));
84
+
85
+ size_t offset = buffer->length;
86
+
87
+ pm_buffer_append_varuint(buffer, node->node_id);
88
+ pm_serialize_location(parser, &node->location, buffer);
89
+
90
+ switch (PM_NODE_TYPE(node)) {
91
+ // We do not need to serialize a ScopeNode ever as
92
+ // it is not part of the AST
93
+ case PM_SCOPE_NODE:
94
+ return;
95
+ case PM_ALIAS_GLOBAL_VARIABLE_NODE: {
96
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
97
+ pm_serialize_node(parser, (pm_node_t *)((pm_alias_global_variable_node_t *)node)->new_name, buffer);
98
+ pm_serialize_node(parser, (pm_node_t *)((pm_alias_global_variable_node_t *)node)->old_name, buffer);
99
+ pm_serialize_location(parser, &((pm_alias_global_variable_node_t *)node)->keyword_loc, buffer);
100
+ break;
101
+ }
102
+ case PM_ALIAS_METHOD_NODE: {
103
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
104
+ pm_serialize_node(parser, (pm_node_t *)((pm_alias_method_node_t *)node)->new_name, buffer);
105
+ pm_serialize_node(parser, (pm_node_t *)((pm_alias_method_node_t *)node)->old_name, buffer);
106
+ pm_serialize_location(parser, &((pm_alias_method_node_t *)node)->keyword_loc, buffer);
107
+ break;
108
+ }
109
+ case PM_ALTERNATION_PATTERN_NODE: {
110
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
111
+ pm_serialize_node(parser, (pm_node_t *)((pm_alternation_pattern_node_t *)node)->left, buffer);
112
+ pm_serialize_node(parser, (pm_node_t *)((pm_alternation_pattern_node_t *)node)->right, buffer);
113
+ pm_serialize_location(parser, &((pm_alternation_pattern_node_t *)node)->operator_loc, buffer);
114
+ break;
115
+ }
116
+ case PM_AND_NODE: {
117
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
118
+ pm_serialize_node(parser, (pm_node_t *)((pm_and_node_t *)node)->left, buffer);
119
+ pm_serialize_node(parser, (pm_node_t *)((pm_and_node_t *)node)->right, buffer);
120
+ pm_serialize_location(parser, &((pm_and_node_t *)node)->operator_loc, buffer);
121
+ break;
122
+ }
123
+ case PM_ARGUMENTS_NODE: {
124
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
125
+ uint32_t arguments_size = pm_sizet_to_u32(((pm_arguments_node_t *)node)->arguments.size);
126
+ pm_buffer_append_varuint(buffer, arguments_size);
127
+ for (uint32_t index = 0; index < arguments_size; index++) {
128
+ pm_serialize_node(parser, (pm_node_t *) ((pm_arguments_node_t *)node)->arguments.nodes[index], buffer);
129
+ }
130
+ break;
131
+ }
132
+ case PM_ARRAY_NODE: {
133
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
134
+ uint32_t elements_size = pm_sizet_to_u32(((pm_array_node_t *)node)->elements.size);
135
+ pm_buffer_append_varuint(buffer, elements_size);
136
+ for (uint32_t index = 0; index < elements_size; index++) {
137
+ pm_serialize_node(parser, (pm_node_t *) ((pm_array_node_t *)node)->elements.nodes[index], buffer);
138
+ }
139
+ if (((pm_array_node_t *)node)->opening_loc.start == NULL) {
140
+ pm_buffer_append_byte(buffer, 0);
141
+ } else {
142
+ pm_buffer_append_byte(buffer, 1);
143
+ pm_serialize_location(parser, &((pm_array_node_t *)node)->opening_loc, buffer);
144
+ }
145
+ if (((pm_array_node_t *)node)->closing_loc.start == NULL) {
146
+ pm_buffer_append_byte(buffer, 0);
147
+ } else {
148
+ pm_buffer_append_byte(buffer, 1);
149
+ pm_serialize_location(parser, &((pm_array_node_t *)node)->closing_loc, buffer);
150
+ }
151
+ break;
152
+ }
153
+ case PM_ARRAY_PATTERN_NODE: {
154
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
155
+ if (((pm_array_pattern_node_t *)node)->constant == NULL) {
156
+ pm_buffer_append_byte(buffer, 0);
157
+ } else {
158
+ pm_serialize_node(parser, (pm_node_t *)((pm_array_pattern_node_t *)node)->constant, buffer);
159
+ }
160
+ uint32_t requireds_size = pm_sizet_to_u32(((pm_array_pattern_node_t *)node)->requireds.size);
161
+ pm_buffer_append_varuint(buffer, requireds_size);
162
+ for (uint32_t index = 0; index < requireds_size; index++) {
163
+ pm_serialize_node(parser, (pm_node_t *) ((pm_array_pattern_node_t *)node)->requireds.nodes[index], buffer);
164
+ }
165
+ if (((pm_array_pattern_node_t *)node)->rest == NULL) {
166
+ pm_buffer_append_byte(buffer, 0);
167
+ } else {
168
+ pm_serialize_node(parser, (pm_node_t *)((pm_array_pattern_node_t *)node)->rest, buffer);
169
+ }
170
+ uint32_t posts_size = pm_sizet_to_u32(((pm_array_pattern_node_t *)node)->posts.size);
171
+ pm_buffer_append_varuint(buffer, posts_size);
172
+ for (uint32_t index = 0; index < posts_size; index++) {
173
+ pm_serialize_node(parser, (pm_node_t *) ((pm_array_pattern_node_t *)node)->posts.nodes[index], buffer);
174
+ }
175
+ if (((pm_array_pattern_node_t *)node)->opening_loc.start == NULL) {
176
+ pm_buffer_append_byte(buffer, 0);
177
+ } else {
178
+ pm_buffer_append_byte(buffer, 1);
179
+ pm_serialize_location(parser, &((pm_array_pattern_node_t *)node)->opening_loc, buffer);
180
+ }
181
+ if (((pm_array_pattern_node_t *)node)->closing_loc.start == NULL) {
182
+ pm_buffer_append_byte(buffer, 0);
183
+ } else {
184
+ pm_buffer_append_byte(buffer, 1);
185
+ pm_serialize_location(parser, &((pm_array_pattern_node_t *)node)->closing_loc, buffer);
186
+ }
187
+ break;
188
+ }
189
+ case PM_ASSOC_NODE: {
190
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
191
+ pm_serialize_node(parser, (pm_node_t *)((pm_assoc_node_t *)node)->key, buffer);
192
+ pm_serialize_node(parser, (pm_node_t *)((pm_assoc_node_t *)node)->value, buffer);
193
+ if (((pm_assoc_node_t *)node)->operator_loc.start == NULL) {
194
+ pm_buffer_append_byte(buffer, 0);
195
+ } else {
196
+ pm_buffer_append_byte(buffer, 1);
197
+ pm_serialize_location(parser, &((pm_assoc_node_t *)node)->operator_loc, buffer);
198
+ }
199
+ break;
200
+ }
201
+ case PM_ASSOC_SPLAT_NODE: {
202
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
203
+ if (((pm_assoc_splat_node_t *)node)->value == NULL) {
204
+ pm_buffer_append_byte(buffer, 0);
205
+ } else {
206
+ pm_serialize_node(parser, (pm_node_t *)((pm_assoc_splat_node_t *)node)->value, buffer);
207
+ }
208
+ pm_serialize_location(parser, &((pm_assoc_splat_node_t *)node)->operator_loc, buffer);
209
+ break;
210
+ }
211
+ case PM_BACK_REFERENCE_READ_NODE: {
212
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
213
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_back_reference_read_node_t *)node)->name));
214
+ break;
215
+ }
216
+ case PM_BEGIN_NODE: {
217
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
218
+ if (((pm_begin_node_t *)node)->begin_keyword_loc.start == NULL) {
219
+ pm_buffer_append_byte(buffer, 0);
220
+ } else {
221
+ pm_buffer_append_byte(buffer, 1);
222
+ pm_serialize_location(parser, &((pm_begin_node_t *)node)->begin_keyword_loc, buffer);
223
+ }
224
+ if (((pm_begin_node_t *)node)->statements == NULL) {
225
+ pm_buffer_append_byte(buffer, 0);
226
+ } else {
227
+ pm_serialize_node(parser, (pm_node_t *)((pm_begin_node_t *)node)->statements, buffer);
228
+ }
229
+ if (((pm_begin_node_t *)node)->rescue_clause == NULL) {
230
+ pm_buffer_append_byte(buffer, 0);
231
+ } else {
232
+ pm_serialize_node(parser, (pm_node_t *)((pm_begin_node_t *)node)->rescue_clause, buffer);
233
+ }
234
+ if (((pm_begin_node_t *)node)->else_clause == NULL) {
235
+ pm_buffer_append_byte(buffer, 0);
236
+ } else {
237
+ pm_serialize_node(parser, (pm_node_t *)((pm_begin_node_t *)node)->else_clause, buffer);
238
+ }
239
+ if (((pm_begin_node_t *)node)->ensure_clause == NULL) {
240
+ pm_buffer_append_byte(buffer, 0);
241
+ } else {
242
+ pm_serialize_node(parser, (pm_node_t *)((pm_begin_node_t *)node)->ensure_clause, buffer);
243
+ }
244
+ if (((pm_begin_node_t *)node)->end_keyword_loc.start == NULL) {
245
+ pm_buffer_append_byte(buffer, 0);
246
+ } else {
247
+ pm_buffer_append_byte(buffer, 1);
248
+ pm_serialize_location(parser, &((pm_begin_node_t *)node)->end_keyword_loc, buffer);
249
+ }
250
+ break;
251
+ }
252
+ case PM_BLOCK_ARGUMENT_NODE: {
253
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
254
+ if (((pm_block_argument_node_t *)node)->expression == NULL) {
255
+ pm_buffer_append_byte(buffer, 0);
256
+ } else {
257
+ pm_serialize_node(parser, (pm_node_t *)((pm_block_argument_node_t *)node)->expression, buffer);
258
+ }
259
+ pm_serialize_location(parser, &((pm_block_argument_node_t *)node)->operator_loc, buffer);
260
+ break;
261
+ }
262
+ case PM_BLOCK_LOCAL_VARIABLE_NODE: {
263
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
264
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_block_local_variable_node_t *)node)->name));
265
+ break;
266
+ }
267
+ case PM_BLOCK_NODE: {
268
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
269
+ uint32_t locals_size = pm_sizet_to_u32(((pm_block_node_t *)node)->locals.size);
270
+ pm_buffer_append_varuint(buffer, locals_size);
271
+ for (uint32_t index = 0; index < locals_size; index++) {
272
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_block_node_t *)node)->locals.ids[index]));
273
+ }
274
+ if (((pm_block_node_t *)node)->parameters == NULL) {
275
+ pm_buffer_append_byte(buffer, 0);
276
+ } else {
277
+ pm_serialize_node(parser, (pm_node_t *)((pm_block_node_t *)node)->parameters, buffer);
278
+ }
279
+ if (((pm_block_node_t *)node)->body == NULL) {
280
+ pm_buffer_append_byte(buffer, 0);
281
+ } else {
282
+ pm_serialize_node(parser, (pm_node_t *)((pm_block_node_t *)node)->body, buffer);
283
+ }
284
+ pm_serialize_location(parser, &((pm_block_node_t *)node)->opening_loc, buffer);
285
+ pm_serialize_location(parser, &((pm_block_node_t *)node)->closing_loc, buffer);
286
+ break;
287
+ }
288
+ case PM_BLOCK_PARAMETER_NODE: {
289
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
290
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_block_parameter_node_t *)node)->name));
291
+ if (((pm_block_parameter_node_t *)node)->name_loc.start == NULL) {
292
+ pm_buffer_append_byte(buffer, 0);
293
+ } else {
294
+ pm_buffer_append_byte(buffer, 1);
295
+ pm_serialize_location(parser, &((pm_block_parameter_node_t *)node)->name_loc, buffer);
296
+ }
297
+ pm_serialize_location(parser, &((pm_block_parameter_node_t *)node)->operator_loc, buffer);
298
+ break;
299
+ }
300
+ case PM_BLOCK_PARAMETERS_NODE: {
301
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
302
+ if (((pm_block_parameters_node_t *)node)->parameters == NULL) {
303
+ pm_buffer_append_byte(buffer, 0);
304
+ } else {
305
+ pm_serialize_node(parser, (pm_node_t *)((pm_block_parameters_node_t *)node)->parameters, buffer);
306
+ }
307
+ uint32_t locals_size = pm_sizet_to_u32(((pm_block_parameters_node_t *)node)->locals.size);
308
+ pm_buffer_append_varuint(buffer, locals_size);
309
+ for (uint32_t index = 0; index < locals_size; index++) {
310
+ pm_serialize_node(parser, (pm_node_t *) ((pm_block_parameters_node_t *)node)->locals.nodes[index], buffer);
311
+ }
312
+ if (((pm_block_parameters_node_t *)node)->opening_loc.start == NULL) {
313
+ pm_buffer_append_byte(buffer, 0);
314
+ } else {
315
+ pm_buffer_append_byte(buffer, 1);
316
+ pm_serialize_location(parser, &((pm_block_parameters_node_t *)node)->opening_loc, buffer);
317
+ }
318
+ if (((pm_block_parameters_node_t *)node)->closing_loc.start == NULL) {
319
+ pm_buffer_append_byte(buffer, 0);
320
+ } else {
321
+ pm_buffer_append_byte(buffer, 1);
322
+ pm_serialize_location(parser, &((pm_block_parameters_node_t *)node)->closing_loc, buffer);
323
+ }
324
+ break;
325
+ }
326
+ case PM_BREAK_NODE: {
327
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
328
+ if (((pm_break_node_t *)node)->arguments == NULL) {
329
+ pm_buffer_append_byte(buffer, 0);
330
+ } else {
331
+ pm_serialize_node(parser, (pm_node_t *)((pm_break_node_t *)node)->arguments, buffer);
332
+ }
333
+ pm_serialize_location(parser, &((pm_break_node_t *)node)->keyword_loc, buffer);
334
+ break;
335
+ }
336
+ case PM_CALL_AND_WRITE_NODE: {
337
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
338
+ if (((pm_call_and_write_node_t *)node)->receiver == NULL) {
339
+ pm_buffer_append_byte(buffer, 0);
340
+ } else {
341
+ pm_serialize_node(parser, (pm_node_t *)((pm_call_and_write_node_t *)node)->receiver, buffer);
342
+ }
343
+ if (((pm_call_and_write_node_t *)node)->call_operator_loc.start == NULL) {
344
+ pm_buffer_append_byte(buffer, 0);
345
+ } else {
346
+ pm_buffer_append_byte(buffer, 1);
347
+ pm_serialize_location(parser, &((pm_call_and_write_node_t *)node)->call_operator_loc, buffer);
348
+ }
349
+ if (((pm_call_and_write_node_t *)node)->message_loc.start == NULL) {
350
+ pm_buffer_append_byte(buffer, 0);
351
+ } else {
352
+ pm_buffer_append_byte(buffer, 1);
353
+ pm_serialize_location(parser, &((pm_call_and_write_node_t *)node)->message_loc, buffer);
354
+ }
355
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_call_and_write_node_t *)node)->read_name));
356
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_call_and_write_node_t *)node)->write_name));
357
+ pm_serialize_location(parser, &((pm_call_and_write_node_t *)node)->operator_loc, buffer);
358
+ pm_serialize_node(parser, (pm_node_t *)((pm_call_and_write_node_t *)node)->value, buffer);
359
+ break;
360
+ }
361
+ case PM_CALL_NODE: {
362
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
363
+ if (((pm_call_node_t *)node)->receiver == NULL) {
364
+ pm_buffer_append_byte(buffer, 0);
365
+ } else {
366
+ pm_serialize_node(parser, (pm_node_t *)((pm_call_node_t *)node)->receiver, buffer);
367
+ }
368
+ if (((pm_call_node_t *)node)->call_operator_loc.start == NULL) {
369
+ pm_buffer_append_byte(buffer, 0);
370
+ } else {
371
+ pm_buffer_append_byte(buffer, 1);
372
+ pm_serialize_location(parser, &((pm_call_node_t *)node)->call_operator_loc, buffer);
373
+ }
374
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_call_node_t *)node)->name));
375
+ if (((pm_call_node_t *)node)->message_loc.start == NULL) {
376
+ pm_buffer_append_byte(buffer, 0);
377
+ } else {
378
+ pm_buffer_append_byte(buffer, 1);
379
+ pm_serialize_location(parser, &((pm_call_node_t *)node)->message_loc, buffer);
380
+ }
381
+ if (((pm_call_node_t *)node)->opening_loc.start == NULL) {
382
+ pm_buffer_append_byte(buffer, 0);
383
+ } else {
384
+ pm_buffer_append_byte(buffer, 1);
385
+ pm_serialize_location(parser, &((pm_call_node_t *)node)->opening_loc, buffer);
386
+ }
387
+ if (((pm_call_node_t *)node)->arguments == NULL) {
388
+ pm_buffer_append_byte(buffer, 0);
389
+ } else {
390
+ pm_serialize_node(parser, (pm_node_t *)((pm_call_node_t *)node)->arguments, buffer);
391
+ }
392
+ if (((pm_call_node_t *)node)->closing_loc.start == NULL) {
393
+ pm_buffer_append_byte(buffer, 0);
394
+ } else {
395
+ pm_buffer_append_byte(buffer, 1);
396
+ pm_serialize_location(parser, &((pm_call_node_t *)node)->closing_loc, buffer);
397
+ }
398
+ if (((pm_call_node_t *)node)->equal_loc.start == NULL) {
399
+ pm_buffer_append_byte(buffer, 0);
400
+ } else {
401
+ pm_buffer_append_byte(buffer, 1);
402
+ pm_serialize_location(parser, &((pm_call_node_t *)node)->equal_loc, buffer);
403
+ }
404
+ if (((pm_call_node_t *)node)->block == NULL) {
405
+ pm_buffer_append_byte(buffer, 0);
406
+ } else {
407
+ pm_serialize_node(parser, (pm_node_t *)((pm_call_node_t *)node)->block, buffer);
408
+ }
409
+ break;
410
+ }
411
+ case PM_CALL_OPERATOR_WRITE_NODE: {
412
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
413
+ if (((pm_call_operator_write_node_t *)node)->receiver == NULL) {
414
+ pm_buffer_append_byte(buffer, 0);
415
+ } else {
416
+ pm_serialize_node(parser, (pm_node_t *)((pm_call_operator_write_node_t *)node)->receiver, buffer);
417
+ }
418
+ if (((pm_call_operator_write_node_t *)node)->call_operator_loc.start == NULL) {
419
+ pm_buffer_append_byte(buffer, 0);
420
+ } else {
421
+ pm_buffer_append_byte(buffer, 1);
422
+ pm_serialize_location(parser, &((pm_call_operator_write_node_t *)node)->call_operator_loc, buffer);
423
+ }
424
+ if (((pm_call_operator_write_node_t *)node)->message_loc.start == NULL) {
425
+ pm_buffer_append_byte(buffer, 0);
426
+ } else {
427
+ pm_buffer_append_byte(buffer, 1);
428
+ pm_serialize_location(parser, &((pm_call_operator_write_node_t *)node)->message_loc, buffer);
429
+ }
430
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_call_operator_write_node_t *)node)->read_name));
431
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_call_operator_write_node_t *)node)->write_name));
432
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_call_operator_write_node_t *)node)->binary_operator));
433
+ pm_serialize_location(parser, &((pm_call_operator_write_node_t *)node)->binary_operator_loc, buffer);
434
+ pm_serialize_node(parser, (pm_node_t *)((pm_call_operator_write_node_t *)node)->value, buffer);
435
+ break;
436
+ }
437
+ case PM_CALL_OR_WRITE_NODE: {
438
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
439
+ if (((pm_call_or_write_node_t *)node)->receiver == NULL) {
440
+ pm_buffer_append_byte(buffer, 0);
441
+ } else {
442
+ pm_serialize_node(parser, (pm_node_t *)((pm_call_or_write_node_t *)node)->receiver, buffer);
443
+ }
444
+ if (((pm_call_or_write_node_t *)node)->call_operator_loc.start == NULL) {
445
+ pm_buffer_append_byte(buffer, 0);
446
+ } else {
447
+ pm_buffer_append_byte(buffer, 1);
448
+ pm_serialize_location(parser, &((pm_call_or_write_node_t *)node)->call_operator_loc, buffer);
449
+ }
450
+ if (((pm_call_or_write_node_t *)node)->message_loc.start == NULL) {
451
+ pm_buffer_append_byte(buffer, 0);
452
+ } else {
453
+ pm_buffer_append_byte(buffer, 1);
454
+ pm_serialize_location(parser, &((pm_call_or_write_node_t *)node)->message_loc, buffer);
455
+ }
456
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_call_or_write_node_t *)node)->read_name));
457
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_call_or_write_node_t *)node)->write_name));
458
+ pm_serialize_location(parser, &((pm_call_or_write_node_t *)node)->operator_loc, buffer);
459
+ pm_serialize_node(parser, (pm_node_t *)((pm_call_or_write_node_t *)node)->value, buffer);
460
+ break;
461
+ }
462
+ case PM_CALL_TARGET_NODE: {
463
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
464
+ pm_serialize_node(parser, (pm_node_t *)((pm_call_target_node_t *)node)->receiver, buffer);
465
+ pm_serialize_location(parser, &((pm_call_target_node_t *)node)->call_operator_loc, buffer);
466
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_call_target_node_t *)node)->name));
467
+ pm_serialize_location(parser, &((pm_call_target_node_t *)node)->message_loc, buffer);
468
+ break;
469
+ }
470
+ case PM_CAPTURE_PATTERN_NODE: {
471
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
472
+ pm_serialize_node(parser, (pm_node_t *)((pm_capture_pattern_node_t *)node)->value, buffer);
473
+ pm_serialize_node(parser, (pm_node_t *)((pm_capture_pattern_node_t *)node)->target, buffer);
474
+ pm_serialize_location(parser, &((pm_capture_pattern_node_t *)node)->operator_loc, buffer);
475
+ break;
476
+ }
477
+ case PM_CASE_MATCH_NODE: {
478
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
479
+ if (((pm_case_match_node_t *)node)->predicate == NULL) {
480
+ pm_buffer_append_byte(buffer, 0);
481
+ } else {
482
+ pm_serialize_node(parser, (pm_node_t *)((pm_case_match_node_t *)node)->predicate, buffer);
483
+ }
484
+ uint32_t conditions_size = pm_sizet_to_u32(((pm_case_match_node_t *)node)->conditions.size);
485
+ pm_buffer_append_varuint(buffer, conditions_size);
486
+ for (uint32_t index = 0; index < conditions_size; index++) {
487
+ pm_serialize_node(parser, (pm_node_t *) ((pm_case_match_node_t *)node)->conditions.nodes[index], buffer);
488
+ }
489
+ if (((pm_case_match_node_t *)node)->else_clause == NULL) {
490
+ pm_buffer_append_byte(buffer, 0);
491
+ } else {
492
+ pm_serialize_node(parser, (pm_node_t *)((pm_case_match_node_t *)node)->else_clause, buffer);
493
+ }
494
+ pm_serialize_location(parser, &((pm_case_match_node_t *)node)->case_keyword_loc, buffer);
495
+ pm_serialize_location(parser, &((pm_case_match_node_t *)node)->end_keyword_loc, buffer);
496
+ break;
497
+ }
498
+ case PM_CASE_NODE: {
499
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
500
+ if (((pm_case_node_t *)node)->predicate == NULL) {
501
+ pm_buffer_append_byte(buffer, 0);
502
+ } else {
503
+ pm_serialize_node(parser, (pm_node_t *)((pm_case_node_t *)node)->predicate, buffer);
504
+ }
505
+ uint32_t conditions_size = pm_sizet_to_u32(((pm_case_node_t *)node)->conditions.size);
506
+ pm_buffer_append_varuint(buffer, conditions_size);
507
+ for (uint32_t index = 0; index < conditions_size; index++) {
508
+ pm_serialize_node(parser, (pm_node_t *) ((pm_case_node_t *)node)->conditions.nodes[index], buffer);
509
+ }
510
+ if (((pm_case_node_t *)node)->else_clause == NULL) {
511
+ pm_buffer_append_byte(buffer, 0);
512
+ } else {
513
+ pm_serialize_node(parser, (pm_node_t *)((pm_case_node_t *)node)->else_clause, buffer);
514
+ }
515
+ pm_serialize_location(parser, &((pm_case_node_t *)node)->case_keyword_loc, buffer);
516
+ pm_serialize_location(parser, &((pm_case_node_t *)node)->end_keyword_loc, buffer);
517
+ break;
518
+ }
519
+ case PM_CLASS_NODE: {
520
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
521
+ uint32_t locals_size = pm_sizet_to_u32(((pm_class_node_t *)node)->locals.size);
522
+ pm_buffer_append_varuint(buffer, locals_size);
523
+ for (uint32_t index = 0; index < locals_size; index++) {
524
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_class_node_t *)node)->locals.ids[index]));
525
+ }
526
+ pm_serialize_location(parser, &((pm_class_node_t *)node)->class_keyword_loc, buffer);
527
+ pm_serialize_node(parser, (pm_node_t *)((pm_class_node_t *)node)->constant_path, buffer);
528
+ if (((pm_class_node_t *)node)->inheritance_operator_loc.start == NULL) {
529
+ pm_buffer_append_byte(buffer, 0);
530
+ } else {
531
+ pm_buffer_append_byte(buffer, 1);
532
+ pm_serialize_location(parser, &((pm_class_node_t *)node)->inheritance_operator_loc, buffer);
533
+ }
534
+ if (((pm_class_node_t *)node)->superclass == NULL) {
535
+ pm_buffer_append_byte(buffer, 0);
536
+ } else {
537
+ pm_serialize_node(parser, (pm_node_t *)((pm_class_node_t *)node)->superclass, buffer);
538
+ }
539
+ if (((pm_class_node_t *)node)->body == NULL) {
540
+ pm_buffer_append_byte(buffer, 0);
541
+ } else {
542
+ pm_serialize_node(parser, (pm_node_t *)((pm_class_node_t *)node)->body, buffer);
543
+ }
544
+ pm_serialize_location(parser, &((pm_class_node_t *)node)->end_keyword_loc, buffer);
545
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_class_node_t *)node)->name));
546
+ break;
547
+ }
548
+ case PM_CLASS_VARIABLE_AND_WRITE_NODE: {
549
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
550
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_class_variable_and_write_node_t *)node)->name));
551
+ pm_serialize_location(parser, &((pm_class_variable_and_write_node_t *)node)->name_loc, buffer);
552
+ pm_serialize_location(parser, &((pm_class_variable_and_write_node_t *)node)->operator_loc, buffer);
553
+ pm_serialize_node(parser, (pm_node_t *)((pm_class_variable_and_write_node_t *)node)->value, buffer);
554
+ break;
555
+ }
556
+ case PM_CLASS_VARIABLE_OPERATOR_WRITE_NODE: {
557
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
558
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_class_variable_operator_write_node_t *)node)->name));
559
+ pm_serialize_location(parser, &((pm_class_variable_operator_write_node_t *)node)->name_loc, buffer);
560
+ pm_serialize_location(parser, &((pm_class_variable_operator_write_node_t *)node)->binary_operator_loc, buffer);
561
+ pm_serialize_node(parser, (pm_node_t *)((pm_class_variable_operator_write_node_t *)node)->value, buffer);
562
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_class_variable_operator_write_node_t *)node)->binary_operator));
563
+ break;
564
+ }
565
+ case PM_CLASS_VARIABLE_OR_WRITE_NODE: {
566
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
567
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_class_variable_or_write_node_t *)node)->name));
568
+ pm_serialize_location(parser, &((pm_class_variable_or_write_node_t *)node)->name_loc, buffer);
569
+ pm_serialize_location(parser, &((pm_class_variable_or_write_node_t *)node)->operator_loc, buffer);
570
+ pm_serialize_node(parser, (pm_node_t *)((pm_class_variable_or_write_node_t *)node)->value, buffer);
571
+ break;
572
+ }
573
+ case PM_CLASS_VARIABLE_READ_NODE: {
574
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
575
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_class_variable_read_node_t *)node)->name));
576
+ break;
577
+ }
578
+ case PM_CLASS_VARIABLE_TARGET_NODE: {
579
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
580
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_class_variable_target_node_t *)node)->name));
581
+ break;
582
+ }
583
+ case PM_CLASS_VARIABLE_WRITE_NODE: {
584
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
585
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_class_variable_write_node_t *)node)->name));
586
+ pm_serialize_location(parser, &((pm_class_variable_write_node_t *)node)->name_loc, buffer);
587
+ pm_serialize_node(parser, (pm_node_t *)((pm_class_variable_write_node_t *)node)->value, buffer);
588
+ pm_serialize_location(parser, &((pm_class_variable_write_node_t *)node)->operator_loc, buffer);
589
+ break;
590
+ }
591
+ case PM_CONSTANT_AND_WRITE_NODE: {
592
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
593
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_constant_and_write_node_t *)node)->name));
594
+ pm_serialize_location(parser, &((pm_constant_and_write_node_t *)node)->name_loc, buffer);
595
+ pm_serialize_location(parser, &((pm_constant_and_write_node_t *)node)->operator_loc, buffer);
596
+ pm_serialize_node(parser, (pm_node_t *)((pm_constant_and_write_node_t *)node)->value, buffer);
597
+ break;
598
+ }
599
+ case PM_CONSTANT_OPERATOR_WRITE_NODE: {
600
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
601
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_constant_operator_write_node_t *)node)->name));
602
+ pm_serialize_location(parser, &((pm_constant_operator_write_node_t *)node)->name_loc, buffer);
603
+ pm_serialize_location(parser, &((pm_constant_operator_write_node_t *)node)->binary_operator_loc, buffer);
604
+ pm_serialize_node(parser, (pm_node_t *)((pm_constant_operator_write_node_t *)node)->value, buffer);
605
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_constant_operator_write_node_t *)node)->binary_operator));
606
+ break;
607
+ }
608
+ case PM_CONSTANT_OR_WRITE_NODE: {
609
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
610
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_constant_or_write_node_t *)node)->name));
611
+ pm_serialize_location(parser, &((pm_constant_or_write_node_t *)node)->name_loc, buffer);
612
+ pm_serialize_location(parser, &((pm_constant_or_write_node_t *)node)->operator_loc, buffer);
613
+ pm_serialize_node(parser, (pm_node_t *)((pm_constant_or_write_node_t *)node)->value, buffer);
614
+ break;
615
+ }
616
+ case PM_CONSTANT_PATH_AND_WRITE_NODE: {
617
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
618
+ pm_serialize_node(parser, (pm_node_t *)((pm_constant_path_and_write_node_t *)node)->target, buffer);
619
+ pm_serialize_location(parser, &((pm_constant_path_and_write_node_t *)node)->operator_loc, buffer);
620
+ pm_serialize_node(parser, (pm_node_t *)((pm_constant_path_and_write_node_t *)node)->value, buffer);
621
+ break;
622
+ }
623
+ case PM_CONSTANT_PATH_NODE: {
624
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
625
+ if (((pm_constant_path_node_t *)node)->parent == NULL) {
626
+ pm_buffer_append_byte(buffer, 0);
627
+ } else {
628
+ pm_serialize_node(parser, (pm_node_t *)((pm_constant_path_node_t *)node)->parent, buffer);
629
+ }
630
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_constant_path_node_t *)node)->name));
631
+ pm_serialize_location(parser, &((pm_constant_path_node_t *)node)->delimiter_loc, buffer);
632
+ pm_serialize_location(parser, &((pm_constant_path_node_t *)node)->name_loc, buffer);
633
+ break;
634
+ }
635
+ case PM_CONSTANT_PATH_OPERATOR_WRITE_NODE: {
636
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
637
+ pm_serialize_node(parser, (pm_node_t *)((pm_constant_path_operator_write_node_t *)node)->target, buffer);
638
+ pm_serialize_location(parser, &((pm_constant_path_operator_write_node_t *)node)->binary_operator_loc, buffer);
639
+ pm_serialize_node(parser, (pm_node_t *)((pm_constant_path_operator_write_node_t *)node)->value, buffer);
640
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_constant_path_operator_write_node_t *)node)->binary_operator));
641
+ break;
642
+ }
643
+ case PM_CONSTANT_PATH_OR_WRITE_NODE: {
644
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
645
+ pm_serialize_node(parser, (pm_node_t *)((pm_constant_path_or_write_node_t *)node)->target, buffer);
646
+ pm_serialize_location(parser, &((pm_constant_path_or_write_node_t *)node)->operator_loc, buffer);
647
+ pm_serialize_node(parser, (pm_node_t *)((pm_constant_path_or_write_node_t *)node)->value, buffer);
648
+ break;
649
+ }
650
+ case PM_CONSTANT_PATH_TARGET_NODE: {
651
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
652
+ if (((pm_constant_path_target_node_t *)node)->parent == NULL) {
653
+ pm_buffer_append_byte(buffer, 0);
654
+ } else {
655
+ pm_serialize_node(parser, (pm_node_t *)((pm_constant_path_target_node_t *)node)->parent, buffer);
656
+ }
657
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_constant_path_target_node_t *)node)->name));
658
+ pm_serialize_location(parser, &((pm_constant_path_target_node_t *)node)->delimiter_loc, buffer);
659
+ pm_serialize_location(parser, &((pm_constant_path_target_node_t *)node)->name_loc, buffer);
660
+ break;
661
+ }
662
+ case PM_CONSTANT_PATH_WRITE_NODE: {
663
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
664
+ pm_serialize_node(parser, (pm_node_t *)((pm_constant_path_write_node_t *)node)->target, buffer);
665
+ pm_serialize_location(parser, &((pm_constant_path_write_node_t *)node)->operator_loc, buffer);
666
+ pm_serialize_node(parser, (pm_node_t *)((pm_constant_path_write_node_t *)node)->value, buffer);
667
+ break;
668
+ }
669
+ case PM_CONSTANT_READ_NODE: {
670
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
671
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_constant_read_node_t *)node)->name));
672
+ break;
673
+ }
674
+ case PM_CONSTANT_TARGET_NODE: {
675
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
676
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_constant_target_node_t *)node)->name));
677
+ break;
678
+ }
679
+ case PM_CONSTANT_WRITE_NODE: {
680
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
681
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_constant_write_node_t *)node)->name));
682
+ pm_serialize_location(parser, &((pm_constant_write_node_t *)node)->name_loc, buffer);
683
+ pm_serialize_node(parser, (pm_node_t *)((pm_constant_write_node_t *)node)->value, buffer);
684
+ pm_serialize_location(parser, &((pm_constant_write_node_t *)node)->operator_loc, buffer);
685
+ break;
686
+ }
687
+ case PM_DEF_NODE: {
688
+ // serialize length
689
+ // encoding of location u32s make us need to save this offset.
690
+ size_t length_offset = buffer->length;
691
+ pm_buffer_append_string(buffer, "\0\0\0\0", 4); /* consume 4 bytes, updated below */
692
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
693
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_def_node_t *)node)->name));
694
+ pm_serialize_location(parser, &((pm_def_node_t *)node)->name_loc, buffer);
695
+ if (((pm_def_node_t *)node)->receiver == NULL) {
696
+ pm_buffer_append_byte(buffer, 0);
697
+ } else {
698
+ pm_serialize_node(parser, (pm_node_t *)((pm_def_node_t *)node)->receiver, buffer);
699
+ }
700
+ if (((pm_def_node_t *)node)->parameters == NULL) {
701
+ pm_buffer_append_byte(buffer, 0);
702
+ } else {
703
+ pm_serialize_node(parser, (pm_node_t *)((pm_def_node_t *)node)->parameters, buffer);
704
+ }
705
+ if (((pm_def_node_t *)node)->body == NULL) {
706
+ pm_buffer_append_byte(buffer, 0);
707
+ } else {
708
+ pm_serialize_node(parser, (pm_node_t *)((pm_def_node_t *)node)->body, buffer);
709
+ }
710
+ uint32_t locals_size = pm_sizet_to_u32(((pm_def_node_t *)node)->locals.size);
711
+ pm_buffer_append_varuint(buffer, locals_size);
712
+ for (uint32_t index = 0; index < locals_size; index++) {
713
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_def_node_t *)node)->locals.ids[index]));
714
+ }
715
+ pm_serialize_location(parser, &((pm_def_node_t *)node)->def_keyword_loc, buffer);
716
+ if (((pm_def_node_t *)node)->operator_loc.start == NULL) {
717
+ pm_buffer_append_byte(buffer, 0);
718
+ } else {
719
+ pm_buffer_append_byte(buffer, 1);
720
+ pm_serialize_location(parser, &((pm_def_node_t *)node)->operator_loc, buffer);
721
+ }
722
+ if (((pm_def_node_t *)node)->lparen_loc.start == NULL) {
723
+ pm_buffer_append_byte(buffer, 0);
724
+ } else {
725
+ pm_buffer_append_byte(buffer, 1);
726
+ pm_serialize_location(parser, &((pm_def_node_t *)node)->lparen_loc, buffer);
727
+ }
728
+ if (((pm_def_node_t *)node)->rparen_loc.start == NULL) {
729
+ pm_buffer_append_byte(buffer, 0);
730
+ } else {
731
+ pm_buffer_append_byte(buffer, 1);
732
+ pm_serialize_location(parser, &((pm_def_node_t *)node)->rparen_loc, buffer);
733
+ }
734
+ if (((pm_def_node_t *)node)->equal_loc.start == NULL) {
735
+ pm_buffer_append_byte(buffer, 0);
736
+ } else {
737
+ pm_buffer_append_byte(buffer, 1);
738
+ pm_serialize_location(parser, &((pm_def_node_t *)node)->equal_loc, buffer);
739
+ }
740
+ if (((pm_def_node_t *)node)->end_keyword_loc.start == NULL) {
741
+ pm_buffer_append_byte(buffer, 0);
742
+ } else {
743
+ pm_buffer_append_byte(buffer, 1);
744
+ pm_serialize_location(parser, &((pm_def_node_t *)node)->end_keyword_loc, buffer);
745
+ }
746
+ // serialize length
747
+ uint32_t length = pm_sizet_to_u32(buffer->length - offset - sizeof(uint32_t));
748
+ memcpy(buffer->value + length_offset, &length, sizeof(uint32_t));
749
+ break;
750
+ }
751
+ case PM_DEFINED_NODE: {
752
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
753
+ if (((pm_defined_node_t *)node)->lparen_loc.start == NULL) {
754
+ pm_buffer_append_byte(buffer, 0);
755
+ } else {
756
+ pm_buffer_append_byte(buffer, 1);
757
+ pm_serialize_location(parser, &((pm_defined_node_t *)node)->lparen_loc, buffer);
758
+ }
759
+ pm_serialize_node(parser, (pm_node_t *)((pm_defined_node_t *)node)->value, buffer);
760
+ if (((pm_defined_node_t *)node)->rparen_loc.start == NULL) {
761
+ pm_buffer_append_byte(buffer, 0);
762
+ } else {
763
+ pm_buffer_append_byte(buffer, 1);
764
+ pm_serialize_location(parser, &((pm_defined_node_t *)node)->rparen_loc, buffer);
765
+ }
766
+ pm_serialize_location(parser, &((pm_defined_node_t *)node)->keyword_loc, buffer);
767
+ break;
768
+ }
769
+ case PM_ELSE_NODE: {
770
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
771
+ pm_serialize_location(parser, &((pm_else_node_t *)node)->else_keyword_loc, buffer);
772
+ if (((pm_else_node_t *)node)->statements == NULL) {
773
+ pm_buffer_append_byte(buffer, 0);
774
+ } else {
775
+ pm_serialize_node(parser, (pm_node_t *)((pm_else_node_t *)node)->statements, buffer);
776
+ }
777
+ if (((pm_else_node_t *)node)->end_keyword_loc.start == NULL) {
778
+ pm_buffer_append_byte(buffer, 0);
779
+ } else {
780
+ pm_buffer_append_byte(buffer, 1);
781
+ pm_serialize_location(parser, &((pm_else_node_t *)node)->end_keyword_loc, buffer);
782
+ }
783
+ break;
784
+ }
785
+ case PM_EMBEDDED_STATEMENTS_NODE: {
786
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
787
+ pm_serialize_location(parser, &((pm_embedded_statements_node_t *)node)->opening_loc, buffer);
788
+ if (((pm_embedded_statements_node_t *)node)->statements == NULL) {
789
+ pm_buffer_append_byte(buffer, 0);
790
+ } else {
791
+ pm_serialize_node(parser, (pm_node_t *)((pm_embedded_statements_node_t *)node)->statements, buffer);
792
+ }
793
+ pm_serialize_location(parser, &((pm_embedded_statements_node_t *)node)->closing_loc, buffer);
794
+ break;
795
+ }
796
+ case PM_EMBEDDED_VARIABLE_NODE: {
797
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
798
+ pm_serialize_location(parser, &((pm_embedded_variable_node_t *)node)->operator_loc, buffer);
799
+ pm_serialize_node(parser, (pm_node_t *)((pm_embedded_variable_node_t *)node)->variable, buffer);
800
+ break;
801
+ }
802
+ case PM_ENSURE_NODE: {
803
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
804
+ pm_serialize_location(parser, &((pm_ensure_node_t *)node)->ensure_keyword_loc, buffer);
805
+ if (((pm_ensure_node_t *)node)->statements == NULL) {
806
+ pm_buffer_append_byte(buffer, 0);
807
+ } else {
808
+ pm_serialize_node(parser, (pm_node_t *)((pm_ensure_node_t *)node)->statements, buffer);
809
+ }
810
+ pm_serialize_location(parser, &((pm_ensure_node_t *)node)->end_keyword_loc, buffer);
811
+ break;
812
+ }
813
+ case PM_FALSE_NODE: {
814
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
815
+ break;
816
+ }
817
+ case PM_FIND_PATTERN_NODE: {
818
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
819
+ if (((pm_find_pattern_node_t *)node)->constant == NULL) {
820
+ pm_buffer_append_byte(buffer, 0);
821
+ } else {
822
+ pm_serialize_node(parser, (pm_node_t *)((pm_find_pattern_node_t *)node)->constant, buffer);
823
+ }
824
+ pm_serialize_node(parser, (pm_node_t *)((pm_find_pattern_node_t *)node)->left, buffer);
825
+ uint32_t requireds_size = pm_sizet_to_u32(((pm_find_pattern_node_t *)node)->requireds.size);
826
+ pm_buffer_append_varuint(buffer, requireds_size);
827
+ for (uint32_t index = 0; index < requireds_size; index++) {
828
+ pm_serialize_node(parser, (pm_node_t *) ((pm_find_pattern_node_t *)node)->requireds.nodes[index], buffer);
829
+ }
830
+ pm_serialize_node(parser, (pm_node_t *)((pm_find_pattern_node_t *)node)->right, buffer);
831
+ if (((pm_find_pattern_node_t *)node)->opening_loc.start == NULL) {
832
+ pm_buffer_append_byte(buffer, 0);
833
+ } else {
834
+ pm_buffer_append_byte(buffer, 1);
835
+ pm_serialize_location(parser, &((pm_find_pattern_node_t *)node)->opening_loc, buffer);
836
+ }
837
+ if (((pm_find_pattern_node_t *)node)->closing_loc.start == NULL) {
838
+ pm_buffer_append_byte(buffer, 0);
839
+ } else {
840
+ pm_buffer_append_byte(buffer, 1);
841
+ pm_serialize_location(parser, &((pm_find_pattern_node_t *)node)->closing_loc, buffer);
842
+ }
843
+ break;
844
+ }
845
+ case PM_FLIP_FLOP_NODE: {
846
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
847
+ if (((pm_flip_flop_node_t *)node)->left == NULL) {
848
+ pm_buffer_append_byte(buffer, 0);
849
+ } else {
850
+ pm_serialize_node(parser, (pm_node_t *)((pm_flip_flop_node_t *)node)->left, buffer);
851
+ }
852
+ if (((pm_flip_flop_node_t *)node)->right == NULL) {
853
+ pm_buffer_append_byte(buffer, 0);
854
+ } else {
855
+ pm_serialize_node(parser, (pm_node_t *)((pm_flip_flop_node_t *)node)->right, buffer);
856
+ }
857
+ pm_serialize_location(parser, &((pm_flip_flop_node_t *)node)->operator_loc, buffer);
858
+ break;
859
+ }
860
+ case PM_FLOAT_NODE: {
861
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
862
+ pm_buffer_append_double(buffer, ((pm_float_node_t *)node)->value);
863
+ break;
864
+ }
865
+ case PM_FOR_NODE: {
866
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
867
+ pm_serialize_node(parser, (pm_node_t *)((pm_for_node_t *)node)->index, buffer);
868
+ pm_serialize_node(parser, (pm_node_t *)((pm_for_node_t *)node)->collection, buffer);
869
+ if (((pm_for_node_t *)node)->statements == NULL) {
870
+ pm_buffer_append_byte(buffer, 0);
871
+ } else {
872
+ pm_serialize_node(parser, (pm_node_t *)((pm_for_node_t *)node)->statements, buffer);
873
+ }
874
+ pm_serialize_location(parser, &((pm_for_node_t *)node)->for_keyword_loc, buffer);
875
+ pm_serialize_location(parser, &((pm_for_node_t *)node)->in_keyword_loc, buffer);
876
+ if (((pm_for_node_t *)node)->do_keyword_loc.start == NULL) {
877
+ pm_buffer_append_byte(buffer, 0);
878
+ } else {
879
+ pm_buffer_append_byte(buffer, 1);
880
+ pm_serialize_location(parser, &((pm_for_node_t *)node)->do_keyword_loc, buffer);
881
+ }
882
+ pm_serialize_location(parser, &((pm_for_node_t *)node)->end_keyword_loc, buffer);
883
+ break;
884
+ }
885
+ case PM_FORWARDING_ARGUMENTS_NODE: {
886
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
887
+ break;
888
+ }
889
+ case PM_FORWARDING_PARAMETER_NODE: {
890
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
891
+ break;
892
+ }
893
+ case PM_FORWARDING_SUPER_NODE: {
894
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
895
+ if (((pm_forwarding_super_node_t *)node)->block == NULL) {
896
+ pm_buffer_append_byte(buffer, 0);
897
+ } else {
898
+ pm_serialize_node(parser, (pm_node_t *)((pm_forwarding_super_node_t *)node)->block, buffer);
899
+ }
900
+ break;
901
+ }
902
+ case PM_GLOBAL_VARIABLE_AND_WRITE_NODE: {
903
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
904
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_global_variable_and_write_node_t *)node)->name));
905
+ pm_serialize_location(parser, &((pm_global_variable_and_write_node_t *)node)->name_loc, buffer);
906
+ pm_serialize_location(parser, &((pm_global_variable_and_write_node_t *)node)->operator_loc, buffer);
907
+ pm_serialize_node(parser, (pm_node_t *)((pm_global_variable_and_write_node_t *)node)->value, buffer);
908
+ break;
909
+ }
910
+ case PM_GLOBAL_VARIABLE_OPERATOR_WRITE_NODE: {
911
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
912
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_global_variable_operator_write_node_t *)node)->name));
913
+ pm_serialize_location(parser, &((pm_global_variable_operator_write_node_t *)node)->name_loc, buffer);
914
+ pm_serialize_location(parser, &((pm_global_variable_operator_write_node_t *)node)->binary_operator_loc, buffer);
915
+ pm_serialize_node(parser, (pm_node_t *)((pm_global_variable_operator_write_node_t *)node)->value, buffer);
916
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_global_variable_operator_write_node_t *)node)->binary_operator));
917
+ break;
918
+ }
919
+ case PM_GLOBAL_VARIABLE_OR_WRITE_NODE: {
920
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
921
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_global_variable_or_write_node_t *)node)->name));
922
+ pm_serialize_location(parser, &((pm_global_variable_or_write_node_t *)node)->name_loc, buffer);
923
+ pm_serialize_location(parser, &((pm_global_variable_or_write_node_t *)node)->operator_loc, buffer);
924
+ pm_serialize_node(parser, (pm_node_t *)((pm_global_variable_or_write_node_t *)node)->value, buffer);
925
+ break;
926
+ }
927
+ case PM_GLOBAL_VARIABLE_READ_NODE: {
928
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
929
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_global_variable_read_node_t *)node)->name));
930
+ break;
931
+ }
932
+ case PM_GLOBAL_VARIABLE_TARGET_NODE: {
933
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
934
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_global_variable_target_node_t *)node)->name));
935
+ break;
936
+ }
937
+ case PM_GLOBAL_VARIABLE_WRITE_NODE: {
938
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
939
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_global_variable_write_node_t *)node)->name));
940
+ pm_serialize_location(parser, &((pm_global_variable_write_node_t *)node)->name_loc, buffer);
941
+ pm_serialize_node(parser, (pm_node_t *)((pm_global_variable_write_node_t *)node)->value, buffer);
942
+ pm_serialize_location(parser, &((pm_global_variable_write_node_t *)node)->operator_loc, buffer);
943
+ break;
944
+ }
945
+ case PM_HASH_NODE: {
946
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
947
+ pm_serialize_location(parser, &((pm_hash_node_t *)node)->opening_loc, buffer);
948
+ uint32_t elements_size = pm_sizet_to_u32(((pm_hash_node_t *)node)->elements.size);
949
+ pm_buffer_append_varuint(buffer, elements_size);
950
+ for (uint32_t index = 0; index < elements_size; index++) {
951
+ pm_serialize_node(parser, (pm_node_t *) ((pm_hash_node_t *)node)->elements.nodes[index], buffer);
952
+ }
953
+ pm_serialize_location(parser, &((pm_hash_node_t *)node)->closing_loc, buffer);
954
+ break;
955
+ }
956
+ case PM_HASH_PATTERN_NODE: {
957
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
958
+ if (((pm_hash_pattern_node_t *)node)->constant == NULL) {
959
+ pm_buffer_append_byte(buffer, 0);
960
+ } else {
961
+ pm_serialize_node(parser, (pm_node_t *)((pm_hash_pattern_node_t *)node)->constant, buffer);
962
+ }
963
+ uint32_t elements_size = pm_sizet_to_u32(((pm_hash_pattern_node_t *)node)->elements.size);
964
+ pm_buffer_append_varuint(buffer, elements_size);
965
+ for (uint32_t index = 0; index < elements_size; index++) {
966
+ pm_serialize_node(parser, (pm_node_t *) ((pm_hash_pattern_node_t *)node)->elements.nodes[index], buffer);
967
+ }
968
+ if (((pm_hash_pattern_node_t *)node)->rest == NULL) {
969
+ pm_buffer_append_byte(buffer, 0);
970
+ } else {
971
+ pm_serialize_node(parser, (pm_node_t *)((pm_hash_pattern_node_t *)node)->rest, buffer);
972
+ }
973
+ if (((pm_hash_pattern_node_t *)node)->opening_loc.start == NULL) {
974
+ pm_buffer_append_byte(buffer, 0);
975
+ } else {
976
+ pm_buffer_append_byte(buffer, 1);
977
+ pm_serialize_location(parser, &((pm_hash_pattern_node_t *)node)->opening_loc, buffer);
978
+ }
979
+ if (((pm_hash_pattern_node_t *)node)->closing_loc.start == NULL) {
980
+ pm_buffer_append_byte(buffer, 0);
981
+ } else {
982
+ pm_buffer_append_byte(buffer, 1);
983
+ pm_serialize_location(parser, &((pm_hash_pattern_node_t *)node)->closing_loc, buffer);
984
+ }
985
+ break;
986
+ }
987
+ case PM_IF_NODE: {
988
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
989
+ if (((pm_if_node_t *)node)->if_keyword_loc.start == NULL) {
990
+ pm_buffer_append_byte(buffer, 0);
991
+ } else {
992
+ pm_buffer_append_byte(buffer, 1);
993
+ pm_serialize_location(parser, &((pm_if_node_t *)node)->if_keyword_loc, buffer);
994
+ }
995
+ pm_serialize_node(parser, (pm_node_t *)((pm_if_node_t *)node)->predicate, buffer);
996
+ if (((pm_if_node_t *)node)->then_keyword_loc.start == NULL) {
997
+ pm_buffer_append_byte(buffer, 0);
998
+ } else {
999
+ pm_buffer_append_byte(buffer, 1);
1000
+ pm_serialize_location(parser, &((pm_if_node_t *)node)->then_keyword_loc, buffer);
1001
+ }
1002
+ if (((pm_if_node_t *)node)->statements == NULL) {
1003
+ pm_buffer_append_byte(buffer, 0);
1004
+ } else {
1005
+ pm_serialize_node(parser, (pm_node_t *)((pm_if_node_t *)node)->statements, buffer);
1006
+ }
1007
+ if (((pm_if_node_t *)node)->subsequent == NULL) {
1008
+ pm_buffer_append_byte(buffer, 0);
1009
+ } else {
1010
+ pm_serialize_node(parser, (pm_node_t *)((pm_if_node_t *)node)->subsequent, buffer);
1011
+ }
1012
+ if (((pm_if_node_t *)node)->end_keyword_loc.start == NULL) {
1013
+ pm_buffer_append_byte(buffer, 0);
1014
+ } else {
1015
+ pm_buffer_append_byte(buffer, 1);
1016
+ pm_serialize_location(parser, &((pm_if_node_t *)node)->end_keyword_loc, buffer);
1017
+ }
1018
+ break;
1019
+ }
1020
+ case PM_IMAGINARY_NODE: {
1021
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1022
+ pm_serialize_node(parser, (pm_node_t *)((pm_imaginary_node_t *)node)->numeric, buffer);
1023
+ break;
1024
+ }
1025
+ case PM_IMPLICIT_NODE: {
1026
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1027
+ pm_serialize_node(parser, (pm_node_t *)((pm_implicit_node_t *)node)->value, buffer);
1028
+ break;
1029
+ }
1030
+ case PM_IMPLICIT_REST_NODE: {
1031
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1032
+ break;
1033
+ }
1034
+ case PM_IN_NODE: {
1035
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1036
+ pm_serialize_node(parser, (pm_node_t *)((pm_in_node_t *)node)->pattern, buffer);
1037
+ if (((pm_in_node_t *)node)->statements == NULL) {
1038
+ pm_buffer_append_byte(buffer, 0);
1039
+ } else {
1040
+ pm_serialize_node(parser, (pm_node_t *)((pm_in_node_t *)node)->statements, buffer);
1041
+ }
1042
+ pm_serialize_location(parser, &((pm_in_node_t *)node)->in_loc, buffer);
1043
+ if (((pm_in_node_t *)node)->then_loc.start == NULL) {
1044
+ pm_buffer_append_byte(buffer, 0);
1045
+ } else {
1046
+ pm_buffer_append_byte(buffer, 1);
1047
+ pm_serialize_location(parser, &((pm_in_node_t *)node)->then_loc, buffer);
1048
+ }
1049
+ break;
1050
+ }
1051
+ case PM_INDEX_AND_WRITE_NODE: {
1052
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1053
+ if (((pm_index_and_write_node_t *)node)->receiver == NULL) {
1054
+ pm_buffer_append_byte(buffer, 0);
1055
+ } else {
1056
+ pm_serialize_node(parser, (pm_node_t *)((pm_index_and_write_node_t *)node)->receiver, buffer);
1057
+ }
1058
+ if (((pm_index_and_write_node_t *)node)->call_operator_loc.start == NULL) {
1059
+ pm_buffer_append_byte(buffer, 0);
1060
+ } else {
1061
+ pm_buffer_append_byte(buffer, 1);
1062
+ pm_serialize_location(parser, &((pm_index_and_write_node_t *)node)->call_operator_loc, buffer);
1063
+ }
1064
+ pm_serialize_location(parser, &((pm_index_and_write_node_t *)node)->opening_loc, buffer);
1065
+ if (((pm_index_and_write_node_t *)node)->arguments == NULL) {
1066
+ pm_buffer_append_byte(buffer, 0);
1067
+ } else {
1068
+ pm_serialize_node(parser, (pm_node_t *)((pm_index_and_write_node_t *)node)->arguments, buffer);
1069
+ }
1070
+ pm_serialize_location(parser, &((pm_index_and_write_node_t *)node)->closing_loc, buffer);
1071
+ if (((pm_index_and_write_node_t *)node)->block == NULL) {
1072
+ pm_buffer_append_byte(buffer, 0);
1073
+ } else {
1074
+ pm_serialize_node(parser, (pm_node_t *)((pm_index_and_write_node_t *)node)->block, buffer);
1075
+ }
1076
+ pm_serialize_location(parser, &((pm_index_and_write_node_t *)node)->operator_loc, buffer);
1077
+ pm_serialize_node(parser, (pm_node_t *)((pm_index_and_write_node_t *)node)->value, buffer);
1078
+ break;
1079
+ }
1080
+ case PM_INDEX_OPERATOR_WRITE_NODE: {
1081
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1082
+ if (((pm_index_operator_write_node_t *)node)->receiver == NULL) {
1083
+ pm_buffer_append_byte(buffer, 0);
1084
+ } else {
1085
+ pm_serialize_node(parser, (pm_node_t *)((pm_index_operator_write_node_t *)node)->receiver, buffer);
1086
+ }
1087
+ if (((pm_index_operator_write_node_t *)node)->call_operator_loc.start == NULL) {
1088
+ pm_buffer_append_byte(buffer, 0);
1089
+ } else {
1090
+ pm_buffer_append_byte(buffer, 1);
1091
+ pm_serialize_location(parser, &((pm_index_operator_write_node_t *)node)->call_operator_loc, buffer);
1092
+ }
1093
+ pm_serialize_location(parser, &((pm_index_operator_write_node_t *)node)->opening_loc, buffer);
1094
+ if (((pm_index_operator_write_node_t *)node)->arguments == NULL) {
1095
+ pm_buffer_append_byte(buffer, 0);
1096
+ } else {
1097
+ pm_serialize_node(parser, (pm_node_t *)((pm_index_operator_write_node_t *)node)->arguments, buffer);
1098
+ }
1099
+ pm_serialize_location(parser, &((pm_index_operator_write_node_t *)node)->closing_loc, buffer);
1100
+ if (((pm_index_operator_write_node_t *)node)->block == NULL) {
1101
+ pm_buffer_append_byte(buffer, 0);
1102
+ } else {
1103
+ pm_serialize_node(parser, (pm_node_t *)((pm_index_operator_write_node_t *)node)->block, buffer);
1104
+ }
1105
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_index_operator_write_node_t *)node)->binary_operator));
1106
+ pm_serialize_location(parser, &((pm_index_operator_write_node_t *)node)->binary_operator_loc, buffer);
1107
+ pm_serialize_node(parser, (pm_node_t *)((pm_index_operator_write_node_t *)node)->value, buffer);
1108
+ break;
1109
+ }
1110
+ case PM_INDEX_OR_WRITE_NODE: {
1111
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1112
+ if (((pm_index_or_write_node_t *)node)->receiver == NULL) {
1113
+ pm_buffer_append_byte(buffer, 0);
1114
+ } else {
1115
+ pm_serialize_node(parser, (pm_node_t *)((pm_index_or_write_node_t *)node)->receiver, buffer);
1116
+ }
1117
+ if (((pm_index_or_write_node_t *)node)->call_operator_loc.start == NULL) {
1118
+ pm_buffer_append_byte(buffer, 0);
1119
+ } else {
1120
+ pm_buffer_append_byte(buffer, 1);
1121
+ pm_serialize_location(parser, &((pm_index_or_write_node_t *)node)->call_operator_loc, buffer);
1122
+ }
1123
+ pm_serialize_location(parser, &((pm_index_or_write_node_t *)node)->opening_loc, buffer);
1124
+ if (((pm_index_or_write_node_t *)node)->arguments == NULL) {
1125
+ pm_buffer_append_byte(buffer, 0);
1126
+ } else {
1127
+ pm_serialize_node(parser, (pm_node_t *)((pm_index_or_write_node_t *)node)->arguments, buffer);
1128
+ }
1129
+ pm_serialize_location(parser, &((pm_index_or_write_node_t *)node)->closing_loc, buffer);
1130
+ if (((pm_index_or_write_node_t *)node)->block == NULL) {
1131
+ pm_buffer_append_byte(buffer, 0);
1132
+ } else {
1133
+ pm_serialize_node(parser, (pm_node_t *)((pm_index_or_write_node_t *)node)->block, buffer);
1134
+ }
1135
+ pm_serialize_location(parser, &((pm_index_or_write_node_t *)node)->operator_loc, buffer);
1136
+ pm_serialize_node(parser, (pm_node_t *)((pm_index_or_write_node_t *)node)->value, buffer);
1137
+ break;
1138
+ }
1139
+ case PM_INDEX_TARGET_NODE: {
1140
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1141
+ pm_serialize_node(parser, (pm_node_t *)((pm_index_target_node_t *)node)->receiver, buffer);
1142
+ pm_serialize_location(parser, &((pm_index_target_node_t *)node)->opening_loc, buffer);
1143
+ if (((pm_index_target_node_t *)node)->arguments == NULL) {
1144
+ pm_buffer_append_byte(buffer, 0);
1145
+ } else {
1146
+ pm_serialize_node(parser, (pm_node_t *)((pm_index_target_node_t *)node)->arguments, buffer);
1147
+ }
1148
+ pm_serialize_location(parser, &((pm_index_target_node_t *)node)->closing_loc, buffer);
1149
+ if (((pm_index_target_node_t *)node)->block == NULL) {
1150
+ pm_buffer_append_byte(buffer, 0);
1151
+ } else {
1152
+ pm_serialize_node(parser, (pm_node_t *)((pm_index_target_node_t *)node)->block, buffer);
1153
+ }
1154
+ break;
1155
+ }
1156
+ case PM_INSTANCE_VARIABLE_AND_WRITE_NODE: {
1157
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1158
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_instance_variable_and_write_node_t *)node)->name));
1159
+ pm_serialize_location(parser, &((pm_instance_variable_and_write_node_t *)node)->name_loc, buffer);
1160
+ pm_serialize_location(parser, &((pm_instance_variable_and_write_node_t *)node)->operator_loc, buffer);
1161
+ pm_serialize_node(parser, (pm_node_t *)((pm_instance_variable_and_write_node_t *)node)->value, buffer);
1162
+ break;
1163
+ }
1164
+ case PM_INSTANCE_VARIABLE_OPERATOR_WRITE_NODE: {
1165
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1166
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_instance_variable_operator_write_node_t *)node)->name));
1167
+ pm_serialize_location(parser, &((pm_instance_variable_operator_write_node_t *)node)->name_loc, buffer);
1168
+ pm_serialize_location(parser, &((pm_instance_variable_operator_write_node_t *)node)->binary_operator_loc, buffer);
1169
+ pm_serialize_node(parser, (pm_node_t *)((pm_instance_variable_operator_write_node_t *)node)->value, buffer);
1170
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_instance_variable_operator_write_node_t *)node)->binary_operator));
1171
+ break;
1172
+ }
1173
+ case PM_INSTANCE_VARIABLE_OR_WRITE_NODE: {
1174
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1175
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_instance_variable_or_write_node_t *)node)->name));
1176
+ pm_serialize_location(parser, &((pm_instance_variable_or_write_node_t *)node)->name_loc, buffer);
1177
+ pm_serialize_location(parser, &((pm_instance_variable_or_write_node_t *)node)->operator_loc, buffer);
1178
+ pm_serialize_node(parser, (pm_node_t *)((pm_instance_variable_or_write_node_t *)node)->value, buffer);
1179
+ break;
1180
+ }
1181
+ case PM_INSTANCE_VARIABLE_READ_NODE: {
1182
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1183
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_instance_variable_read_node_t *)node)->name));
1184
+ break;
1185
+ }
1186
+ case PM_INSTANCE_VARIABLE_TARGET_NODE: {
1187
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1188
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_instance_variable_target_node_t *)node)->name));
1189
+ break;
1190
+ }
1191
+ case PM_INSTANCE_VARIABLE_WRITE_NODE: {
1192
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1193
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_instance_variable_write_node_t *)node)->name));
1194
+ pm_serialize_location(parser, &((pm_instance_variable_write_node_t *)node)->name_loc, buffer);
1195
+ pm_serialize_node(parser, (pm_node_t *)((pm_instance_variable_write_node_t *)node)->value, buffer);
1196
+ pm_serialize_location(parser, &((pm_instance_variable_write_node_t *)node)->operator_loc, buffer);
1197
+ break;
1198
+ }
1199
+ case PM_INTEGER_NODE: {
1200
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1201
+ pm_serialize_integer(&((pm_integer_node_t *)node)->value, buffer);
1202
+ break;
1203
+ }
1204
+ case PM_INTERPOLATED_MATCH_LAST_LINE_NODE: {
1205
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1206
+ pm_serialize_location(parser, &((pm_interpolated_match_last_line_node_t *)node)->opening_loc, buffer);
1207
+ uint32_t parts_size = pm_sizet_to_u32(((pm_interpolated_match_last_line_node_t *)node)->parts.size);
1208
+ pm_buffer_append_varuint(buffer, parts_size);
1209
+ for (uint32_t index = 0; index < parts_size; index++) {
1210
+ pm_serialize_node(parser, (pm_node_t *) ((pm_interpolated_match_last_line_node_t *)node)->parts.nodes[index], buffer);
1211
+ }
1212
+ pm_serialize_location(parser, &((pm_interpolated_match_last_line_node_t *)node)->closing_loc, buffer);
1213
+ break;
1214
+ }
1215
+ case PM_INTERPOLATED_REGULAR_EXPRESSION_NODE: {
1216
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1217
+ pm_serialize_location(parser, &((pm_interpolated_regular_expression_node_t *)node)->opening_loc, buffer);
1218
+ uint32_t parts_size = pm_sizet_to_u32(((pm_interpolated_regular_expression_node_t *)node)->parts.size);
1219
+ pm_buffer_append_varuint(buffer, parts_size);
1220
+ for (uint32_t index = 0; index < parts_size; index++) {
1221
+ pm_serialize_node(parser, (pm_node_t *) ((pm_interpolated_regular_expression_node_t *)node)->parts.nodes[index], buffer);
1222
+ }
1223
+ pm_serialize_location(parser, &((pm_interpolated_regular_expression_node_t *)node)->closing_loc, buffer);
1224
+ break;
1225
+ }
1226
+ case PM_INTERPOLATED_STRING_NODE: {
1227
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1228
+ if (((pm_interpolated_string_node_t *)node)->opening_loc.start == NULL) {
1229
+ pm_buffer_append_byte(buffer, 0);
1230
+ } else {
1231
+ pm_buffer_append_byte(buffer, 1);
1232
+ pm_serialize_location(parser, &((pm_interpolated_string_node_t *)node)->opening_loc, buffer);
1233
+ }
1234
+ uint32_t parts_size = pm_sizet_to_u32(((pm_interpolated_string_node_t *)node)->parts.size);
1235
+ pm_buffer_append_varuint(buffer, parts_size);
1236
+ for (uint32_t index = 0; index < parts_size; index++) {
1237
+ pm_serialize_node(parser, (pm_node_t *) ((pm_interpolated_string_node_t *)node)->parts.nodes[index], buffer);
1238
+ }
1239
+ if (((pm_interpolated_string_node_t *)node)->closing_loc.start == NULL) {
1240
+ pm_buffer_append_byte(buffer, 0);
1241
+ } else {
1242
+ pm_buffer_append_byte(buffer, 1);
1243
+ pm_serialize_location(parser, &((pm_interpolated_string_node_t *)node)->closing_loc, buffer);
1244
+ }
1245
+ break;
1246
+ }
1247
+ case PM_INTERPOLATED_SYMBOL_NODE: {
1248
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1249
+ if (((pm_interpolated_symbol_node_t *)node)->opening_loc.start == NULL) {
1250
+ pm_buffer_append_byte(buffer, 0);
1251
+ } else {
1252
+ pm_buffer_append_byte(buffer, 1);
1253
+ pm_serialize_location(parser, &((pm_interpolated_symbol_node_t *)node)->opening_loc, buffer);
1254
+ }
1255
+ uint32_t parts_size = pm_sizet_to_u32(((pm_interpolated_symbol_node_t *)node)->parts.size);
1256
+ pm_buffer_append_varuint(buffer, parts_size);
1257
+ for (uint32_t index = 0; index < parts_size; index++) {
1258
+ pm_serialize_node(parser, (pm_node_t *) ((pm_interpolated_symbol_node_t *)node)->parts.nodes[index], buffer);
1259
+ }
1260
+ if (((pm_interpolated_symbol_node_t *)node)->closing_loc.start == NULL) {
1261
+ pm_buffer_append_byte(buffer, 0);
1262
+ } else {
1263
+ pm_buffer_append_byte(buffer, 1);
1264
+ pm_serialize_location(parser, &((pm_interpolated_symbol_node_t *)node)->closing_loc, buffer);
1265
+ }
1266
+ break;
1267
+ }
1268
+ case PM_INTERPOLATED_X_STRING_NODE: {
1269
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1270
+ pm_serialize_location(parser, &((pm_interpolated_x_string_node_t *)node)->opening_loc, buffer);
1271
+ uint32_t parts_size = pm_sizet_to_u32(((pm_interpolated_x_string_node_t *)node)->parts.size);
1272
+ pm_buffer_append_varuint(buffer, parts_size);
1273
+ for (uint32_t index = 0; index < parts_size; index++) {
1274
+ pm_serialize_node(parser, (pm_node_t *) ((pm_interpolated_x_string_node_t *)node)->parts.nodes[index], buffer);
1275
+ }
1276
+ pm_serialize_location(parser, &((pm_interpolated_x_string_node_t *)node)->closing_loc, buffer);
1277
+ break;
1278
+ }
1279
+ case PM_IT_LOCAL_VARIABLE_READ_NODE: {
1280
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1281
+ break;
1282
+ }
1283
+ case PM_IT_PARAMETERS_NODE: {
1284
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1285
+ break;
1286
+ }
1287
+ case PM_KEYWORD_HASH_NODE: {
1288
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1289
+ uint32_t elements_size = pm_sizet_to_u32(((pm_keyword_hash_node_t *)node)->elements.size);
1290
+ pm_buffer_append_varuint(buffer, elements_size);
1291
+ for (uint32_t index = 0; index < elements_size; index++) {
1292
+ pm_serialize_node(parser, (pm_node_t *) ((pm_keyword_hash_node_t *)node)->elements.nodes[index], buffer);
1293
+ }
1294
+ break;
1295
+ }
1296
+ case PM_KEYWORD_REST_PARAMETER_NODE: {
1297
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1298
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_keyword_rest_parameter_node_t *)node)->name));
1299
+ if (((pm_keyword_rest_parameter_node_t *)node)->name_loc.start == NULL) {
1300
+ pm_buffer_append_byte(buffer, 0);
1301
+ } else {
1302
+ pm_buffer_append_byte(buffer, 1);
1303
+ pm_serialize_location(parser, &((pm_keyword_rest_parameter_node_t *)node)->name_loc, buffer);
1304
+ }
1305
+ pm_serialize_location(parser, &((pm_keyword_rest_parameter_node_t *)node)->operator_loc, buffer);
1306
+ break;
1307
+ }
1308
+ case PM_LAMBDA_NODE: {
1309
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1310
+ uint32_t locals_size = pm_sizet_to_u32(((pm_lambda_node_t *)node)->locals.size);
1311
+ pm_buffer_append_varuint(buffer, locals_size);
1312
+ for (uint32_t index = 0; index < locals_size; index++) {
1313
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_lambda_node_t *)node)->locals.ids[index]));
1314
+ }
1315
+ pm_serialize_location(parser, &((pm_lambda_node_t *)node)->operator_loc, buffer);
1316
+ pm_serialize_location(parser, &((pm_lambda_node_t *)node)->opening_loc, buffer);
1317
+ pm_serialize_location(parser, &((pm_lambda_node_t *)node)->closing_loc, buffer);
1318
+ if (((pm_lambda_node_t *)node)->parameters == NULL) {
1319
+ pm_buffer_append_byte(buffer, 0);
1320
+ } else {
1321
+ pm_serialize_node(parser, (pm_node_t *)((pm_lambda_node_t *)node)->parameters, buffer);
1322
+ }
1323
+ if (((pm_lambda_node_t *)node)->body == NULL) {
1324
+ pm_buffer_append_byte(buffer, 0);
1325
+ } else {
1326
+ pm_serialize_node(parser, (pm_node_t *)((pm_lambda_node_t *)node)->body, buffer);
1327
+ }
1328
+ break;
1329
+ }
1330
+ case PM_LOCAL_VARIABLE_AND_WRITE_NODE: {
1331
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1332
+ pm_serialize_location(parser, &((pm_local_variable_and_write_node_t *)node)->name_loc, buffer);
1333
+ pm_serialize_location(parser, &((pm_local_variable_and_write_node_t *)node)->operator_loc, buffer);
1334
+ pm_serialize_node(parser, (pm_node_t *)((pm_local_variable_and_write_node_t *)node)->value, buffer);
1335
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_local_variable_and_write_node_t *)node)->name));
1336
+ pm_buffer_append_varuint(buffer, ((pm_local_variable_and_write_node_t *)node)->depth);
1337
+ break;
1338
+ }
1339
+ case PM_LOCAL_VARIABLE_OPERATOR_WRITE_NODE: {
1340
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1341
+ pm_serialize_location(parser, &((pm_local_variable_operator_write_node_t *)node)->name_loc, buffer);
1342
+ pm_serialize_location(parser, &((pm_local_variable_operator_write_node_t *)node)->binary_operator_loc, buffer);
1343
+ pm_serialize_node(parser, (pm_node_t *)((pm_local_variable_operator_write_node_t *)node)->value, buffer);
1344
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_local_variable_operator_write_node_t *)node)->name));
1345
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_local_variable_operator_write_node_t *)node)->binary_operator));
1346
+ pm_buffer_append_varuint(buffer, ((pm_local_variable_operator_write_node_t *)node)->depth);
1347
+ break;
1348
+ }
1349
+ case PM_LOCAL_VARIABLE_OR_WRITE_NODE: {
1350
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1351
+ pm_serialize_location(parser, &((pm_local_variable_or_write_node_t *)node)->name_loc, buffer);
1352
+ pm_serialize_location(parser, &((pm_local_variable_or_write_node_t *)node)->operator_loc, buffer);
1353
+ pm_serialize_node(parser, (pm_node_t *)((pm_local_variable_or_write_node_t *)node)->value, buffer);
1354
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_local_variable_or_write_node_t *)node)->name));
1355
+ pm_buffer_append_varuint(buffer, ((pm_local_variable_or_write_node_t *)node)->depth);
1356
+ break;
1357
+ }
1358
+ case PM_LOCAL_VARIABLE_READ_NODE: {
1359
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1360
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_local_variable_read_node_t *)node)->name));
1361
+ pm_buffer_append_varuint(buffer, ((pm_local_variable_read_node_t *)node)->depth);
1362
+ break;
1363
+ }
1364
+ case PM_LOCAL_VARIABLE_TARGET_NODE: {
1365
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1366
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_local_variable_target_node_t *)node)->name));
1367
+ pm_buffer_append_varuint(buffer, ((pm_local_variable_target_node_t *)node)->depth);
1368
+ break;
1369
+ }
1370
+ case PM_LOCAL_VARIABLE_WRITE_NODE: {
1371
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1372
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_local_variable_write_node_t *)node)->name));
1373
+ pm_buffer_append_varuint(buffer, ((pm_local_variable_write_node_t *)node)->depth);
1374
+ pm_serialize_location(parser, &((pm_local_variable_write_node_t *)node)->name_loc, buffer);
1375
+ pm_serialize_node(parser, (pm_node_t *)((pm_local_variable_write_node_t *)node)->value, buffer);
1376
+ pm_serialize_location(parser, &((pm_local_variable_write_node_t *)node)->operator_loc, buffer);
1377
+ break;
1378
+ }
1379
+ case PM_MATCH_LAST_LINE_NODE: {
1380
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1381
+ pm_serialize_location(parser, &((pm_match_last_line_node_t *)node)->opening_loc, buffer);
1382
+ pm_serialize_location(parser, &((pm_match_last_line_node_t *)node)->content_loc, buffer);
1383
+ pm_serialize_location(parser, &((pm_match_last_line_node_t *)node)->closing_loc, buffer);
1384
+ pm_serialize_string(parser, &((pm_match_last_line_node_t *)node)->unescaped, buffer);
1385
+ break;
1386
+ }
1387
+ case PM_MATCH_PREDICATE_NODE: {
1388
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1389
+ pm_serialize_node(parser, (pm_node_t *)((pm_match_predicate_node_t *)node)->value, buffer);
1390
+ pm_serialize_node(parser, (pm_node_t *)((pm_match_predicate_node_t *)node)->pattern, buffer);
1391
+ pm_serialize_location(parser, &((pm_match_predicate_node_t *)node)->operator_loc, buffer);
1392
+ break;
1393
+ }
1394
+ case PM_MATCH_REQUIRED_NODE: {
1395
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1396
+ pm_serialize_node(parser, (pm_node_t *)((pm_match_required_node_t *)node)->value, buffer);
1397
+ pm_serialize_node(parser, (pm_node_t *)((pm_match_required_node_t *)node)->pattern, buffer);
1398
+ pm_serialize_location(parser, &((pm_match_required_node_t *)node)->operator_loc, buffer);
1399
+ break;
1400
+ }
1401
+ case PM_MATCH_WRITE_NODE: {
1402
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1403
+ pm_serialize_node(parser, (pm_node_t *)((pm_match_write_node_t *)node)->call, buffer);
1404
+ uint32_t targets_size = pm_sizet_to_u32(((pm_match_write_node_t *)node)->targets.size);
1405
+ pm_buffer_append_varuint(buffer, targets_size);
1406
+ for (uint32_t index = 0; index < targets_size; index++) {
1407
+ pm_serialize_node(parser, (pm_node_t *) ((pm_match_write_node_t *)node)->targets.nodes[index], buffer);
1408
+ }
1409
+ break;
1410
+ }
1411
+ case PM_MISSING_NODE: {
1412
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1413
+ break;
1414
+ }
1415
+ case PM_MODULE_NODE: {
1416
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1417
+ uint32_t locals_size = pm_sizet_to_u32(((pm_module_node_t *)node)->locals.size);
1418
+ pm_buffer_append_varuint(buffer, locals_size);
1419
+ for (uint32_t index = 0; index < locals_size; index++) {
1420
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_module_node_t *)node)->locals.ids[index]));
1421
+ }
1422
+ pm_serialize_location(parser, &((pm_module_node_t *)node)->module_keyword_loc, buffer);
1423
+ pm_serialize_node(parser, (pm_node_t *)((pm_module_node_t *)node)->constant_path, buffer);
1424
+ if (((pm_module_node_t *)node)->body == NULL) {
1425
+ pm_buffer_append_byte(buffer, 0);
1426
+ } else {
1427
+ pm_serialize_node(parser, (pm_node_t *)((pm_module_node_t *)node)->body, buffer);
1428
+ }
1429
+ pm_serialize_location(parser, &((pm_module_node_t *)node)->end_keyword_loc, buffer);
1430
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_module_node_t *)node)->name));
1431
+ break;
1432
+ }
1433
+ case PM_MULTI_TARGET_NODE: {
1434
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1435
+ uint32_t lefts_size = pm_sizet_to_u32(((pm_multi_target_node_t *)node)->lefts.size);
1436
+ pm_buffer_append_varuint(buffer, lefts_size);
1437
+ for (uint32_t index = 0; index < lefts_size; index++) {
1438
+ pm_serialize_node(parser, (pm_node_t *) ((pm_multi_target_node_t *)node)->lefts.nodes[index], buffer);
1439
+ }
1440
+ if (((pm_multi_target_node_t *)node)->rest == NULL) {
1441
+ pm_buffer_append_byte(buffer, 0);
1442
+ } else {
1443
+ pm_serialize_node(parser, (pm_node_t *)((pm_multi_target_node_t *)node)->rest, buffer);
1444
+ }
1445
+ uint32_t rights_size = pm_sizet_to_u32(((pm_multi_target_node_t *)node)->rights.size);
1446
+ pm_buffer_append_varuint(buffer, rights_size);
1447
+ for (uint32_t index = 0; index < rights_size; index++) {
1448
+ pm_serialize_node(parser, (pm_node_t *) ((pm_multi_target_node_t *)node)->rights.nodes[index], buffer);
1449
+ }
1450
+ if (((pm_multi_target_node_t *)node)->lparen_loc.start == NULL) {
1451
+ pm_buffer_append_byte(buffer, 0);
1452
+ } else {
1453
+ pm_buffer_append_byte(buffer, 1);
1454
+ pm_serialize_location(parser, &((pm_multi_target_node_t *)node)->lparen_loc, buffer);
1455
+ }
1456
+ if (((pm_multi_target_node_t *)node)->rparen_loc.start == NULL) {
1457
+ pm_buffer_append_byte(buffer, 0);
1458
+ } else {
1459
+ pm_buffer_append_byte(buffer, 1);
1460
+ pm_serialize_location(parser, &((pm_multi_target_node_t *)node)->rparen_loc, buffer);
1461
+ }
1462
+ break;
1463
+ }
1464
+ case PM_MULTI_WRITE_NODE: {
1465
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1466
+ uint32_t lefts_size = pm_sizet_to_u32(((pm_multi_write_node_t *)node)->lefts.size);
1467
+ pm_buffer_append_varuint(buffer, lefts_size);
1468
+ for (uint32_t index = 0; index < lefts_size; index++) {
1469
+ pm_serialize_node(parser, (pm_node_t *) ((pm_multi_write_node_t *)node)->lefts.nodes[index], buffer);
1470
+ }
1471
+ if (((pm_multi_write_node_t *)node)->rest == NULL) {
1472
+ pm_buffer_append_byte(buffer, 0);
1473
+ } else {
1474
+ pm_serialize_node(parser, (pm_node_t *)((pm_multi_write_node_t *)node)->rest, buffer);
1475
+ }
1476
+ uint32_t rights_size = pm_sizet_to_u32(((pm_multi_write_node_t *)node)->rights.size);
1477
+ pm_buffer_append_varuint(buffer, rights_size);
1478
+ for (uint32_t index = 0; index < rights_size; index++) {
1479
+ pm_serialize_node(parser, (pm_node_t *) ((pm_multi_write_node_t *)node)->rights.nodes[index], buffer);
1480
+ }
1481
+ if (((pm_multi_write_node_t *)node)->lparen_loc.start == NULL) {
1482
+ pm_buffer_append_byte(buffer, 0);
1483
+ } else {
1484
+ pm_buffer_append_byte(buffer, 1);
1485
+ pm_serialize_location(parser, &((pm_multi_write_node_t *)node)->lparen_loc, buffer);
1486
+ }
1487
+ if (((pm_multi_write_node_t *)node)->rparen_loc.start == NULL) {
1488
+ pm_buffer_append_byte(buffer, 0);
1489
+ } else {
1490
+ pm_buffer_append_byte(buffer, 1);
1491
+ pm_serialize_location(parser, &((pm_multi_write_node_t *)node)->rparen_loc, buffer);
1492
+ }
1493
+ pm_serialize_location(parser, &((pm_multi_write_node_t *)node)->operator_loc, buffer);
1494
+ pm_serialize_node(parser, (pm_node_t *)((pm_multi_write_node_t *)node)->value, buffer);
1495
+ break;
1496
+ }
1497
+ case PM_NEXT_NODE: {
1498
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1499
+ if (((pm_next_node_t *)node)->arguments == NULL) {
1500
+ pm_buffer_append_byte(buffer, 0);
1501
+ } else {
1502
+ pm_serialize_node(parser, (pm_node_t *)((pm_next_node_t *)node)->arguments, buffer);
1503
+ }
1504
+ pm_serialize_location(parser, &((pm_next_node_t *)node)->keyword_loc, buffer);
1505
+ break;
1506
+ }
1507
+ case PM_NIL_NODE: {
1508
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1509
+ break;
1510
+ }
1511
+ case PM_NO_KEYWORDS_PARAMETER_NODE: {
1512
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1513
+ pm_serialize_location(parser, &((pm_no_keywords_parameter_node_t *)node)->operator_loc, buffer);
1514
+ pm_serialize_location(parser, &((pm_no_keywords_parameter_node_t *)node)->keyword_loc, buffer);
1515
+ break;
1516
+ }
1517
+ case PM_NUMBERED_PARAMETERS_NODE: {
1518
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1519
+ pm_buffer_append_byte(buffer, ((pm_numbered_parameters_node_t *)node)->maximum);
1520
+ break;
1521
+ }
1522
+ case PM_NUMBERED_REFERENCE_READ_NODE: {
1523
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1524
+ pm_buffer_append_varuint(buffer, ((pm_numbered_reference_read_node_t *)node)->number);
1525
+ break;
1526
+ }
1527
+ case PM_OPTIONAL_KEYWORD_PARAMETER_NODE: {
1528
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1529
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_optional_keyword_parameter_node_t *)node)->name));
1530
+ pm_serialize_location(parser, &((pm_optional_keyword_parameter_node_t *)node)->name_loc, buffer);
1531
+ pm_serialize_node(parser, (pm_node_t *)((pm_optional_keyword_parameter_node_t *)node)->value, buffer);
1532
+ break;
1533
+ }
1534
+ case PM_OPTIONAL_PARAMETER_NODE: {
1535
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1536
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_optional_parameter_node_t *)node)->name));
1537
+ pm_serialize_location(parser, &((pm_optional_parameter_node_t *)node)->name_loc, buffer);
1538
+ pm_serialize_location(parser, &((pm_optional_parameter_node_t *)node)->operator_loc, buffer);
1539
+ pm_serialize_node(parser, (pm_node_t *)((pm_optional_parameter_node_t *)node)->value, buffer);
1540
+ break;
1541
+ }
1542
+ case PM_OR_NODE: {
1543
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1544
+ pm_serialize_node(parser, (pm_node_t *)((pm_or_node_t *)node)->left, buffer);
1545
+ pm_serialize_node(parser, (pm_node_t *)((pm_or_node_t *)node)->right, buffer);
1546
+ pm_serialize_location(parser, &((pm_or_node_t *)node)->operator_loc, buffer);
1547
+ break;
1548
+ }
1549
+ case PM_PARAMETERS_NODE: {
1550
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1551
+ uint32_t requireds_size = pm_sizet_to_u32(((pm_parameters_node_t *)node)->requireds.size);
1552
+ pm_buffer_append_varuint(buffer, requireds_size);
1553
+ for (uint32_t index = 0; index < requireds_size; index++) {
1554
+ pm_serialize_node(parser, (pm_node_t *) ((pm_parameters_node_t *)node)->requireds.nodes[index], buffer);
1555
+ }
1556
+ uint32_t optionals_size = pm_sizet_to_u32(((pm_parameters_node_t *)node)->optionals.size);
1557
+ pm_buffer_append_varuint(buffer, optionals_size);
1558
+ for (uint32_t index = 0; index < optionals_size; index++) {
1559
+ pm_serialize_node(parser, (pm_node_t *) ((pm_parameters_node_t *)node)->optionals.nodes[index], buffer);
1560
+ }
1561
+ if (((pm_parameters_node_t *)node)->rest == NULL) {
1562
+ pm_buffer_append_byte(buffer, 0);
1563
+ } else {
1564
+ pm_serialize_node(parser, (pm_node_t *)((pm_parameters_node_t *)node)->rest, buffer);
1565
+ }
1566
+ uint32_t posts_size = pm_sizet_to_u32(((pm_parameters_node_t *)node)->posts.size);
1567
+ pm_buffer_append_varuint(buffer, posts_size);
1568
+ for (uint32_t index = 0; index < posts_size; index++) {
1569
+ pm_serialize_node(parser, (pm_node_t *) ((pm_parameters_node_t *)node)->posts.nodes[index], buffer);
1570
+ }
1571
+ uint32_t keywords_size = pm_sizet_to_u32(((pm_parameters_node_t *)node)->keywords.size);
1572
+ pm_buffer_append_varuint(buffer, keywords_size);
1573
+ for (uint32_t index = 0; index < keywords_size; index++) {
1574
+ pm_serialize_node(parser, (pm_node_t *) ((pm_parameters_node_t *)node)->keywords.nodes[index], buffer);
1575
+ }
1576
+ if (((pm_parameters_node_t *)node)->keyword_rest == NULL) {
1577
+ pm_buffer_append_byte(buffer, 0);
1578
+ } else {
1579
+ pm_serialize_node(parser, (pm_node_t *)((pm_parameters_node_t *)node)->keyword_rest, buffer);
1580
+ }
1581
+ if (((pm_parameters_node_t *)node)->block == NULL) {
1582
+ pm_buffer_append_byte(buffer, 0);
1583
+ } else {
1584
+ pm_serialize_node(parser, (pm_node_t *)((pm_parameters_node_t *)node)->block, buffer);
1585
+ }
1586
+ break;
1587
+ }
1588
+ case PM_PARENTHESES_NODE: {
1589
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1590
+ if (((pm_parentheses_node_t *)node)->body == NULL) {
1591
+ pm_buffer_append_byte(buffer, 0);
1592
+ } else {
1593
+ pm_serialize_node(parser, (pm_node_t *)((pm_parentheses_node_t *)node)->body, buffer);
1594
+ }
1595
+ pm_serialize_location(parser, &((pm_parentheses_node_t *)node)->opening_loc, buffer);
1596
+ pm_serialize_location(parser, &((pm_parentheses_node_t *)node)->closing_loc, buffer);
1597
+ break;
1598
+ }
1599
+ case PM_PINNED_EXPRESSION_NODE: {
1600
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1601
+ pm_serialize_node(parser, (pm_node_t *)((pm_pinned_expression_node_t *)node)->expression, buffer);
1602
+ pm_serialize_location(parser, &((pm_pinned_expression_node_t *)node)->operator_loc, buffer);
1603
+ pm_serialize_location(parser, &((pm_pinned_expression_node_t *)node)->lparen_loc, buffer);
1604
+ pm_serialize_location(parser, &((pm_pinned_expression_node_t *)node)->rparen_loc, buffer);
1605
+ break;
1606
+ }
1607
+ case PM_PINNED_VARIABLE_NODE: {
1608
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1609
+ pm_serialize_node(parser, (pm_node_t *)((pm_pinned_variable_node_t *)node)->variable, buffer);
1610
+ pm_serialize_location(parser, &((pm_pinned_variable_node_t *)node)->operator_loc, buffer);
1611
+ break;
1612
+ }
1613
+ case PM_POST_EXECUTION_NODE: {
1614
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1615
+ if (((pm_post_execution_node_t *)node)->statements == NULL) {
1616
+ pm_buffer_append_byte(buffer, 0);
1617
+ } else {
1618
+ pm_serialize_node(parser, (pm_node_t *)((pm_post_execution_node_t *)node)->statements, buffer);
1619
+ }
1620
+ pm_serialize_location(parser, &((pm_post_execution_node_t *)node)->keyword_loc, buffer);
1621
+ pm_serialize_location(parser, &((pm_post_execution_node_t *)node)->opening_loc, buffer);
1622
+ pm_serialize_location(parser, &((pm_post_execution_node_t *)node)->closing_loc, buffer);
1623
+ break;
1624
+ }
1625
+ case PM_PRE_EXECUTION_NODE: {
1626
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1627
+ if (((pm_pre_execution_node_t *)node)->statements == NULL) {
1628
+ pm_buffer_append_byte(buffer, 0);
1629
+ } else {
1630
+ pm_serialize_node(parser, (pm_node_t *)((pm_pre_execution_node_t *)node)->statements, buffer);
1631
+ }
1632
+ pm_serialize_location(parser, &((pm_pre_execution_node_t *)node)->keyword_loc, buffer);
1633
+ pm_serialize_location(parser, &((pm_pre_execution_node_t *)node)->opening_loc, buffer);
1634
+ pm_serialize_location(parser, &((pm_pre_execution_node_t *)node)->closing_loc, buffer);
1635
+ break;
1636
+ }
1637
+ case PM_PROGRAM_NODE: {
1638
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1639
+ uint32_t locals_size = pm_sizet_to_u32(((pm_program_node_t *)node)->locals.size);
1640
+ pm_buffer_append_varuint(buffer, locals_size);
1641
+ for (uint32_t index = 0; index < locals_size; index++) {
1642
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_program_node_t *)node)->locals.ids[index]));
1643
+ }
1644
+ pm_serialize_node(parser, (pm_node_t *)((pm_program_node_t *)node)->statements, buffer);
1645
+ break;
1646
+ }
1647
+ case PM_RANGE_NODE: {
1648
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1649
+ if (((pm_range_node_t *)node)->left == NULL) {
1650
+ pm_buffer_append_byte(buffer, 0);
1651
+ } else {
1652
+ pm_serialize_node(parser, (pm_node_t *)((pm_range_node_t *)node)->left, buffer);
1653
+ }
1654
+ if (((pm_range_node_t *)node)->right == NULL) {
1655
+ pm_buffer_append_byte(buffer, 0);
1656
+ } else {
1657
+ pm_serialize_node(parser, (pm_node_t *)((pm_range_node_t *)node)->right, buffer);
1658
+ }
1659
+ pm_serialize_location(parser, &((pm_range_node_t *)node)->operator_loc, buffer);
1660
+ break;
1661
+ }
1662
+ case PM_RATIONAL_NODE: {
1663
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1664
+ pm_serialize_integer(&((pm_rational_node_t *)node)->numerator, buffer);
1665
+ pm_serialize_integer(&((pm_rational_node_t *)node)->denominator, buffer);
1666
+ break;
1667
+ }
1668
+ case PM_REDO_NODE: {
1669
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1670
+ break;
1671
+ }
1672
+ case PM_REGULAR_EXPRESSION_NODE: {
1673
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1674
+ pm_serialize_location(parser, &((pm_regular_expression_node_t *)node)->opening_loc, buffer);
1675
+ pm_serialize_location(parser, &((pm_regular_expression_node_t *)node)->content_loc, buffer);
1676
+ pm_serialize_location(parser, &((pm_regular_expression_node_t *)node)->closing_loc, buffer);
1677
+ pm_serialize_string(parser, &((pm_regular_expression_node_t *)node)->unescaped, buffer);
1678
+ break;
1679
+ }
1680
+ case PM_REQUIRED_KEYWORD_PARAMETER_NODE: {
1681
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1682
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_required_keyword_parameter_node_t *)node)->name));
1683
+ pm_serialize_location(parser, &((pm_required_keyword_parameter_node_t *)node)->name_loc, buffer);
1684
+ break;
1685
+ }
1686
+ case PM_REQUIRED_PARAMETER_NODE: {
1687
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1688
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_required_parameter_node_t *)node)->name));
1689
+ break;
1690
+ }
1691
+ case PM_RESCUE_MODIFIER_NODE: {
1692
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1693
+ pm_serialize_node(parser, (pm_node_t *)((pm_rescue_modifier_node_t *)node)->expression, buffer);
1694
+ pm_serialize_location(parser, &((pm_rescue_modifier_node_t *)node)->keyword_loc, buffer);
1695
+ pm_serialize_node(parser, (pm_node_t *)((pm_rescue_modifier_node_t *)node)->rescue_expression, buffer);
1696
+ break;
1697
+ }
1698
+ case PM_RESCUE_NODE: {
1699
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1700
+ pm_serialize_location(parser, &((pm_rescue_node_t *)node)->keyword_loc, buffer);
1701
+ uint32_t exceptions_size = pm_sizet_to_u32(((pm_rescue_node_t *)node)->exceptions.size);
1702
+ pm_buffer_append_varuint(buffer, exceptions_size);
1703
+ for (uint32_t index = 0; index < exceptions_size; index++) {
1704
+ pm_serialize_node(parser, (pm_node_t *) ((pm_rescue_node_t *)node)->exceptions.nodes[index], buffer);
1705
+ }
1706
+ if (((pm_rescue_node_t *)node)->operator_loc.start == NULL) {
1707
+ pm_buffer_append_byte(buffer, 0);
1708
+ } else {
1709
+ pm_buffer_append_byte(buffer, 1);
1710
+ pm_serialize_location(parser, &((pm_rescue_node_t *)node)->operator_loc, buffer);
1711
+ }
1712
+ if (((pm_rescue_node_t *)node)->reference == NULL) {
1713
+ pm_buffer_append_byte(buffer, 0);
1714
+ } else {
1715
+ pm_serialize_node(parser, (pm_node_t *)((pm_rescue_node_t *)node)->reference, buffer);
1716
+ }
1717
+ if (((pm_rescue_node_t *)node)->then_keyword_loc.start == NULL) {
1718
+ pm_buffer_append_byte(buffer, 0);
1719
+ } else {
1720
+ pm_buffer_append_byte(buffer, 1);
1721
+ pm_serialize_location(parser, &((pm_rescue_node_t *)node)->then_keyword_loc, buffer);
1722
+ }
1723
+ if (((pm_rescue_node_t *)node)->statements == NULL) {
1724
+ pm_buffer_append_byte(buffer, 0);
1725
+ } else {
1726
+ pm_serialize_node(parser, (pm_node_t *)((pm_rescue_node_t *)node)->statements, buffer);
1727
+ }
1728
+ if (((pm_rescue_node_t *)node)->subsequent == NULL) {
1729
+ pm_buffer_append_byte(buffer, 0);
1730
+ } else {
1731
+ pm_serialize_node(parser, (pm_node_t *)((pm_rescue_node_t *)node)->subsequent, buffer);
1732
+ }
1733
+ break;
1734
+ }
1735
+ case PM_REST_PARAMETER_NODE: {
1736
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1737
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_rest_parameter_node_t *)node)->name));
1738
+ if (((pm_rest_parameter_node_t *)node)->name_loc.start == NULL) {
1739
+ pm_buffer_append_byte(buffer, 0);
1740
+ } else {
1741
+ pm_buffer_append_byte(buffer, 1);
1742
+ pm_serialize_location(parser, &((pm_rest_parameter_node_t *)node)->name_loc, buffer);
1743
+ }
1744
+ pm_serialize_location(parser, &((pm_rest_parameter_node_t *)node)->operator_loc, buffer);
1745
+ break;
1746
+ }
1747
+ case PM_RETRY_NODE: {
1748
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1749
+ break;
1750
+ }
1751
+ case PM_RETURN_NODE: {
1752
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1753
+ pm_serialize_location(parser, &((pm_return_node_t *)node)->keyword_loc, buffer);
1754
+ if (((pm_return_node_t *)node)->arguments == NULL) {
1755
+ pm_buffer_append_byte(buffer, 0);
1756
+ } else {
1757
+ pm_serialize_node(parser, (pm_node_t *)((pm_return_node_t *)node)->arguments, buffer);
1758
+ }
1759
+ break;
1760
+ }
1761
+ case PM_SELF_NODE: {
1762
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1763
+ break;
1764
+ }
1765
+ case PM_SHAREABLE_CONSTANT_NODE: {
1766
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1767
+ pm_serialize_node(parser, (pm_node_t *)((pm_shareable_constant_node_t *)node)->write, buffer);
1768
+ break;
1769
+ }
1770
+ case PM_SINGLETON_CLASS_NODE: {
1771
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1772
+ uint32_t locals_size = pm_sizet_to_u32(((pm_singleton_class_node_t *)node)->locals.size);
1773
+ pm_buffer_append_varuint(buffer, locals_size);
1774
+ for (uint32_t index = 0; index < locals_size; index++) {
1775
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_singleton_class_node_t *)node)->locals.ids[index]));
1776
+ }
1777
+ pm_serialize_location(parser, &((pm_singleton_class_node_t *)node)->class_keyword_loc, buffer);
1778
+ pm_serialize_location(parser, &((pm_singleton_class_node_t *)node)->operator_loc, buffer);
1779
+ pm_serialize_node(parser, (pm_node_t *)((pm_singleton_class_node_t *)node)->expression, buffer);
1780
+ if (((pm_singleton_class_node_t *)node)->body == NULL) {
1781
+ pm_buffer_append_byte(buffer, 0);
1782
+ } else {
1783
+ pm_serialize_node(parser, (pm_node_t *)((pm_singleton_class_node_t *)node)->body, buffer);
1784
+ }
1785
+ pm_serialize_location(parser, &((pm_singleton_class_node_t *)node)->end_keyword_loc, buffer);
1786
+ break;
1787
+ }
1788
+ case PM_SOURCE_ENCODING_NODE: {
1789
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1790
+ break;
1791
+ }
1792
+ case PM_SOURCE_FILE_NODE: {
1793
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1794
+ pm_serialize_string(parser, &((pm_source_file_node_t *)node)->filepath, buffer);
1795
+ break;
1796
+ }
1797
+ case PM_SOURCE_LINE_NODE: {
1798
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1799
+ break;
1800
+ }
1801
+ case PM_SPLAT_NODE: {
1802
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1803
+ pm_serialize_location(parser, &((pm_splat_node_t *)node)->operator_loc, buffer);
1804
+ if (((pm_splat_node_t *)node)->expression == NULL) {
1805
+ pm_buffer_append_byte(buffer, 0);
1806
+ } else {
1807
+ pm_serialize_node(parser, (pm_node_t *)((pm_splat_node_t *)node)->expression, buffer);
1808
+ }
1809
+ break;
1810
+ }
1811
+ case PM_STATEMENTS_NODE: {
1812
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1813
+ uint32_t body_size = pm_sizet_to_u32(((pm_statements_node_t *)node)->body.size);
1814
+ pm_buffer_append_varuint(buffer, body_size);
1815
+ for (uint32_t index = 0; index < body_size; index++) {
1816
+ pm_serialize_node(parser, (pm_node_t *) ((pm_statements_node_t *)node)->body.nodes[index], buffer);
1817
+ }
1818
+ break;
1819
+ }
1820
+ case PM_STRING_NODE: {
1821
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1822
+ if (((pm_string_node_t *)node)->opening_loc.start == NULL) {
1823
+ pm_buffer_append_byte(buffer, 0);
1824
+ } else {
1825
+ pm_buffer_append_byte(buffer, 1);
1826
+ pm_serialize_location(parser, &((pm_string_node_t *)node)->opening_loc, buffer);
1827
+ }
1828
+ pm_serialize_location(parser, &((pm_string_node_t *)node)->content_loc, buffer);
1829
+ if (((pm_string_node_t *)node)->closing_loc.start == NULL) {
1830
+ pm_buffer_append_byte(buffer, 0);
1831
+ } else {
1832
+ pm_buffer_append_byte(buffer, 1);
1833
+ pm_serialize_location(parser, &((pm_string_node_t *)node)->closing_loc, buffer);
1834
+ }
1835
+ pm_serialize_string(parser, &((pm_string_node_t *)node)->unescaped, buffer);
1836
+ break;
1837
+ }
1838
+ case PM_SUPER_NODE: {
1839
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1840
+ pm_serialize_location(parser, &((pm_super_node_t *)node)->keyword_loc, buffer);
1841
+ if (((pm_super_node_t *)node)->lparen_loc.start == NULL) {
1842
+ pm_buffer_append_byte(buffer, 0);
1843
+ } else {
1844
+ pm_buffer_append_byte(buffer, 1);
1845
+ pm_serialize_location(parser, &((pm_super_node_t *)node)->lparen_loc, buffer);
1846
+ }
1847
+ if (((pm_super_node_t *)node)->arguments == NULL) {
1848
+ pm_buffer_append_byte(buffer, 0);
1849
+ } else {
1850
+ pm_serialize_node(parser, (pm_node_t *)((pm_super_node_t *)node)->arguments, buffer);
1851
+ }
1852
+ if (((pm_super_node_t *)node)->rparen_loc.start == NULL) {
1853
+ pm_buffer_append_byte(buffer, 0);
1854
+ } else {
1855
+ pm_buffer_append_byte(buffer, 1);
1856
+ pm_serialize_location(parser, &((pm_super_node_t *)node)->rparen_loc, buffer);
1857
+ }
1858
+ if (((pm_super_node_t *)node)->block == NULL) {
1859
+ pm_buffer_append_byte(buffer, 0);
1860
+ } else {
1861
+ pm_serialize_node(parser, (pm_node_t *)((pm_super_node_t *)node)->block, buffer);
1862
+ }
1863
+ break;
1864
+ }
1865
+ case PM_SYMBOL_NODE: {
1866
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1867
+ if (((pm_symbol_node_t *)node)->opening_loc.start == NULL) {
1868
+ pm_buffer_append_byte(buffer, 0);
1869
+ } else {
1870
+ pm_buffer_append_byte(buffer, 1);
1871
+ pm_serialize_location(parser, &((pm_symbol_node_t *)node)->opening_loc, buffer);
1872
+ }
1873
+ if (((pm_symbol_node_t *)node)->value_loc.start == NULL) {
1874
+ pm_buffer_append_byte(buffer, 0);
1875
+ } else {
1876
+ pm_buffer_append_byte(buffer, 1);
1877
+ pm_serialize_location(parser, &((pm_symbol_node_t *)node)->value_loc, buffer);
1878
+ }
1879
+ if (((pm_symbol_node_t *)node)->closing_loc.start == NULL) {
1880
+ pm_buffer_append_byte(buffer, 0);
1881
+ } else {
1882
+ pm_buffer_append_byte(buffer, 1);
1883
+ pm_serialize_location(parser, &((pm_symbol_node_t *)node)->closing_loc, buffer);
1884
+ }
1885
+ pm_serialize_string(parser, &((pm_symbol_node_t *)node)->unescaped, buffer);
1886
+ break;
1887
+ }
1888
+ case PM_TRUE_NODE: {
1889
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1890
+ break;
1891
+ }
1892
+ case PM_UNDEF_NODE: {
1893
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1894
+ uint32_t names_size = pm_sizet_to_u32(((pm_undef_node_t *)node)->names.size);
1895
+ pm_buffer_append_varuint(buffer, names_size);
1896
+ for (uint32_t index = 0; index < names_size; index++) {
1897
+ pm_serialize_node(parser, (pm_node_t *) ((pm_undef_node_t *)node)->names.nodes[index], buffer);
1898
+ }
1899
+ pm_serialize_location(parser, &((pm_undef_node_t *)node)->keyword_loc, buffer);
1900
+ break;
1901
+ }
1902
+ case PM_UNLESS_NODE: {
1903
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1904
+ pm_serialize_location(parser, &((pm_unless_node_t *)node)->keyword_loc, buffer);
1905
+ pm_serialize_node(parser, (pm_node_t *)((pm_unless_node_t *)node)->predicate, buffer);
1906
+ if (((pm_unless_node_t *)node)->then_keyword_loc.start == NULL) {
1907
+ pm_buffer_append_byte(buffer, 0);
1908
+ } else {
1909
+ pm_buffer_append_byte(buffer, 1);
1910
+ pm_serialize_location(parser, &((pm_unless_node_t *)node)->then_keyword_loc, buffer);
1911
+ }
1912
+ if (((pm_unless_node_t *)node)->statements == NULL) {
1913
+ pm_buffer_append_byte(buffer, 0);
1914
+ } else {
1915
+ pm_serialize_node(parser, (pm_node_t *)((pm_unless_node_t *)node)->statements, buffer);
1916
+ }
1917
+ if (((pm_unless_node_t *)node)->else_clause == NULL) {
1918
+ pm_buffer_append_byte(buffer, 0);
1919
+ } else {
1920
+ pm_serialize_node(parser, (pm_node_t *)((pm_unless_node_t *)node)->else_clause, buffer);
1921
+ }
1922
+ if (((pm_unless_node_t *)node)->end_keyword_loc.start == NULL) {
1923
+ pm_buffer_append_byte(buffer, 0);
1924
+ } else {
1925
+ pm_buffer_append_byte(buffer, 1);
1926
+ pm_serialize_location(parser, &((pm_unless_node_t *)node)->end_keyword_loc, buffer);
1927
+ }
1928
+ break;
1929
+ }
1930
+ case PM_UNTIL_NODE: {
1931
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1932
+ pm_serialize_location(parser, &((pm_until_node_t *)node)->keyword_loc, buffer);
1933
+ if (((pm_until_node_t *)node)->do_keyword_loc.start == NULL) {
1934
+ pm_buffer_append_byte(buffer, 0);
1935
+ } else {
1936
+ pm_buffer_append_byte(buffer, 1);
1937
+ pm_serialize_location(parser, &((pm_until_node_t *)node)->do_keyword_loc, buffer);
1938
+ }
1939
+ if (((pm_until_node_t *)node)->closing_loc.start == NULL) {
1940
+ pm_buffer_append_byte(buffer, 0);
1941
+ } else {
1942
+ pm_buffer_append_byte(buffer, 1);
1943
+ pm_serialize_location(parser, &((pm_until_node_t *)node)->closing_loc, buffer);
1944
+ }
1945
+ pm_serialize_node(parser, (pm_node_t *)((pm_until_node_t *)node)->predicate, buffer);
1946
+ if (((pm_until_node_t *)node)->statements == NULL) {
1947
+ pm_buffer_append_byte(buffer, 0);
1948
+ } else {
1949
+ pm_serialize_node(parser, (pm_node_t *)((pm_until_node_t *)node)->statements, buffer);
1950
+ }
1951
+ break;
1952
+ }
1953
+ case PM_WHEN_NODE: {
1954
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1955
+ pm_serialize_location(parser, &((pm_when_node_t *)node)->keyword_loc, buffer);
1956
+ uint32_t conditions_size = pm_sizet_to_u32(((pm_when_node_t *)node)->conditions.size);
1957
+ pm_buffer_append_varuint(buffer, conditions_size);
1958
+ for (uint32_t index = 0; index < conditions_size; index++) {
1959
+ pm_serialize_node(parser, (pm_node_t *) ((pm_when_node_t *)node)->conditions.nodes[index], buffer);
1960
+ }
1961
+ if (((pm_when_node_t *)node)->then_keyword_loc.start == NULL) {
1962
+ pm_buffer_append_byte(buffer, 0);
1963
+ } else {
1964
+ pm_buffer_append_byte(buffer, 1);
1965
+ pm_serialize_location(parser, &((pm_when_node_t *)node)->then_keyword_loc, buffer);
1966
+ }
1967
+ if (((pm_when_node_t *)node)->statements == NULL) {
1968
+ pm_buffer_append_byte(buffer, 0);
1969
+ } else {
1970
+ pm_serialize_node(parser, (pm_node_t *)((pm_when_node_t *)node)->statements, buffer);
1971
+ }
1972
+ break;
1973
+ }
1974
+ case PM_WHILE_NODE: {
1975
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1976
+ pm_serialize_location(parser, &((pm_while_node_t *)node)->keyword_loc, buffer);
1977
+ if (((pm_while_node_t *)node)->do_keyword_loc.start == NULL) {
1978
+ pm_buffer_append_byte(buffer, 0);
1979
+ } else {
1980
+ pm_buffer_append_byte(buffer, 1);
1981
+ pm_serialize_location(parser, &((pm_while_node_t *)node)->do_keyword_loc, buffer);
1982
+ }
1983
+ if (((pm_while_node_t *)node)->closing_loc.start == NULL) {
1984
+ pm_buffer_append_byte(buffer, 0);
1985
+ } else {
1986
+ pm_buffer_append_byte(buffer, 1);
1987
+ pm_serialize_location(parser, &((pm_while_node_t *)node)->closing_loc, buffer);
1988
+ }
1989
+ pm_serialize_node(parser, (pm_node_t *)((pm_while_node_t *)node)->predicate, buffer);
1990
+ if (((pm_while_node_t *)node)->statements == NULL) {
1991
+ pm_buffer_append_byte(buffer, 0);
1992
+ } else {
1993
+ pm_serialize_node(parser, (pm_node_t *)((pm_while_node_t *)node)->statements, buffer);
1994
+ }
1995
+ break;
1996
+ }
1997
+ case PM_X_STRING_NODE: {
1998
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1999
+ pm_serialize_location(parser, &((pm_x_string_node_t *)node)->opening_loc, buffer);
2000
+ pm_serialize_location(parser, &((pm_x_string_node_t *)node)->content_loc, buffer);
2001
+ pm_serialize_location(parser, &((pm_x_string_node_t *)node)->closing_loc, buffer);
2002
+ pm_serialize_string(parser, &((pm_x_string_node_t *)node)->unescaped, buffer);
2003
+ break;
2004
+ }
2005
+ case PM_YIELD_NODE: {
2006
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
2007
+ pm_serialize_location(parser, &((pm_yield_node_t *)node)->keyword_loc, buffer);
2008
+ if (((pm_yield_node_t *)node)->lparen_loc.start == NULL) {
2009
+ pm_buffer_append_byte(buffer, 0);
2010
+ } else {
2011
+ pm_buffer_append_byte(buffer, 1);
2012
+ pm_serialize_location(parser, &((pm_yield_node_t *)node)->lparen_loc, buffer);
2013
+ }
2014
+ if (((pm_yield_node_t *)node)->arguments == NULL) {
2015
+ pm_buffer_append_byte(buffer, 0);
2016
+ } else {
2017
+ pm_serialize_node(parser, (pm_node_t *)((pm_yield_node_t *)node)->arguments, buffer);
2018
+ }
2019
+ if (((pm_yield_node_t *)node)->rparen_loc.start == NULL) {
2020
+ pm_buffer_append_byte(buffer, 0);
2021
+ } else {
2022
+ pm_buffer_append_byte(buffer, 1);
2023
+ pm_serialize_location(parser, &((pm_yield_node_t *)node)->rparen_loc, buffer);
2024
+ }
2025
+ break;
2026
+ }
2027
+ }
2028
+ }
2029
+
2030
+ static void
2031
+ pm_serialize_newline_list(pm_newline_list_t *list, pm_buffer_t *buffer) {
2032
+ uint32_t size = pm_sizet_to_u32(list->size);
2033
+ pm_buffer_append_varuint(buffer, size);
2034
+
2035
+ for (uint32_t i = 0; i < size; i++) {
2036
+ uint32_t offset = pm_sizet_to_u32(list->offsets[i]);
2037
+ pm_buffer_append_varuint(buffer, offset);
2038
+ }
2039
+ }
2040
+
2041
+ static void
2042
+ pm_serialize_comment(pm_parser_t *parser, pm_comment_t *comment, pm_buffer_t *buffer) {
2043
+ // serialize type
2044
+ pm_buffer_append_byte(buffer, (uint8_t) comment->type);
2045
+
2046
+ // serialize location
2047
+ pm_serialize_location(parser, &comment->location, buffer);
2048
+ }
2049
+
2050
+ /**
2051
+ * Serialize the given list of comments to the given buffer.
2052
+ */
2053
+ void
2054
+ pm_serialize_comment_list(pm_parser_t *parser, pm_list_t *list, pm_buffer_t *buffer) {
2055
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(pm_list_size(list)));
2056
+
2057
+ pm_comment_t *comment;
2058
+ for (comment = (pm_comment_t *) list->head; comment != NULL; comment = (pm_comment_t *) comment->node.next) {
2059
+ pm_serialize_comment(parser, comment, buffer);
2060
+ }
2061
+ }
2062
+
2063
+ static void
2064
+ pm_serialize_magic_comment(pm_parser_t *parser, pm_magic_comment_t *magic_comment, pm_buffer_t *buffer) {
2065
+ // serialize key location
2066
+ pm_buffer_append_varuint(buffer, pm_ptrdifft_to_u32(magic_comment->key_start - parser->start));
2067
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(magic_comment->key_length));
2068
+
2069
+ // serialize value location
2070
+ pm_buffer_append_varuint(buffer, pm_ptrdifft_to_u32(magic_comment->value_start - parser->start));
2071
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(magic_comment->value_length));
2072
+ }
2073
+
2074
+ static void
2075
+ pm_serialize_magic_comment_list(pm_parser_t *parser, pm_list_t *list, pm_buffer_t *buffer) {
2076
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(pm_list_size(list)));
2077
+
2078
+ pm_magic_comment_t *magic_comment;
2079
+ for (magic_comment = (pm_magic_comment_t *) list->head; magic_comment != NULL; magic_comment = (pm_magic_comment_t *) magic_comment->node.next) {
2080
+ pm_serialize_magic_comment(parser, magic_comment, buffer);
2081
+ }
2082
+ }
2083
+
2084
+ static void
2085
+ pm_serialize_data_loc(const pm_parser_t *parser, pm_buffer_t *buffer) {
2086
+ if (parser->data_loc.end == NULL) {
2087
+ pm_buffer_append_byte(buffer, 0);
2088
+ } else {
2089
+ pm_buffer_append_byte(buffer, 1);
2090
+ pm_serialize_location(parser, &parser->data_loc, buffer);
2091
+ }
2092
+ }
2093
+
2094
+ static void
2095
+ pm_serialize_diagnostic(pm_parser_t *parser, pm_diagnostic_t *diagnostic, pm_buffer_t *buffer) {
2096
+ // serialize the type
2097
+ pm_buffer_append_varuint(buffer, (uint32_t) diagnostic->diag_id);
2098
+
2099
+ // serialize message
2100
+ size_t message_length = strlen(diagnostic->message);
2101
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(message_length));
2102
+ pm_buffer_append_string(buffer, diagnostic->message, message_length);
2103
+
2104
+ // serialize location
2105
+ pm_serialize_location(parser, &diagnostic->location, buffer);
2106
+
2107
+ pm_buffer_append_byte(buffer, diagnostic->level);
2108
+ }
2109
+
2110
+ static void
2111
+ pm_serialize_diagnostic_list(pm_parser_t *parser, pm_list_t *list, pm_buffer_t *buffer) {
2112
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(pm_list_size(list)));
2113
+
2114
+ pm_diagnostic_t *diagnostic;
2115
+ for (diagnostic = (pm_diagnostic_t *) list->head; diagnostic != NULL; diagnostic = (pm_diagnostic_t *) diagnostic->node.next) {
2116
+ pm_serialize_diagnostic(parser, diagnostic, buffer);
2117
+ }
2118
+ }
2119
+
2120
+ /**
2121
+ * Serialize the name of the encoding to the buffer.
2122
+ */
2123
+ void
2124
+ pm_serialize_encoding(const pm_encoding_t *encoding, pm_buffer_t *buffer) {
2125
+ size_t encoding_length = strlen(encoding->name);
2126
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(encoding_length));
2127
+ pm_buffer_append_string(buffer, encoding->name, encoding_length);
2128
+ }
2129
+
2130
+ static void
2131
+ pm_serialize_metadata(pm_parser_t *parser, pm_buffer_t *buffer) {
2132
+ pm_serialize_encoding(parser->encoding, buffer);
2133
+ pm_buffer_append_varsint(buffer, parser->start_line);
2134
+ pm_serialize_newline_list(&parser->newline_list, buffer);
2135
+ pm_serialize_comment_list(parser, &parser->comment_list, buffer);
2136
+ pm_serialize_magic_comment_list(parser, &parser->magic_comment_list, buffer);
2137
+ pm_serialize_data_loc(parser, buffer);
2138
+ pm_serialize_diagnostic_list(parser, &parser->error_list, buffer);
2139
+ pm_serialize_diagnostic_list(parser, &parser->warning_list, buffer);
2140
+ }
2141
+
2142
+ #line 275 "prism/templates/src/serialize.c.erb"
2143
+ /**
2144
+ * Serialize the metadata, nodes, and constant pool.
2145
+ */
2146
+ void
2147
+ pm_serialize_content(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
2148
+ pm_serialize_metadata(parser, buffer);
2149
+
2150
+ // Here we're going to leave space for the offset of the constant pool in
2151
+ // the buffer.
2152
+ size_t offset = buffer->length;
2153
+ pm_buffer_append_zeroes(buffer, 4);
2154
+
2155
+ // Next, encode the length of the constant pool.
2156
+ pm_buffer_append_varuint(buffer, parser->constant_pool.size);
2157
+
2158
+ // Now we're going to serialize the content of the node.
2159
+ pm_serialize_node(parser, node, buffer);
2160
+
2161
+ // Now we're going to serialize the offset of the constant pool back where
2162
+ // we left space for it.
2163
+ uint32_t length = pm_sizet_to_u32(buffer->length);
2164
+ memcpy(buffer->value + offset, &length, sizeof(uint32_t));
2165
+
2166
+ // Now we're going to serialize the constant pool.
2167
+ offset = buffer->length;
2168
+ pm_buffer_append_zeroes(buffer, parser->constant_pool.size * 8);
2169
+
2170
+ for (uint32_t index = 0; index < parser->constant_pool.capacity; index++) {
2171
+ pm_constant_pool_bucket_t *bucket = &parser->constant_pool.buckets[index];
2172
+
2173
+ // If we find a constant at this index, serialize it at the correct
2174
+ // index in the buffer.
2175
+ if (bucket->id != 0) {
2176
+ pm_constant_t *constant = &parser->constant_pool.constants[bucket->id - 1];
2177
+ size_t buffer_offset = offset + ((((size_t)bucket->id) - 1) * 8);
2178
+
2179
+ if (bucket->type == PM_CONSTANT_POOL_BUCKET_OWNED || bucket->type == PM_CONSTANT_POOL_BUCKET_CONSTANT) {
2180
+ // Since this is an owned or constant constant, we are going to
2181
+ // write its contents into the buffer after the constant pool.
2182
+ // So effectively in place of the source offset, we have a
2183
+ // buffer offset. We will add a leading 1 to indicate that this
2184
+ // is a buffer offset.
2185
+ uint32_t content_offset = pm_sizet_to_u32(buffer->length);
2186
+ uint32_t owned_mask = 1U << 31;
2187
+
2188
+ assert(content_offset < owned_mask);
2189
+ content_offset |= owned_mask;
2190
+
2191
+ memcpy(buffer->value + buffer_offset, &content_offset, 4);
2192
+ pm_buffer_append_bytes(buffer, constant->start, constant->length);
2193
+ } else {
2194
+ // Since this is a shared constant, we are going to write its
2195
+ // source offset directly into the buffer.
2196
+ uint32_t source_offset = pm_ptrdifft_to_u32(constant->start - parser->start);
2197
+ memcpy(buffer->value + buffer_offset, &source_offset, 4);
2198
+ }
2199
+
2200
+ // Now we can write the length of the constant into the buffer.
2201
+ uint32_t constant_length = pm_sizet_to_u32(constant->length);
2202
+ memcpy(buffer->value + buffer_offset + 4, &constant_length, 4);
2203
+ }
2204
+ }
2205
+ }
2206
+
2207
+ static void
2208
+ serialize_token(void *data, pm_parser_t *parser, pm_token_t *token) {
2209
+ pm_buffer_t *buffer = (pm_buffer_t *) data;
2210
+
2211
+ pm_buffer_append_varuint(buffer, token->type);
2212
+ pm_buffer_append_varuint(buffer, pm_ptrdifft_to_u32(token->start - parser->start));
2213
+ pm_buffer_append_varuint(buffer, pm_ptrdifft_to_u32(token->end - token->start));
2214
+ pm_buffer_append_varuint(buffer, parser->lex_state);
2215
+ }
2216
+
2217
+ /**
2218
+ * Lex the given source and serialize to the given buffer.
2219
+ */
2220
+ PRISM_EXPORTED_FUNCTION void
2221
+ pm_serialize_lex(pm_buffer_t *buffer, const uint8_t *source, size_t size, const char *data) {
2222
+ pm_options_t options = { 0 };
2223
+ pm_options_read(&options, data);
2224
+
2225
+ pm_parser_t parser;
2226
+ pm_parser_init(&parser, source, size, &options);
2227
+
2228
+ pm_lex_callback_t lex_callback = (pm_lex_callback_t) {
2229
+ .data = (void *) buffer,
2230
+ .callback = serialize_token,
2231
+ };
2232
+
2233
+ parser.lex_callback = &lex_callback;
2234
+ pm_node_t *node = pm_parse(&parser);
2235
+
2236
+ // Append 0 to mark end of tokens.
2237
+ pm_buffer_append_byte(buffer, 0);
2238
+
2239
+ pm_serialize_metadata(&parser, buffer);
2240
+
2241
+ pm_node_destroy(&parser, node);
2242
+ pm_parser_free(&parser);
2243
+ pm_options_free(&options);
2244
+ }
2245
+
2246
+ /**
2247
+ * Parse and serialize both the AST and the tokens represented by the given
2248
+ * source to the given buffer.
2249
+ */
2250
+ PRISM_EXPORTED_FUNCTION void
2251
+ pm_serialize_parse_lex(pm_buffer_t *buffer, const uint8_t *source, size_t size, const char *data) {
2252
+ pm_options_t options = { 0 };
2253
+ pm_options_read(&options, data);
2254
+
2255
+ pm_parser_t parser;
2256
+ pm_parser_init(&parser, source, size, &options);
2257
+
2258
+ pm_lex_callback_t lex_callback = (pm_lex_callback_t) {
2259
+ .data = (void *) buffer,
2260
+ .callback = serialize_token,
2261
+ };
2262
+
2263
+ parser.lex_callback = &lex_callback;
2264
+ pm_node_t *node = pm_parse(&parser);
2265
+
2266
+ pm_buffer_append_byte(buffer, 0);
2267
+ pm_serialize(&parser, node, buffer);
2268
+
2269
+ pm_node_destroy(&parser, node);
2270
+ pm_parser_free(&parser);
2271
+ pm_options_free(&options);
2272
+ }
2273
+
2274
+ #endif