debase-ruby_core_source 3.3.1 → 3.3.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (289) hide show
  1. checksums.yaml +4 -4
  2. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/addr2line.h +22 -0
  3. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/builtin.h +117 -0
  4. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/ccan/build_assert/build_assert.h +40 -0
  5. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/ccan/check_type/check_type.h +63 -0
  6. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/ccan/container_of/container_of.h +142 -0
  7. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/ccan/list/list.h +791 -0
  8. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/ccan/str/str.h +17 -0
  9. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/constant.h +53 -0
  10. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/darray.h +246 -0
  11. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/debug_counter.h +423 -0
  12. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/dln.h +32 -0
  13. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/encindex.h +70 -0
  14. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/eval_intern.h +343 -0
  15. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/hrtime.h +227 -0
  16. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/id.h +343 -0
  17. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/id_table.h +39 -0
  18. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/insns.inc +251 -0
  19. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/insns_info.inc +9215 -0
  20. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/array.h +151 -0
  21. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/basic_operators.h +63 -0
  22. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/bignum.h +244 -0
  23. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/bits.h +568 -0
  24. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/class.h +277 -0
  25. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/cmdlineopt.h +65 -0
  26. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/compar.h +29 -0
  27. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/compile.h +34 -0
  28. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/compilers.h +107 -0
  29. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/complex.h +29 -0
  30. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/cont.h +35 -0
  31. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/dir.h +16 -0
  32. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/enc.h +19 -0
  33. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/encoding.h +35 -0
  34. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/enum.h +18 -0
  35. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/enumerator.h +21 -0
  36. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/error.h +216 -0
  37. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/eval.h +33 -0
  38. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/file.h +38 -0
  39. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/fixnum.h +184 -0
  40. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/gc.h +364 -0
  41. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/hash.h +191 -0
  42. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/imemo.h +240 -0
  43. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/inits.h +50 -0
  44. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/io.h +137 -0
  45. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/load.h +18 -0
  46. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/loadpath.h +16 -0
  47. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/math.h +23 -0
  48. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/missing.h +18 -0
  49. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/numeric.h +273 -0
  50. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/object.h +62 -0
  51. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/parse.h +108 -0
  52. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/proc.h +30 -0
  53. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/process.h +124 -0
  54. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/ractor.h +6 -0
  55. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/random.h +17 -0
  56. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/range.h +40 -0
  57. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/rational.h +71 -0
  58. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/re.h +28 -0
  59. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/ruby_parser.h +69 -0
  60. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/sanitizers.h +186 -0
  61. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/serial.h +23 -0
  62. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/signal.h +25 -0
  63. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/static_assert.h +16 -0
  64. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/string.h +160 -0
  65. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/struct.h +127 -0
  66. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/symbol.h +45 -0
  67. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/thread.h +78 -0
  68. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/time.h +34 -0
  69. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/transcode.h +23 -0
  70. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/util.h +27 -0
  71. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/variable.h +72 -0
  72. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/vm.h +136 -0
  73. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal/warnings.h +16 -0
  74. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/internal.h +112 -0
  75. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/iseq.h +338 -0
  76. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/known_errors.inc +791 -0
  77. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/method.h +254 -0
  78. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/node.h +128 -0
  79. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/node_name.inc +212 -0
  80. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/optinsn.inc +128 -0
  81. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/optunifs.inc +43 -0
  82. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/parse.h +243 -0
  83. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/parser_bits.h +564 -0
  84. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/parser_node.h +32 -0
  85. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/parser_st.h +162 -0
  86. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/parser_value.h +106 -0
  87. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/prism/ast.h +4612 -0
  88. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/prism/defines.h +94 -0
  89. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/prism/diagnostic.h +297 -0
  90. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/prism/encoding.h +248 -0
  91. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/prism/extension.h +18 -0
  92. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/prism/node.h +57 -0
  93. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/prism/options.h +204 -0
  94. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/prism/pack.h +152 -0
  95. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/prism/parser.h +716 -0
  96. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/prism/prettyprint.h +26 -0
  97. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/prism/prism.h +272 -0
  98. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/prism/regexp.h +33 -0
  99. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/prism/util/pm_buffer.h +146 -0
  100. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/prism/util/pm_char.h +205 -0
  101. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/prism/util/pm_constant_pool.h +191 -0
  102. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/prism/util/pm_list.h +97 -0
  103. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/prism/util/pm_memchr.h +29 -0
  104. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/prism/util/pm_newline_list.h +104 -0
  105. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/prism/util/pm_state_stack.h +42 -0
  106. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/prism/util/pm_string.h +150 -0
  107. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/prism/util/pm_string_list.h +44 -0
  108. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/prism/util/pm_strncasecmp.h +32 -0
  109. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/prism/util/pm_strpbrk.h +43 -0
  110. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/prism/version.h +29 -0
  111. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/prism_compile.h +29 -0
  112. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/probes_helper.h +42 -0
  113. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/ractor_core.h +393 -0
  114. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/regenc.h +254 -0
  115. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/regint.h +1006 -0
  116. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/regparse.h +371 -0
  117. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/revision.h +5 -0
  118. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/rjit.h +101 -0
  119. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/rjit_c.h +164 -0
  120. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/ruby_assert.h +14 -0
  121. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/ruby_atomic.h +23 -0
  122. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/rubyparser.h +1405 -0
  123. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/shape.h +233 -0
  124. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/siphash.h +48 -0
  125. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/symbol.h +118 -0
  126. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/thread_none.h +21 -0
  127. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/thread_pthread.h +166 -0
  128. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/thread_win32.h +58 -0
  129. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/timev.h +58 -0
  130. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/transcode_data.h +138 -0
  131. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/variable.h +39 -0
  132. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/version.h +69 -0
  133. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/vm.inc +5436 -0
  134. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/vm_call_iseq_optimized.inc +244 -0
  135. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/vm_callinfo.h +614 -0
  136. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/vm_core.h +2202 -0
  137. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/vm_debug.h +122 -0
  138. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/vm_exec.h +199 -0
  139. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/vm_insnhelper.h +261 -0
  140. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/vm_opts.h +67 -0
  141. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/vm_sync.h +137 -0
  142. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/vmtc.inc +245 -0
  143. data/lib/debase/ruby_core_source/ruby-3.3.5-p100/yjit.h +72 -0
  144. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/addr2line.h +22 -0
  145. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/builtin.h +119 -0
  146. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/ccan/build_assert/build_assert.h +40 -0
  147. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/ccan/check_type/check_type.h +63 -0
  148. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/ccan/container_of/container_of.h +142 -0
  149. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/ccan/list/list.h +791 -0
  150. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/ccan/str/str.h +17 -0
  151. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/constant.h +53 -0
  152. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/darray.h +191 -0
  153. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/debug_counter.h +423 -0
  154. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/dln.h +34 -0
  155. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/encindex.h +70 -0
  156. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/eval_intern.h +324 -0
  157. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/hrtime.h +237 -0
  158. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/id.h +343 -0
  159. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/id_table.h +39 -0
  160. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/insns.inc +259 -0
  161. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/insns_info.inc +9530 -0
  162. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/array.h +151 -0
  163. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/basic_operators.h +63 -0
  164. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/bignum.h +244 -0
  165. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/bits.h +568 -0
  166. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/class.h +283 -0
  167. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/cmdlineopt.h +65 -0
  168. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/compar.h +29 -0
  169. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/compile.h +34 -0
  170. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/compilers.h +107 -0
  171. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/complex.h +29 -0
  172. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/cont.h +35 -0
  173. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/dir.h +16 -0
  174. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/enc.h +19 -0
  175. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/encoding.h +36 -0
  176. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/enum.h +18 -0
  177. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/enumerator.h +21 -0
  178. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/error.h +216 -0
  179. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/eval.h +33 -0
  180. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/file.h +38 -0
  181. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/fixnum.h +184 -0
  182. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/gc.h +334 -0
  183. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/hash.h +191 -0
  184. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/imemo.h +260 -0
  185. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/inits.h +47 -0
  186. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/io.h +140 -0
  187. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/load.h +18 -0
  188. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/loadpath.h +16 -0
  189. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/math.h +23 -0
  190. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/missing.h +19 -0
  191. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/numeric.h +274 -0
  192. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/object.h +63 -0
  193. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/parse.h +117 -0
  194. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/proc.h +30 -0
  195. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/process.h +124 -0
  196. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/ractor.h +6 -0
  197. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/random.h +17 -0
  198. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/range.h +40 -0
  199. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/rational.h +71 -0
  200. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/re.h +28 -0
  201. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/ruby_parser.h +102 -0
  202. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/sanitizers.h +297 -0
  203. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/serial.h +23 -0
  204. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/signal.h +24 -0
  205. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/st.h +11 -0
  206. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/static_assert.h +16 -0
  207. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/string.h +182 -0
  208. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/struct.h +127 -0
  209. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/symbol.h +45 -0
  210. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/thread.h +79 -0
  211. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/time.h +34 -0
  212. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/transcode.h +23 -0
  213. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/util.h +27 -0
  214. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/variable.h +72 -0
  215. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/vm.h +137 -0
  216. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/warnings.h +16 -0
  217. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal.h +108 -0
  218. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/iseq.h +340 -0
  219. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/known_errors.inc +1419 -0
  220. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/method.h +255 -0
  221. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/node.h +111 -0
  222. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/node_name.inc +224 -0
  223. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/optinsn.inc +128 -0
  224. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/optunifs.inc +43 -0
  225. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/parse.h +243 -0
  226. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/parser_bits.h +564 -0
  227. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/parser_node.h +32 -0
  228. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/parser_st.h +162 -0
  229. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/parser_value.h +106 -0
  230. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/ast.h +6245 -0
  231. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/defines.h +206 -0
  232. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/diagnostic.h +433 -0
  233. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/encoding.h +283 -0
  234. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/extension.h +19 -0
  235. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/node.h +150 -0
  236. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/options.h +305 -0
  237. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/pack.h +163 -0
  238. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/parser.h +891 -0
  239. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/prettyprint.h +34 -0
  240. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/prism.h +347 -0
  241. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/regexp.h +33 -0
  242. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/static_literals.h +120 -0
  243. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_buffer.h +218 -0
  244. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_char.h +205 -0
  245. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_constant_pool.h +226 -0
  246. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_integer.h +119 -0
  247. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_list.h +97 -0
  248. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_memchr.h +29 -0
  249. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_newline_list.h +102 -0
  250. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_string.h +174 -0
  251. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_string_list.h +44 -0
  252. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_strncasecmp.h +32 -0
  253. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_strpbrk.h +46 -0
  254. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/version.h +29 -0
  255. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism_compile.h +88 -0
  256. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/probes_helper.h +42 -0
  257. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/ractor_core.h +393 -0
  258. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/regenc.h +254 -0
  259. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/regint.h +1010 -0
  260. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/regparse.h +371 -0
  261. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/revision.h +5 -0
  262. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/rjit.h +101 -0
  263. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/rjit_c.h +165 -0
  264. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/ruby_assert.h +14 -0
  265. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/ruby_atomic.h +23 -0
  266. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/rubyparser.h +1430 -0
  267. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/shape.h +233 -0
  268. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/siphash.h +48 -0
  269. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/symbol.h +118 -0
  270. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/thread_none.h +21 -0
  271. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/thread_pthread.h +166 -0
  272. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/thread_win32.h +58 -0
  273. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/timev.h +58 -0
  274. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/transcode_data.h +138 -0
  275. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/variable.h +39 -0
  276. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/version.h +69 -0
  277. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/vm.inc +5643 -0
  278. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/vm_call_iseq_optimized.inc +244 -0
  279. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/vm_callinfo.h +605 -0
  280. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/vm_core.h +2236 -0
  281. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/vm_debug.h +124 -0
  282. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/vm_exec.h +199 -0
  283. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/vm_insnhelper.h +272 -0
  284. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/vm_opts.h +67 -0
  285. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/vm_sync.h +137 -0
  286. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/vmtc.inc +253 -0
  287. data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/yjit.h +79 -0
  288. data/lib/debase/ruby_core_source/version.rb +1 -1
  289. metadata +289 -3
@@ -0,0 +1,206 @@
1
+ /**
2
+ * @file defines.h
3
+ *
4
+ * Macro definitions used throughout the prism library.
5
+ *
6
+ * This file should be included first by any *.h or *.c in prism for consistency
7
+ * and to ensure that the macros are defined before they are used.
8
+ */
9
+ #ifndef PRISM_DEFINES_H
10
+ #define PRISM_DEFINES_H
11
+
12
+ #include <ctype.h>
13
+ #include <limits.h>
14
+ #include <math.h>
15
+ #include <stdarg.h>
16
+ #include <stddef.h>
17
+ #include <stdint.h>
18
+ #include <stdio.h>
19
+ #include <string.h>
20
+
21
+ /**
22
+ * We want to be able to use the PRI* macros for printing out integers, but on
23
+ * some platforms they aren't included unless this is already defined.
24
+ */
25
+ #define __STDC_FORMAT_MACROS
26
+ #include <inttypes.h>
27
+
28
+ /**
29
+ * By default, we compile with -fvisibility=hidden. When this is enabled, we
30
+ * need to mark certain functions as being publically-visible. This macro does
31
+ * that in a compiler-agnostic way.
32
+ */
33
+ #ifndef PRISM_EXPORTED_FUNCTION
34
+ # ifdef PRISM_EXPORT_SYMBOLS
35
+ # ifdef _WIN32
36
+ # define PRISM_EXPORTED_FUNCTION __declspec(dllexport) extern
37
+ # else
38
+ # define PRISM_EXPORTED_FUNCTION __attribute__((__visibility__("default"))) extern
39
+ # endif
40
+ # else
41
+ # define PRISM_EXPORTED_FUNCTION
42
+ # endif
43
+ #endif
44
+
45
+ /**
46
+ * Certain compilers support specifying that a function accepts variadic
47
+ * parameters that look like printf format strings to provide a better developer
48
+ * experience when someone is using the function. This macro does that in a
49
+ * compiler-agnostic way.
50
+ */
51
+ #if defined(__GNUC__)
52
+ # if defined(__MINGW_PRINTF_FORMAT)
53
+ # define PRISM_ATTRIBUTE_FORMAT(string_index, argument_index) __attribute__((format(__MINGW_PRINTF_FORMAT, string_index, argument_index)))
54
+ # else
55
+ # define PRISM_ATTRIBUTE_FORMAT(string_index, argument_index) __attribute__((format(printf, string_index, argument_index)))
56
+ # endif
57
+ #elif defined(__clang__)
58
+ # define PRISM_ATTRIBUTE_FORMAT(string_index, argument_index) __attribute__((__format__(__printf__, string_index, argument_index)))
59
+ #else
60
+ # define PRISM_ATTRIBUTE_FORMAT(string_index, argument_index)
61
+ #endif
62
+
63
+ /**
64
+ * GCC will warn if you specify a function or parameter that is unused at
65
+ * runtime. This macro allows you to mark a function or parameter as unused in a
66
+ * compiler-agnostic way.
67
+ */
68
+ #if defined(__GNUC__)
69
+ # define PRISM_ATTRIBUTE_UNUSED __attribute__((unused))
70
+ #else
71
+ # define PRISM_ATTRIBUTE_UNUSED
72
+ #endif
73
+
74
+ /**
75
+ * Old Visual Studio versions do not support the inline keyword, so we need to
76
+ * define it to be __inline.
77
+ */
78
+ #if defined(_MSC_VER) && !defined(inline)
79
+ # define inline __inline
80
+ #endif
81
+
82
+ /**
83
+ * Old Visual Studio versions before 2015 do not implement sprintf, but instead
84
+ * implement _snprintf. We standard that here.
85
+ */
86
+ #if !defined(snprintf) && defined(_MSC_VER) && (_MSC_VER < 1900)
87
+ # define snprintf _snprintf
88
+ #endif
89
+
90
+ /**
91
+ * A simple utility macro to concatenate two tokens together, necessary when one
92
+ * of the tokens is itself a macro.
93
+ */
94
+ #define PM_CONCATENATE(left, right) left ## right
95
+
96
+ /**
97
+ * We want to be able to use static assertions, but they weren't standardized
98
+ * until C11. As such, we polyfill it here by making a hacky typedef that will
99
+ * fail to compile due to a negative array size if the condition is false.
100
+ */
101
+ #if defined(_Static_assert)
102
+ # define PM_STATIC_ASSERT(line, condition, message) _Static_assert(condition, message)
103
+ #else
104
+ # define PM_STATIC_ASSERT(line, condition, message) typedef char PM_CONCATENATE(static_assert_, line)[(condition) ? 1 : -1]
105
+ #endif
106
+
107
+ /**
108
+ * In general, libc for embedded systems does not support memory-mapped files.
109
+ * If the target platform is POSIX or Windows, we can map a file in memory and
110
+ * read it in a more efficient manner.
111
+ */
112
+ #ifdef _WIN32
113
+ # define PRISM_HAS_MMAP
114
+ #else
115
+ # include <unistd.h>
116
+ # ifdef _POSIX_MAPPED_FILES
117
+ # define PRISM_HAS_MMAP
118
+ # endif
119
+ #endif
120
+
121
+ /**
122
+ * isinf on Windows is defined as accepting a float, but on POSIX systems it
123
+ * accepts a float, a double, or a long double. We want to mirror this behavior
124
+ * on windows.
125
+ */
126
+ #ifdef _WIN32
127
+ # include <float.h>
128
+ # undef isinf
129
+ # define isinf(x) (sizeof(x) == sizeof(float) ? !_finitef(x) : !_finite(x))
130
+ #endif
131
+
132
+ /**
133
+ * If you build prism with a custom allocator, configure it with
134
+ * "-D PRISM_XALLOCATOR" to use your own allocator that defines xmalloc,
135
+ * xrealloc, xcalloc, and xfree.
136
+ *
137
+ * For example, your `prism_xallocator.h` file could look like this:
138
+ *
139
+ * ```
140
+ * #ifndef PRISM_XALLOCATOR_H
141
+ * #define PRISM_XALLOCATOR_H
142
+ * #define xmalloc my_malloc
143
+ * #define xrealloc my_realloc
144
+ * #define xcalloc my_calloc
145
+ * #define xfree my_free
146
+ * #endif
147
+ * ```
148
+ */
149
+ #ifdef PRISM_XALLOCATOR
150
+ #include "prism_xallocator.h"
151
+ #else
152
+ #ifndef xmalloc
153
+ /**
154
+ * The malloc function that should be used. This can be overridden with
155
+ * the PRISM_XALLOCATOR define.
156
+ */
157
+ #define xmalloc malloc
158
+ #endif
159
+
160
+ #ifndef xrealloc
161
+ /**
162
+ * The realloc function that should be used. This can be overridden with
163
+ * the PRISM_XALLOCATOR define.
164
+ */
165
+ #define xrealloc realloc
166
+ #endif
167
+
168
+ #ifndef xcalloc
169
+ /**
170
+ * The calloc function that should be used. This can be overridden with
171
+ * the PRISM_XALLOCATOR define.
172
+ */
173
+ #define xcalloc calloc
174
+ #endif
175
+
176
+ #ifndef xfree
177
+ /**
178
+ * The free function that should be used. This can be overridden with the
179
+ * PRISM_XALLOCATOR define.
180
+ */
181
+ #define xfree free
182
+ #endif
183
+ #endif
184
+
185
+ /**
186
+ * If PRISM_BUILD_MINIMAL is defined, then we're going to define every possible
187
+ * switch that will turn off certain features of prism.
188
+ */
189
+ #ifdef PRISM_BUILD_MINIMAL
190
+ /** Exclude the serialization API. */
191
+ #define PRISM_EXCLUDE_SERIALIZATION
192
+
193
+ /** Exclude the JSON serialization API. */
194
+ #define PRISM_EXCLUDE_JSON
195
+
196
+ /** Exclude the Array#pack parser API. */
197
+ #define PRISM_EXCLUDE_PACK
198
+
199
+ /** Exclude the prettyprint API. */
200
+ #define PRISM_EXCLUDE_PRETTYPRINT
201
+
202
+ /** Exclude the full set of encodings, using the minimal only. */
203
+ #define PRISM_ENCODING_EXCLUDE_FULL
204
+ #endif
205
+
206
+ #endif
@@ -0,0 +1,433 @@
1
+ /******************************************************************************/
2
+ /* This file is generated by the templates/template.rb script and should not */
3
+ /* be modified manually. See */
4
+ /* templates/include/prism/diagnostic.h.erb */
5
+ /* if you are looking to modify the */
6
+ /* template */
7
+ /******************************************************************************/
8
+
9
+ /**
10
+ * @file diagnostic.h
11
+ *
12
+ * A list of diagnostics generated during parsing.
13
+ */
14
+ #ifndef PRISM_DIAGNOSTIC_H
15
+ #define PRISM_DIAGNOSTIC_H
16
+
17
+ #include "prism/ast.h"
18
+ #include "prism/defines.h"
19
+ #include "prism/util/pm_list.h"
20
+
21
+ #include <stdbool.h>
22
+ #include <stdlib.h>
23
+ #include <assert.h>
24
+
25
+ /**
26
+ * The diagnostic IDs of all of the diagnostics, used to communicate the types
27
+ * of errors between the parser and the user.
28
+ */
29
+ typedef enum {
30
+ // These are the error diagnostics.
31
+ PM_ERR_ALIAS_ARGUMENT,
32
+ PM_ERR_ALIAS_ARGUMENT_NUMBERED_REFERENCE,
33
+ PM_ERR_AMPAMPEQ_MULTI_ASSIGN,
34
+ PM_ERR_ARGUMENT_AFTER_BLOCK,
35
+ PM_ERR_ARGUMENT_AFTER_FORWARDING_ELLIPSES,
36
+ PM_ERR_ARGUMENT_BARE_HASH,
37
+ PM_ERR_ARGUMENT_BLOCK_FORWARDING,
38
+ PM_ERR_ARGUMENT_BLOCK_MULTI,
39
+ PM_ERR_ARGUMENT_CONFLICT_AMPERSAND,
40
+ PM_ERR_ARGUMENT_CONFLICT_STAR,
41
+ PM_ERR_ARGUMENT_CONFLICT_STAR_STAR,
42
+ PM_ERR_ARGUMENT_FORMAL_CLASS,
43
+ PM_ERR_ARGUMENT_FORMAL_CONSTANT,
44
+ PM_ERR_ARGUMENT_FORMAL_GLOBAL,
45
+ PM_ERR_ARGUMENT_FORMAL_IVAR,
46
+ PM_ERR_ARGUMENT_FORWARDING_UNBOUND,
47
+ PM_ERR_ARGUMENT_IN,
48
+ PM_ERR_ARGUMENT_NO_FORWARDING_AMPERSAND,
49
+ PM_ERR_ARGUMENT_NO_FORWARDING_ELLIPSES,
50
+ PM_ERR_ARGUMENT_NO_FORWARDING_STAR,
51
+ PM_ERR_ARGUMENT_NO_FORWARDING_STAR_STAR,
52
+ PM_ERR_ARGUMENT_SPLAT_AFTER_ASSOC_SPLAT,
53
+ PM_ERR_ARGUMENT_SPLAT_AFTER_SPLAT,
54
+ PM_ERR_ARGUMENT_TERM_PAREN,
55
+ PM_ERR_ARGUMENT_UNEXPECTED_BLOCK,
56
+ PM_ERR_ARRAY_ELEMENT,
57
+ PM_ERR_ARRAY_EXPRESSION,
58
+ PM_ERR_ARRAY_EXPRESSION_AFTER_STAR,
59
+ PM_ERR_ARRAY_SEPARATOR,
60
+ PM_ERR_ARRAY_TERM,
61
+ PM_ERR_BEGIN_LONELY_ELSE,
62
+ PM_ERR_BEGIN_TERM,
63
+ PM_ERR_BEGIN_UPCASE_BRACE,
64
+ PM_ERR_BEGIN_UPCASE_TERM,
65
+ PM_ERR_BEGIN_UPCASE_TOPLEVEL,
66
+ PM_ERR_BLOCK_PARAM_LOCAL_VARIABLE,
67
+ PM_ERR_BLOCK_PARAM_PIPE_TERM,
68
+ PM_ERR_BLOCK_TERM_BRACE,
69
+ PM_ERR_BLOCK_TERM_END,
70
+ PM_ERR_CANNOT_PARSE_EXPRESSION,
71
+ PM_ERR_CANNOT_PARSE_STRING_PART,
72
+ PM_ERR_CASE_EXPRESSION_AFTER_CASE,
73
+ PM_ERR_CASE_EXPRESSION_AFTER_WHEN,
74
+ PM_ERR_CASE_MATCH_MISSING_PREDICATE,
75
+ PM_ERR_CASE_MISSING_CONDITIONS,
76
+ PM_ERR_CASE_TERM,
77
+ PM_ERR_CLASS_IN_METHOD,
78
+ PM_ERR_CLASS_NAME,
79
+ PM_ERR_CLASS_SUPERCLASS,
80
+ PM_ERR_CLASS_TERM,
81
+ PM_ERR_CLASS_UNEXPECTED_END,
82
+ PM_ERR_CLASS_VARIABLE_BARE,
83
+ PM_ERR_CONDITIONAL_ELSIF_PREDICATE,
84
+ PM_ERR_CONDITIONAL_IF_PREDICATE,
85
+ PM_ERR_CONDITIONAL_PREDICATE_TERM,
86
+ PM_ERR_CONDITIONAL_TERM,
87
+ PM_ERR_CONDITIONAL_TERM_ELSE,
88
+ PM_ERR_CONDITIONAL_UNLESS_PREDICATE,
89
+ PM_ERR_CONDITIONAL_UNTIL_PREDICATE,
90
+ PM_ERR_CONDITIONAL_WHILE_PREDICATE,
91
+ PM_ERR_CONSTANT_PATH_COLON_COLON_CONSTANT,
92
+ PM_ERR_DEF_ENDLESS,
93
+ PM_ERR_DEF_ENDLESS_SETTER,
94
+ PM_ERR_DEF_NAME,
95
+ PM_ERR_DEF_PARAMS_TERM,
96
+ PM_ERR_DEF_PARAMS_TERM_PAREN,
97
+ PM_ERR_DEF_RECEIVER,
98
+ PM_ERR_DEF_RECEIVER_TERM,
99
+ PM_ERR_DEF_TERM,
100
+ PM_ERR_DEFINED_EXPRESSION,
101
+ PM_ERR_EMBDOC_TERM,
102
+ PM_ERR_EMBEXPR_END,
103
+ PM_ERR_EMBVAR_INVALID,
104
+ PM_ERR_END_UPCASE_BRACE,
105
+ PM_ERR_END_UPCASE_TERM,
106
+ PM_ERR_ESCAPE_INVALID_CONTROL,
107
+ PM_ERR_ESCAPE_INVALID_CONTROL_REPEAT,
108
+ PM_ERR_ESCAPE_INVALID_HEXADECIMAL,
109
+ PM_ERR_ESCAPE_INVALID_META,
110
+ PM_ERR_ESCAPE_INVALID_META_REPEAT,
111
+ PM_ERR_ESCAPE_INVALID_UNICODE,
112
+ PM_ERR_ESCAPE_INVALID_UNICODE_CM_FLAGS,
113
+ PM_ERR_ESCAPE_INVALID_UNICODE_LITERAL,
114
+ PM_ERR_ESCAPE_INVALID_UNICODE_LONG,
115
+ PM_ERR_ESCAPE_INVALID_UNICODE_TERM,
116
+ PM_ERR_EXPECT_ARGUMENT,
117
+ PM_ERR_EXPECT_EOL_AFTER_STATEMENT,
118
+ PM_ERR_EXPECT_EXPRESSION_AFTER_AMPAMPEQ,
119
+ PM_ERR_EXPECT_EXPRESSION_AFTER_COMMA,
120
+ PM_ERR_EXPECT_EXPRESSION_AFTER_EQUAL,
121
+ PM_ERR_EXPECT_EXPRESSION_AFTER_LESS_LESS,
122
+ PM_ERR_EXPECT_EXPRESSION_AFTER_LPAREN,
123
+ PM_ERR_EXPECT_EXPRESSION_AFTER_OPERATOR,
124
+ PM_ERR_EXPECT_EXPRESSION_AFTER_PIPEPIPEEQ,
125
+ PM_ERR_EXPECT_EXPRESSION_AFTER_QUESTION,
126
+ PM_ERR_EXPECT_EXPRESSION_AFTER_SPLAT,
127
+ PM_ERR_EXPECT_EXPRESSION_AFTER_SPLAT_HASH,
128
+ PM_ERR_EXPECT_EXPRESSION_AFTER_STAR,
129
+ PM_ERR_EXPECT_IDENT_REQ_PARAMETER,
130
+ PM_ERR_EXPECT_IN_DELIMITER,
131
+ PM_ERR_EXPECT_LPAREN_REQ_PARAMETER,
132
+ PM_ERR_EXPECT_MESSAGE,
133
+ PM_ERR_EXPECT_RBRACKET,
134
+ PM_ERR_EXPECT_RPAREN,
135
+ PM_ERR_EXPECT_RPAREN_AFTER_MULTI,
136
+ PM_ERR_EXPECT_RPAREN_REQ_PARAMETER,
137
+ PM_ERR_EXPECT_STRING_CONTENT,
138
+ PM_ERR_EXPECT_WHEN_DELIMITER,
139
+ PM_ERR_EXPRESSION_BARE_HASH,
140
+ PM_ERR_EXPRESSION_NOT_WRITABLE,
141
+ PM_ERR_EXPRESSION_NOT_WRITABLE_ENCODING,
142
+ PM_ERR_EXPRESSION_NOT_WRITABLE_FALSE,
143
+ PM_ERR_EXPRESSION_NOT_WRITABLE_FILE,
144
+ PM_ERR_EXPRESSION_NOT_WRITABLE_LINE,
145
+ PM_ERR_EXPRESSION_NOT_WRITABLE_NIL,
146
+ PM_ERR_EXPRESSION_NOT_WRITABLE_SELF,
147
+ PM_ERR_EXPRESSION_NOT_WRITABLE_TRUE,
148
+ PM_ERR_FLOAT_PARSE,
149
+ PM_ERR_FOR_COLLECTION,
150
+ PM_ERR_FOR_IN,
151
+ PM_ERR_FOR_INDEX,
152
+ PM_ERR_FOR_TERM,
153
+ PM_ERR_GLOBAL_VARIABLE_BARE,
154
+ PM_ERR_HASH_EXPRESSION_AFTER_LABEL,
155
+ PM_ERR_HASH_KEY,
156
+ PM_ERR_HASH_ROCKET,
157
+ PM_ERR_HASH_TERM,
158
+ PM_ERR_HASH_VALUE,
159
+ PM_ERR_HEREDOC_IDENTIFIER,
160
+ PM_ERR_HEREDOC_TERM,
161
+ PM_ERR_INCOMPLETE_QUESTION_MARK,
162
+ PM_ERR_INCOMPLETE_VARIABLE_CLASS,
163
+ PM_ERR_INCOMPLETE_VARIABLE_CLASS_3_3,
164
+ PM_ERR_INCOMPLETE_VARIABLE_INSTANCE,
165
+ PM_ERR_INCOMPLETE_VARIABLE_INSTANCE_3_3,
166
+ PM_ERR_INSTANCE_VARIABLE_BARE,
167
+ PM_ERR_INVALID_BLOCK_EXIT,
168
+ PM_ERR_INVALID_CHARACTER,
169
+ PM_ERR_INVALID_ENCODING_MAGIC_COMMENT,
170
+ PM_ERR_INVALID_ESCAPE_CHARACTER,
171
+ PM_ERR_INVALID_FLOAT_EXPONENT,
172
+ PM_ERR_INVALID_LOCAL_VARIABLE_READ,
173
+ PM_ERR_INVALID_LOCAL_VARIABLE_WRITE,
174
+ PM_ERR_INVALID_MULTIBYTE_CHAR,
175
+ PM_ERR_INVALID_MULTIBYTE_CHARACTER,
176
+ PM_ERR_INVALID_MULTIBYTE_ESCAPE,
177
+ PM_ERR_INVALID_NUMBER_BINARY,
178
+ PM_ERR_INVALID_NUMBER_DECIMAL,
179
+ PM_ERR_INVALID_NUMBER_FRACTION,
180
+ PM_ERR_INVALID_NUMBER_HEXADECIMAL,
181
+ PM_ERR_INVALID_NUMBER_OCTAL,
182
+ PM_ERR_INVALID_NUMBER_UNDERSCORE_INNER,
183
+ PM_ERR_INVALID_NUMBER_UNDERSCORE_TRAILING,
184
+ PM_ERR_INVALID_PERCENT,
185
+ PM_ERR_INVALID_PRINTABLE_CHARACTER,
186
+ PM_ERR_INVALID_RETRY_AFTER_ELSE,
187
+ PM_ERR_INVALID_RETRY_AFTER_ENSURE,
188
+ PM_ERR_INVALID_RETRY_WITHOUT_RESCUE,
189
+ PM_ERR_INVALID_SYMBOL,
190
+ PM_ERR_INVALID_VARIABLE_GLOBAL,
191
+ PM_ERR_INVALID_VARIABLE_GLOBAL_3_3,
192
+ PM_ERR_INVALID_YIELD,
193
+ PM_ERR_IT_NOT_ALLOWED_NUMBERED,
194
+ PM_ERR_IT_NOT_ALLOWED_ORDINARY,
195
+ PM_ERR_LAMBDA_OPEN,
196
+ PM_ERR_LAMBDA_TERM_BRACE,
197
+ PM_ERR_LAMBDA_TERM_END,
198
+ PM_ERR_LIST_I_LOWER_ELEMENT,
199
+ PM_ERR_LIST_I_LOWER_TERM,
200
+ PM_ERR_LIST_I_UPPER_ELEMENT,
201
+ PM_ERR_LIST_I_UPPER_TERM,
202
+ PM_ERR_LIST_W_LOWER_ELEMENT,
203
+ PM_ERR_LIST_W_LOWER_TERM,
204
+ PM_ERR_LIST_W_UPPER_ELEMENT,
205
+ PM_ERR_LIST_W_UPPER_TERM,
206
+ PM_ERR_MALLOC_FAILED,
207
+ PM_ERR_MIXED_ENCODING,
208
+ PM_ERR_MODULE_IN_METHOD,
209
+ PM_ERR_MODULE_NAME,
210
+ PM_ERR_MODULE_TERM,
211
+ PM_ERR_MULTI_ASSIGN_MULTI_SPLATS,
212
+ PM_ERR_MULTI_ASSIGN_UNEXPECTED_REST,
213
+ PM_ERR_NO_LOCAL_VARIABLE,
214
+ PM_ERR_NOT_EXPRESSION,
215
+ PM_ERR_NUMBER_LITERAL_UNDERSCORE,
216
+ PM_ERR_NUMBERED_PARAMETER_IT,
217
+ PM_ERR_NUMBERED_PARAMETER_ORDINARY,
218
+ PM_ERR_NUMBERED_PARAMETER_OUTER_SCOPE,
219
+ PM_ERR_OPERATOR_MULTI_ASSIGN,
220
+ PM_ERR_OPERATOR_WRITE_ARGUMENTS,
221
+ PM_ERR_OPERATOR_WRITE_BLOCK,
222
+ PM_ERR_PARAMETER_ASSOC_SPLAT_MULTI,
223
+ PM_ERR_PARAMETER_BLOCK_MULTI,
224
+ PM_ERR_PARAMETER_CIRCULAR,
225
+ PM_ERR_PARAMETER_FORWARDING_AFTER_REST,
226
+ PM_ERR_PARAMETER_METHOD_NAME,
227
+ PM_ERR_PARAMETER_NAME_DUPLICATED,
228
+ PM_ERR_PARAMETER_NO_DEFAULT,
229
+ PM_ERR_PARAMETER_NO_DEFAULT_KW,
230
+ PM_ERR_PARAMETER_NUMBERED_RESERVED,
231
+ PM_ERR_PARAMETER_ORDER,
232
+ PM_ERR_PARAMETER_SPLAT_MULTI,
233
+ PM_ERR_PARAMETER_STAR,
234
+ PM_ERR_PARAMETER_UNEXPECTED_FWD,
235
+ PM_ERR_PARAMETER_WILD_LOOSE_COMMA,
236
+ PM_ERR_PARAMETER_UNEXPECTED_NO_KW,
237
+ PM_ERR_PATTERN_CAPTURE_DUPLICATE,
238
+ PM_ERR_PATTERN_EXPRESSION_AFTER_BRACKET,
239
+ PM_ERR_PATTERN_EXPRESSION_AFTER_COMMA,
240
+ PM_ERR_PATTERN_EXPRESSION_AFTER_HROCKET,
241
+ PM_ERR_PATTERN_EXPRESSION_AFTER_IN,
242
+ PM_ERR_PATTERN_EXPRESSION_AFTER_KEY,
243
+ PM_ERR_PATTERN_EXPRESSION_AFTER_PAREN,
244
+ PM_ERR_PATTERN_EXPRESSION_AFTER_PIN,
245
+ PM_ERR_PATTERN_EXPRESSION_AFTER_PIPE,
246
+ PM_ERR_PATTERN_EXPRESSION_AFTER_RANGE,
247
+ PM_ERR_PATTERN_EXPRESSION_AFTER_REST,
248
+ PM_ERR_PATTERN_HASH_IMPLICIT,
249
+ PM_ERR_PATTERN_HASH_KEY,
250
+ PM_ERR_PATTERN_HASH_KEY_DUPLICATE,
251
+ PM_ERR_PATTERN_HASH_KEY_INTERPOLATED,
252
+ PM_ERR_PATTERN_HASH_KEY_LABEL,
253
+ PM_ERR_PATTERN_HASH_KEY_LOCALS,
254
+ PM_ERR_PATTERN_IDENT_AFTER_HROCKET,
255
+ PM_ERR_PATTERN_LABEL_AFTER_COMMA,
256
+ PM_ERR_PATTERN_REST,
257
+ PM_ERR_PATTERN_TERM_BRACE,
258
+ PM_ERR_PATTERN_TERM_BRACKET,
259
+ PM_ERR_PATTERN_TERM_PAREN,
260
+ PM_ERR_PIPEPIPEEQ_MULTI_ASSIGN,
261
+ PM_ERR_REGEXP_ENCODING_OPTION_MISMATCH,
262
+ PM_ERR_REGEXP_INCOMPAT_CHAR_ENCODING,
263
+ PM_ERR_REGEXP_INVALID_UNICODE_RANGE,
264
+ PM_ERR_REGEXP_NON_ESCAPED_MBC,
265
+ PM_ERR_REGEXP_TERM,
266
+ PM_ERR_REGEXP_UNKNOWN_OPTIONS,
267
+ PM_ERR_REGEXP_UTF8_CHAR_NON_UTF8_REGEXP,
268
+ PM_ERR_RESCUE_EXPRESSION,
269
+ PM_ERR_RESCUE_MODIFIER_VALUE,
270
+ PM_ERR_RESCUE_TERM,
271
+ PM_ERR_RESCUE_VARIABLE,
272
+ PM_ERR_RETURN_INVALID,
273
+ PM_ERR_SCRIPT_NOT_FOUND,
274
+ PM_ERR_SINGLETON_FOR_LITERALS,
275
+ PM_ERR_STATEMENT_ALIAS,
276
+ PM_ERR_STATEMENT_POSTEXE_END,
277
+ PM_ERR_STATEMENT_PREEXE_BEGIN,
278
+ PM_ERR_STATEMENT_UNDEF,
279
+ PM_ERR_STRING_CONCATENATION,
280
+ PM_ERR_STRING_INTERPOLATED_TERM,
281
+ PM_ERR_STRING_LITERAL_EOF,
282
+ PM_ERR_STRING_LITERAL_TERM,
283
+ PM_ERR_SYMBOL_INVALID,
284
+ PM_ERR_SYMBOL_TERM_DYNAMIC,
285
+ PM_ERR_SYMBOL_TERM_INTERPOLATED,
286
+ PM_ERR_TERNARY_COLON,
287
+ PM_ERR_TERNARY_EXPRESSION_FALSE,
288
+ PM_ERR_TERNARY_EXPRESSION_TRUE,
289
+ PM_ERR_UNARY_RECEIVER,
290
+ PM_ERR_UNDEF_ARGUMENT,
291
+ PM_ERR_UNEXPECTED_BLOCK_ARGUMENT,
292
+ PM_ERR_UNEXPECTED_INDEX_BLOCK,
293
+ PM_ERR_UNEXPECTED_INDEX_KEYWORDS,
294
+ PM_ERR_UNEXPECTED_SAFE_NAVIGATION,
295
+ PM_ERR_UNEXPECTED_TOKEN_CLOSE_CONTEXT,
296
+ PM_ERR_UNEXPECTED_TOKEN_IGNORE,
297
+ PM_ERR_UNTIL_TERM,
298
+ PM_ERR_VOID_EXPRESSION,
299
+ PM_ERR_WHILE_TERM,
300
+ PM_ERR_WRITE_TARGET_IN_METHOD,
301
+ PM_ERR_WRITE_TARGET_READONLY,
302
+ PM_ERR_WRITE_TARGET_UNEXPECTED,
303
+ PM_ERR_XSTRING_TERM,
304
+
305
+ // These are the warning diagnostics.
306
+ PM_WARN_AMBIGUOUS_FIRST_ARGUMENT_MINUS,
307
+ PM_WARN_AMBIGUOUS_FIRST_ARGUMENT_PLUS,
308
+ PM_WARN_AMBIGUOUS_PREFIX_AMPERSAND,
309
+ PM_WARN_AMBIGUOUS_PREFIX_STAR,
310
+ PM_WARN_AMBIGUOUS_PREFIX_STAR_STAR,
311
+ PM_WARN_AMBIGUOUS_SLASH,
312
+ PM_WARN_COMPARISON_AFTER_COMPARISON,
313
+ PM_WARN_DOT_DOT_DOT_EOL,
314
+ PM_WARN_EQUAL_IN_CONDITIONAL,
315
+ PM_WARN_EQUAL_IN_CONDITIONAL_3_3,
316
+ PM_WARN_END_IN_METHOD,
317
+ PM_WARN_DUPLICATED_HASH_KEY,
318
+ PM_WARN_DUPLICATED_WHEN_CLAUSE,
319
+ PM_WARN_FLOAT_OUT_OF_RANGE,
320
+ PM_WARN_IGNORED_FROZEN_STRING_LITERAL,
321
+ PM_WARN_INTEGER_IN_FLIP_FLOP,
322
+ PM_WARN_INVALID_CHARACTER,
323
+ PM_WARN_INVALID_NUMBERED_REFERENCE,
324
+ PM_WARN_INVALID_SHAREABLE_CONSTANT_VALUE,
325
+ PM_WARN_KEYWORD_EOL,
326
+ PM_WARN_LITERAL_IN_CONDITION_DEFAULT,
327
+ PM_WARN_LITERAL_IN_CONDITION_VERBOSE,
328
+ PM_WARN_SHAREABLE_CONSTANT_VALUE_LINE,
329
+ PM_WARN_SHEBANG_CARRIAGE_RETURN,
330
+ PM_WARN_UNEXPECTED_CARRIAGE_RETURN,
331
+ PM_WARN_UNREACHABLE_STATEMENT,
332
+ PM_WARN_UNUSED_LOCAL_VARIABLE,
333
+ PM_WARN_VOID_STATEMENT,
334
+ } pm_diagnostic_id_t;
335
+
336
+ /**
337
+ * This struct represents a diagnostic generated during parsing.
338
+ *
339
+ * @extends pm_list_node_t
340
+ */
341
+ typedef struct {
342
+ /** The embedded base node. */
343
+ pm_list_node_t node;
344
+
345
+ /** The location of the diagnostic in the source. */
346
+ pm_location_t location;
347
+
348
+ /** The ID of the diagnostic. */
349
+ pm_diagnostic_id_t diag_id;
350
+
351
+ /** The message associated with the diagnostic. */
352
+ const char *message;
353
+
354
+ /**
355
+ * Whether or not the memory related to the message of this diagnostic is
356
+ * owned by this diagnostic. If it is, it needs to be freed when the
357
+ * diagnostic is freed.
358
+ */
359
+ bool owned;
360
+
361
+ /**
362
+ * The level of the diagnostic, see `pm_error_level_t` and
363
+ * `pm_warning_level_t` for possible values.
364
+ */
365
+ uint8_t level;
366
+ } pm_diagnostic_t;
367
+
368
+ /**
369
+ * The levels of errors generated during parsing.
370
+ */
371
+ typedef enum {
372
+ /** For errors that should raise a syntax error. */
373
+ PM_ERROR_LEVEL_SYNTAX = 0,
374
+
375
+ /** For errors that should raise an argument error. */
376
+ PM_ERROR_LEVEL_ARGUMENT = 1,
377
+
378
+ /** For errors that should raise a load error. */
379
+ PM_ERROR_LEVEL_LOAD = 2
380
+ } pm_error_level_t;
381
+
382
+ /**
383
+ * The levels of warnings generated during parsing.
384
+ */
385
+ typedef enum {
386
+ /** For warnings which should be emitted if $VERBOSE != nil. */
387
+ PM_WARNING_LEVEL_DEFAULT = 0,
388
+
389
+ /** For warnings which should be emitted if $VERBOSE == true. */
390
+ PM_WARNING_LEVEL_VERBOSE = 1
391
+ } pm_warning_level_t;
392
+
393
+ /**
394
+ * Get the human-readable name of the given diagnostic ID.
395
+ *
396
+ * @param diag_id The diagnostic ID.
397
+ * @return The human-readable name of the diagnostic ID.
398
+ */
399
+ const char * pm_diagnostic_id_human(pm_diagnostic_id_t diag_id);
400
+
401
+ /**
402
+ * Append a diagnostic to the given list of diagnostics that is using shared
403
+ * memory for its message.
404
+ *
405
+ * @param list The list to append to.
406
+ * @param start The start of the diagnostic.
407
+ * @param end The end of the diagnostic.
408
+ * @param diag_id The diagnostic ID.
409
+ * @return Whether the diagnostic was successfully appended.
410
+ */
411
+ bool pm_diagnostic_list_append(pm_list_t *list, const uint8_t *start, const uint8_t *end, pm_diagnostic_id_t diag_id);
412
+
413
+ /**
414
+ * Append a diagnostic to the given list of diagnostics that is using a format
415
+ * string for its message.
416
+ *
417
+ * @param list The list to append to.
418
+ * @param start The start of the diagnostic.
419
+ * @param end The end of the diagnostic.
420
+ * @param diag_id The diagnostic ID.
421
+ * @param ... The arguments to the format string for the message.
422
+ * @return Whether the diagnostic was successfully appended.
423
+ */
424
+ bool pm_diagnostic_list_append_format(pm_list_t *list, const uint8_t *start, const uint8_t *end, pm_diagnostic_id_t diag_id, ...);
425
+
426
+ /**
427
+ * Deallocate the internal state of the given diagnostic list.
428
+ *
429
+ * @param list The list to deallocate.
430
+ */
431
+ void pm_diagnostic_list_free(pm_list_t *list);
432
+
433
+ #endif