zayef 0.1.1 → 0.2.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 (1299) hide show
  1. checksums.yaml +4 -4
  2. data/.rspec +6 -0
  3. data/.rspec_status +71 -0
  4. data/.rubocop.yml +40 -0
  5. data/.simplecov +19 -0
  6. data/CHANGELOG.md +32 -0
  7. data/CONTRIBUTING.md +281 -0
  8. data/README.md +288 -9
  9. data/Rakefile +45 -2
  10. data/cliff.toml +2 -0
  11. data/demo.rb +161 -7
  12. data/lib/zayef/generator.rb +454 -276
  13. data/lib/zayef/version.rb +1 -1
  14. data/lib/zayef.rb +40 -0
  15. data/vendor/bundle/ruby/3.0.0/bin/htmldiff +31 -0
  16. data/vendor/bundle/ruby/3.0.0/bin/ldiff +31 -0
  17. data/vendor/bundle/ruby/3.0.0/bin/rspec +29 -0
  18. data/vendor/bundle/ruby/3.0.0/extensions/x86_64-linux/3.0.0/json-2.13.2/gem_make.out +8 -0
  19. data/vendor/bundle/ruby/3.0.0/extensions/x86_64-linux/3.0.0/prism-1.5.1/gem_make.out +8 -0
  20. data/vendor/bundle/ruby/3.0.0/extensions/x86_64-linux/3.0.0/racc-1.8.1/gem_make.out +8 -0
  21. data/vendor/bundle/ruby/3.0.0/gems/ast-2.4.3/LICENSE.MIT +20 -0
  22. data/vendor/bundle/ruby/3.0.0/gems/ast-2.4.3/README.YARD.md +12 -0
  23. data/vendor/bundle/ruby/3.0.0/gems/ast-2.4.3/lib/ast/node.rb +268 -0
  24. data/vendor/bundle/ruby/3.0.0/gems/ast-2.4.3/lib/ast/processor/mixin.rb +288 -0
  25. data/vendor/bundle/ruby/3.0.0/gems/ast-2.4.3/lib/ast/processor.rb +12 -0
  26. data/vendor/bundle/ruby/3.0.0/gems/ast-2.4.3/lib/ast/sexp.rb +30 -0
  27. data/vendor/bundle/ruby/3.0.0/gems/ast-2.4.3/lib/ast.rb +17 -0
  28. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/.rspec +1 -0
  29. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/CHANGELOG.md +518 -0
  30. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/CODE_OF_CONDUCT.md +128 -0
  31. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/CONTRIBUTING.md +71 -0
  32. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/CONTRIBUTORS.md +49 -0
  33. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/LICENCE.md +40 -0
  34. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/Manifest.txt +115 -0
  35. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/README.md +92 -0
  36. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/Rakefile +115 -0
  37. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/SECURITY.md +41 -0
  38. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/bin/htmldiff +35 -0
  39. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/bin/ldiff +9 -0
  40. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/docs/COPYING.txt +339 -0
  41. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/docs/artistic.txt +127 -0
  42. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/lib/diff/lcs/array.rb +7 -0
  43. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/lib/diff/lcs/backports.rb +13 -0
  44. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/lib/diff/lcs/block.rb +37 -0
  45. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/lib/diff/lcs/callbacks.rb +327 -0
  46. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/lib/diff/lcs/change.rb +174 -0
  47. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/lib/diff/lcs/htmldiff.rb +160 -0
  48. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/lib/diff/lcs/hunk.rb +379 -0
  49. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/lib/diff/lcs/internals.rb +308 -0
  50. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/lib/diff/lcs/ldiff.rb +189 -0
  51. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/lib/diff/lcs/string.rb +5 -0
  52. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/lib/diff/lcs/version.rb +7 -0
  53. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/lib/diff/lcs.rb +742 -0
  54. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/lib/diff-lcs.rb +3 -0
  55. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/mise.toml +5 -0
  56. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/change_spec.rb +89 -0
  57. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/diff_spec.rb +51 -0
  58. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/123_x +2 -0
  59. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/456_x +2 -0
  60. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/aX +1 -0
  61. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/bXaX +1 -0
  62. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ds1.csv +50 -0
  63. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ds2.csv +51 -0
  64. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/empty +0 -0
  65. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/file1.bin +0 -0
  66. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/file2.bin +0 -0
  67. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/four_lines +4 -0
  68. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/four_lines_with_missing_new_line +4 -0
  69. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/diff.missing_new_line1-e +1 -0
  70. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/diff.missing_new_line1-f +1 -0
  71. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/diff.missing_new_line2-e +1 -0
  72. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/diff.missing_new_line2-f +1 -0
  73. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/error.diff.chef-e +2 -0
  74. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/error.diff.chef-f +2 -0
  75. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/error.diff.missing_new_line1-e +1 -0
  76. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/error.diff.missing_new_line1-f +1 -0
  77. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/error.diff.missing_new_line2-e +1 -0
  78. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/error.diff.missing_new_line2-f +1 -0
  79. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff +4 -0
  80. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff-c +7 -0
  81. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff-e +3 -0
  82. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff-f +3 -0
  83. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff-u +5 -0
  84. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin1 +0 -0
  85. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin1-c +0 -0
  86. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin1-e +0 -0
  87. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin1-f +0 -0
  88. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin1-u +0 -0
  89. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin2 +1 -0
  90. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin2-c +1 -0
  91. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin2-e +1 -0
  92. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin2-f +1 -0
  93. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin2-u +1 -0
  94. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef +4 -0
  95. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef-c +15 -0
  96. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef-e +3 -0
  97. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef-f +3 -0
  98. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef-u +9 -0
  99. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef2 +7 -0
  100. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef2-c +20 -0
  101. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef2-d +7 -0
  102. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef2-e +7 -0
  103. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef2-f +7 -0
  104. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef2-u +16 -0
  105. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.empty.vs.four_lines +5 -0
  106. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.empty.vs.four_lines-c +9 -0
  107. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.empty.vs.four_lines-e +6 -0
  108. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.empty.vs.four_lines-f +6 -0
  109. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.empty.vs.four_lines-u +7 -0
  110. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.four_lines.vs.empty +5 -0
  111. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.four_lines.vs.empty-c +9 -0
  112. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.four_lines.vs.empty-e +1 -0
  113. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.four_lines.vs.empty-f +1 -0
  114. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.four_lines.vs.empty-u +7 -0
  115. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.issue95_trailing_context +4 -0
  116. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.issue95_trailing_context-c +9 -0
  117. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.issue95_trailing_context-e +3 -0
  118. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.issue95_trailing_context-f +3 -0
  119. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.issue95_trailing_context-u +6 -0
  120. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line1 +5 -0
  121. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line1-c +14 -0
  122. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line1-e +0 -0
  123. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line1-f +0 -0
  124. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line1-u +9 -0
  125. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line2 +5 -0
  126. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line2-c +14 -0
  127. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line2-e +0 -0
  128. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line2-f +0 -0
  129. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line2-u +9 -0
  130. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/new-chef +4 -0
  131. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/new-chef2 +17 -0
  132. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/old-chef +4 -0
  133. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/old-chef2 +14 -0
  134. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/hunk_spec.rb +83 -0
  135. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/issues_spec.rb +160 -0
  136. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/lcs_spec.rb +56 -0
  137. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/ldiff_spec.rb +100 -0
  138. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/patch_spec.rb +416 -0
  139. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/sdiff_spec.rb +216 -0
  140. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/spec_helper.rb +376 -0
  141. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/traverse_balanced_spec.rb +312 -0
  142. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/traverse_sequences_spec.rb +137 -0
  143. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/.github/dependabot.yml +15 -0
  144. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/.github/workflows/main.yml +42 -0
  145. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/.gitignore +11 -0
  146. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/.rspec +2 -0
  147. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/.rubocop.yml +5 -0
  148. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/.yardopts +7 -0
  149. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/Gemfile +26 -0
  150. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/HISTORY.md +134 -0
  151. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/LICENSE +21 -0
  152. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/README.md +409 -0
  153. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/Rakefile +14 -0
  154. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/SECURITY.md +19 -0
  155. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/docile.gemspec +36 -0
  156. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/lib/docile/backtrace_filter.rb +24 -0
  157. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/lib/docile/chaining_fallback_context_proxy.rb +27 -0
  158. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/lib/docile/execution.rb +53 -0
  159. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/lib/docile/fallback_context_proxy.rb +107 -0
  160. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/lib/docile/version.rb +6 -0
  161. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/lib/docile.rb +134 -0
  162. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/BSDL +22 -0
  163. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/CHANGES.md +660 -0
  164. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/COPYING +56 -0
  165. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/LEGAL +8 -0
  166. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/README.md +281 -0
  167. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/ext/json/ext/fbuffer/fbuffer.h +270 -0
  168. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/ext/json/ext/generator/extconf.rb +16 -0
  169. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/ext/json/ext/generator/generator.c +2162 -0
  170. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/ext/json/ext/parser/extconf.rb +15 -0
  171. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/ext/json/ext/parser/parser.c +1552 -0
  172. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/ext/json/ext/simd/conf.rb +24 -0
  173. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/ext/json/ext/simd/simd.h +188 -0
  174. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/ext/json/ext/vendor/fpconv.c +479 -0
  175. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/ext/json/ext/vendor/jeaiii-ltoa.h +267 -0
  176. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/json.gemspec +62 -0
  177. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/add/bigdecimal.rb +58 -0
  178. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/add/complex.rb +51 -0
  179. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/add/core.rb +12 -0
  180. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/add/date.rb +54 -0
  181. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/add/date_time.rb +67 -0
  182. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/add/exception.rb +49 -0
  183. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/add/ostruct.rb +54 -0
  184. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/add/range.rb +54 -0
  185. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/add/rational.rb +49 -0
  186. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/add/regexp.rb +48 -0
  187. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/add/set.rb +48 -0
  188. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/add/struct.rb +52 -0
  189. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/add/symbol.rb +52 -0
  190. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/add/time.rb +52 -0
  191. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/common.rb +1105 -0
  192. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/ext/generator/state.rb +106 -0
  193. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/ext.rb +45 -0
  194. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/generic_object.rb +75 -0
  195. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/truffle_ruby/generator.rb +690 -0
  196. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/version.rb +5 -0
  197. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json.rb +620 -0
  198. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/LICENSE.txt +21 -0
  199. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/README.md +88 -0
  200. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/code_action_kind.rb +85 -0
  201. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/code_action_trigger_kind.rb +22 -0
  202. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/completion_item_kind.rb +36 -0
  203. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/completion_item_tag.rb +16 -0
  204. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/completion_trigger_kind.rb +26 -0
  205. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/diagnostic_severity.rb +24 -0
  206. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/diagnostic_tag.rb +24 -0
  207. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/document_diagnostic_report_kind.rb +21 -0
  208. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/document_highlight_kind.rb +23 -0
  209. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/error_codes.rb +73 -0
  210. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/failure_handling_kind.rb +30 -0
  211. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/file_change_type.rb +23 -0
  212. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/file_operation_pattern_kind.rb +20 -0
  213. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/folding_range_kind.rb +24 -0
  214. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/initialize_error_codes.rb +16 -0
  215. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/inlay_hint_kind.rb +19 -0
  216. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/insert_text_format.rb +25 -0
  217. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/insert_text_mode.rb +30 -0
  218. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/markup_kind.rb +23 -0
  219. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/message_type.rb +24 -0
  220. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/moniker_kind.rb +24 -0
  221. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/notebook_cell_kind.rb +19 -0
  222. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/position_encoding_kind.rb +32 -0
  223. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/prepare_support_default_behavior.rb +13 -0
  224. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/resource_operation_kind.rb +23 -0
  225. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/semantic_token_modifiers.rb +18 -0
  226. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/semantic_token_types.rb +35 -0
  227. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/signature_help_trigger_kind.rb +24 -0
  228. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/symbol_kind.rb +37 -0
  229. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/symbol_tag.rb +15 -0
  230. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/text_document_save_reason.rb +24 -0
  231. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/text_document_sync_kind.rb +27 -0
  232. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/token_format.rb +9 -0
  233. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/uniqueness_level.rb +31 -0
  234. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/watch_kind.rb +20 -0
  235. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant.rb +77 -0
  236. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/annotated_text_edit.rb +56 -0
  237. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/apply_workspace_edit_params.rb +44 -0
  238. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/apply_workspace_edit_result.rb +56 -0
  239. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/call_hierarchy_client_capabilities.rb +36 -0
  240. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/call_hierarchy_incoming_call.rb +43 -0
  241. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/call_hierarchy_incoming_calls_params.rb +49 -0
  242. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/call_hierarchy_item.rb +100 -0
  243. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/call_hierarchy_options.rb +30 -0
  244. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/call_hierarchy_outgoing_call.rb +43 -0
  245. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/call_hierarchy_outgoing_calls_params.rb +49 -0
  246. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/call_hierarchy_prepare_params.rb +51 -0
  247. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/call_hierarchy_registration_options.rb +50 -0
  248. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/cancel_params.rb +33 -0
  249. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/change_annotation.rb +57 -0
  250. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/client_capabilities.rb +78 -0
  251. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/code_action.rb +127 -0
  252. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/code_action_client_capabilities.rb +95 -0
  253. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/code_action_context.rb +63 -0
  254. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/code_action_options.rb +52 -0
  255. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/code_action_params.rb +73 -0
  256. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/code_action_registration_options.rb +62 -0
  257. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/code_description.rb +36 -0
  258. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/code_lens.rb +61 -0
  259. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/code_lens_client_capabilities.rb +33 -0
  260. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/code_lens_options.rb +39 -0
  261. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/code_lens_params.rb +52 -0
  262. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/code_lens_registration_options.rb +49 -0
  263. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/code_lens_workspace_client_capabilities.rb +39 -0
  264. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/color.rb +63 -0
  265. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/color_information.rb +42 -0
  266. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/color_presentation.rb +57 -0
  267. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/color_presentation_params.rb +70 -0
  268. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/command.rb +52 -0
  269. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/completion_client_capabilities.rb +79 -0
  270. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/completion_context.rb +48 -0
  271. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/completion_item.rb +267 -0
  272. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/completion_item_label_details.rb +49 -0
  273. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/completion_list.rb +69 -0
  274. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/completion_options.rb +87 -0
  275. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/completion_params.rb +72 -0
  276. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/completion_registration_options.rb +94 -0
  277. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/configuration_item.rb +42 -0
  278. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/configuration_params.rb +30 -0
  279. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/create_file.rb +63 -0
  280. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/create_file_options.rb +45 -0
  281. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/create_files_params.rb +37 -0
  282. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/declaration_client_capabilities.rb +44 -0
  283. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/declaration_options.rb +30 -0
  284. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/declaration_params.rb +61 -0
  285. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/declaration_registration_options.rb +50 -0
  286. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/definition_client_capabilities.rb +42 -0
  287. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/definition_options.rb +30 -0
  288. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/definition_params.rb +61 -0
  289. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/definition_registration_options.rb +40 -0
  290. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/delete_file.rb +63 -0
  291. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/delete_file_options.rb +45 -0
  292. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/delete_files_params.rb +37 -0
  293. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/diagnostic.rb +110 -0
  294. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/diagnostic_client_capabilities.rb +49 -0
  295. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/diagnostic_options.rb +64 -0
  296. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/diagnostic_registration_options.rb +84 -0
  297. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/diagnostic_related_information.rb +47 -0
  298. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/diagnostic_server_cancellation_data.rb +33 -0
  299. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/diagnostic_workspace_client_capabilities.rb +42 -0
  300. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/did_change_configuration_client_capabilities.rb +33 -0
  301. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/did_change_configuration_params.rb +33 -0
  302. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/did_change_notebook_document_params.rb +56 -0
  303. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/did_change_text_document_params.rb +56 -0
  304. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/did_change_watched_files_client_capabilities.rb +45 -0
  305. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/did_change_watched_files_params.rb +33 -0
  306. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/did_change_watched_files_registration_options.rb +36 -0
  307. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/did_change_workspace_folders_params.rb +33 -0
  308. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/did_close_notebook_document_params.rb +46 -0
  309. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/did_close_text_document_params.rb +33 -0
  310. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/did_open_notebook_document_params.rb +46 -0
  311. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/did_open_text_document_params.rb +33 -0
  312. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/did_save_notebook_document_params.rb +36 -0
  313. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/did_save_text_document_params.rb +43 -0
  314. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_color_client_capabilities.rb +33 -0
  315. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_color_options.rb +30 -0
  316. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_color_params.rb +52 -0
  317. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_color_registration_options.rb +50 -0
  318. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_diagnostic_params.rb +73 -0
  319. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_diagnostic_report_partial_result.rb +33 -0
  320. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_filter.rb +63 -0
  321. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_formatting_client_capabilities.rb +33 -0
  322. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_formatting_options.rb +30 -0
  323. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_formatting_params.rb +51 -0
  324. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_formatting_registration_options.rb +40 -0
  325. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_highlight.rb +47 -0
  326. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_highlight_client_capabilities.rb +33 -0
  327. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_highlight_options.rb +30 -0
  328. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_highlight_params.rb +61 -0
  329. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_highlight_registration_options.rb +40 -0
  330. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_link.rb +70 -0
  331. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_link_client_capabilities.rb +42 -0
  332. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_link_options.rb +39 -0
  333. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_link_params.rb +52 -0
  334. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_link_registration_options.rb +49 -0
  335. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_on_type_formatting_client_capabilities.rb +33 -0
  336. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_on_type_formatting_options.rb +42 -0
  337. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_on_type_formatting_params.rb +65 -0
  338. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb +52 -0
  339. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_range_formatting_client_capabilities.rb +33 -0
  340. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_range_formatting_options.rb +30 -0
  341. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_range_formatting_params.rb +60 -0
  342. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_range_formatting_registration_options.rb +40 -0
  343. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_symbol.rb +108 -0
  344. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_symbol_client_capabilities.rb +73 -0
  345. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_symbol_options.rb +40 -0
  346. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_symbol_params.rb +52 -0
  347. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_symbol_registration_options.rb +50 -0
  348. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/execute_command_client_capabilities.rb +33 -0
  349. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/execute_command_options.rb +39 -0
  350. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/execute_command_params.rb +51 -0
  351. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/execute_command_registration_options.rb +42 -0
  352. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/execution_summary.rb +45 -0
  353. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/file_create.rb +36 -0
  354. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/file_delete.rb +36 -0
  355. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/file_event.rb +45 -0
  356. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/file_operation_filter.rb +46 -0
  357. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/file_operation_pattern.rb +67 -0
  358. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/file_operation_pattern_options.rb +36 -0
  359. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/file_operation_registration_options.rb +36 -0
  360. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/file_rename.rb +45 -0
  361. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/file_system_watcher.rb +45 -0
  362. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/folding_range.rb +94 -0
  363. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/folding_range_client_capabilities.rb +76 -0
  364. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/folding_range_options.rb +30 -0
  365. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/folding_range_params.rb +52 -0
  366. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/folding_range_registration_options.rb +50 -0
  367. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/formatting_options.rb +72 -0
  368. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/full_document_diagnostic_report.rb +56 -0
  369. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/hover.rb +46 -0
  370. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/hover_client_capabilities.rb +44 -0
  371. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/hover_options.rb +30 -0
  372. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/hover_params.rb +51 -0
  373. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/hover_registration_options.rb +40 -0
  374. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/hover_result.rb +30 -0
  375. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/implementation_client_capabilities.rb +44 -0
  376. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/implementation_options.rb +30 -0
  377. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/implementation_params.rb +61 -0
  378. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/implementation_registration_options.rb +50 -0
  379. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/initialize_error.rb +36 -0
  380. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/initialize_params.rb +128 -0
  381. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/initialize_result.rb +42 -0
  382. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/initialized_params.rb +24 -0
  383. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inlay_hint.rb +122 -0
  384. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inlay_hint_client_capabilities.rb +46 -0
  385. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inlay_hint_label_part.rb +79 -0
  386. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inlay_hint_options.rb +43 -0
  387. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inlay_hint_params.rb +54 -0
  388. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inlay_hint_registration_options.rb +63 -0
  389. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inlay_hint_workspace_client_capabilities.rb +42 -0
  390. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inline_value_client_capabilities.rb +37 -0
  391. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inline_value_context.rb +44 -0
  392. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inline_value_evaluatable_expression.rb +52 -0
  393. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inline_value_options.rb +33 -0
  394. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inline_value_params.rb +64 -0
  395. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inline_value_registration_options.rb +53 -0
  396. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inline_value_text.rb +45 -0
  397. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inline_value_variable_lookup.rb +61 -0
  398. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inline_value_workspace_client_capabilities.rb +42 -0
  399. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/insert_replace_edit.rb +54 -0
  400. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/linked_editing_range_client_capabilities.rb +36 -0
  401. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/linked_editing_range_options.rb +30 -0
  402. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/linked_editing_range_params.rb +51 -0
  403. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/linked_editing_range_registration_options.rb +50 -0
  404. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/linked_editing_ranges.rb +46 -0
  405. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/location.rb +36 -0
  406. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/location_link.rb +68 -0
  407. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/log_message_params.rb +42 -0
  408. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/log_trace_params.rb +43 -0
  409. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/markup_content.rb +68 -0
  410. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/message.rb +30 -0
  411. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/message_action_item.rb +33 -0
  412. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/moniker.rb +64 -0
  413. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/moniker_client_capabilities.rb +36 -0
  414. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/moniker_options.rb +30 -0
  415. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/moniker_params.rb +61 -0
  416. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/moniker_registration_options.rb +40 -0
  417. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/notebook_cell.rb +69 -0
  418. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/notebook_cell_array_change.rb +55 -0
  419. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/notebook_cell_text_document_filter.rb +52 -0
  420. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/notebook_document.rb +74 -0
  421. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/notebook_document_change_event.rb +45 -0
  422. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/notebook_document_client_capabilities.rb +36 -0
  423. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/notebook_document_filter.rb +79 -0
  424. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/notebook_document_identifier.rb +36 -0
  425. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/notebook_document_sync_client_capabilities.rb +48 -0
  426. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/notebook_document_sync_options.rb +56 -0
  427. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/notebook_document_sync_registration_options.rb +56 -0
  428. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/notification_message.rb +48 -0
  429. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/optional_versioned_text_document_identifier.rb +50 -0
  430. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/parameter_information.rb +56 -0
  431. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/partial_result_params.rb +34 -0
  432. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/position.rb +46 -0
  433. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/prepare_rename_params.rb +51 -0
  434. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/previous_result_id.rb +46 -0
  435. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/progress_params.rb +42 -0
  436. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb +73 -0
  437. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/publish_diagnostics_params.rb +52 -0
  438. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/range.rb +42 -0
  439. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/reference_client_capabilities.rb +33 -0
  440. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/reference_context.rb +33 -0
  441. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/reference_options.rb +30 -0
  442. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/reference_params.rb +67 -0
  443. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/reference_registration_options.rb +40 -0
  444. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/registration.rb +55 -0
  445. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/registration_params.rb +30 -0
  446. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/regular_expressions_client_capabilities.rb +45 -0
  447. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/related_full_document_diagnostic_report.rb +69 -0
  448. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/related_unchanged_document_diagnostic_report.rb +62 -0
  449. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/relative_pattern.rb +48 -0
  450. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/rename_client_capabilities.rb +69 -0
  451. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/rename_file.rb +72 -0
  452. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/rename_file_options.rb +45 -0
  453. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/rename_files_params.rb +38 -0
  454. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/rename_options.rb +39 -0
  455. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/rename_params.rb +62 -0
  456. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/rename_registration_options.rb +49 -0
  457. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/request_message.rb +57 -0
  458. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/response_error.rb +52 -0
  459. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/response_message.rb +58 -0
  460. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/save_options.rb +33 -0
  461. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/selection_range.rb +43 -0
  462. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/selection_range_client_capabilities.rb +36 -0
  463. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/selection_range_options.rb +30 -0
  464. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/selection_range_params.rb +61 -0
  465. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/selection_range_registration_options.rb +50 -0
  466. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/semantic_tokens.rb +45 -0
  467. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb +125 -0
  468. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/semantic_tokens_delta.rb +40 -0
  469. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/semantic_tokens_delta_params.rb +62 -0
  470. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/semantic_tokens_delta_partial_result.rb +30 -0
  471. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/semantic_tokens_edit.rb +51 -0
  472. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/semantic_tokens_legend.rb +42 -0
  473. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/semantic_tokens_options.rb +58 -0
  474. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/semantic_tokens_params.rb +52 -0
  475. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/semantic_tokens_partial_result.rb +30 -0
  476. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/semantic_tokens_range_params.rb +61 -0
  477. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/semantic_tokens_registration_options.rb +78 -0
  478. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/semantic_tokens_workspace_client_capabilities.rb +39 -0
  479. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/server_capabilities.rb +352 -0
  480. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/set_trace_params.rb +33 -0
  481. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/show_document_client_capabilities.rb +37 -0
  482. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/show_document_params.rb +71 -0
  483. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/show_document_result.rb +36 -0
  484. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/show_message_params.rb +42 -0
  485. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/show_message_request_client_capabilities.rb +36 -0
  486. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/show_message_request_params.rb +51 -0
  487. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/signature_help.rb +71 -0
  488. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/signature_help_client_capabilities.rb +55 -0
  489. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/signature_help_context.rb +74 -0
  490. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/signature_help_options.rb +53 -0
  491. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/signature_help_params.rb +62 -0
  492. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/signature_help_registration_options.rb +63 -0
  493. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/signature_information.rb +69 -0
  494. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/static_registration_options.rb +37 -0
  495. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/symbol_information.rb +93 -0
  496. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/text_document_change_registration_options.rb +47 -0
  497. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/text_document_client_capabilities.rb +297 -0
  498. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/text_document_content_change_event.rb +59 -0
  499. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/text_document_edit.rb +42 -0
  500. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/text_document_identifier.rb +33 -0
  501. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/text_document_item.rb +61 -0
  502. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/text_document_position_params.rb +42 -0
  503. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/text_document_registration_options.rb +37 -0
  504. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/text_document_save_registration_options.rb +43 -0
  505. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/text_document_sync_client_capabilities.rb +62 -0
  506. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/text_document_sync_options.rb +78 -0
  507. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/text_edit.rb +44 -0
  508. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/type_definition_client_capabilities.rb +44 -0
  509. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/type_definition_options.rb +30 -0
  510. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/type_definition_params.rb +61 -0
  511. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/type_definition_registration_options.rb +50 -0
  512. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/type_hierarchy_item.rb +102 -0
  513. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/type_hierarchy_options.rb +30 -0
  514. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/type_hierarchy_prepare_params.rb +51 -0
  515. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/type_hierarchy_registration_options.rb +50 -0
  516. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/type_hierarchy_subtypes_params.rb +49 -0
  517. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/type_hierarchy_supertypes_params.rb +49 -0
  518. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/unchanged_document_diagnostic_report.rb +50 -0
  519. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/unregistration.rb +46 -0
  520. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/unregistration_params.rb +30 -0
  521. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/versioned_notebook_document_identifier.rb +45 -0
  522. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/versioned_text_document_identifier.rb +45 -0
  523. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/will_save_text_document_params.rb +45 -0
  524. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/work_done_progress_begin.rb +80 -0
  525. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/work_done_progress_cancel_params.rb +33 -0
  526. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/work_done_progress_create_params.rb +33 -0
  527. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/work_done_progress_end.rb +40 -0
  528. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/work_done_progress_options.rb +30 -0
  529. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/work_done_progress_params.rb +33 -0
  530. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/work_done_progress_report.rb +70 -0
  531. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/workspace_diagnostic_params.rb +65 -0
  532. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/workspace_diagnostic_report.rb +33 -0
  533. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/workspace_diagnostic_report_partial_result.rb +33 -0
  534. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/workspace_edit.rb +68 -0
  535. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb +75 -0
  536. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/workspace_folder.rb +43 -0
  537. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/workspace_folders_change_event.rb +45 -0
  538. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/workspace_folders_server_capabilities.rb +48 -0
  539. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/workspace_full_document_diagnostic_report.rb +75 -0
  540. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/workspace_symbol.rb +89 -0
  541. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb +64 -0
  542. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/workspace_symbol_options.rb +40 -0
  543. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/workspace_symbol_params.rb +56 -0
  544. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/workspace_symbol_registration_options.rb +40 -0
  545. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/workspace_unchanged_document_diagnostic_report.rb +68 -0
  546. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface.rb +631 -0
  547. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/transport/io/reader.rb +35 -0
  548. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/transport/io/writer.rb +39 -0
  549. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/transport/io.rb +2 -0
  550. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/transport/stdio/reader.rb +13 -0
  551. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/transport/stdio/writer.rb +13 -0
  552. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/transport/stdio.rb +2 -0
  553. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/transport.rb +2 -0
  554. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/version.rb +5 -0
  555. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol.rb +4 -0
  556. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server-protocol.rb +1 -0
  557. data/vendor/bundle/ruby/3.0.0/gems/lint_roller-1.1.0/.standard.yml +3 -0
  558. data/vendor/bundle/ruby/3.0.0/gems/lint_roller-1.1.0/CHANGELOG.md +15 -0
  559. data/vendor/bundle/ruby/3.0.0/gems/lint_roller-1.1.0/Gemfile +9 -0
  560. data/vendor/bundle/ruby/3.0.0/gems/lint_roller-1.1.0/Gemfile.lock +58 -0
  561. data/vendor/bundle/ruby/3.0.0/gems/lint_roller-1.1.0/LICENSE.txt +21 -0
  562. data/vendor/bundle/ruby/3.0.0/gems/lint_roller-1.1.0/README.md +173 -0
  563. data/vendor/bundle/ruby/3.0.0/gems/lint_roller-1.1.0/Rakefile +12 -0
  564. data/vendor/bundle/ruby/3.0.0/gems/lint_roller-1.1.0/lib/lint_roller/about.rb +9 -0
  565. data/vendor/bundle/ruby/3.0.0/gems/lint_roller-1.1.0/lib/lint_roller/context.rb +11 -0
  566. data/vendor/bundle/ruby/3.0.0/gems/lint_roller-1.1.0/lib/lint_roller/error.rb +4 -0
  567. data/vendor/bundle/ruby/3.0.0/gems/lint_roller-1.1.0/lib/lint_roller/plugin.rb +22 -0
  568. data/vendor/bundle/ruby/3.0.0/gems/lint_roller-1.1.0/lib/lint_roller/rules.rb +17 -0
  569. data/vendor/bundle/ruby/3.0.0/gems/lint_roller-1.1.0/lib/lint_roller/support/merges_upstream_metadata.rb +23 -0
  570. data/vendor/bundle/ruby/3.0.0/gems/lint_roller-1.1.0/lib/lint_roller/version.rb +3 -0
  571. data/vendor/bundle/ruby/3.0.0/gems/lint_roller-1.1.0/lib/lint_roller.rb +13 -0
  572. data/vendor/bundle/ruby/3.0.0/gems/parallel-1.27.0/MIT-LICENSE.txt +20 -0
  573. data/vendor/bundle/ruby/3.0.0/gems/parallel-1.27.0/lib/parallel/version.rb +4 -0
  574. data/vendor/bundle/ruby/3.0.0/gems/parallel-1.27.0/lib/parallel.rb +708 -0
  575. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/BSDmakefile +58 -0
  576. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/CHANGELOG.md +713 -0
  577. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/CODE_OF_CONDUCT.md +76 -0
  578. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/CONTRIBUTING.md +58 -0
  579. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/LICENSE.md +7 -0
  580. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/Makefile +109 -0
  581. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/README.md +142 -0
  582. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/config.yml +4713 -0
  583. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/build_system.md +119 -0
  584. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/configuration.md +68 -0
  585. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/cruby_compilation.md +27 -0
  586. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/design.md +53 -0
  587. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/encoding.md +121 -0
  588. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/fuzzing.md +88 -0
  589. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/heredocs.md +36 -0
  590. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/javascript.md +118 -0
  591. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/local_variable_depth.md +229 -0
  592. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/mapping.md +117 -0
  593. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/parser_translation.md +24 -0
  594. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/parsing_rules.md +22 -0
  595. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/releasing.md +96 -0
  596. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/relocation.md +34 -0
  597. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/ripper_translation.md +72 -0
  598. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/ruby_api.md +44 -0
  599. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/ruby_parser_translation.md +19 -0
  600. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/serialization.md +233 -0
  601. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/testing.md +55 -0
  602. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/ext/prism/api_node.c +6941 -0
  603. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/ext/prism/api_pack.c +276 -0
  604. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/ext/prism/extconf.rb +127 -0
  605. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/ext/prism/extension.c +1419 -0
  606. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/ext/prism/extension.h +19 -0
  607. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/ast.h +8190 -0
  608. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/defines.h +260 -0
  609. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/diagnostic.h +455 -0
  610. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/encoding.h +283 -0
  611. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/node.h +129 -0
  612. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/options.h +482 -0
  613. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/pack.h +163 -0
  614. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/parser.h +933 -0
  615. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/prettyprint.h +34 -0
  616. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/regexp.h +43 -0
  617. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/static_literals.h +121 -0
  618. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/util/pm_buffer.h +236 -0
  619. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/util/pm_char.h +204 -0
  620. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/util/pm_constant_pool.h +218 -0
  621. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/util/pm_integer.h +130 -0
  622. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/util/pm_list.h +103 -0
  623. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/util/pm_memchr.h +29 -0
  624. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/util/pm_newline_list.h +113 -0
  625. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/util/pm_string.h +200 -0
  626. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/util/pm_strncasecmp.h +32 -0
  627. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/util/pm_strpbrk.h +46 -0
  628. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/version.h +29 -0
  629. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism.h +408 -0
  630. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/compiler.rb +801 -0
  631. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/desugar_compiler.rb +392 -0
  632. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/dispatcher.rb +2210 -0
  633. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/dot_visitor.rb +4762 -0
  634. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/dsl.rb +1003 -0
  635. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/ffi.rb +570 -0
  636. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/inspect_visitor.rb +2392 -0
  637. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/lex_compat.rb +928 -0
  638. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/mutation_compiler.rb +772 -0
  639. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/node.rb +18816 -0
  640. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/node_ext.rb +511 -0
  641. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/pack.rb +230 -0
  642. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/parse_result/comments.rb +188 -0
  643. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/parse_result/errors.rb +66 -0
  644. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/parse_result/newlines.rb +155 -0
  645. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/parse_result.rb +911 -0
  646. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/pattern.rb +269 -0
  647. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/polyfill/append_as_bytes.rb +15 -0
  648. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/polyfill/byteindex.rb +13 -0
  649. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/polyfill/scan_byte.rb +14 -0
  650. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/polyfill/unpack1.rb +14 -0
  651. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/polyfill/warn.rb +42 -0
  652. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/reflection.rb +416 -0
  653. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/relocation.rb +505 -0
  654. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/serialize.rb +2397 -0
  655. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/string_query.rb +31 -0
  656. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/translation/parser/builder.rb +62 -0
  657. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/translation/parser/compiler.rb +2234 -0
  658. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/translation/parser/lexer.rb +820 -0
  659. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/translation/parser.rb +367 -0
  660. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/translation/parser33.rb +13 -0
  661. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/translation/parser34.rb +13 -0
  662. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/translation/parser35.rb +13 -0
  663. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/translation/parser_current.rb +24 -0
  664. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/translation/ripper/sexp.rb +126 -0
  665. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/translation/ripper/shim.rb +5 -0
  666. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/translation/ripper.rb +3474 -0
  667. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/translation/ruby_parser.rb +1929 -0
  668. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/translation.rb +16 -0
  669. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/visitor.rb +813 -0
  670. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism.rb +91 -0
  671. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/prism.gemspec +174 -0
  672. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/rbi/prism/compiler.rbi +12 -0
  673. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/rbi/prism/dsl.rbi +524 -0
  674. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/rbi/prism/inspect_visitor.rbi +12 -0
  675. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/rbi/prism/node.rbi +8734 -0
  676. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/rbi/prism/node_ext.rbi +107 -0
  677. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/rbi/prism/parse_result.rbi +404 -0
  678. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/rbi/prism/reflection.rbi +58 -0
  679. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/rbi/prism/string_query.rbi +12 -0
  680. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/rbi/prism/translation/parser.rbi +11 -0
  681. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/rbi/prism/translation/parser33.rbi +6 -0
  682. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/rbi/prism/translation/parser34.rbi +6 -0
  683. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/rbi/prism/translation/parser35.rbi +6 -0
  684. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/rbi/prism/translation/ripper.rbi +15 -0
  685. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/rbi/prism/visitor.rbi +473 -0
  686. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/rbi/prism.rbi +66 -0
  687. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/compiler.rbs +9 -0
  688. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/dispatcher.rbs +19 -0
  689. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/dot_visitor.rbs +6 -0
  690. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/dsl.rbs +351 -0
  691. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/inspect_visitor.rbs +22 -0
  692. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/lex_compat.rbs +10 -0
  693. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/mutation_compiler.rbs +159 -0
  694. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/node.rbs +4028 -0
  695. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/node_ext.rbs +149 -0
  696. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/pack.rbs +43 -0
  697. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/parse_result/comments.rbs +38 -0
  698. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/parse_result.rbs +196 -0
  699. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/pattern.rbs +13 -0
  700. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/reflection.rbs +50 -0
  701. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/relocation.rbs +185 -0
  702. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/serialize.rbs +8 -0
  703. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/string_query.rbs +11 -0
  704. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/visitor.rbs +169 -0
  705. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism.rbs +254 -0
  706. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/diagnostic.c +848 -0
  707. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/encoding.c +5235 -0
  708. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/node.c +8676 -0
  709. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/options.c +328 -0
  710. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/pack.c +509 -0
  711. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/prettyprint.c +8941 -0
  712. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/prism.c +23302 -0
  713. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/regexp.c +790 -0
  714. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/serialize.c +2268 -0
  715. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/static_literals.c +617 -0
  716. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/token_type.c +703 -0
  717. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/util/pm_buffer.c +357 -0
  718. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/util/pm_char.c +318 -0
  719. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/util/pm_constant_pool.c +342 -0
  720. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/util/pm_integer.c +670 -0
  721. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/util/pm_list.c +49 -0
  722. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/util/pm_memchr.c +35 -0
  723. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/util/pm_newline_list.c +125 -0
  724. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/util/pm_string.c +383 -0
  725. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/util/pm_strncasecmp.c +36 -0
  726. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/util/pm_strpbrk.c +206 -0
  727. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/BSDL +22 -0
  728. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/COPYING +56 -0
  729. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/ChangeLog +846 -0
  730. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/README.ja.rdoc +58 -0
  731. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/README.rdoc +60 -0
  732. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/TODO +5 -0
  733. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/bin/racc +320 -0
  734. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/doc/en/grammar.en.rdoc +218 -0
  735. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/doc/en/grammar2.en.rdoc +219 -0
  736. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/doc/ja/command.ja.html +99 -0
  737. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/doc/ja/debug.ja.rdoc +36 -0
  738. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/doc/ja/grammar.ja.rdoc +348 -0
  739. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/doc/ja/index.ja.html +10 -0
  740. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/doc/ja/parser.ja.rdoc +125 -0
  741. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/doc/ja/usage.ja.html +414 -0
  742. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/ext/racc/cparse/cparse.c +840 -0
  743. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/ext/racc/cparse/extconf.rb +8 -0
  744. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc/compat.rb +33 -0
  745. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc/debugflags.rb +60 -0
  746. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc/exception.rb +16 -0
  747. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc/grammar.rb +1191 -0
  748. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc/grammarfileparser.rb +667 -0
  749. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc/info.rb +18 -0
  750. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc/iset.rb +92 -0
  751. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc/logfilegenerator.rb +212 -0
  752. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc/parser-text.rb +644 -0
  753. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc/parser.rb +630 -0
  754. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc/parserfilegenerator.rb +473 -0
  755. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc/sourcetext.rb +35 -0
  756. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc/state.rb +976 -0
  757. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc/statetransitiontable.rb +311 -0
  758. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc/static.rb +5 -0
  759. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc.rb +6 -0
  760. data/vendor/bundle/ruby/3.0.0/gems/rainbow-3.1.1/Changelog.md +101 -0
  761. data/vendor/bundle/ruby/3.0.0/gems/rainbow-3.1.1/LICENSE +20 -0
  762. data/vendor/bundle/ruby/3.0.0/gems/rainbow-3.1.1/README.markdown +227 -0
  763. data/vendor/bundle/ruby/3.0.0/gems/rainbow-3.1.1/lib/rainbow/color.rb +150 -0
  764. data/vendor/bundle/ruby/3.0.0/gems/rainbow-3.1.1/lib/rainbow/ext/string.rb +64 -0
  765. data/vendor/bundle/ruby/3.0.0/gems/rainbow-3.1.1/lib/rainbow/global.rb +25 -0
  766. data/vendor/bundle/ruby/3.0.0/gems/rainbow-3.1.1/lib/rainbow/null_presenter.rb +100 -0
  767. data/vendor/bundle/ruby/3.0.0/gems/rainbow-3.1.1/lib/rainbow/presenter.rb +144 -0
  768. data/vendor/bundle/ruby/3.0.0/gems/rainbow-3.1.1/lib/rainbow/refinement.rb +14 -0
  769. data/vendor/bundle/ruby/3.0.0/gems/rainbow-3.1.1/lib/rainbow/string_utils.rb +22 -0
  770. data/vendor/bundle/ruby/3.0.0/gems/rainbow-3.1.1/lib/rainbow/version.rb +5 -0
  771. data/vendor/bundle/ruby/3.0.0/gems/rainbow-3.1.1/lib/rainbow/wrapper.rb +22 -0
  772. data/vendor/bundle/ruby/3.0.0/gems/rainbow-3.1.1/lib/rainbow/x11_color_names.rb +153 -0
  773. data/vendor/bundle/ruby/3.0.0/gems/rainbow-3.1.1/lib/rainbow.rb +13 -0
  774. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/Gemfile +17 -0
  775. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/LICENSE +22 -0
  776. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/Rakefile +25 -0
  777. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/error.rb +6 -0
  778. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/base.rb +78 -0
  779. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/alternation.rb +12 -0
  780. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/anchor.rb +26 -0
  781. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/backreference.rb +58 -0
  782. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/character_set/intersection.rb +11 -0
  783. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/character_set/range.rb +21 -0
  784. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/character_set.rb +25 -0
  785. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/character_type.rb +19 -0
  786. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/conditional.rb +52 -0
  787. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/escape_sequence.rb +33 -0
  788. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/free_space.rb +19 -0
  789. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/group.rb +75 -0
  790. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/keep.rb +9 -0
  791. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/literal.rb +5 -0
  792. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/posix_class.rb +13 -0
  793. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/root.rb +11 -0
  794. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/unicode_property.rb +121 -0
  795. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/methods/construct.rb +43 -0
  796. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/methods/escape_sequence_char.rb +7 -0
  797. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/methods/escape_sequence_codepoint.rb +76 -0
  798. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/methods/human_name.rb +45 -0
  799. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/methods/match.rb +15 -0
  800. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/methods/match_length.rb +178 -0
  801. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/methods/negative.rb +22 -0
  802. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/methods/options.rb +37 -0
  803. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/methods/parts.rb +25 -0
  804. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/methods/printing.rb +28 -0
  805. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/methods/referenced_expressions.rb +30 -0
  806. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/methods/strfregexp.rb +116 -0
  807. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/methods/tests.rb +145 -0
  808. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/methods/traverse.rb +82 -0
  809. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/quantifier.rb +86 -0
  810. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/sequence.rb +33 -0
  811. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/sequence_operation.rb +22 -0
  812. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/shared.rb +114 -0
  813. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/subexpression.rb +69 -0
  814. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression.rb +42 -0
  815. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/lexer.rb +171 -0
  816. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/parser.rb +602 -0
  817. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/scanner/char_type.rl +28 -0
  818. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/scanner/errors/premature_end_error.rb +10 -0
  819. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/scanner/errors/scanner_error.rb +8 -0
  820. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/scanner/errors/validation_error.rb +65 -0
  821. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/scanner/properties/long.csv +670 -0
  822. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/scanner/properties/short.csv +257 -0
  823. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/scanner/property.rl +30 -0
  824. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/scanner/scanner.rl +864 -0
  825. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/scanner.rb +2601 -0
  826. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/any.rb +12 -0
  827. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/base.rb +122 -0
  828. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/token/anchor.rb +17 -0
  829. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/token/assertion.rb +15 -0
  830. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/token/backreference.rb +35 -0
  831. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/token/character_set.rb +18 -0
  832. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/token/character_type.rb +18 -0
  833. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/token/conditional.rb +18 -0
  834. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/token/escape.rb +35 -0
  835. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/token/group.rb +25 -0
  836. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/token/keep.rb +14 -0
  837. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/token/meta.rb +22 -0
  838. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/token/posix_class.rb +19 -0
  839. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/token/quantifier.rb +37 -0
  840. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/token/unicode_property.rb +766 -0
  841. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/token/virtual.rb +13 -0
  842. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/token.rb +47 -0
  843. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/version_lookup.rb +67 -0
  844. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions/1.8.6.rb +16 -0
  845. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions/1.9.1.rb +13 -0
  846. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions/1.9.3.rb +6 -0
  847. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions/2.0.0.rb +12 -0
  848. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions/2.2.0.rb +6 -0
  849. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions/2.3.0.rb +6 -0
  850. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions/2.4.0.rb +6 -0
  851. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions/2.4.1.rb +5 -0
  852. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions/2.5.0.rb +6 -0
  853. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions/2.6.0.rb +6 -0
  854. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions/2.6.2.rb +6 -0
  855. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions/2.6.3.rb +6 -0
  856. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions/3.1.0.rb +6 -0
  857. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions/3.2.0.rb +6 -0
  858. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions/3.5.0.rb +4 -0
  859. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions.rb +10 -0
  860. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax.rb +13 -0
  861. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/token.rb +26 -0
  862. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/version.rb +7 -0
  863. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser.rb +8 -0
  864. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/regexp_parser.gemspec +36 -0
  865. data/vendor/bundle/ruby/3.0.0/gems/rspec-3.13.1/LICENSE.md +27 -0
  866. data/vendor/bundle/ruby/3.0.0/gems/rspec-3.13.1/README.md +47 -0
  867. data/vendor/bundle/ruby/3.0.0/gems/rspec-3.13.1/lib/rspec/version.rb +5 -0
  868. data/vendor/bundle/ruby/3.0.0/gems/rspec-3.13.1/lib/rspec.rb +3 -0
  869. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/.document +5 -0
  870. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/.yardopts +8 -0
  871. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/Changelog.md +2439 -0
  872. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/LICENSE.md +26 -0
  873. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/README.md +389 -0
  874. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/exe/rspec +4 -0
  875. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/autorun.rb +3 -0
  876. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/backtrace_formatter.rb +65 -0
  877. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/bisect/coordinator.rb +62 -0
  878. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/bisect/example_minimizer.rb +173 -0
  879. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/bisect/fork_runner.rb +140 -0
  880. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/bisect/server.rb +61 -0
  881. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/bisect/shell_command.rb +126 -0
  882. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/bisect/shell_runner.rb +73 -0
  883. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/bisect/utilities.rb +69 -0
  884. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/configuration.rb +2419 -0
  885. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/configuration_options.rb +240 -0
  886. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/did_you_mean.rb +52 -0
  887. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/drb.rb +120 -0
  888. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/dsl.rb +98 -0
  889. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/example.rb +666 -0
  890. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/example_group.rb +912 -0
  891. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/example_status_persister.rb +235 -0
  892. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/filter_manager.rb +231 -0
  893. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/flat_map.rb +20 -0
  894. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/base_bisect_formatter.rb +45 -0
  895. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/base_formatter.rb +70 -0
  896. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/base_text_formatter.rb +75 -0
  897. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/bisect_drb_formatter.rb +29 -0
  898. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/bisect_progress_formatter.rb +157 -0
  899. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/console_codes.rb +76 -0
  900. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/deprecation_formatter.rb +223 -0
  901. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/documentation_formatter.rb +102 -0
  902. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/exception_presenter.rb +553 -0
  903. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/failure_list_formatter.rb +23 -0
  904. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/fallback_message_formatter.rb +28 -0
  905. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/helpers.rb +118 -0
  906. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/html_formatter.rb +153 -0
  907. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/html_printer.rb +412 -0
  908. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/html_snippet_extractor.rb +122 -0
  909. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/json_formatter.rb +103 -0
  910. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/profile_formatter.rb +68 -0
  911. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/progress_formatter.rb +29 -0
  912. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/protocol.rb +182 -0
  913. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/snippet_extractor.rb +134 -0
  914. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/syntax_highlighter.rb +91 -0
  915. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters.rb +279 -0
  916. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/hooks.rb +646 -0
  917. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/invocations.rb +87 -0
  918. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/memoized_helpers.rb +580 -0
  919. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/metadata.rb +498 -0
  920. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/metadata_filter.rb +255 -0
  921. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/minitest_assertions_adapter.rb +31 -0
  922. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/mocking_adapters/flexmock.rb +31 -0
  923. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/mocking_adapters/mocha.rb +57 -0
  924. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/mocking_adapters/null.rb +14 -0
  925. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/mocking_adapters/rr.rb +31 -0
  926. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/mocking_adapters/rspec.rb +32 -0
  927. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/notifications.rb +523 -0
  928. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/option_parser.rb +325 -0
  929. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/ordering.rb +208 -0
  930. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/output_wrapper.rb +29 -0
  931. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/pending.rb +157 -0
  932. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/profiler.rb +34 -0
  933. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/project_initializer/.rspec +1 -0
  934. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/project_initializer/spec/spec_helper.rb +98 -0
  935. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/project_initializer.rb +48 -0
  936. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/rake_task.rb +190 -0
  937. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/reporter.rb +266 -0
  938. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/ruby_project.rb +53 -0
  939. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/runner.rb +216 -0
  940. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/sandbox.rb +37 -0
  941. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/set.rb +54 -0
  942. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/shared_context.rb +55 -0
  943. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/shared_example_group.rb +271 -0
  944. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/shell_escape.rb +49 -0
  945. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/test_unit_assertions_adapter.rb +30 -0
  946. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/version.rb +9 -0
  947. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/warnings.rb +40 -0
  948. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/world.rb +287 -0
  949. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core.rb +212 -0
  950. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/.document +5 -0
  951. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/.yardopts +6 -0
  952. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/Changelog.md +1366 -0
  953. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/LICENSE.md +25 -0
  954. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/README.md +326 -0
  955. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/expectations/block_snippet_extractor.rb +255 -0
  956. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/expectations/configuration.rb +244 -0
  957. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/expectations/expectation_target.rb +163 -0
  958. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/expectations/fail_with.rb +39 -0
  959. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/expectations/failure_aggregator.rb +236 -0
  960. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/expectations/handler.rb +181 -0
  961. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/expectations/minitest_integration.rb +58 -0
  962. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/expectations/syntax.rb +132 -0
  963. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/expectations/version.rb +8 -0
  964. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/expectations.rb +82 -0
  965. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/aliased_matcher.rb +116 -0
  966. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/all.rb +86 -0
  967. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/base_matcher.rb +225 -0
  968. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/be.rb +191 -0
  969. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/be_between.rb +77 -0
  970. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/be_instance_of.rb +26 -0
  971. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/be_kind_of.rb +20 -0
  972. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/be_within.rb +72 -0
  973. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/change.rb +452 -0
  974. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/compound.rb +293 -0
  975. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/contain_exactly.rb +312 -0
  976. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/count_expectation.rb +171 -0
  977. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/cover.rb +24 -0
  978. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/eq.rb +44 -0
  979. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/eql.rb +38 -0
  980. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/equal.rb +81 -0
  981. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/exist.rb +90 -0
  982. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/has.rb +194 -0
  983. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/have_attributes.rb +114 -0
  984. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/include.rb +218 -0
  985. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/match.rb +120 -0
  986. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/operators.rb +128 -0
  987. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/output.rb +207 -0
  988. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/raise_error.rb +275 -0
  989. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/respond_to.rb +200 -0
  990. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/satisfy.rb +62 -0
  991. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/start_or_end_with.rb +94 -0
  992. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/throw_symbol.rb +138 -0
  993. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/yield.rb +375 -0
  994. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in.rb +53 -0
  995. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/composable.rb +171 -0
  996. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/dsl.rb +546 -0
  997. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/english_phrasing.rb +60 -0
  998. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/fail_matchers.rb +42 -0
  999. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/generated_descriptions.rb +41 -0
  1000. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/matcher_delegator.rb +61 -0
  1001. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/matcher_protocol.rb +105 -0
  1002. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/multi_matcher_diff.rb +82 -0
  1003. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers.rb +1046 -0
  1004. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/.document +5 -0
  1005. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/.yardopts +6 -0
  1006. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/Changelog.md +1329 -0
  1007. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/LICENSE.md +25 -0
  1008. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/README.md +465 -0
  1009. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/any_instance/chain.rb +111 -0
  1010. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/any_instance/error_generator.rb +31 -0
  1011. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/any_instance/expect_chain_chain.rb +31 -0
  1012. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/any_instance/expectation_chain.rb +50 -0
  1013. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/any_instance/message_chains.rb +83 -0
  1014. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/any_instance/proxy.rb +125 -0
  1015. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/any_instance/recorder.rb +299 -0
  1016. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/any_instance/stub_chain.rb +51 -0
  1017. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/any_instance/stub_chain_chain.rb +23 -0
  1018. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/any_instance.rb +11 -0
  1019. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/argument_list_matcher.rb +117 -0
  1020. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/argument_matchers.rb +366 -0
  1021. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/configuration.rb +212 -0
  1022. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/error_generator.rb +390 -0
  1023. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/example_methods.rb +434 -0
  1024. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/instance_method_stasher.rb +146 -0
  1025. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/marshal_extension.rb +41 -0
  1026. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/matchers/expectation_customization.rb +20 -0
  1027. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/matchers/have_received.rb +134 -0
  1028. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/matchers/receive.rb +134 -0
  1029. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/matchers/receive_message_chain.rb +82 -0
  1030. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/matchers/receive_messages.rb +77 -0
  1031. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/message_chain.rb +87 -0
  1032. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/message_expectation.rb +856 -0
  1033. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/method_double.rb +316 -0
  1034. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/method_reference.rb +214 -0
  1035. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/minitest_integration.rb +68 -0
  1036. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/mutate_const.rb +339 -0
  1037. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/object_reference.rb +149 -0
  1038. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/order_group.rb +81 -0
  1039. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/proxy.rb +517 -0
  1040. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/space.rb +238 -0
  1041. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/standalone.rb +3 -0
  1042. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/syntax.rb +325 -0
  1043. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/targets.rb +124 -0
  1044. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/test_double.rb +173 -0
  1045. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/verifying_double.rb +125 -0
  1046. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/verifying_message_expectation.rb +55 -0
  1047. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/verifying_proxy.rb +221 -0
  1048. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/version.rb +9 -0
  1049. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks.rb +133 -0
  1050. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/Changelog.md +437 -0
  1051. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/LICENSE.md +23 -0
  1052. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/README.md +40 -0
  1053. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/caller_filter.rb +85 -0
  1054. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/comparable_version.rb +48 -0
  1055. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/differ.rb +216 -0
  1056. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/directory_maker.rb +65 -0
  1057. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/encoded_string.rb +163 -0
  1058. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/fuzzy_matcher.rb +50 -0
  1059. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/hunk_generator.rb +49 -0
  1060. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/matcher_definition.rb +44 -0
  1061. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/method_signature_verifier.rb +467 -0
  1062. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/mutex.rb +75 -0
  1063. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/object_formatter.rb +279 -0
  1064. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/recursive_const_methods.rb +78 -0
  1065. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/reentrant_mutex.rb +80 -0
  1066. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/ruby_features.rb +221 -0
  1067. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/source/location.rb +23 -0
  1068. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/source/node.rb +112 -0
  1069. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/source/token.rb +96 -0
  1070. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/source.rb +87 -0
  1071. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/spec/deprecation_helpers.rb +50 -0
  1072. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/spec/diff_helpers.rb +45 -0
  1073. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/spec/formatting_support.rb +11 -0
  1074. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/spec/in_sub_process.rb +73 -0
  1075. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/spec/library_wide_checks.rb +152 -0
  1076. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/spec/shell_out.rb +115 -0
  1077. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/spec/stderr_splitter.rb +77 -0
  1078. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/spec/string_matcher.rb +47 -0
  1079. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/spec/with_isolated_directory.rb +15 -0
  1080. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/spec/with_isolated_stderr.rb +15 -0
  1081. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/spec.rb +84 -0
  1082. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/version.rb +9 -0
  1083. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/warnings.rb +41 -0
  1084. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/with_keywords_when_needed.rb +35 -0
  1085. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support.rb +163 -0
  1086. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/LICENSE.txt +19 -0
  1087. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/README.md +131 -0
  1088. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/Rakefile +2 -0
  1089. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/base.rb +234 -0
  1090. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/calculators/length.rb +98 -0
  1091. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/components/bar.rb +102 -0
  1092. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/components/percentage.rb +27 -0
  1093. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/components/rate.rb +39 -0
  1094. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/components/time.rb +101 -0
  1095. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/components/title.rb +13 -0
  1096. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/errors/invalid_progress_error.rb +4 -0
  1097. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/format/formatter.rb +27 -0
  1098. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/format/molecule.rb +61 -0
  1099. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/format/string.rb +38 -0
  1100. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/output.rb +71 -0
  1101. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/outputs/non_tty.rb +47 -0
  1102. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/outputs/null.rb +33 -0
  1103. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/outputs/tty.rb +32 -0
  1104. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/progress.rb +108 -0
  1105. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/projector.rb +14 -0
  1106. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/projectors/smoothed_average.rb +71 -0
  1107. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/refinements/progress_enumerator.rb +28 -0
  1108. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/refinements.rb +1 -0
  1109. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/throttle.rb +25 -0
  1110. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/time.rb +30 -0
  1111. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/timer.rb +78 -0
  1112. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/version.rb +3 -0
  1113. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar.rb +12 -0
  1114. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/CHANGELOG.md +191 -0
  1115. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/LICENSE +20 -0
  1116. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/README.md +974 -0
  1117. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/doc/alternate-formatters.md +71 -0
  1118. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/doc/commercial-services.md +25 -0
  1119. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/doc/editor-integration.md +18 -0
  1120. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/minitest/simplecov_plugin.rb +15 -0
  1121. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/combine/branches_combiner.rb +32 -0
  1122. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/combine/files_combiner.rb +24 -0
  1123. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/combine/lines_combiner.rb +43 -0
  1124. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/combine/results_combiner.rb +60 -0
  1125. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/combine.rb +30 -0
  1126. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/command_guesser.rb +64 -0
  1127. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/configuration.rb +500 -0
  1128. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/coverage_statistics.rb +56 -0
  1129. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/default_formatter.rb +20 -0
  1130. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/defaults.rb +53 -0
  1131. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/exit_codes/exit_code_handling.rb +29 -0
  1132. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/exit_codes/maximum_coverage_drop_check.rb +83 -0
  1133. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/exit_codes/minimum_coverage_by_file_check.rb +54 -0
  1134. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/exit_codes/minimum_overall_coverage_check.rb +53 -0
  1135. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/exit_codes.rb +15 -0
  1136. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/file_list.rb +120 -0
  1137. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/filter.rb +94 -0
  1138. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/formatter/multi_formatter.rb +32 -0
  1139. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/formatter/simple_formatter.rb +25 -0
  1140. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/formatter.rb +10 -0
  1141. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/last_run.rb +28 -0
  1142. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/lines_classifier.rb +48 -0
  1143. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/load_global_config.rb +8 -0
  1144. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/no_defaults.rb +4 -0
  1145. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/process.rb +19 -0
  1146. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/profiles/bundler_filter.rb +5 -0
  1147. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/profiles/hidden_filter.rb +5 -0
  1148. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/profiles/rails.rb +18 -0
  1149. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/profiles/root_filter.rb +10 -0
  1150. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/profiles/test_frameworks.rb +8 -0
  1151. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/profiles.rb +35 -0
  1152. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/result.rb +94 -0
  1153. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/result_adapter.rb +30 -0
  1154. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/result_merger.rb +194 -0
  1155. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/simulate_coverage.rb +29 -0
  1156. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/source_file/branch.rb +84 -0
  1157. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/source_file/line.rb +72 -0
  1158. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/source_file.rb +355 -0
  1159. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/useless_results_remover.rb +18 -0
  1160. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/version.rb +5 -0
  1161. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov.rb +470 -0
  1162. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/.document +5 -0
  1163. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/CHANGELOG.md +114 -0
  1164. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/LICENSE +20 -0
  1165. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/README.md +30 -0
  1166. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/Rakefile +55 -0
  1167. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/lib/simplecov-html/version.rb +9 -0
  1168. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/lib/simplecov-html.rb +165 -0
  1169. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/DataTables-1.10.20/images/sort_asc.png +0 -0
  1170. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/DataTables-1.10.20/images/sort_asc_disabled.png +0 -0
  1171. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/DataTables-1.10.20/images/sort_both.png +0 -0
  1172. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/DataTables-1.10.20/images/sort_desc.png +0 -0
  1173. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/DataTables-1.10.20/images/sort_desc_disabled.png +0 -0
  1174. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/application.css +1 -0
  1175. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/application.js +7 -0
  1176. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/colorbox/border.png +0 -0
  1177. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/colorbox/controls.png +0 -0
  1178. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/colorbox/loading.gif +0 -0
  1179. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/colorbox/loading_background.png +0 -0
  1180. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/favicon_green.png +0 -0
  1181. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/favicon_red.png +0 -0
  1182. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/favicon_yellow.png +0 -0
  1183. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  1184. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  1185. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  1186. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  1187. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  1188. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  1189. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  1190. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  1191. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/images/ui-icons_222222_256x240.png +0 -0
  1192. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/images/ui-icons_2e83ff_256x240.png +0 -0
  1193. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/images/ui-icons_454545_256x240.png +0 -0
  1194. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/images/ui-icons_888888_256x240.png +0 -0
  1195. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/images/ui-icons_cd0a0a_256x240.png +0 -0
  1196. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/loading.gif +0 -0
  1197. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/magnify.png +0 -0
  1198. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/views/covered_percent.erb +3 -0
  1199. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/views/file_list.erb +78 -0
  1200. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/views/layout.erb +40 -0
  1201. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/views/source_file.erb +57 -0
  1202. data/vendor/bundle/ruby/3.0.0/gems/simplecov_json_formatter-0.1.4/CHANGELOG.md +13 -0
  1203. data/vendor/bundle/ruby/3.0.0/gems/simplecov_json_formatter-0.1.4/README.md +29 -0
  1204. data/vendor/bundle/ruby/3.0.0/gems/simplecov_json_formatter-0.1.4/lib/simplecov_json_formatter/result_exporter.rb +27 -0
  1205. data/vendor/bundle/ruby/3.0.0/gems/simplecov_json_formatter-0.1.4/lib/simplecov_json_formatter/result_hash_formatter.rb +52 -0
  1206. data/vendor/bundle/ruby/3.0.0/gems/simplecov_json_formatter-0.1.4/lib/simplecov_json_formatter/source_file_formatter.rb +65 -0
  1207. data/vendor/bundle/ruby/3.0.0/gems/simplecov_json_formatter-0.1.4/lib/simplecov_json_formatter/version.rb +5 -0
  1208. data/vendor/bundle/ruby/3.0.0/gems/simplecov_json_formatter-0.1.4/lib/simplecov_json_formatter.rb +36 -0
  1209. data/vendor/bundle/ruby/3.0.0/gems/unicode-display_width-3.2.0/CHANGELOG.md +299 -0
  1210. data/vendor/bundle/ruby/3.0.0/gems/unicode-display_width-3.2.0/MIT-LICENSE.txt +22 -0
  1211. data/vendor/bundle/ruby/3.0.0/gems/unicode-display_width-3.2.0/README.md +194 -0
  1212. data/vendor/bundle/ruby/3.0.0/gems/unicode-display_width-3.2.0/data/display_width.marshal.gz +0 -0
  1213. data/vendor/bundle/ruby/3.0.0/gems/unicode-display_width-3.2.0/lib/unicode/display_width/constants.rb +10 -0
  1214. data/vendor/bundle/ruby/3.0.0/gems/unicode-display_width-3.2.0/lib/unicode/display_width/emoji_support.rb +55 -0
  1215. data/vendor/bundle/ruby/3.0.0/gems/unicode-display_width-3.2.0/lib/unicode/display_width/index.rb +34 -0
  1216. data/vendor/bundle/ruby/3.0.0/gems/unicode-display_width-3.2.0/lib/unicode/display_width/no_string_ext.rb +8 -0
  1217. data/vendor/bundle/ruby/3.0.0/gems/unicode-display_width-3.2.0/lib/unicode/display_width/reline_ext.rb +14 -0
  1218. data/vendor/bundle/ruby/3.0.0/gems/unicode-display_width-3.2.0/lib/unicode/display_width/string_ext.rb +9 -0
  1219. data/vendor/bundle/ruby/3.0.0/gems/unicode-display_width-3.2.0/lib/unicode/display_width.rb +247 -0
  1220. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/.gitignore +3 -0
  1221. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/.rake_tasks +5 -0
  1222. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/CHANGELOG.md +196 -0
  1223. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/CODE_OF_CONDUCT.md +74 -0
  1224. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/Gemfile +7 -0
  1225. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/MIT-LICENSE.txt +20 -0
  1226. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/README.md +205 -0
  1227. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/Rakefile +46 -0
  1228. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/data/emoji.marshal.gz +0 -0
  1229. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/data/generate_constants.rb +344 -0
  1230. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/constants.rb +49 -0
  1231. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex.rb +8 -0
  1232. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_basic.rb +8 -0
  1233. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_emoji_keycap.rb +8 -0
  1234. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_include_mqe.rb +8 -0
  1235. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_include_mqe_uqe.rb +8 -0
  1236. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_include_text.rb +8 -0
  1237. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_picto.rb +8 -0
  1238. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_picto_no_emoji.rb +8 -0
  1239. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_possible.rb +8 -0
  1240. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_prop_component.rb +8 -0
  1241. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_prop_emoji.rb +8 -0
  1242. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_prop_modifier.rb +8 -0
  1243. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_prop_modifier_base.rb +8 -0
  1244. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_prop_presentation.rb +8 -0
  1245. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_text.rb +8 -0
  1246. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_text_presentation.rb +8 -0
  1247. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_valid.rb +8 -0
  1248. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_valid_include_text.rb +8 -0
  1249. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_well_formed.rb +8 -0
  1250. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_well_formed_include_text.rb +8 -0
  1251. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex.rb +8 -0
  1252. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_basic.rb +8 -0
  1253. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_emoji_keycap.rb +8 -0
  1254. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_include_mqe.rb +8 -0
  1255. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_include_mqe_uqe.rb +8 -0
  1256. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_include_text.rb +8 -0
  1257. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_picto.rb +8 -0
  1258. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_picto_no_emoji.rb +8 -0
  1259. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_possible.rb +8 -0
  1260. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_prop_component.rb +8 -0
  1261. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_prop_emoji.rb +8 -0
  1262. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_prop_modifier.rb +8 -0
  1263. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_prop_modifier_base.rb +8 -0
  1264. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_prop_presentation.rb +8 -0
  1265. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_text.rb +8 -0
  1266. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_text_presentation.rb +8 -0
  1267. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_valid.rb +8 -0
  1268. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_valid_include_text.rb +8 -0
  1269. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_well_formed.rb +8 -0
  1270. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_well_formed_include_text.rb +8 -0
  1271. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/index.rb +14 -0
  1272. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/lazy_constants.rb +56 -0
  1273. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/list.rb +13 -0
  1274. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji.rb +111 -0
  1275. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/spec/data/.keep +0 -0
  1276. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/spec/emoji_test_txt_spec.rb +181 -0
  1277. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/spec/unicode_emoji_spec.rb +725 -0
  1278. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/unicode-emoji.gemspec +22 -0
  1279. data/vendor/bundle/ruby/3.0.0/specifications/ast-2.4.3.gemspec +40 -0
  1280. data/vendor/bundle/ruby/3.0.0/specifications/diff-lcs-1.6.2.gemspec +46 -0
  1281. data/vendor/bundle/ruby/3.0.0/specifications/docile-1.4.1.gemspec +22 -0
  1282. data/vendor/bundle/ruby/3.0.0/specifications/language_server-protocol-3.17.0.5.gemspec +42 -0
  1283. data/vendor/bundle/ruby/3.0.0/specifications/lint_roller-1.1.0.gemspec +22 -0
  1284. data/vendor/bundle/ruby/3.0.0/specifications/parallel-1.27.0.gemspec +21 -0
  1285. data/vendor/bundle/ruby/3.0.0/specifications/rainbow-3.1.1.gemspec +31 -0
  1286. data/vendor/bundle/ruby/3.0.0/specifications/regexp_parser-2.11.3.gemspec +22 -0
  1287. data/vendor/bundle/ruby/3.0.0/specifications/rspec-3.13.1.gemspec +39 -0
  1288. data/vendor/bundle/ruby/3.0.0/specifications/rspec-core-3.13.5.gemspec +37 -0
  1289. data/vendor/bundle/ruby/3.0.0/specifications/rspec-expectations-3.13.5.gemspec +36 -0
  1290. data/vendor/bundle/ruby/3.0.0/specifications/rspec-mocks-3.13.5.gemspec +36 -0
  1291. data/vendor/bundle/ruby/3.0.0/specifications/rspec-support-3.13.6.gemspec +36 -0
  1292. data/vendor/bundle/ruby/3.0.0/specifications/ruby-progressbar-1.13.0.gemspec +38 -0
  1293. data/vendor/bundle/ruby/3.0.0/specifications/simplecov-0.22.0.gemspec +36 -0
  1294. data/vendor/bundle/ruby/3.0.0/specifications/simplecov-html-0.13.2.gemspec +22 -0
  1295. data/vendor/bundle/ruby/3.0.0/specifications/simplecov_json_formatter-0.1.4.gemspec +21 -0
  1296. data/vendor/bundle/ruby/3.0.0/specifications/unicode-display_width-3.2.0.gemspec +38 -0
  1297. data/vendor/bundle/ruby/3.0.0/specifications/unicode-emoji-4.1.0.gemspec +22 -0
  1298. data/zayef.gemspec +4 -0
  1299. metadata +1320 -7
@@ -0,0 +1,2268 @@
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)->block == NULL) {
399
+ pm_buffer_append_byte(buffer, 0);
400
+ } else {
401
+ pm_serialize_node(parser, (pm_node_t *)((pm_call_node_t *)node)->block, buffer);
402
+ }
403
+ break;
404
+ }
405
+ case PM_CALL_OPERATOR_WRITE_NODE: {
406
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
407
+ if (((pm_call_operator_write_node_t *)node)->receiver == NULL) {
408
+ pm_buffer_append_byte(buffer, 0);
409
+ } else {
410
+ pm_serialize_node(parser, (pm_node_t *)((pm_call_operator_write_node_t *)node)->receiver, buffer);
411
+ }
412
+ if (((pm_call_operator_write_node_t *)node)->call_operator_loc.start == NULL) {
413
+ pm_buffer_append_byte(buffer, 0);
414
+ } else {
415
+ pm_buffer_append_byte(buffer, 1);
416
+ pm_serialize_location(parser, &((pm_call_operator_write_node_t *)node)->call_operator_loc, buffer);
417
+ }
418
+ if (((pm_call_operator_write_node_t *)node)->message_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)->message_loc, buffer);
423
+ }
424
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_call_operator_write_node_t *)node)->read_name));
425
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_call_operator_write_node_t *)node)->write_name));
426
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_call_operator_write_node_t *)node)->binary_operator));
427
+ pm_serialize_location(parser, &((pm_call_operator_write_node_t *)node)->binary_operator_loc, buffer);
428
+ pm_serialize_node(parser, (pm_node_t *)((pm_call_operator_write_node_t *)node)->value, buffer);
429
+ break;
430
+ }
431
+ case PM_CALL_OR_WRITE_NODE: {
432
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
433
+ if (((pm_call_or_write_node_t *)node)->receiver == NULL) {
434
+ pm_buffer_append_byte(buffer, 0);
435
+ } else {
436
+ pm_serialize_node(parser, (pm_node_t *)((pm_call_or_write_node_t *)node)->receiver, buffer);
437
+ }
438
+ if (((pm_call_or_write_node_t *)node)->call_operator_loc.start == NULL) {
439
+ pm_buffer_append_byte(buffer, 0);
440
+ } else {
441
+ pm_buffer_append_byte(buffer, 1);
442
+ pm_serialize_location(parser, &((pm_call_or_write_node_t *)node)->call_operator_loc, buffer);
443
+ }
444
+ if (((pm_call_or_write_node_t *)node)->message_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)->message_loc, buffer);
449
+ }
450
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_call_or_write_node_t *)node)->read_name));
451
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_call_or_write_node_t *)node)->write_name));
452
+ pm_serialize_location(parser, &((pm_call_or_write_node_t *)node)->operator_loc, buffer);
453
+ pm_serialize_node(parser, (pm_node_t *)((pm_call_or_write_node_t *)node)->value, buffer);
454
+ break;
455
+ }
456
+ case PM_CALL_TARGET_NODE: {
457
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
458
+ pm_serialize_node(parser, (pm_node_t *)((pm_call_target_node_t *)node)->receiver, buffer);
459
+ pm_serialize_location(parser, &((pm_call_target_node_t *)node)->call_operator_loc, buffer);
460
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_call_target_node_t *)node)->name));
461
+ pm_serialize_location(parser, &((pm_call_target_node_t *)node)->message_loc, buffer);
462
+ break;
463
+ }
464
+ case PM_CAPTURE_PATTERN_NODE: {
465
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
466
+ pm_serialize_node(parser, (pm_node_t *)((pm_capture_pattern_node_t *)node)->value, buffer);
467
+ pm_serialize_node(parser, (pm_node_t *)((pm_capture_pattern_node_t *)node)->target, buffer);
468
+ pm_serialize_location(parser, &((pm_capture_pattern_node_t *)node)->operator_loc, buffer);
469
+ break;
470
+ }
471
+ case PM_CASE_MATCH_NODE: {
472
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
473
+ if (((pm_case_match_node_t *)node)->predicate == NULL) {
474
+ pm_buffer_append_byte(buffer, 0);
475
+ } else {
476
+ pm_serialize_node(parser, (pm_node_t *)((pm_case_match_node_t *)node)->predicate, buffer);
477
+ }
478
+ uint32_t conditions_size = pm_sizet_to_u32(((pm_case_match_node_t *)node)->conditions.size);
479
+ pm_buffer_append_varuint(buffer, conditions_size);
480
+ for (uint32_t index = 0; index < conditions_size; index++) {
481
+ pm_serialize_node(parser, (pm_node_t *) ((pm_case_match_node_t *)node)->conditions.nodes[index], buffer);
482
+ }
483
+ if (((pm_case_match_node_t *)node)->else_clause == NULL) {
484
+ pm_buffer_append_byte(buffer, 0);
485
+ } else {
486
+ pm_serialize_node(parser, (pm_node_t *)((pm_case_match_node_t *)node)->else_clause, buffer);
487
+ }
488
+ pm_serialize_location(parser, &((pm_case_match_node_t *)node)->case_keyword_loc, buffer);
489
+ pm_serialize_location(parser, &((pm_case_match_node_t *)node)->end_keyword_loc, buffer);
490
+ break;
491
+ }
492
+ case PM_CASE_NODE: {
493
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
494
+ if (((pm_case_node_t *)node)->predicate == NULL) {
495
+ pm_buffer_append_byte(buffer, 0);
496
+ } else {
497
+ pm_serialize_node(parser, (pm_node_t *)((pm_case_node_t *)node)->predicate, buffer);
498
+ }
499
+ uint32_t conditions_size = pm_sizet_to_u32(((pm_case_node_t *)node)->conditions.size);
500
+ pm_buffer_append_varuint(buffer, conditions_size);
501
+ for (uint32_t index = 0; index < conditions_size; index++) {
502
+ pm_serialize_node(parser, (pm_node_t *) ((pm_case_node_t *)node)->conditions.nodes[index], buffer);
503
+ }
504
+ if (((pm_case_node_t *)node)->else_clause == NULL) {
505
+ pm_buffer_append_byte(buffer, 0);
506
+ } else {
507
+ pm_serialize_node(parser, (pm_node_t *)((pm_case_node_t *)node)->else_clause, buffer);
508
+ }
509
+ pm_serialize_location(parser, &((pm_case_node_t *)node)->case_keyword_loc, buffer);
510
+ pm_serialize_location(parser, &((pm_case_node_t *)node)->end_keyword_loc, buffer);
511
+ break;
512
+ }
513
+ case PM_CLASS_NODE: {
514
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
515
+ uint32_t locals_size = pm_sizet_to_u32(((pm_class_node_t *)node)->locals.size);
516
+ pm_buffer_append_varuint(buffer, locals_size);
517
+ for (uint32_t index = 0; index < locals_size; index++) {
518
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_class_node_t *)node)->locals.ids[index]));
519
+ }
520
+ pm_serialize_location(parser, &((pm_class_node_t *)node)->class_keyword_loc, buffer);
521
+ pm_serialize_node(parser, (pm_node_t *)((pm_class_node_t *)node)->constant_path, buffer);
522
+ if (((pm_class_node_t *)node)->inheritance_operator_loc.start == NULL) {
523
+ pm_buffer_append_byte(buffer, 0);
524
+ } else {
525
+ pm_buffer_append_byte(buffer, 1);
526
+ pm_serialize_location(parser, &((pm_class_node_t *)node)->inheritance_operator_loc, buffer);
527
+ }
528
+ if (((pm_class_node_t *)node)->superclass == NULL) {
529
+ pm_buffer_append_byte(buffer, 0);
530
+ } else {
531
+ pm_serialize_node(parser, (pm_node_t *)((pm_class_node_t *)node)->superclass, buffer);
532
+ }
533
+ if (((pm_class_node_t *)node)->body == NULL) {
534
+ pm_buffer_append_byte(buffer, 0);
535
+ } else {
536
+ pm_serialize_node(parser, (pm_node_t *)((pm_class_node_t *)node)->body, buffer);
537
+ }
538
+ pm_serialize_location(parser, &((pm_class_node_t *)node)->end_keyword_loc, buffer);
539
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_class_node_t *)node)->name));
540
+ break;
541
+ }
542
+ case PM_CLASS_VARIABLE_AND_WRITE_NODE: {
543
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
544
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_class_variable_and_write_node_t *)node)->name));
545
+ pm_serialize_location(parser, &((pm_class_variable_and_write_node_t *)node)->name_loc, buffer);
546
+ pm_serialize_location(parser, &((pm_class_variable_and_write_node_t *)node)->operator_loc, buffer);
547
+ pm_serialize_node(parser, (pm_node_t *)((pm_class_variable_and_write_node_t *)node)->value, buffer);
548
+ break;
549
+ }
550
+ case PM_CLASS_VARIABLE_OPERATOR_WRITE_NODE: {
551
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
552
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_class_variable_operator_write_node_t *)node)->name));
553
+ pm_serialize_location(parser, &((pm_class_variable_operator_write_node_t *)node)->name_loc, buffer);
554
+ pm_serialize_location(parser, &((pm_class_variable_operator_write_node_t *)node)->binary_operator_loc, buffer);
555
+ pm_serialize_node(parser, (pm_node_t *)((pm_class_variable_operator_write_node_t *)node)->value, buffer);
556
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_class_variable_operator_write_node_t *)node)->binary_operator));
557
+ break;
558
+ }
559
+ case PM_CLASS_VARIABLE_OR_WRITE_NODE: {
560
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
561
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_class_variable_or_write_node_t *)node)->name));
562
+ pm_serialize_location(parser, &((pm_class_variable_or_write_node_t *)node)->name_loc, buffer);
563
+ pm_serialize_location(parser, &((pm_class_variable_or_write_node_t *)node)->operator_loc, buffer);
564
+ pm_serialize_node(parser, (pm_node_t *)((pm_class_variable_or_write_node_t *)node)->value, buffer);
565
+ break;
566
+ }
567
+ case PM_CLASS_VARIABLE_READ_NODE: {
568
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
569
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_class_variable_read_node_t *)node)->name));
570
+ break;
571
+ }
572
+ case PM_CLASS_VARIABLE_TARGET_NODE: {
573
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
574
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_class_variable_target_node_t *)node)->name));
575
+ break;
576
+ }
577
+ case PM_CLASS_VARIABLE_WRITE_NODE: {
578
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
579
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_class_variable_write_node_t *)node)->name));
580
+ pm_serialize_location(parser, &((pm_class_variable_write_node_t *)node)->name_loc, buffer);
581
+ pm_serialize_node(parser, (pm_node_t *)((pm_class_variable_write_node_t *)node)->value, buffer);
582
+ pm_serialize_location(parser, &((pm_class_variable_write_node_t *)node)->operator_loc, buffer);
583
+ break;
584
+ }
585
+ case PM_CONSTANT_AND_WRITE_NODE: {
586
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
587
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_constant_and_write_node_t *)node)->name));
588
+ pm_serialize_location(parser, &((pm_constant_and_write_node_t *)node)->name_loc, buffer);
589
+ pm_serialize_location(parser, &((pm_constant_and_write_node_t *)node)->operator_loc, buffer);
590
+ pm_serialize_node(parser, (pm_node_t *)((pm_constant_and_write_node_t *)node)->value, buffer);
591
+ break;
592
+ }
593
+ case PM_CONSTANT_OPERATOR_WRITE_NODE: {
594
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
595
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_constant_operator_write_node_t *)node)->name));
596
+ pm_serialize_location(parser, &((pm_constant_operator_write_node_t *)node)->name_loc, buffer);
597
+ pm_serialize_location(parser, &((pm_constant_operator_write_node_t *)node)->binary_operator_loc, buffer);
598
+ pm_serialize_node(parser, (pm_node_t *)((pm_constant_operator_write_node_t *)node)->value, buffer);
599
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_constant_operator_write_node_t *)node)->binary_operator));
600
+ break;
601
+ }
602
+ case PM_CONSTANT_OR_WRITE_NODE: {
603
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
604
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_constant_or_write_node_t *)node)->name));
605
+ pm_serialize_location(parser, &((pm_constant_or_write_node_t *)node)->name_loc, buffer);
606
+ pm_serialize_location(parser, &((pm_constant_or_write_node_t *)node)->operator_loc, buffer);
607
+ pm_serialize_node(parser, (pm_node_t *)((pm_constant_or_write_node_t *)node)->value, buffer);
608
+ break;
609
+ }
610
+ case PM_CONSTANT_PATH_AND_WRITE_NODE: {
611
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
612
+ pm_serialize_node(parser, (pm_node_t *)((pm_constant_path_and_write_node_t *)node)->target, buffer);
613
+ pm_serialize_location(parser, &((pm_constant_path_and_write_node_t *)node)->operator_loc, buffer);
614
+ pm_serialize_node(parser, (pm_node_t *)((pm_constant_path_and_write_node_t *)node)->value, buffer);
615
+ break;
616
+ }
617
+ case PM_CONSTANT_PATH_NODE: {
618
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
619
+ if (((pm_constant_path_node_t *)node)->parent == NULL) {
620
+ pm_buffer_append_byte(buffer, 0);
621
+ } else {
622
+ pm_serialize_node(parser, (pm_node_t *)((pm_constant_path_node_t *)node)->parent, buffer);
623
+ }
624
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_constant_path_node_t *)node)->name));
625
+ pm_serialize_location(parser, &((pm_constant_path_node_t *)node)->delimiter_loc, buffer);
626
+ pm_serialize_location(parser, &((pm_constant_path_node_t *)node)->name_loc, buffer);
627
+ break;
628
+ }
629
+ case PM_CONSTANT_PATH_OPERATOR_WRITE_NODE: {
630
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
631
+ pm_serialize_node(parser, (pm_node_t *)((pm_constant_path_operator_write_node_t *)node)->target, buffer);
632
+ pm_serialize_location(parser, &((pm_constant_path_operator_write_node_t *)node)->binary_operator_loc, buffer);
633
+ pm_serialize_node(parser, (pm_node_t *)((pm_constant_path_operator_write_node_t *)node)->value, buffer);
634
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_constant_path_operator_write_node_t *)node)->binary_operator));
635
+ break;
636
+ }
637
+ case PM_CONSTANT_PATH_OR_WRITE_NODE: {
638
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
639
+ pm_serialize_node(parser, (pm_node_t *)((pm_constant_path_or_write_node_t *)node)->target, buffer);
640
+ pm_serialize_location(parser, &((pm_constant_path_or_write_node_t *)node)->operator_loc, buffer);
641
+ pm_serialize_node(parser, (pm_node_t *)((pm_constant_path_or_write_node_t *)node)->value, buffer);
642
+ break;
643
+ }
644
+ case PM_CONSTANT_PATH_TARGET_NODE: {
645
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
646
+ if (((pm_constant_path_target_node_t *)node)->parent == NULL) {
647
+ pm_buffer_append_byte(buffer, 0);
648
+ } else {
649
+ pm_serialize_node(parser, (pm_node_t *)((pm_constant_path_target_node_t *)node)->parent, buffer);
650
+ }
651
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_constant_path_target_node_t *)node)->name));
652
+ pm_serialize_location(parser, &((pm_constant_path_target_node_t *)node)->delimiter_loc, buffer);
653
+ pm_serialize_location(parser, &((pm_constant_path_target_node_t *)node)->name_loc, buffer);
654
+ break;
655
+ }
656
+ case PM_CONSTANT_PATH_WRITE_NODE: {
657
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
658
+ pm_serialize_node(parser, (pm_node_t *)((pm_constant_path_write_node_t *)node)->target, buffer);
659
+ pm_serialize_location(parser, &((pm_constant_path_write_node_t *)node)->operator_loc, buffer);
660
+ pm_serialize_node(parser, (pm_node_t *)((pm_constant_path_write_node_t *)node)->value, buffer);
661
+ break;
662
+ }
663
+ case PM_CONSTANT_READ_NODE: {
664
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
665
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_constant_read_node_t *)node)->name));
666
+ break;
667
+ }
668
+ case PM_CONSTANT_TARGET_NODE: {
669
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
670
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_constant_target_node_t *)node)->name));
671
+ break;
672
+ }
673
+ case PM_CONSTANT_WRITE_NODE: {
674
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
675
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_constant_write_node_t *)node)->name));
676
+ pm_serialize_location(parser, &((pm_constant_write_node_t *)node)->name_loc, buffer);
677
+ pm_serialize_node(parser, (pm_node_t *)((pm_constant_write_node_t *)node)->value, buffer);
678
+ pm_serialize_location(parser, &((pm_constant_write_node_t *)node)->operator_loc, buffer);
679
+ break;
680
+ }
681
+ case PM_DEF_NODE: {
682
+ // serialize length
683
+ // encoding of location u32s make us need to save this offset.
684
+ size_t length_offset = buffer->length;
685
+ pm_buffer_append_string(buffer, "\0\0\0\0", 4); /* consume 4 bytes, updated below */
686
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
687
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_def_node_t *)node)->name));
688
+ pm_serialize_location(parser, &((pm_def_node_t *)node)->name_loc, buffer);
689
+ if (((pm_def_node_t *)node)->receiver == NULL) {
690
+ pm_buffer_append_byte(buffer, 0);
691
+ } else {
692
+ pm_serialize_node(parser, (pm_node_t *)((pm_def_node_t *)node)->receiver, buffer);
693
+ }
694
+ if (((pm_def_node_t *)node)->parameters == NULL) {
695
+ pm_buffer_append_byte(buffer, 0);
696
+ } else {
697
+ pm_serialize_node(parser, (pm_node_t *)((pm_def_node_t *)node)->parameters, buffer);
698
+ }
699
+ if (((pm_def_node_t *)node)->body == NULL) {
700
+ pm_buffer_append_byte(buffer, 0);
701
+ } else {
702
+ pm_serialize_node(parser, (pm_node_t *)((pm_def_node_t *)node)->body, buffer);
703
+ }
704
+ uint32_t locals_size = pm_sizet_to_u32(((pm_def_node_t *)node)->locals.size);
705
+ pm_buffer_append_varuint(buffer, locals_size);
706
+ for (uint32_t index = 0; index < locals_size; index++) {
707
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_def_node_t *)node)->locals.ids[index]));
708
+ }
709
+ pm_serialize_location(parser, &((pm_def_node_t *)node)->def_keyword_loc, buffer);
710
+ if (((pm_def_node_t *)node)->operator_loc.start == NULL) {
711
+ pm_buffer_append_byte(buffer, 0);
712
+ } else {
713
+ pm_buffer_append_byte(buffer, 1);
714
+ pm_serialize_location(parser, &((pm_def_node_t *)node)->operator_loc, buffer);
715
+ }
716
+ if (((pm_def_node_t *)node)->lparen_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)->lparen_loc, buffer);
721
+ }
722
+ if (((pm_def_node_t *)node)->rparen_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)->rparen_loc, buffer);
727
+ }
728
+ if (((pm_def_node_t *)node)->equal_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)->equal_loc, buffer);
733
+ }
734
+ if (((pm_def_node_t *)node)->end_keyword_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)->end_keyword_loc, buffer);
739
+ }
740
+ // serialize length
741
+ uint32_t length = pm_sizet_to_u32(buffer->length - offset - sizeof(uint32_t));
742
+ memcpy(buffer->value + length_offset, &length, sizeof(uint32_t));
743
+ break;
744
+ }
745
+ case PM_DEFINED_NODE: {
746
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
747
+ if (((pm_defined_node_t *)node)->lparen_loc.start == NULL) {
748
+ pm_buffer_append_byte(buffer, 0);
749
+ } else {
750
+ pm_buffer_append_byte(buffer, 1);
751
+ pm_serialize_location(parser, &((pm_defined_node_t *)node)->lparen_loc, buffer);
752
+ }
753
+ pm_serialize_node(parser, (pm_node_t *)((pm_defined_node_t *)node)->value, buffer);
754
+ if (((pm_defined_node_t *)node)->rparen_loc.start == NULL) {
755
+ pm_buffer_append_byte(buffer, 0);
756
+ } else {
757
+ pm_buffer_append_byte(buffer, 1);
758
+ pm_serialize_location(parser, &((pm_defined_node_t *)node)->rparen_loc, buffer);
759
+ }
760
+ pm_serialize_location(parser, &((pm_defined_node_t *)node)->keyword_loc, buffer);
761
+ break;
762
+ }
763
+ case PM_ELSE_NODE: {
764
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
765
+ pm_serialize_location(parser, &((pm_else_node_t *)node)->else_keyword_loc, buffer);
766
+ if (((pm_else_node_t *)node)->statements == NULL) {
767
+ pm_buffer_append_byte(buffer, 0);
768
+ } else {
769
+ pm_serialize_node(parser, (pm_node_t *)((pm_else_node_t *)node)->statements, buffer);
770
+ }
771
+ if (((pm_else_node_t *)node)->end_keyword_loc.start == NULL) {
772
+ pm_buffer_append_byte(buffer, 0);
773
+ } else {
774
+ pm_buffer_append_byte(buffer, 1);
775
+ pm_serialize_location(parser, &((pm_else_node_t *)node)->end_keyword_loc, buffer);
776
+ }
777
+ break;
778
+ }
779
+ case PM_EMBEDDED_STATEMENTS_NODE: {
780
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
781
+ pm_serialize_location(parser, &((pm_embedded_statements_node_t *)node)->opening_loc, buffer);
782
+ if (((pm_embedded_statements_node_t *)node)->statements == NULL) {
783
+ pm_buffer_append_byte(buffer, 0);
784
+ } else {
785
+ pm_serialize_node(parser, (pm_node_t *)((pm_embedded_statements_node_t *)node)->statements, buffer);
786
+ }
787
+ pm_serialize_location(parser, &((pm_embedded_statements_node_t *)node)->closing_loc, buffer);
788
+ break;
789
+ }
790
+ case PM_EMBEDDED_VARIABLE_NODE: {
791
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
792
+ pm_serialize_location(parser, &((pm_embedded_variable_node_t *)node)->operator_loc, buffer);
793
+ pm_serialize_node(parser, (pm_node_t *)((pm_embedded_variable_node_t *)node)->variable, buffer);
794
+ break;
795
+ }
796
+ case PM_ENSURE_NODE: {
797
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
798
+ pm_serialize_location(parser, &((pm_ensure_node_t *)node)->ensure_keyword_loc, buffer);
799
+ if (((pm_ensure_node_t *)node)->statements == NULL) {
800
+ pm_buffer_append_byte(buffer, 0);
801
+ } else {
802
+ pm_serialize_node(parser, (pm_node_t *)((pm_ensure_node_t *)node)->statements, buffer);
803
+ }
804
+ pm_serialize_location(parser, &((pm_ensure_node_t *)node)->end_keyword_loc, buffer);
805
+ break;
806
+ }
807
+ case PM_FALSE_NODE: {
808
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
809
+ break;
810
+ }
811
+ case PM_FIND_PATTERN_NODE: {
812
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
813
+ if (((pm_find_pattern_node_t *)node)->constant == NULL) {
814
+ pm_buffer_append_byte(buffer, 0);
815
+ } else {
816
+ pm_serialize_node(parser, (pm_node_t *)((pm_find_pattern_node_t *)node)->constant, buffer);
817
+ }
818
+ pm_serialize_node(parser, (pm_node_t *)((pm_find_pattern_node_t *)node)->left, buffer);
819
+ uint32_t requireds_size = pm_sizet_to_u32(((pm_find_pattern_node_t *)node)->requireds.size);
820
+ pm_buffer_append_varuint(buffer, requireds_size);
821
+ for (uint32_t index = 0; index < requireds_size; index++) {
822
+ pm_serialize_node(parser, (pm_node_t *) ((pm_find_pattern_node_t *)node)->requireds.nodes[index], buffer);
823
+ }
824
+ pm_serialize_node(parser, (pm_node_t *)((pm_find_pattern_node_t *)node)->right, buffer);
825
+ if (((pm_find_pattern_node_t *)node)->opening_loc.start == NULL) {
826
+ pm_buffer_append_byte(buffer, 0);
827
+ } else {
828
+ pm_buffer_append_byte(buffer, 1);
829
+ pm_serialize_location(parser, &((pm_find_pattern_node_t *)node)->opening_loc, buffer);
830
+ }
831
+ if (((pm_find_pattern_node_t *)node)->closing_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)->closing_loc, buffer);
836
+ }
837
+ break;
838
+ }
839
+ case PM_FLIP_FLOP_NODE: {
840
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
841
+ if (((pm_flip_flop_node_t *)node)->left == NULL) {
842
+ pm_buffer_append_byte(buffer, 0);
843
+ } else {
844
+ pm_serialize_node(parser, (pm_node_t *)((pm_flip_flop_node_t *)node)->left, buffer);
845
+ }
846
+ if (((pm_flip_flop_node_t *)node)->right == NULL) {
847
+ pm_buffer_append_byte(buffer, 0);
848
+ } else {
849
+ pm_serialize_node(parser, (pm_node_t *)((pm_flip_flop_node_t *)node)->right, buffer);
850
+ }
851
+ pm_serialize_location(parser, &((pm_flip_flop_node_t *)node)->operator_loc, buffer);
852
+ break;
853
+ }
854
+ case PM_FLOAT_NODE: {
855
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
856
+ pm_buffer_append_double(buffer, ((pm_float_node_t *)node)->value);
857
+ break;
858
+ }
859
+ case PM_FOR_NODE: {
860
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
861
+ pm_serialize_node(parser, (pm_node_t *)((pm_for_node_t *)node)->index, buffer);
862
+ pm_serialize_node(parser, (pm_node_t *)((pm_for_node_t *)node)->collection, buffer);
863
+ if (((pm_for_node_t *)node)->statements == NULL) {
864
+ pm_buffer_append_byte(buffer, 0);
865
+ } else {
866
+ pm_serialize_node(parser, (pm_node_t *)((pm_for_node_t *)node)->statements, buffer);
867
+ }
868
+ pm_serialize_location(parser, &((pm_for_node_t *)node)->for_keyword_loc, buffer);
869
+ pm_serialize_location(parser, &((pm_for_node_t *)node)->in_keyword_loc, buffer);
870
+ if (((pm_for_node_t *)node)->do_keyword_loc.start == NULL) {
871
+ pm_buffer_append_byte(buffer, 0);
872
+ } else {
873
+ pm_buffer_append_byte(buffer, 1);
874
+ pm_serialize_location(parser, &((pm_for_node_t *)node)->do_keyword_loc, buffer);
875
+ }
876
+ pm_serialize_location(parser, &((pm_for_node_t *)node)->end_keyword_loc, buffer);
877
+ break;
878
+ }
879
+ case PM_FORWARDING_ARGUMENTS_NODE: {
880
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
881
+ break;
882
+ }
883
+ case PM_FORWARDING_PARAMETER_NODE: {
884
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
885
+ break;
886
+ }
887
+ case PM_FORWARDING_SUPER_NODE: {
888
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
889
+ if (((pm_forwarding_super_node_t *)node)->block == NULL) {
890
+ pm_buffer_append_byte(buffer, 0);
891
+ } else {
892
+ pm_serialize_node(parser, (pm_node_t *)((pm_forwarding_super_node_t *)node)->block, buffer);
893
+ }
894
+ break;
895
+ }
896
+ case PM_GLOBAL_VARIABLE_AND_WRITE_NODE: {
897
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
898
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_global_variable_and_write_node_t *)node)->name));
899
+ pm_serialize_location(parser, &((pm_global_variable_and_write_node_t *)node)->name_loc, buffer);
900
+ pm_serialize_location(parser, &((pm_global_variable_and_write_node_t *)node)->operator_loc, buffer);
901
+ pm_serialize_node(parser, (pm_node_t *)((pm_global_variable_and_write_node_t *)node)->value, buffer);
902
+ break;
903
+ }
904
+ case PM_GLOBAL_VARIABLE_OPERATOR_WRITE_NODE: {
905
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
906
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_global_variable_operator_write_node_t *)node)->name));
907
+ pm_serialize_location(parser, &((pm_global_variable_operator_write_node_t *)node)->name_loc, buffer);
908
+ pm_serialize_location(parser, &((pm_global_variable_operator_write_node_t *)node)->binary_operator_loc, buffer);
909
+ pm_serialize_node(parser, (pm_node_t *)((pm_global_variable_operator_write_node_t *)node)->value, buffer);
910
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_global_variable_operator_write_node_t *)node)->binary_operator));
911
+ break;
912
+ }
913
+ case PM_GLOBAL_VARIABLE_OR_WRITE_NODE: {
914
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
915
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_global_variable_or_write_node_t *)node)->name));
916
+ pm_serialize_location(parser, &((pm_global_variable_or_write_node_t *)node)->name_loc, buffer);
917
+ pm_serialize_location(parser, &((pm_global_variable_or_write_node_t *)node)->operator_loc, buffer);
918
+ pm_serialize_node(parser, (pm_node_t *)((pm_global_variable_or_write_node_t *)node)->value, buffer);
919
+ break;
920
+ }
921
+ case PM_GLOBAL_VARIABLE_READ_NODE: {
922
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
923
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_global_variable_read_node_t *)node)->name));
924
+ break;
925
+ }
926
+ case PM_GLOBAL_VARIABLE_TARGET_NODE: {
927
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
928
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_global_variable_target_node_t *)node)->name));
929
+ break;
930
+ }
931
+ case PM_GLOBAL_VARIABLE_WRITE_NODE: {
932
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
933
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_global_variable_write_node_t *)node)->name));
934
+ pm_serialize_location(parser, &((pm_global_variable_write_node_t *)node)->name_loc, buffer);
935
+ pm_serialize_node(parser, (pm_node_t *)((pm_global_variable_write_node_t *)node)->value, buffer);
936
+ pm_serialize_location(parser, &((pm_global_variable_write_node_t *)node)->operator_loc, buffer);
937
+ break;
938
+ }
939
+ case PM_HASH_NODE: {
940
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
941
+ pm_serialize_location(parser, &((pm_hash_node_t *)node)->opening_loc, buffer);
942
+ uint32_t elements_size = pm_sizet_to_u32(((pm_hash_node_t *)node)->elements.size);
943
+ pm_buffer_append_varuint(buffer, elements_size);
944
+ for (uint32_t index = 0; index < elements_size; index++) {
945
+ pm_serialize_node(parser, (pm_node_t *) ((pm_hash_node_t *)node)->elements.nodes[index], buffer);
946
+ }
947
+ pm_serialize_location(parser, &((pm_hash_node_t *)node)->closing_loc, buffer);
948
+ break;
949
+ }
950
+ case PM_HASH_PATTERN_NODE: {
951
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
952
+ if (((pm_hash_pattern_node_t *)node)->constant == NULL) {
953
+ pm_buffer_append_byte(buffer, 0);
954
+ } else {
955
+ pm_serialize_node(parser, (pm_node_t *)((pm_hash_pattern_node_t *)node)->constant, buffer);
956
+ }
957
+ uint32_t elements_size = pm_sizet_to_u32(((pm_hash_pattern_node_t *)node)->elements.size);
958
+ pm_buffer_append_varuint(buffer, elements_size);
959
+ for (uint32_t index = 0; index < elements_size; index++) {
960
+ pm_serialize_node(parser, (pm_node_t *) ((pm_hash_pattern_node_t *)node)->elements.nodes[index], buffer);
961
+ }
962
+ if (((pm_hash_pattern_node_t *)node)->rest == NULL) {
963
+ pm_buffer_append_byte(buffer, 0);
964
+ } else {
965
+ pm_serialize_node(parser, (pm_node_t *)((pm_hash_pattern_node_t *)node)->rest, buffer);
966
+ }
967
+ if (((pm_hash_pattern_node_t *)node)->opening_loc.start == NULL) {
968
+ pm_buffer_append_byte(buffer, 0);
969
+ } else {
970
+ pm_buffer_append_byte(buffer, 1);
971
+ pm_serialize_location(parser, &((pm_hash_pattern_node_t *)node)->opening_loc, buffer);
972
+ }
973
+ if (((pm_hash_pattern_node_t *)node)->closing_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)->closing_loc, buffer);
978
+ }
979
+ break;
980
+ }
981
+ case PM_IF_NODE: {
982
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
983
+ if (((pm_if_node_t *)node)->if_keyword_loc.start == NULL) {
984
+ pm_buffer_append_byte(buffer, 0);
985
+ } else {
986
+ pm_buffer_append_byte(buffer, 1);
987
+ pm_serialize_location(parser, &((pm_if_node_t *)node)->if_keyword_loc, buffer);
988
+ }
989
+ pm_serialize_node(parser, (pm_node_t *)((pm_if_node_t *)node)->predicate, buffer);
990
+ if (((pm_if_node_t *)node)->then_keyword_loc.start == NULL) {
991
+ pm_buffer_append_byte(buffer, 0);
992
+ } else {
993
+ pm_buffer_append_byte(buffer, 1);
994
+ pm_serialize_location(parser, &((pm_if_node_t *)node)->then_keyword_loc, buffer);
995
+ }
996
+ if (((pm_if_node_t *)node)->statements == NULL) {
997
+ pm_buffer_append_byte(buffer, 0);
998
+ } else {
999
+ pm_serialize_node(parser, (pm_node_t *)((pm_if_node_t *)node)->statements, buffer);
1000
+ }
1001
+ if (((pm_if_node_t *)node)->subsequent == NULL) {
1002
+ pm_buffer_append_byte(buffer, 0);
1003
+ } else {
1004
+ pm_serialize_node(parser, (pm_node_t *)((pm_if_node_t *)node)->subsequent, buffer);
1005
+ }
1006
+ if (((pm_if_node_t *)node)->end_keyword_loc.start == NULL) {
1007
+ pm_buffer_append_byte(buffer, 0);
1008
+ } else {
1009
+ pm_buffer_append_byte(buffer, 1);
1010
+ pm_serialize_location(parser, &((pm_if_node_t *)node)->end_keyword_loc, buffer);
1011
+ }
1012
+ break;
1013
+ }
1014
+ case PM_IMAGINARY_NODE: {
1015
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1016
+ pm_serialize_node(parser, (pm_node_t *)((pm_imaginary_node_t *)node)->numeric, buffer);
1017
+ break;
1018
+ }
1019
+ case PM_IMPLICIT_NODE: {
1020
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1021
+ pm_serialize_node(parser, (pm_node_t *)((pm_implicit_node_t *)node)->value, buffer);
1022
+ break;
1023
+ }
1024
+ case PM_IMPLICIT_REST_NODE: {
1025
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1026
+ break;
1027
+ }
1028
+ case PM_IN_NODE: {
1029
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1030
+ pm_serialize_node(parser, (pm_node_t *)((pm_in_node_t *)node)->pattern, buffer);
1031
+ if (((pm_in_node_t *)node)->statements == NULL) {
1032
+ pm_buffer_append_byte(buffer, 0);
1033
+ } else {
1034
+ pm_serialize_node(parser, (pm_node_t *)((pm_in_node_t *)node)->statements, buffer);
1035
+ }
1036
+ pm_serialize_location(parser, &((pm_in_node_t *)node)->in_loc, buffer);
1037
+ if (((pm_in_node_t *)node)->then_loc.start == NULL) {
1038
+ pm_buffer_append_byte(buffer, 0);
1039
+ } else {
1040
+ pm_buffer_append_byte(buffer, 1);
1041
+ pm_serialize_location(parser, &((pm_in_node_t *)node)->then_loc, buffer);
1042
+ }
1043
+ break;
1044
+ }
1045
+ case PM_INDEX_AND_WRITE_NODE: {
1046
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1047
+ if (((pm_index_and_write_node_t *)node)->receiver == NULL) {
1048
+ pm_buffer_append_byte(buffer, 0);
1049
+ } else {
1050
+ pm_serialize_node(parser, (pm_node_t *)((pm_index_and_write_node_t *)node)->receiver, buffer);
1051
+ }
1052
+ if (((pm_index_and_write_node_t *)node)->call_operator_loc.start == NULL) {
1053
+ pm_buffer_append_byte(buffer, 0);
1054
+ } else {
1055
+ pm_buffer_append_byte(buffer, 1);
1056
+ pm_serialize_location(parser, &((pm_index_and_write_node_t *)node)->call_operator_loc, buffer);
1057
+ }
1058
+ pm_serialize_location(parser, &((pm_index_and_write_node_t *)node)->opening_loc, buffer);
1059
+ if (((pm_index_and_write_node_t *)node)->arguments == NULL) {
1060
+ pm_buffer_append_byte(buffer, 0);
1061
+ } else {
1062
+ pm_serialize_node(parser, (pm_node_t *)((pm_index_and_write_node_t *)node)->arguments, buffer);
1063
+ }
1064
+ pm_serialize_location(parser, &((pm_index_and_write_node_t *)node)->closing_loc, buffer);
1065
+ if (((pm_index_and_write_node_t *)node)->block == 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)->block, buffer);
1069
+ }
1070
+ pm_serialize_location(parser, &((pm_index_and_write_node_t *)node)->operator_loc, buffer);
1071
+ pm_serialize_node(parser, (pm_node_t *)((pm_index_and_write_node_t *)node)->value, buffer);
1072
+ break;
1073
+ }
1074
+ case PM_INDEX_OPERATOR_WRITE_NODE: {
1075
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1076
+ if (((pm_index_operator_write_node_t *)node)->receiver == NULL) {
1077
+ pm_buffer_append_byte(buffer, 0);
1078
+ } else {
1079
+ pm_serialize_node(parser, (pm_node_t *)((pm_index_operator_write_node_t *)node)->receiver, buffer);
1080
+ }
1081
+ if (((pm_index_operator_write_node_t *)node)->call_operator_loc.start == NULL) {
1082
+ pm_buffer_append_byte(buffer, 0);
1083
+ } else {
1084
+ pm_buffer_append_byte(buffer, 1);
1085
+ pm_serialize_location(parser, &((pm_index_operator_write_node_t *)node)->call_operator_loc, buffer);
1086
+ }
1087
+ pm_serialize_location(parser, &((pm_index_operator_write_node_t *)node)->opening_loc, buffer);
1088
+ if (((pm_index_operator_write_node_t *)node)->arguments == NULL) {
1089
+ pm_buffer_append_byte(buffer, 0);
1090
+ } else {
1091
+ pm_serialize_node(parser, (pm_node_t *)((pm_index_operator_write_node_t *)node)->arguments, buffer);
1092
+ }
1093
+ pm_serialize_location(parser, &((pm_index_operator_write_node_t *)node)->closing_loc, buffer);
1094
+ if (((pm_index_operator_write_node_t *)node)->block == 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)->block, buffer);
1098
+ }
1099
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_index_operator_write_node_t *)node)->binary_operator));
1100
+ pm_serialize_location(parser, &((pm_index_operator_write_node_t *)node)->binary_operator_loc, buffer);
1101
+ pm_serialize_node(parser, (pm_node_t *)((pm_index_operator_write_node_t *)node)->value, buffer);
1102
+ break;
1103
+ }
1104
+ case PM_INDEX_OR_WRITE_NODE: {
1105
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1106
+ if (((pm_index_or_write_node_t *)node)->receiver == NULL) {
1107
+ pm_buffer_append_byte(buffer, 0);
1108
+ } else {
1109
+ pm_serialize_node(parser, (pm_node_t *)((pm_index_or_write_node_t *)node)->receiver, buffer);
1110
+ }
1111
+ if (((pm_index_or_write_node_t *)node)->call_operator_loc.start == NULL) {
1112
+ pm_buffer_append_byte(buffer, 0);
1113
+ } else {
1114
+ pm_buffer_append_byte(buffer, 1);
1115
+ pm_serialize_location(parser, &((pm_index_or_write_node_t *)node)->call_operator_loc, buffer);
1116
+ }
1117
+ pm_serialize_location(parser, &((pm_index_or_write_node_t *)node)->opening_loc, buffer);
1118
+ if (((pm_index_or_write_node_t *)node)->arguments == NULL) {
1119
+ pm_buffer_append_byte(buffer, 0);
1120
+ } else {
1121
+ pm_serialize_node(parser, (pm_node_t *)((pm_index_or_write_node_t *)node)->arguments, buffer);
1122
+ }
1123
+ pm_serialize_location(parser, &((pm_index_or_write_node_t *)node)->closing_loc, buffer);
1124
+ if (((pm_index_or_write_node_t *)node)->block == 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)->block, buffer);
1128
+ }
1129
+ pm_serialize_location(parser, &((pm_index_or_write_node_t *)node)->operator_loc, buffer);
1130
+ pm_serialize_node(parser, (pm_node_t *)((pm_index_or_write_node_t *)node)->value, buffer);
1131
+ break;
1132
+ }
1133
+ case PM_INDEX_TARGET_NODE: {
1134
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1135
+ pm_serialize_node(parser, (pm_node_t *)((pm_index_target_node_t *)node)->receiver, buffer);
1136
+ pm_serialize_location(parser, &((pm_index_target_node_t *)node)->opening_loc, buffer);
1137
+ if (((pm_index_target_node_t *)node)->arguments == NULL) {
1138
+ pm_buffer_append_byte(buffer, 0);
1139
+ } else {
1140
+ pm_serialize_node(parser, (pm_node_t *)((pm_index_target_node_t *)node)->arguments, buffer);
1141
+ }
1142
+ pm_serialize_location(parser, &((pm_index_target_node_t *)node)->closing_loc, buffer);
1143
+ if (((pm_index_target_node_t *)node)->block == NULL) {
1144
+ pm_buffer_append_byte(buffer, 0);
1145
+ } else {
1146
+ pm_serialize_node(parser, (pm_node_t *)((pm_index_target_node_t *)node)->block, buffer);
1147
+ }
1148
+ break;
1149
+ }
1150
+ case PM_INSTANCE_VARIABLE_AND_WRITE_NODE: {
1151
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1152
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_instance_variable_and_write_node_t *)node)->name));
1153
+ pm_serialize_location(parser, &((pm_instance_variable_and_write_node_t *)node)->name_loc, buffer);
1154
+ pm_serialize_location(parser, &((pm_instance_variable_and_write_node_t *)node)->operator_loc, buffer);
1155
+ pm_serialize_node(parser, (pm_node_t *)((pm_instance_variable_and_write_node_t *)node)->value, buffer);
1156
+ break;
1157
+ }
1158
+ case PM_INSTANCE_VARIABLE_OPERATOR_WRITE_NODE: {
1159
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1160
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_instance_variable_operator_write_node_t *)node)->name));
1161
+ pm_serialize_location(parser, &((pm_instance_variable_operator_write_node_t *)node)->name_loc, buffer);
1162
+ pm_serialize_location(parser, &((pm_instance_variable_operator_write_node_t *)node)->binary_operator_loc, buffer);
1163
+ pm_serialize_node(parser, (pm_node_t *)((pm_instance_variable_operator_write_node_t *)node)->value, buffer);
1164
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_instance_variable_operator_write_node_t *)node)->binary_operator));
1165
+ break;
1166
+ }
1167
+ case PM_INSTANCE_VARIABLE_OR_WRITE_NODE: {
1168
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1169
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_instance_variable_or_write_node_t *)node)->name));
1170
+ pm_serialize_location(parser, &((pm_instance_variable_or_write_node_t *)node)->name_loc, buffer);
1171
+ pm_serialize_location(parser, &((pm_instance_variable_or_write_node_t *)node)->operator_loc, buffer);
1172
+ pm_serialize_node(parser, (pm_node_t *)((pm_instance_variable_or_write_node_t *)node)->value, buffer);
1173
+ break;
1174
+ }
1175
+ case PM_INSTANCE_VARIABLE_READ_NODE: {
1176
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1177
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_instance_variable_read_node_t *)node)->name));
1178
+ break;
1179
+ }
1180
+ case PM_INSTANCE_VARIABLE_TARGET_NODE: {
1181
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1182
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_instance_variable_target_node_t *)node)->name));
1183
+ break;
1184
+ }
1185
+ case PM_INSTANCE_VARIABLE_WRITE_NODE: {
1186
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1187
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_instance_variable_write_node_t *)node)->name));
1188
+ pm_serialize_location(parser, &((pm_instance_variable_write_node_t *)node)->name_loc, buffer);
1189
+ pm_serialize_node(parser, (pm_node_t *)((pm_instance_variable_write_node_t *)node)->value, buffer);
1190
+ pm_serialize_location(parser, &((pm_instance_variable_write_node_t *)node)->operator_loc, buffer);
1191
+ break;
1192
+ }
1193
+ case PM_INTEGER_NODE: {
1194
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1195
+ pm_serialize_integer(&((pm_integer_node_t *)node)->value, buffer);
1196
+ break;
1197
+ }
1198
+ case PM_INTERPOLATED_MATCH_LAST_LINE_NODE: {
1199
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1200
+ pm_serialize_location(parser, &((pm_interpolated_match_last_line_node_t *)node)->opening_loc, buffer);
1201
+ uint32_t parts_size = pm_sizet_to_u32(((pm_interpolated_match_last_line_node_t *)node)->parts.size);
1202
+ pm_buffer_append_varuint(buffer, parts_size);
1203
+ for (uint32_t index = 0; index < parts_size; index++) {
1204
+ pm_serialize_node(parser, (pm_node_t *) ((pm_interpolated_match_last_line_node_t *)node)->parts.nodes[index], buffer);
1205
+ }
1206
+ pm_serialize_location(parser, &((pm_interpolated_match_last_line_node_t *)node)->closing_loc, buffer);
1207
+ break;
1208
+ }
1209
+ case PM_INTERPOLATED_REGULAR_EXPRESSION_NODE: {
1210
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1211
+ pm_serialize_location(parser, &((pm_interpolated_regular_expression_node_t *)node)->opening_loc, buffer);
1212
+ uint32_t parts_size = pm_sizet_to_u32(((pm_interpolated_regular_expression_node_t *)node)->parts.size);
1213
+ pm_buffer_append_varuint(buffer, parts_size);
1214
+ for (uint32_t index = 0; index < parts_size; index++) {
1215
+ pm_serialize_node(parser, (pm_node_t *) ((pm_interpolated_regular_expression_node_t *)node)->parts.nodes[index], buffer);
1216
+ }
1217
+ pm_serialize_location(parser, &((pm_interpolated_regular_expression_node_t *)node)->closing_loc, buffer);
1218
+ break;
1219
+ }
1220
+ case PM_INTERPOLATED_STRING_NODE: {
1221
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1222
+ if (((pm_interpolated_string_node_t *)node)->opening_loc.start == NULL) {
1223
+ pm_buffer_append_byte(buffer, 0);
1224
+ } else {
1225
+ pm_buffer_append_byte(buffer, 1);
1226
+ pm_serialize_location(parser, &((pm_interpolated_string_node_t *)node)->opening_loc, buffer);
1227
+ }
1228
+ uint32_t parts_size = pm_sizet_to_u32(((pm_interpolated_string_node_t *)node)->parts.size);
1229
+ pm_buffer_append_varuint(buffer, parts_size);
1230
+ for (uint32_t index = 0; index < parts_size; index++) {
1231
+ pm_serialize_node(parser, (pm_node_t *) ((pm_interpolated_string_node_t *)node)->parts.nodes[index], buffer);
1232
+ }
1233
+ if (((pm_interpolated_string_node_t *)node)->closing_loc.start == NULL) {
1234
+ pm_buffer_append_byte(buffer, 0);
1235
+ } else {
1236
+ pm_buffer_append_byte(buffer, 1);
1237
+ pm_serialize_location(parser, &((pm_interpolated_string_node_t *)node)->closing_loc, buffer);
1238
+ }
1239
+ break;
1240
+ }
1241
+ case PM_INTERPOLATED_SYMBOL_NODE: {
1242
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1243
+ if (((pm_interpolated_symbol_node_t *)node)->opening_loc.start == NULL) {
1244
+ pm_buffer_append_byte(buffer, 0);
1245
+ } else {
1246
+ pm_buffer_append_byte(buffer, 1);
1247
+ pm_serialize_location(parser, &((pm_interpolated_symbol_node_t *)node)->opening_loc, buffer);
1248
+ }
1249
+ uint32_t parts_size = pm_sizet_to_u32(((pm_interpolated_symbol_node_t *)node)->parts.size);
1250
+ pm_buffer_append_varuint(buffer, parts_size);
1251
+ for (uint32_t index = 0; index < parts_size; index++) {
1252
+ pm_serialize_node(parser, (pm_node_t *) ((pm_interpolated_symbol_node_t *)node)->parts.nodes[index], buffer);
1253
+ }
1254
+ if (((pm_interpolated_symbol_node_t *)node)->closing_loc.start == NULL) {
1255
+ pm_buffer_append_byte(buffer, 0);
1256
+ } else {
1257
+ pm_buffer_append_byte(buffer, 1);
1258
+ pm_serialize_location(parser, &((pm_interpolated_symbol_node_t *)node)->closing_loc, buffer);
1259
+ }
1260
+ break;
1261
+ }
1262
+ case PM_INTERPOLATED_X_STRING_NODE: {
1263
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1264
+ pm_serialize_location(parser, &((pm_interpolated_x_string_node_t *)node)->opening_loc, buffer);
1265
+ uint32_t parts_size = pm_sizet_to_u32(((pm_interpolated_x_string_node_t *)node)->parts.size);
1266
+ pm_buffer_append_varuint(buffer, parts_size);
1267
+ for (uint32_t index = 0; index < parts_size; index++) {
1268
+ pm_serialize_node(parser, (pm_node_t *) ((pm_interpolated_x_string_node_t *)node)->parts.nodes[index], buffer);
1269
+ }
1270
+ pm_serialize_location(parser, &((pm_interpolated_x_string_node_t *)node)->closing_loc, buffer);
1271
+ break;
1272
+ }
1273
+ case PM_IT_LOCAL_VARIABLE_READ_NODE: {
1274
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1275
+ break;
1276
+ }
1277
+ case PM_IT_PARAMETERS_NODE: {
1278
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1279
+ break;
1280
+ }
1281
+ case PM_KEYWORD_HASH_NODE: {
1282
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1283
+ uint32_t elements_size = pm_sizet_to_u32(((pm_keyword_hash_node_t *)node)->elements.size);
1284
+ pm_buffer_append_varuint(buffer, elements_size);
1285
+ for (uint32_t index = 0; index < elements_size; index++) {
1286
+ pm_serialize_node(parser, (pm_node_t *) ((pm_keyword_hash_node_t *)node)->elements.nodes[index], buffer);
1287
+ }
1288
+ break;
1289
+ }
1290
+ case PM_KEYWORD_REST_PARAMETER_NODE: {
1291
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1292
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_keyword_rest_parameter_node_t *)node)->name));
1293
+ if (((pm_keyword_rest_parameter_node_t *)node)->name_loc.start == NULL) {
1294
+ pm_buffer_append_byte(buffer, 0);
1295
+ } else {
1296
+ pm_buffer_append_byte(buffer, 1);
1297
+ pm_serialize_location(parser, &((pm_keyword_rest_parameter_node_t *)node)->name_loc, buffer);
1298
+ }
1299
+ pm_serialize_location(parser, &((pm_keyword_rest_parameter_node_t *)node)->operator_loc, buffer);
1300
+ break;
1301
+ }
1302
+ case PM_LAMBDA_NODE: {
1303
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1304
+ uint32_t locals_size = pm_sizet_to_u32(((pm_lambda_node_t *)node)->locals.size);
1305
+ pm_buffer_append_varuint(buffer, locals_size);
1306
+ for (uint32_t index = 0; index < locals_size; index++) {
1307
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_lambda_node_t *)node)->locals.ids[index]));
1308
+ }
1309
+ pm_serialize_location(parser, &((pm_lambda_node_t *)node)->operator_loc, buffer);
1310
+ pm_serialize_location(parser, &((pm_lambda_node_t *)node)->opening_loc, buffer);
1311
+ pm_serialize_location(parser, &((pm_lambda_node_t *)node)->closing_loc, buffer);
1312
+ if (((pm_lambda_node_t *)node)->parameters == NULL) {
1313
+ pm_buffer_append_byte(buffer, 0);
1314
+ } else {
1315
+ pm_serialize_node(parser, (pm_node_t *)((pm_lambda_node_t *)node)->parameters, buffer);
1316
+ }
1317
+ if (((pm_lambda_node_t *)node)->body == NULL) {
1318
+ pm_buffer_append_byte(buffer, 0);
1319
+ } else {
1320
+ pm_serialize_node(parser, (pm_node_t *)((pm_lambda_node_t *)node)->body, buffer);
1321
+ }
1322
+ break;
1323
+ }
1324
+ case PM_LOCAL_VARIABLE_AND_WRITE_NODE: {
1325
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1326
+ pm_serialize_location(parser, &((pm_local_variable_and_write_node_t *)node)->name_loc, buffer);
1327
+ pm_serialize_location(parser, &((pm_local_variable_and_write_node_t *)node)->operator_loc, buffer);
1328
+ pm_serialize_node(parser, (pm_node_t *)((pm_local_variable_and_write_node_t *)node)->value, buffer);
1329
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_local_variable_and_write_node_t *)node)->name));
1330
+ pm_buffer_append_varuint(buffer, ((pm_local_variable_and_write_node_t *)node)->depth);
1331
+ break;
1332
+ }
1333
+ case PM_LOCAL_VARIABLE_OPERATOR_WRITE_NODE: {
1334
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1335
+ pm_serialize_location(parser, &((pm_local_variable_operator_write_node_t *)node)->name_loc, buffer);
1336
+ pm_serialize_location(parser, &((pm_local_variable_operator_write_node_t *)node)->binary_operator_loc, buffer);
1337
+ pm_serialize_node(parser, (pm_node_t *)((pm_local_variable_operator_write_node_t *)node)->value, buffer);
1338
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_local_variable_operator_write_node_t *)node)->name));
1339
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_local_variable_operator_write_node_t *)node)->binary_operator));
1340
+ pm_buffer_append_varuint(buffer, ((pm_local_variable_operator_write_node_t *)node)->depth);
1341
+ break;
1342
+ }
1343
+ case PM_LOCAL_VARIABLE_OR_WRITE_NODE: {
1344
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1345
+ pm_serialize_location(parser, &((pm_local_variable_or_write_node_t *)node)->name_loc, buffer);
1346
+ pm_serialize_location(parser, &((pm_local_variable_or_write_node_t *)node)->operator_loc, buffer);
1347
+ pm_serialize_node(parser, (pm_node_t *)((pm_local_variable_or_write_node_t *)node)->value, buffer);
1348
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_local_variable_or_write_node_t *)node)->name));
1349
+ pm_buffer_append_varuint(buffer, ((pm_local_variable_or_write_node_t *)node)->depth);
1350
+ break;
1351
+ }
1352
+ case PM_LOCAL_VARIABLE_READ_NODE: {
1353
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1354
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_local_variable_read_node_t *)node)->name));
1355
+ pm_buffer_append_varuint(buffer, ((pm_local_variable_read_node_t *)node)->depth);
1356
+ break;
1357
+ }
1358
+ case PM_LOCAL_VARIABLE_TARGET_NODE: {
1359
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1360
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_local_variable_target_node_t *)node)->name));
1361
+ pm_buffer_append_varuint(buffer, ((pm_local_variable_target_node_t *)node)->depth);
1362
+ break;
1363
+ }
1364
+ case PM_LOCAL_VARIABLE_WRITE_NODE: {
1365
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1366
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_local_variable_write_node_t *)node)->name));
1367
+ pm_buffer_append_varuint(buffer, ((pm_local_variable_write_node_t *)node)->depth);
1368
+ pm_serialize_location(parser, &((pm_local_variable_write_node_t *)node)->name_loc, buffer);
1369
+ pm_serialize_node(parser, (pm_node_t *)((pm_local_variable_write_node_t *)node)->value, buffer);
1370
+ pm_serialize_location(parser, &((pm_local_variable_write_node_t *)node)->operator_loc, buffer);
1371
+ break;
1372
+ }
1373
+ case PM_MATCH_LAST_LINE_NODE: {
1374
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1375
+ pm_serialize_location(parser, &((pm_match_last_line_node_t *)node)->opening_loc, buffer);
1376
+ pm_serialize_location(parser, &((pm_match_last_line_node_t *)node)->content_loc, buffer);
1377
+ pm_serialize_location(parser, &((pm_match_last_line_node_t *)node)->closing_loc, buffer);
1378
+ pm_serialize_string(parser, &((pm_match_last_line_node_t *)node)->unescaped, buffer);
1379
+ break;
1380
+ }
1381
+ case PM_MATCH_PREDICATE_NODE: {
1382
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1383
+ pm_serialize_node(parser, (pm_node_t *)((pm_match_predicate_node_t *)node)->value, buffer);
1384
+ pm_serialize_node(parser, (pm_node_t *)((pm_match_predicate_node_t *)node)->pattern, buffer);
1385
+ pm_serialize_location(parser, &((pm_match_predicate_node_t *)node)->operator_loc, buffer);
1386
+ break;
1387
+ }
1388
+ case PM_MATCH_REQUIRED_NODE: {
1389
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1390
+ pm_serialize_node(parser, (pm_node_t *)((pm_match_required_node_t *)node)->value, buffer);
1391
+ pm_serialize_node(parser, (pm_node_t *)((pm_match_required_node_t *)node)->pattern, buffer);
1392
+ pm_serialize_location(parser, &((pm_match_required_node_t *)node)->operator_loc, buffer);
1393
+ break;
1394
+ }
1395
+ case PM_MATCH_WRITE_NODE: {
1396
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1397
+ pm_serialize_node(parser, (pm_node_t *)((pm_match_write_node_t *)node)->call, buffer);
1398
+ uint32_t targets_size = pm_sizet_to_u32(((pm_match_write_node_t *)node)->targets.size);
1399
+ pm_buffer_append_varuint(buffer, targets_size);
1400
+ for (uint32_t index = 0; index < targets_size; index++) {
1401
+ pm_serialize_node(parser, (pm_node_t *) ((pm_match_write_node_t *)node)->targets.nodes[index], buffer);
1402
+ }
1403
+ break;
1404
+ }
1405
+ case PM_MISSING_NODE: {
1406
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1407
+ break;
1408
+ }
1409
+ case PM_MODULE_NODE: {
1410
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1411
+ uint32_t locals_size = pm_sizet_to_u32(((pm_module_node_t *)node)->locals.size);
1412
+ pm_buffer_append_varuint(buffer, locals_size);
1413
+ for (uint32_t index = 0; index < locals_size; index++) {
1414
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_module_node_t *)node)->locals.ids[index]));
1415
+ }
1416
+ pm_serialize_location(parser, &((pm_module_node_t *)node)->module_keyword_loc, buffer);
1417
+ pm_serialize_node(parser, (pm_node_t *)((pm_module_node_t *)node)->constant_path, buffer);
1418
+ if (((pm_module_node_t *)node)->body == NULL) {
1419
+ pm_buffer_append_byte(buffer, 0);
1420
+ } else {
1421
+ pm_serialize_node(parser, (pm_node_t *)((pm_module_node_t *)node)->body, buffer);
1422
+ }
1423
+ pm_serialize_location(parser, &((pm_module_node_t *)node)->end_keyword_loc, buffer);
1424
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_module_node_t *)node)->name));
1425
+ break;
1426
+ }
1427
+ case PM_MULTI_TARGET_NODE: {
1428
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1429
+ uint32_t lefts_size = pm_sizet_to_u32(((pm_multi_target_node_t *)node)->lefts.size);
1430
+ pm_buffer_append_varuint(buffer, lefts_size);
1431
+ for (uint32_t index = 0; index < lefts_size; index++) {
1432
+ pm_serialize_node(parser, (pm_node_t *) ((pm_multi_target_node_t *)node)->lefts.nodes[index], buffer);
1433
+ }
1434
+ if (((pm_multi_target_node_t *)node)->rest == NULL) {
1435
+ pm_buffer_append_byte(buffer, 0);
1436
+ } else {
1437
+ pm_serialize_node(parser, (pm_node_t *)((pm_multi_target_node_t *)node)->rest, buffer);
1438
+ }
1439
+ uint32_t rights_size = pm_sizet_to_u32(((pm_multi_target_node_t *)node)->rights.size);
1440
+ pm_buffer_append_varuint(buffer, rights_size);
1441
+ for (uint32_t index = 0; index < rights_size; index++) {
1442
+ pm_serialize_node(parser, (pm_node_t *) ((pm_multi_target_node_t *)node)->rights.nodes[index], buffer);
1443
+ }
1444
+ if (((pm_multi_target_node_t *)node)->lparen_loc.start == NULL) {
1445
+ pm_buffer_append_byte(buffer, 0);
1446
+ } else {
1447
+ pm_buffer_append_byte(buffer, 1);
1448
+ pm_serialize_location(parser, &((pm_multi_target_node_t *)node)->lparen_loc, buffer);
1449
+ }
1450
+ if (((pm_multi_target_node_t *)node)->rparen_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)->rparen_loc, buffer);
1455
+ }
1456
+ break;
1457
+ }
1458
+ case PM_MULTI_WRITE_NODE: {
1459
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1460
+ uint32_t lefts_size = pm_sizet_to_u32(((pm_multi_write_node_t *)node)->lefts.size);
1461
+ pm_buffer_append_varuint(buffer, lefts_size);
1462
+ for (uint32_t index = 0; index < lefts_size; index++) {
1463
+ pm_serialize_node(parser, (pm_node_t *) ((pm_multi_write_node_t *)node)->lefts.nodes[index], buffer);
1464
+ }
1465
+ if (((pm_multi_write_node_t *)node)->rest == NULL) {
1466
+ pm_buffer_append_byte(buffer, 0);
1467
+ } else {
1468
+ pm_serialize_node(parser, (pm_node_t *)((pm_multi_write_node_t *)node)->rest, buffer);
1469
+ }
1470
+ uint32_t rights_size = pm_sizet_to_u32(((pm_multi_write_node_t *)node)->rights.size);
1471
+ pm_buffer_append_varuint(buffer, rights_size);
1472
+ for (uint32_t index = 0; index < rights_size; index++) {
1473
+ pm_serialize_node(parser, (pm_node_t *) ((pm_multi_write_node_t *)node)->rights.nodes[index], buffer);
1474
+ }
1475
+ if (((pm_multi_write_node_t *)node)->lparen_loc.start == NULL) {
1476
+ pm_buffer_append_byte(buffer, 0);
1477
+ } else {
1478
+ pm_buffer_append_byte(buffer, 1);
1479
+ pm_serialize_location(parser, &((pm_multi_write_node_t *)node)->lparen_loc, buffer);
1480
+ }
1481
+ if (((pm_multi_write_node_t *)node)->rparen_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)->rparen_loc, buffer);
1486
+ }
1487
+ pm_serialize_location(parser, &((pm_multi_write_node_t *)node)->operator_loc, buffer);
1488
+ pm_serialize_node(parser, (pm_node_t *)((pm_multi_write_node_t *)node)->value, buffer);
1489
+ break;
1490
+ }
1491
+ case PM_NEXT_NODE: {
1492
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1493
+ if (((pm_next_node_t *)node)->arguments == NULL) {
1494
+ pm_buffer_append_byte(buffer, 0);
1495
+ } else {
1496
+ pm_serialize_node(parser, (pm_node_t *)((pm_next_node_t *)node)->arguments, buffer);
1497
+ }
1498
+ pm_serialize_location(parser, &((pm_next_node_t *)node)->keyword_loc, buffer);
1499
+ break;
1500
+ }
1501
+ case PM_NIL_NODE: {
1502
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1503
+ break;
1504
+ }
1505
+ case PM_NO_KEYWORDS_PARAMETER_NODE: {
1506
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1507
+ pm_serialize_location(parser, &((pm_no_keywords_parameter_node_t *)node)->operator_loc, buffer);
1508
+ pm_serialize_location(parser, &((pm_no_keywords_parameter_node_t *)node)->keyword_loc, buffer);
1509
+ break;
1510
+ }
1511
+ case PM_NUMBERED_PARAMETERS_NODE: {
1512
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1513
+ pm_buffer_append_byte(buffer, ((pm_numbered_parameters_node_t *)node)->maximum);
1514
+ break;
1515
+ }
1516
+ case PM_NUMBERED_REFERENCE_READ_NODE: {
1517
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1518
+ pm_buffer_append_varuint(buffer, ((pm_numbered_reference_read_node_t *)node)->number);
1519
+ break;
1520
+ }
1521
+ case PM_OPTIONAL_KEYWORD_PARAMETER_NODE: {
1522
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1523
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_optional_keyword_parameter_node_t *)node)->name));
1524
+ pm_serialize_location(parser, &((pm_optional_keyword_parameter_node_t *)node)->name_loc, buffer);
1525
+ pm_serialize_node(parser, (pm_node_t *)((pm_optional_keyword_parameter_node_t *)node)->value, buffer);
1526
+ break;
1527
+ }
1528
+ case PM_OPTIONAL_PARAMETER_NODE: {
1529
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1530
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_optional_parameter_node_t *)node)->name));
1531
+ pm_serialize_location(parser, &((pm_optional_parameter_node_t *)node)->name_loc, buffer);
1532
+ pm_serialize_location(parser, &((pm_optional_parameter_node_t *)node)->operator_loc, buffer);
1533
+ pm_serialize_node(parser, (pm_node_t *)((pm_optional_parameter_node_t *)node)->value, buffer);
1534
+ break;
1535
+ }
1536
+ case PM_OR_NODE: {
1537
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1538
+ pm_serialize_node(parser, (pm_node_t *)((pm_or_node_t *)node)->left, buffer);
1539
+ pm_serialize_node(parser, (pm_node_t *)((pm_or_node_t *)node)->right, buffer);
1540
+ pm_serialize_location(parser, &((pm_or_node_t *)node)->operator_loc, buffer);
1541
+ break;
1542
+ }
1543
+ case PM_PARAMETERS_NODE: {
1544
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1545
+ uint32_t requireds_size = pm_sizet_to_u32(((pm_parameters_node_t *)node)->requireds.size);
1546
+ pm_buffer_append_varuint(buffer, requireds_size);
1547
+ for (uint32_t index = 0; index < requireds_size; index++) {
1548
+ pm_serialize_node(parser, (pm_node_t *) ((pm_parameters_node_t *)node)->requireds.nodes[index], buffer);
1549
+ }
1550
+ uint32_t optionals_size = pm_sizet_to_u32(((pm_parameters_node_t *)node)->optionals.size);
1551
+ pm_buffer_append_varuint(buffer, optionals_size);
1552
+ for (uint32_t index = 0; index < optionals_size; index++) {
1553
+ pm_serialize_node(parser, (pm_node_t *) ((pm_parameters_node_t *)node)->optionals.nodes[index], buffer);
1554
+ }
1555
+ if (((pm_parameters_node_t *)node)->rest == NULL) {
1556
+ pm_buffer_append_byte(buffer, 0);
1557
+ } else {
1558
+ pm_serialize_node(parser, (pm_node_t *)((pm_parameters_node_t *)node)->rest, buffer);
1559
+ }
1560
+ uint32_t posts_size = pm_sizet_to_u32(((pm_parameters_node_t *)node)->posts.size);
1561
+ pm_buffer_append_varuint(buffer, posts_size);
1562
+ for (uint32_t index = 0; index < posts_size; index++) {
1563
+ pm_serialize_node(parser, (pm_node_t *) ((pm_parameters_node_t *)node)->posts.nodes[index], buffer);
1564
+ }
1565
+ uint32_t keywords_size = pm_sizet_to_u32(((pm_parameters_node_t *)node)->keywords.size);
1566
+ pm_buffer_append_varuint(buffer, keywords_size);
1567
+ for (uint32_t index = 0; index < keywords_size; index++) {
1568
+ pm_serialize_node(parser, (pm_node_t *) ((pm_parameters_node_t *)node)->keywords.nodes[index], buffer);
1569
+ }
1570
+ if (((pm_parameters_node_t *)node)->keyword_rest == NULL) {
1571
+ pm_buffer_append_byte(buffer, 0);
1572
+ } else {
1573
+ pm_serialize_node(parser, (pm_node_t *)((pm_parameters_node_t *)node)->keyword_rest, buffer);
1574
+ }
1575
+ if (((pm_parameters_node_t *)node)->block == NULL) {
1576
+ pm_buffer_append_byte(buffer, 0);
1577
+ } else {
1578
+ pm_serialize_node(parser, (pm_node_t *)((pm_parameters_node_t *)node)->block, buffer);
1579
+ }
1580
+ break;
1581
+ }
1582
+ case PM_PARENTHESES_NODE: {
1583
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1584
+ if (((pm_parentheses_node_t *)node)->body == NULL) {
1585
+ pm_buffer_append_byte(buffer, 0);
1586
+ } else {
1587
+ pm_serialize_node(parser, (pm_node_t *)((pm_parentheses_node_t *)node)->body, buffer);
1588
+ }
1589
+ pm_serialize_location(parser, &((pm_parentheses_node_t *)node)->opening_loc, buffer);
1590
+ pm_serialize_location(parser, &((pm_parentheses_node_t *)node)->closing_loc, buffer);
1591
+ break;
1592
+ }
1593
+ case PM_PINNED_EXPRESSION_NODE: {
1594
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1595
+ pm_serialize_node(parser, (pm_node_t *)((pm_pinned_expression_node_t *)node)->expression, buffer);
1596
+ pm_serialize_location(parser, &((pm_pinned_expression_node_t *)node)->operator_loc, buffer);
1597
+ pm_serialize_location(parser, &((pm_pinned_expression_node_t *)node)->lparen_loc, buffer);
1598
+ pm_serialize_location(parser, &((pm_pinned_expression_node_t *)node)->rparen_loc, buffer);
1599
+ break;
1600
+ }
1601
+ case PM_PINNED_VARIABLE_NODE: {
1602
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1603
+ pm_serialize_node(parser, (pm_node_t *)((pm_pinned_variable_node_t *)node)->variable, buffer);
1604
+ pm_serialize_location(parser, &((pm_pinned_variable_node_t *)node)->operator_loc, buffer);
1605
+ break;
1606
+ }
1607
+ case PM_POST_EXECUTION_NODE: {
1608
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1609
+ if (((pm_post_execution_node_t *)node)->statements == NULL) {
1610
+ pm_buffer_append_byte(buffer, 0);
1611
+ } else {
1612
+ pm_serialize_node(parser, (pm_node_t *)((pm_post_execution_node_t *)node)->statements, buffer);
1613
+ }
1614
+ pm_serialize_location(parser, &((pm_post_execution_node_t *)node)->keyword_loc, buffer);
1615
+ pm_serialize_location(parser, &((pm_post_execution_node_t *)node)->opening_loc, buffer);
1616
+ pm_serialize_location(parser, &((pm_post_execution_node_t *)node)->closing_loc, buffer);
1617
+ break;
1618
+ }
1619
+ case PM_PRE_EXECUTION_NODE: {
1620
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1621
+ if (((pm_pre_execution_node_t *)node)->statements == NULL) {
1622
+ pm_buffer_append_byte(buffer, 0);
1623
+ } else {
1624
+ pm_serialize_node(parser, (pm_node_t *)((pm_pre_execution_node_t *)node)->statements, buffer);
1625
+ }
1626
+ pm_serialize_location(parser, &((pm_pre_execution_node_t *)node)->keyword_loc, buffer);
1627
+ pm_serialize_location(parser, &((pm_pre_execution_node_t *)node)->opening_loc, buffer);
1628
+ pm_serialize_location(parser, &((pm_pre_execution_node_t *)node)->closing_loc, buffer);
1629
+ break;
1630
+ }
1631
+ case PM_PROGRAM_NODE: {
1632
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1633
+ uint32_t locals_size = pm_sizet_to_u32(((pm_program_node_t *)node)->locals.size);
1634
+ pm_buffer_append_varuint(buffer, locals_size);
1635
+ for (uint32_t index = 0; index < locals_size; index++) {
1636
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_program_node_t *)node)->locals.ids[index]));
1637
+ }
1638
+ pm_serialize_node(parser, (pm_node_t *)((pm_program_node_t *)node)->statements, buffer);
1639
+ break;
1640
+ }
1641
+ case PM_RANGE_NODE: {
1642
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1643
+ if (((pm_range_node_t *)node)->left == NULL) {
1644
+ pm_buffer_append_byte(buffer, 0);
1645
+ } else {
1646
+ pm_serialize_node(parser, (pm_node_t *)((pm_range_node_t *)node)->left, buffer);
1647
+ }
1648
+ if (((pm_range_node_t *)node)->right == NULL) {
1649
+ pm_buffer_append_byte(buffer, 0);
1650
+ } else {
1651
+ pm_serialize_node(parser, (pm_node_t *)((pm_range_node_t *)node)->right, buffer);
1652
+ }
1653
+ pm_serialize_location(parser, &((pm_range_node_t *)node)->operator_loc, buffer);
1654
+ break;
1655
+ }
1656
+ case PM_RATIONAL_NODE: {
1657
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1658
+ pm_serialize_integer(&((pm_rational_node_t *)node)->numerator, buffer);
1659
+ pm_serialize_integer(&((pm_rational_node_t *)node)->denominator, buffer);
1660
+ break;
1661
+ }
1662
+ case PM_REDO_NODE: {
1663
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1664
+ break;
1665
+ }
1666
+ case PM_REGULAR_EXPRESSION_NODE: {
1667
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1668
+ pm_serialize_location(parser, &((pm_regular_expression_node_t *)node)->opening_loc, buffer);
1669
+ pm_serialize_location(parser, &((pm_regular_expression_node_t *)node)->content_loc, buffer);
1670
+ pm_serialize_location(parser, &((pm_regular_expression_node_t *)node)->closing_loc, buffer);
1671
+ pm_serialize_string(parser, &((pm_regular_expression_node_t *)node)->unescaped, buffer);
1672
+ break;
1673
+ }
1674
+ case PM_REQUIRED_KEYWORD_PARAMETER_NODE: {
1675
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1676
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_required_keyword_parameter_node_t *)node)->name));
1677
+ pm_serialize_location(parser, &((pm_required_keyword_parameter_node_t *)node)->name_loc, buffer);
1678
+ break;
1679
+ }
1680
+ case PM_REQUIRED_PARAMETER_NODE: {
1681
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1682
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_required_parameter_node_t *)node)->name));
1683
+ break;
1684
+ }
1685
+ case PM_RESCUE_MODIFIER_NODE: {
1686
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1687
+ pm_serialize_node(parser, (pm_node_t *)((pm_rescue_modifier_node_t *)node)->expression, buffer);
1688
+ pm_serialize_location(parser, &((pm_rescue_modifier_node_t *)node)->keyword_loc, buffer);
1689
+ pm_serialize_node(parser, (pm_node_t *)((pm_rescue_modifier_node_t *)node)->rescue_expression, buffer);
1690
+ break;
1691
+ }
1692
+ case PM_RESCUE_NODE: {
1693
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1694
+ pm_serialize_location(parser, &((pm_rescue_node_t *)node)->keyword_loc, buffer);
1695
+ uint32_t exceptions_size = pm_sizet_to_u32(((pm_rescue_node_t *)node)->exceptions.size);
1696
+ pm_buffer_append_varuint(buffer, exceptions_size);
1697
+ for (uint32_t index = 0; index < exceptions_size; index++) {
1698
+ pm_serialize_node(parser, (pm_node_t *) ((pm_rescue_node_t *)node)->exceptions.nodes[index], buffer);
1699
+ }
1700
+ if (((pm_rescue_node_t *)node)->operator_loc.start == NULL) {
1701
+ pm_buffer_append_byte(buffer, 0);
1702
+ } else {
1703
+ pm_buffer_append_byte(buffer, 1);
1704
+ pm_serialize_location(parser, &((pm_rescue_node_t *)node)->operator_loc, buffer);
1705
+ }
1706
+ if (((pm_rescue_node_t *)node)->reference == NULL) {
1707
+ pm_buffer_append_byte(buffer, 0);
1708
+ } else {
1709
+ pm_serialize_node(parser, (pm_node_t *)((pm_rescue_node_t *)node)->reference, buffer);
1710
+ }
1711
+ if (((pm_rescue_node_t *)node)->then_keyword_loc.start == NULL) {
1712
+ pm_buffer_append_byte(buffer, 0);
1713
+ } else {
1714
+ pm_buffer_append_byte(buffer, 1);
1715
+ pm_serialize_location(parser, &((pm_rescue_node_t *)node)->then_keyword_loc, buffer);
1716
+ }
1717
+ if (((pm_rescue_node_t *)node)->statements == NULL) {
1718
+ pm_buffer_append_byte(buffer, 0);
1719
+ } else {
1720
+ pm_serialize_node(parser, (pm_node_t *)((pm_rescue_node_t *)node)->statements, buffer);
1721
+ }
1722
+ if (((pm_rescue_node_t *)node)->subsequent == NULL) {
1723
+ pm_buffer_append_byte(buffer, 0);
1724
+ } else {
1725
+ pm_serialize_node(parser, (pm_node_t *)((pm_rescue_node_t *)node)->subsequent, buffer);
1726
+ }
1727
+ break;
1728
+ }
1729
+ case PM_REST_PARAMETER_NODE: {
1730
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1731
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_rest_parameter_node_t *)node)->name));
1732
+ if (((pm_rest_parameter_node_t *)node)->name_loc.start == NULL) {
1733
+ pm_buffer_append_byte(buffer, 0);
1734
+ } else {
1735
+ pm_buffer_append_byte(buffer, 1);
1736
+ pm_serialize_location(parser, &((pm_rest_parameter_node_t *)node)->name_loc, buffer);
1737
+ }
1738
+ pm_serialize_location(parser, &((pm_rest_parameter_node_t *)node)->operator_loc, buffer);
1739
+ break;
1740
+ }
1741
+ case PM_RETRY_NODE: {
1742
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1743
+ break;
1744
+ }
1745
+ case PM_RETURN_NODE: {
1746
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1747
+ pm_serialize_location(parser, &((pm_return_node_t *)node)->keyword_loc, buffer);
1748
+ if (((pm_return_node_t *)node)->arguments == NULL) {
1749
+ pm_buffer_append_byte(buffer, 0);
1750
+ } else {
1751
+ pm_serialize_node(parser, (pm_node_t *)((pm_return_node_t *)node)->arguments, buffer);
1752
+ }
1753
+ break;
1754
+ }
1755
+ case PM_SELF_NODE: {
1756
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1757
+ break;
1758
+ }
1759
+ case PM_SHAREABLE_CONSTANT_NODE: {
1760
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1761
+ pm_serialize_node(parser, (pm_node_t *)((pm_shareable_constant_node_t *)node)->write, buffer);
1762
+ break;
1763
+ }
1764
+ case PM_SINGLETON_CLASS_NODE: {
1765
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1766
+ uint32_t locals_size = pm_sizet_to_u32(((pm_singleton_class_node_t *)node)->locals.size);
1767
+ pm_buffer_append_varuint(buffer, locals_size);
1768
+ for (uint32_t index = 0; index < locals_size; index++) {
1769
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_singleton_class_node_t *)node)->locals.ids[index]));
1770
+ }
1771
+ pm_serialize_location(parser, &((pm_singleton_class_node_t *)node)->class_keyword_loc, buffer);
1772
+ pm_serialize_location(parser, &((pm_singleton_class_node_t *)node)->operator_loc, buffer);
1773
+ pm_serialize_node(parser, (pm_node_t *)((pm_singleton_class_node_t *)node)->expression, buffer);
1774
+ if (((pm_singleton_class_node_t *)node)->body == NULL) {
1775
+ pm_buffer_append_byte(buffer, 0);
1776
+ } else {
1777
+ pm_serialize_node(parser, (pm_node_t *)((pm_singleton_class_node_t *)node)->body, buffer);
1778
+ }
1779
+ pm_serialize_location(parser, &((pm_singleton_class_node_t *)node)->end_keyword_loc, buffer);
1780
+ break;
1781
+ }
1782
+ case PM_SOURCE_ENCODING_NODE: {
1783
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1784
+ break;
1785
+ }
1786
+ case PM_SOURCE_FILE_NODE: {
1787
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1788
+ pm_serialize_string(parser, &((pm_source_file_node_t *)node)->filepath, buffer);
1789
+ break;
1790
+ }
1791
+ case PM_SOURCE_LINE_NODE: {
1792
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1793
+ break;
1794
+ }
1795
+ case PM_SPLAT_NODE: {
1796
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1797
+ pm_serialize_location(parser, &((pm_splat_node_t *)node)->operator_loc, buffer);
1798
+ if (((pm_splat_node_t *)node)->expression == NULL) {
1799
+ pm_buffer_append_byte(buffer, 0);
1800
+ } else {
1801
+ pm_serialize_node(parser, (pm_node_t *)((pm_splat_node_t *)node)->expression, buffer);
1802
+ }
1803
+ break;
1804
+ }
1805
+ case PM_STATEMENTS_NODE: {
1806
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1807
+ uint32_t body_size = pm_sizet_to_u32(((pm_statements_node_t *)node)->body.size);
1808
+ pm_buffer_append_varuint(buffer, body_size);
1809
+ for (uint32_t index = 0; index < body_size; index++) {
1810
+ pm_serialize_node(parser, (pm_node_t *) ((pm_statements_node_t *)node)->body.nodes[index], buffer);
1811
+ }
1812
+ break;
1813
+ }
1814
+ case PM_STRING_NODE: {
1815
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1816
+ if (((pm_string_node_t *)node)->opening_loc.start == NULL) {
1817
+ pm_buffer_append_byte(buffer, 0);
1818
+ } else {
1819
+ pm_buffer_append_byte(buffer, 1);
1820
+ pm_serialize_location(parser, &((pm_string_node_t *)node)->opening_loc, buffer);
1821
+ }
1822
+ pm_serialize_location(parser, &((pm_string_node_t *)node)->content_loc, buffer);
1823
+ if (((pm_string_node_t *)node)->closing_loc.start == NULL) {
1824
+ pm_buffer_append_byte(buffer, 0);
1825
+ } else {
1826
+ pm_buffer_append_byte(buffer, 1);
1827
+ pm_serialize_location(parser, &((pm_string_node_t *)node)->closing_loc, buffer);
1828
+ }
1829
+ pm_serialize_string(parser, &((pm_string_node_t *)node)->unescaped, buffer);
1830
+ break;
1831
+ }
1832
+ case PM_SUPER_NODE: {
1833
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1834
+ pm_serialize_location(parser, &((pm_super_node_t *)node)->keyword_loc, buffer);
1835
+ if (((pm_super_node_t *)node)->lparen_loc.start == NULL) {
1836
+ pm_buffer_append_byte(buffer, 0);
1837
+ } else {
1838
+ pm_buffer_append_byte(buffer, 1);
1839
+ pm_serialize_location(parser, &((pm_super_node_t *)node)->lparen_loc, buffer);
1840
+ }
1841
+ if (((pm_super_node_t *)node)->arguments == NULL) {
1842
+ pm_buffer_append_byte(buffer, 0);
1843
+ } else {
1844
+ pm_serialize_node(parser, (pm_node_t *)((pm_super_node_t *)node)->arguments, buffer);
1845
+ }
1846
+ if (((pm_super_node_t *)node)->rparen_loc.start == NULL) {
1847
+ pm_buffer_append_byte(buffer, 0);
1848
+ } else {
1849
+ pm_buffer_append_byte(buffer, 1);
1850
+ pm_serialize_location(parser, &((pm_super_node_t *)node)->rparen_loc, buffer);
1851
+ }
1852
+ if (((pm_super_node_t *)node)->block == NULL) {
1853
+ pm_buffer_append_byte(buffer, 0);
1854
+ } else {
1855
+ pm_serialize_node(parser, (pm_node_t *)((pm_super_node_t *)node)->block, buffer);
1856
+ }
1857
+ break;
1858
+ }
1859
+ case PM_SYMBOL_NODE: {
1860
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1861
+ if (((pm_symbol_node_t *)node)->opening_loc.start == NULL) {
1862
+ pm_buffer_append_byte(buffer, 0);
1863
+ } else {
1864
+ pm_buffer_append_byte(buffer, 1);
1865
+ pm_serialize_location(parser, &((pm_symbol_node_t *)node)->opening_loc, buffer);
1866
+ }
1867
+ if (((pm_symbol_node_t *)node)->value_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)->value_loc, buffer);
1872
+ }
1873
+ if (((pm_symbol_node_t *)node)->closing_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)->closing_loc, buffer);
1878
+ }
1879
+ pm_serialize_string(parser, &((pm_symbol_node_t *)node)->unescaped, buffer);
1880
+ break;
1881
+ }
1882
+ case PM_TRUE_NODE: {
1883
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1884
+ break;
1885
+ }
1886
+ case PM_UNDEF_NODE: {
1887
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1888
+ uint32_t names_size = pm_sizet_to_u32(((pm_undef_node_t *)node)->names.size);
1889
+ pm_buffer_append_varuint(buffer, names_size);
1890
+ for (uint32_t index = 0; index < names_size; index++) {
1891
+ pm_serialize_node(parser, (pm_node_t *) ((pm_undef_node_t *)node)->names.nodes[index], buffer);
1892
+ }
1893
+ pm_serialize_location(parser, &((pm_undef_node_t *)node)->keyword_loc, buffer);
1894
+ break;
1895
+ }
1896
+ case PM_UNLESS_NODE: {
1897
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1898
+ pm_serialize_location(parser, &((pm_unless_node_t *)node)->keyword_loc, buffer);
1899
+ pm_serialize_node(parser, (pm_node_t *)((pm_unless_node_t *)node)->predicate, buffer);
1900
+ if (((pm_unless_node_t *)node)->then_keyword_loc.start == NULL) {
1901
+ pm_buffer_append_byte(buffer, 0);
1902
+ } else {
1903
+ pm_buffer_append_byte(buffer, 1);
1904
+ pm_serialize_location(parser, &((pm_unless_node_t *)node)->then_keyword_loc, buffer);
1905
+ }
1906
+ if (((pm_unless_node_t *)node)->statements == NULL) {
1907
+ pm_buffer_append_byte(buffer, 0);
1908
+ } else {
1909
+ pm_serialize_node(parser, (pm_node_t *)((pm_unless_node_t *)node)->statements, buffer);
1910
+ }
1911
+ if (((pm_unless_node_t *)node)->else_clause == NULL) {
1912
+ pm_buffer_append_byte(buffer, 0);
1913
+ } else {
1914
+ pm_serialize_node(parser, (pm_node_t *)((pm_unless_node_t *)node)->else_clause, buffer);
1915
+ }
1916
+ if (((pm_unless_node_t *)node)->end_keyword_loc.start == NULL) {
1917
+ pm_buffer_append_byte(buffer, 0);
1918
+ } else {
1919
+ pm_buffer_append_byte(buffer, 1);
1920
+ pm_serialize_location(parser, &((pm_unless_node_t *)node)->end_keyword_loc, buffer);
1921
+ }
1922
+ break;
1923
+ }
1924
+ case PM_UNTIL_NODE: {
1925
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1926
+ pm_serialize_location(parser, &((pm_until_node_t *)node)->keyword_loc, buffer);
1927
+ if (((pm_until_node_t *)node)->do_keyword_loc.start == NULL) {
1928
+ pm_buffer_append_byte(buffer, 0);
1929
+ } else {
1930
+ pm_buffer_append_byte(buffer, 1);
1931
+ pm_serialize_location(parser, &((pm_until_node_t *)node)->do_keyword_loc, buffer);
1932
+ }
1933
+ if (((pm_until_node_t *)node)->closing_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)->closing_loc, buffer);
1938
+ }
1939
+ pm_serialize_node(parser, (pm_node_t *)((pm_until_node_t *)node)->predicate, buffer);
1940
+ if (((pm_until_node_t *)node)->statements == NULL) {
1941
+ pm_buffer_append_byte(buffer, 0);
1942
+ } else {
1943
+ pm_serialize_node(parser, (pm_node_t *)((pm_until_node_t *)node)->statements, buffer);
1944
+ }
1945
+ break;
1946
+ }
1947
+ case PM_WHEN_NODE: {
1948
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1949
+ pm_serialize_location(parser, &((pm_when_node_t *)node)->keyword_loc, buffer);
1950
+ uint32_t conditions_size = pm_sizet_to_u32(((pm_when_node_t *)node)->conditions.size);
1951
+ pm_buffer_append_varuint(buffer, conditions_size);
1952
+ for (uint32_t index = 0; index < conditions_size; index++) {
1953
+ pm_serialize_node(parser, (pm_node_t *) ((pm_when_node_t *)node)->conditions.nodes[index], buffer);
1954
+ }
1955
+ if (((pm_when_node_t *)node)->then_keyword_loc.start == NULL) {
1956
+ pm_buffer_append_byte(buffer, 0);
1957
+ } else {
1958
+ pm_buffer_append_byte(buffer, 1);
1959
+ pm_serialize_location(parser, &((pm_when_node_t *)node)->then_keyword_loc, buffer);
1960
+ }
1961
+ if (((pm_when_node_t *)node)->statements == NULL) {
1962
+ pm_buffer_append_byte(buffer, 0);
1963
+ } else {
1964
+ pm_serialize_node(parser, (pm_node_t *)((pm_when_node_t *)node)->statements, buffer);
1965
+ }
1966
+ break;
1967
+ }
1968
+ case PM_WHILE_NODE: {
1969
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1970
+ pm_serialize_location(parser, &((pm_while_node_t *)node)->keyword_loc, buffer);
1971
+ if (((pm_while_node_t *)node)->do_keyword_loc.start == NULL) {
1972
+ pm_buffer_append_byte(buffer, 0);
1973
+ } else {
1974
+ pm_buffer_append_byte(buffer, 1);
1975
+ pm_serialize_location(parser, &((pm_while_node_t *)node)->do_keyword_loc, buffer);
1976
+ }
1977
+ if (((pm_while_node_t *)node)->closing_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)->closing_loc, buffer);
1982
+ }
1983
+ pm_serialize_node(parser, (pm_node_t *)((pm_while_node_t *)node)->predicate, buffer);
1984
+ if (((pm_while_node_t *)node)->statements == NULL) {
1985
+ pm_buffer_append_byte(buffer, 0);
1986
+ } else {
1987
+ pm_serialize_node(parser, (pm_node_t *)((pm_while_node_t *)node)->statements, buffer);
1988
+ }
1989
+ break;
1990
+ }
1991
+ case PM_X_STRING_NODE: {
1992
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
1993
+ pm_serialize_location(parser, &((pm_x_string_node_t *)node)->opening_loc, buffer);
1994
+ pm_serialize_location(parser, &((pm_x_string_node_t *)node)->content_loc, buffer);
1995
+ pm_serialize_location(parser, &((pm_x_string_node_t *)node)->closing_loc, buffer);
1996
+ pm_serialize_string(parser, &((pm_x_string_node_t *)node)->unescaped, buffer);
1997
+ break;
1998
+ }
1999
+ case PM_YIELD_NODE: {
2000
+ pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
2001
+ pm_serialize_location(parser, &((pm_yield_node_t *)node)->keyword_loc, buffer);
2002
+ if (((pm_yield_node_t *)node)->lparen_loc.start == NULL) {
2003
+ pm_buffer_append_byte(buffer, 0);
2004
+ } else {
2005
+ pm_buffer_append_byte(buffer, 1);
2006
+ pm_serialize_location(parser, &((pm_yield_node_t *)node)->lparen_loc, buffer);
2007
+ }
2008
+ if (((pm_yield_node_t *)node)->arguments == NULL) {
2009
+ pm_buffer_append_byte(buffer, 0);
2010
+ } else {
2011
+ pm_serialize_node(parser, (pm_node_t *)((pm_yield_node_t *)node)->arguments, buffer);
2012
+ }
2013
+ if (((pm_yield_node_t *)node)->rparen_loc.start == NULL) {
2014
+ pm_buffer_append_byte(buffer, 0);
2015
+ } else {
2016
+ pm_buffer_append_byte(buffer, 1);
2017
+ pm_serialize_location(parser, &((pm_yield_node_t *)node)->rparen_loc, buffer);
2018
+ }
2019
+ break;
2020
+ }
2021
+ }
2022
+ }
2023
+
2024
+ static void
2025
+ pm_serialize_newline_list(pm_newline_list_t *list, pm_buffer_t *buffer) {
2026
+ uint32_t size = pm_sizet_to_u32(list->size);
2027
+ pm_buffer_append_varuint(buffer, size);
2028
+
2029
+ for (uint32_t i = 0; i < size; i++) {
2030
+ uint32_t offset = pm_sizet_to_u32(list->offsets[i]);
2031
+ pm_buffer_append_varuint(buffer, offset);
2032
+ }
2033
+ }
2034
+
2035
+ static void
2036
+ pm_serialize_comment(pm_parser_t *parser, pm_comment_t *comment, pm_buffer_t *buffer) {
2037
+ // serialize type
2038
+ pm_buffer_append_byte(buffer, (uint8_t) comment->type);
2039
+
2040
+ // serialize location
2041
+ pm_serialize_location(parser, &comment->location, buffer);
2042
+ }
2043
+
2044
+ /**
2045
+ * Serialize the given list of comments to the given buffer.
2046
+ */
2047
+ void
2048
+ pm_serialize_comment_list(pm_parser_t *parser, pm_list_t *list, pm_buffer_t *buffer) {
2049
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(pm_list_size(list)));
2050
+
2051
+ pm_comment_t *comment;
2052
+ for (comment = (pm_comment_t *) list->head; comment != NULL; comment = (pm_comment_t *) comment->node.next) {
2053
+ pm_serialize_comment(parser, comment, buffer);
2054
+ }
2055
+ }
2056
+
2057
+ static void
2058
+ pm_serialize_magic_comment(pm_parser_t *parser, pm_magic_comment_t *magic_comment, pm_buffer_t *buffer) {
2059
+ // serialize key location
2060
+ pm_buffer_append_varuint(buffer, pm_ptrdifft_to_u32(magic_comment->key_start - parser->start));
2061
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(magic_comment->key_length));
2062
+
2063
+ // serialize value location
2064
+ pm_buffer_append_varuint(buffer, pm_ptrdifft_to_u32(magic_comment->value_start - parser->start));
2065
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(magic_comment->value_length));
2066
+ }
2067
+
2068
+ static void
2069
+ pm_serialize_magic_comment_list(pm_parser_t *parser, pm_list_t *list, pm_buffer_t *buffer) {
2070
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(pm_list_size(list)));
2071
+
2072
+ pm_magic_comment_t *magic_comment;
2073
+ for (magic_comment = (pm_magic_comment_t *) list->head; magic_comment != NULL; magic_comment = (pm_magic_comment_t *) magic_comment->node.next) {
2074
+ pm_serialize_magic_comment(parser, magic_comment, buffer);
2075
+ }
2076
+ }
2077
+
2078
+ static void
2079
+ pm_serialize_data_loc(const pm_parser_t *parser, pm_buffer_t *buffer) {
2080
+ if (parser->data_loc.end == NULL) {
2081
+ pm_buffer_append_byte(buffer, 0);
2082
+ } else {
2083
+ pm_buffer_append_byte(buffer, 1);
2084
+ pm_serialize_location(parser, &parser->data_loc, buffer);
2085
+ }
2086
+ }
2087
+
2088
+ static void
2089
+ pm_serialize_diagnostic(pm_parser_t *parser, pm_diagnostic_t *diagnostic, pm_buffer_t *buffer) {
2090
+ // serialize the type
2091
+ pm_buffer_append_varuint(buffer, (uint32_t) diagnostic->diag_id);
2092
+
2093
+ // serialize message
2094
+ size_t message_length = strlen(diagnostic->message);
2095
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(message_length));
2096
+ pm_buffer_append_string(buffer, diagnostic->message, message_length);
2097
+
2098
+ // serialize location
2099
+ pm_serialize_location(parser, &diagnostic->location, buffer);
2100
+
2101
+ pm_buffer_append_byte(buffer, diagnostic->level);
2102
+ }
2103
+
2104
+ static void
2105
+ pm_serialize_diagnostic_list(pm_parser_t *parser, pm_list_t *list, pm_buffer_t *buffer) {
2106
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(pm_list_size(list)));
2107
+
2108
+ pm_diagnostic_t *diagnostic;
2109
+ for (diagnostic = (pm_diagnostic_t *) list->head; diagnostic != NULL; diagnostic = (pm_diagnostic_t *) diagnostic->node.next) {
2110
+ pm_serialize_diagnostic(parser, diagnostic, buffer);
2111
+ }
2112
+ }
2113
+
2114
+ /**
2115
+ * Serialize the name of the encoding to the buffer.
2116
+ */
2117
+ void
2118
+ pm_serialize_encoding(const pm_encoding_t *encoding, pm_buffer_t *buffer) {
2119
+ size_t encoding_length = strlen(encoding->name);
2120
+ pm_buffer_append_varuint(buffer, pm_sizet_to_u32(encoding_length));
2121
+ pm_buffer_append_string(buffer, encoding->name, encoding_length);
2122
+ }
2123
+
2124
+ static void
2125
+ pm_serialize_metadata(pm_parser_t *parser, pm_buffer_t *buffer) {
2126
+ pm_serialize_encoding(parser->encoding, buffer);
2127
+ pm_buffer_append_varsint(buffer, parser->start_line);
2128
+ pm_serialize_newline_list(&parser->newline_list, buffer);
2129
+ pm_serialize_comment_list(parser, &parser->comment_list, buffer);
2130
+ pm_serialize_magic_comment_list(parser, &parser->magic_comment_list, buffer);
2131
+ pm_serialize_data_loc(parser, buffer);
2132
+ pm_serialize_diagnostic_list(parser, &parser->error_list, buffer);
2133
+ pm_serialize_diagnostic_list(parser, &parser->warning_list, buffer);
2134
+ }
2135
+
2136
+ #line 275 "prism/templates/src/serialize.c.erb"
2137
+ /**
2138
+ * Serialize the metadata, nodes, and constant pool.
2139
+ */
2140
+ void
2141
+ pm_serialize_content(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
2142
+ pm_serialize_metadata(parser, buffer);
2143
+
2144
+ // Here we're going to leave space for the offset of the constant pool in
2145
+ // the buffer.
2146
+ size_t offset = buffer->length;
2147
+ pm_buffer_append_zeroes(buffer, 4);
2148
+
2149
+ // Next, encode the length of the constant pool.
2150
+ pm_buffer_append_varuint(buffer, parser->constant_pool.size);
2151
+
2152
+ // Now we're going to serialize the content of the node.
2153
+ pm_serialize_node(parser, node, buffer);
2154
+
2155
+ // Now we're going to serialize the offset of the constant pool back where
2156
+ // we left space for it.
2157
+ uint32_t length = pm_sizet_to_u32(buffer->length);
2158
+ memcpy(buffer->value + offset, &length, sizeof(uint32_t));
2159
+
2160
+ // Now we're going to serialize the constant pool.
2161
+ offset = buffer->length;
2162
+ pm_buffer_append_zeroes(buffer, parser->constant_pool.size * 8);
2163
+
2164
+ for (uint32_t index = 0; index < parser->constant_pool.capacity; index++) {
2165
+ pm_constant_pool_bucket_t *bucket = &parser->constant_pool.buckets[index];
2166
+
2167
+ // If we find a constant at this index, serialize it at the correct
2168
+ // index in the buffer.
2169
+ if (bucket->id != 0) {
2170
+ pm_constant_t *constant = &parser->constant_pool.constants[bucket->id - 1];
2171
+ size_t buffer_offset = offset + ((((size_t)bucket->id) - 1) * 8);
2172
+
2173
+ if (bucket->type == PM_CONSTANT_POOL_BUCKET_OWNED || bucket->type == PM_CONSTANT_POOL_BUCKET_CONSTANT) {
2174
+ // Since this is an owned or constant constant, we are going to
2175
+ // write its contents into the buffer after the constant pool.
2176
+ // So effectively in place of the source offset, we have a
2177
+ // buffer offset. We will add a leading 1 to indicate that this
2178
+ // is a buffer offset.
2179
+ uint32_t content_offset = pm_sizet_to_u32(buffer->length);
2180
+ uint32_t owned_mask = (uint32_t) (1 << 31);
2181
+
2182
+ assert(content_offset < owned_mask);
2183
+ content_offset |= owned_mask;
2184
+
2185
+ memcpy(buffer->value + buffer_offset, &content_offset, 4);
2186
+ pm_buffer_append_bytes(buffer, constant->start, constant->length);
2187
+ } else {
2188
+ // Since this is a shared constant, we are going to write its
2189
+ // source offset directly into the buffer.
2190
+ uint32_t source_offset = pm_ptrdifft_to_u32(constant->start - parser->start);
2191
+ memcpy(buffer->value + buffer_offset, &source_offset, 4);
2192
+ }
2193
+
2194
+ // Now we can write the length of the constant into the buffer.
2195
+ uint32_t constant_length = pm_sizet_to_u32(constant->length);
2196
+ memcpy(buffer->value + buffer_offset + 4, &constant_length, 4);
2197
+ }
2198
+ }
2199
+ }
2200
+
2201
+ static void
2202
+ serialize_token(void *data, pm_parser_t *parser, pm_token_t *token) {
2203
+ pm_buffer_t *buffer = (pm_buffer_t *) data;
2204
+
2205
+ pm_buffer_append_varuint(buffer, token->type);
2206
+ pm_buffer_append_varuint(buffer, pm_ptrdifft_to_u32(token->start - parser->start));
2207
+ pm_buffer_append_varuint(buffer, pm_ptrdifft_to_u32(token->end - token->start));
2208
+ pm_buffer_append_varuint(buffer, parser->lex_state);
2209
+ }
2210
+
2211
+ /**
2212
+ * Lex the given source and serialize to the given buffer.
2213
+ */
2214
+ PRISM_EXPORTED_FUNCTION void
2215
+ pm_serialize_lex(pm_buffer_t *buffer, const uint8_t *source, size_t size, const char *data) {
2216
+ pm_options_t options = { 0 };
2217
+ pm_options_read(&options, data);
2218
+
2219
+ pm_parser_t parser;
2220
+ pm_parser_init(&parser, source, size, &options);
2221
+
2222
+ pm_lex_callback_t lex_callback = (pm_lex_callback_t) {
2223
+ .data = (void *) buffer,
2224
+ .callback = serialize_token,
2225
+ };
2226
+
2227
+ parser.lex_callback = &lex_callback;
2228
+ pm_node_t *node = pm_parse(&parser);
2229
+
2230
+ // Append 0 to mark end of tokens.
2231
+ pm_buffer_append_byte(buffer, 0);
2232
+
2233
+ pm_serialize_metadata(&parser, buffer);
2234
+
2235
+ pm_node_destroy(&parser, node);
2236
+ pm_parser_free(&parser);
2237
+ pm_options_free(&options);
2238
+ }
2239
+
2240
+ /**
2241
+ * Parse and serialize both the AST and the tokens represented by the given
2242
+ * source to the given buffer.
2243
+ */
2244
+ PRISM_EXPORTED_FUNCTION void
2245
+ pm_serialize_parse_lex(pm_buffer_t *buffer, const uint8_t *source, size_t size, const char *data) {
2246
+ pm_options_t options = { 0 };
2247
+ pm_options_read(&options, data);
2248
+
2249
+ pm_parser_t parser;
2250
+ pm_parser_init(&parser, source, size, &options);
2251
+
2252
+ pm_lex_callback_t lex_callback = (pm_lex_callback_t) {
2253
+ .data = (void *) buffer,
2254
+ .callback = serialize_token,
2255
+ };
2256
+
2257
+ parser.lex_callback = &lex_callback;
2258
+ pm_node_t *node = pm_parse(&parser);
2259
+
2260
+ pm_buffer_append_byte(buffer, 0);
2261
+ pm_serialize(&parser, node, buffer);
2262
+
2263
+ pm_node_destroy(&parser, node);
2264
+ pm_parser_free(&parser);
2265
+ pm_options_free(&options);
2266
+ }
2267
+
2268
+ #endif