datadog-ruby_core_source 3.3.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (732) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/publish.yml +18 -0
  3. data/.gitignore +7 -0
  4. data/.idea/vcs.xml +28 -0
  5. data/CHANGELOG.datadog.md +4 -0
  6. data/CHANGELOG.md +284 -0
  7. data/CONTRIBUTING.md +2 -0
  8. data/Gemfile +4 -0
  9. data/LEGAL +534 -0
  10. data/LICENSE.txt +22 -0
  11. data/README.md +39 -0
  12. data/RUBY_LICENSE +56 -0
  13. data/Rakefile +73 -0
  14. data/datadog-ruby_core_source.gemspec +21 -0
  15. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/addr2line.h +21 -0
  16. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/ccan/build_assert/build_assert.h +40 -0
  17. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/ccan/check_type/check_type.h +63 -0
  18. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/ccan/container_of/container_of.h +142 -0
  19. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/ccan/list/list.h +773 -0
  20. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/ccan/str/str.h +16 -0
  21. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/constant.h +50 -0
  22. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/debug_counter.h +109 -0
  23. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/dln.h +51 -0
  24. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/encindex.h +69 -0
  25. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/eval_intern.h +334 -0
  26. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/gc.h +116 -0
  27. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/id.h +250 -0
  28. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/id_table.h +31 -0
  29. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/insns.inc +217 -0
  30. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/insns_info.inc +1570 -0
  31. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/internal.h +2035 -0
  32. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/iseq.h +307 -0
  33. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/known_errors.inc +746 -0
  34. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/method.h +218 -0
  35. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/node.h +540 -0
  36. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/node_name.inc +198 -0
  37. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/opt_sc.inc +1601 -0
  38. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/optinsn.inc +103 -0
  39. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/optunifs.inc +61 -0
  40. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/parse.h +206 -0
  41. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/probes_helper.h +43 -0
  42. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/regenc.h +254 -0
  43. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/regint.h +938 -0
  44. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/regparse.h +370 -0
  45. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/revision.h +1 -0
  46. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/ruby_assert.h +54 -0
  47. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/ruby_atomic.h +233 -0
  48. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/siphash.h +48 -0
  49. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/symbol.h +108 -0
  50. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/thread_pthread.h +54 -0
  51. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/thread_win32.h +36 -0
  52. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/timev.h +42 -0
  53. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/transcode_data.h +139 -0
  54. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/version.h +73 -0
  55. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm.inc +3667 -0
  56. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm_call_iseq_optimized.inc +213 -0
  57. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm_core.h +1769 -0
  58. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm_debug.h +37 -0
  59. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm_exec.h +192 -0
  60. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm_insnhelper.h +255 -0
  61. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm_opts.h +56 -0
  62. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vmtc.inc +214 -0
  63. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/addr2line.h +21 -0
  64. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/ccan/build_assert/build_assert.h +40 -0
  65. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/ccan/check_type/check_type.h +63 -0
  66. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/ccan/container_of/container_of.h +142 -0
  67. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/ccan/list/list.h +773 -0
  68. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/ccan/str/str.h +16 -0
  69. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/constant.h +51 -0
  70. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/debug_counter.h +109 -0
  71. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/dln.h +51 -0
  72. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/encindex.h +69 -0
  73. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/eval_intern.h +334 -0
  74. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/gc.h +116 -0
  75. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/id.h +250 -0
  76. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/id_table.h +31 -0
  77. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/insns.inc +217 -0
  78. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/insns_info.inc +1570 -0
  79. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/internal.h +2036 -0
  80. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/iseq.h +307 -0
  81. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/known_errors.inc +746 -0
  82. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/method.h +218 -0
  83. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/node.h +540 -0
  84. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/node_name.inc +198 -0
  85. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/opt_sc.inc +1601 -0
  86. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/optinsn.inc +103 -0
  87. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/optunifs.inc +61 -0
  88. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/parse.h +206 -0
  89. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/probes_helper.h +43 -0
  90. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/regenc.h +254 -0
  91. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/regint.h +938 -0
  92. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/regparse.h +370 -0
  93. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/revision.h +1 -0
  94. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/ruby_assert.h +54 -0
  95. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/ruby_atomic.h +233 -0
  96. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/siphash.h +48 -0
  97. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/symbol.h +108 -0
  98. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/thread_pthread.h +54 -0
  99. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/thread_win32.h +36 -0
  100. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/timev.h +42 -0
  101. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/transcode_data.h +139 -0
  102. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/version.h +73 -0
  103. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm.inc +3667 -0
  104. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm_call_iseq_optimized.inc +213 -0
  105. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm_core.h +1767 -0
  106. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm_debug.h +37 -0
  107. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm_exec.h +192 -0
  108. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm_insnhelper.h +255 -0
  109. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm_opts.h +56 -0
  110. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vmtc.inc +214 -0
  111. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/addr2line.h +21 -0
  112. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/ccan/build_assert/build_assert.h +40 -0
  113. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/ccan/check_type/check_type.h +63 -0
  114. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/ccan/container_of/container_of.h +142 -0
  115. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/ccan/list/list.h +773 -0
  116. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/ccan/str/str.h +16 -0
  117. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/constant.h +51 -0
  118. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/debug_counter.h +109 -0
  119. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/dln.h +51 -0
  120. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/encindex.h +69 -0
  121. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/eval_intern.h +334 -0
  122. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/gc.h +116 -0
  123. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/id.h +250 -0
  124. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/id_table.h +31 -0
  125. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/insns.inc +217 -0
  126. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/insns_info.inc +1570 -0
  127. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/internal.h +2036 -0
  128. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/iseq.h +308 -0
  129. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/known_errors.inc +746 -0
  130. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/method.h +218 -0
  131. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/node.h +540 -0
  132. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/node_name.inc +198 -0
  133. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/opt_sc.inc +1601 -0
  134. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/optinsn.inc +103 -0
  135. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/optunifs.inc +61 -0
  136. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/parse.h +200 -0
  137. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/probes_helper.h +43 -0
  138. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/regenc.h +254 -0
  139. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/regint.h +938 -0
  140. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/regparse.h +370 -0
  141. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/revision.h +1 -0
  142. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/ruby_assert.h +54 -0
  143. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/ruby_atomic.h +233 -0
  144. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/siphash.h +48 -0
  145. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/symbol.h +108 -0
  146. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/thread_pthread.h +54 -0
  147. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/thread_win32.h +36 -0
  148. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/timev.h +42 -0
  149. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/transcode_data.h +139 -0
  150. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/version.h +73 -0
  151. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm.inc +3667 -0
  152. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm_call_iseq_optimized.inc +213 -0
  153. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm_core.h +1768 -0
  154. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm_debug.h +37 -0
  155. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm_exec.h +192 -0
  156. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm_insnhelper.h +255 -0
  157. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm_opts.h +56 -0
  158. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vmtc.inc +214 -0
  159. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/addr2line.h +22 -0
  160. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/builtin.h +117 -0
  161. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/ccan/build_assert/build_assert.h +40 -0
  162. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/ccan/check_type/check_type.h +63 -0
  163. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/ccan/container_of/container_of.h +142 -0
  164. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/ccan/list/list.h +791 -0
  165. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/ccan/str/str.h +17 -0
  166. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/constant.h +53 -0
  167. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/darray.h +246 -0
  168. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/debug_counter.h +423 -0
  169. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/dln.h +32 -0
  170. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/encindex.h +70 -0
  171. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/eval_intern.h +343 -0
  172. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/hrtime.h +227 -0
  173. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/id.h +343 -0
  174. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/id_table.h +39 -0
  175. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/insns.inc +251 -0
  176. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/insns_info.inc +9215 -0
  177. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/array.h +151 -0
  178. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/basic_operators.h +63 -0
  179. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/bignum.h +244 -0
  180. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/bits.h +568 -0
  181. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/class.h +276 -0
  182. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/cmdlineopt.h +65 -0
  183. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/compar.h +29 -0
  184. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/compile.h +34 -0
  185. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/compilers.h +107 -0
  186. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/complex.h +29 -0
  187. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/cont.h +35 -0
  188. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/dir.h +16 -0
  189. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/enc.h +19 -0
  190. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/encoding.h +35 -0
  191. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/enum.h +18 -0
  192. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/enumerator.h +21 -0
  193. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/error.h +216 -0
  194. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/eval.h +32 -0
  195. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/file.h +38 -0
  196. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/fixnum.h +184 -0
  197. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/gc.h +364 -0
  198. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/hash.h +191 -0
  199. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/imemo.h +240 -0
  200. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/inits.h +50 -0
  201. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/io.h +137 -0
  202. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/load.h +18 -0
  203. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/loadpath.h +16 -0
  204. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/math.h +23 -0
  205. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/missing.h +18 -0
  206. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/numeric.h +273 -0
  207. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/object.h +60 -0
  208. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/parse.h +108 -0
  209. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/proc.h +30 -0
  210. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/process.h +124 -0
  211. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/ractor.h +6 -0
  212. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/random.h +17 -0
  213. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/range.h +40 -0
  214. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/rational.h +71 -0
  215. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/re.h +28 -0
  216. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/ruby_parser.h +69 -0
  217. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/sanitizers.h +186 -0
  218. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/serial.h +23 -0
  219. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/signal.h +25 -0
  220. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/static_assert.h +16 -0
  221. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/string.h +159 -0
  222. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/struct.h +127 -0
  223. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/symbol.h +45 -0
  224. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/thread.h +78 -0
  225. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/time.h +34 -0
  226. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/transcode.h +23 -0
  227. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/util.h +27 -0
  228. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/variable.h +72 -0
  229. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/vm.h +136 -0
  230. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/warnings.h +16 -0
  231. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal.h +112 -0
  232. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/iseq.h +338 -0
  233. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/known_errors.inc +791 -0
  234. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/method.h +254 -0
  235. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/node.h +128 -0
  236. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/node_name.inc +212 -0
  237. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/optinsn.inc +128 -0
  238. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/optunifs.inc +43 -0
  239. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/parse.h +243 -0
  240. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/parser_bits.h +564 -0
  241. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/parser_node.h +32 -0
  242. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/parser_st.h +162 -0
  243. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/parser_value.h +106 -0
  244. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/ast.h +4612 -0
  245. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/defines.h +94 -0
  246. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/diagnostic.h +297 -0
  247. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/encoding.h +248 -0
  248. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/extension.h +18 -0
  249. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/node.h +57 -0
  250. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/options.h +204 -0
  251. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/pack.h +152 -0
  252. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/parser.h +716 -0
  253. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/prettyprint.h +26 -0
  254. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/prism.h +272 -0
  255. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/regexp.h +33 -0
  256. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_buffer.h +146 -0
  257. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_char.h +205 -0
  258. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_constant_pool.h +191 -0
  259. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_list.h +97 -0
  260. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_memchr.h +29 -0
  261. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_newline_list.h +104 -0
  262. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_state_stack.h +42 -0
  263. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_string.h +150 -0
  264. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_string_list.h +44 -0
  265. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_strncasecmp.h +32 -0
  266. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_strpbrk.h +43 -0
  267. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/version.h +29 -0
  268. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism_compile.h +29 -0
  269. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/probes_helper.h +42 -0
  270. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/ractor_core.h +393 -0
  271. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/regenc.h +254 -0
  272. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/regint.h +1004 -0
  273. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/regparse.h +371 -0
  274. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/revision.h +5 -0
  275. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/rjit.h +101 -0
  276. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/rjit_c.h +164 -0
  277. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/ruby_assert.h +14 -0
  278. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/ruby_atomic.h +23 -0
  279. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/rubyparser.h +1403 -0
  280. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/shape.h +232 -0
  281. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/siphash.h +48 -0
  282. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/symbol.h +118 -0
  283. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/thread_none.h +21 -0
  284. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/thread_pthread.h +166 -0
  285. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/thread_win32.h +58 -0
  286. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/timev.h +58 -0
  287. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/transcode_data.h +138 -0
  288. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/variable.h +39 -0
  289. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/version.h +69 -0
  290. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm.inc +5436 -0
  291. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_call_iseq_optimized.inc +244 -0
  292. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_callinfo.h +619 -0
  293. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_core.h +2201 -0
  294. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_debug.h +122 -0
  295. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_exec.h +199 -0
  296. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_insnhelper.h +261 -0
  297. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_opts.h +67 -0
  298. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_sync.h +137 -0
  299. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vmtc.inc +245 -0
  300. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/yjit.h +72 -0
  301. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/addr2line.h +22 -0
  302. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/builtin.h +117 -0
  303. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/ccan/build_assert/build_assert.h +40 -0
  304. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/ccan/check_type/check_type.h +63 -0
  305. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/ccan/container_of/container_of.h +142 -0
  306. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/ccan/list/list.h +791 -0
  307. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/ccan/str/str.h +17 -0
  308. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/constant.h +53 -0
  309. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/darray.h +246 -0
  310. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/debug_counter.h +423 -0
  311. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/dln.h +32 -0
  312. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/encindex.h +70 -0
  313. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/eval_intern.h +343 -0
  314. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/hrtime.h +227 -0
  315. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/id.h +343 -0
  316. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/id_table.h +39 -0
  317. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/insns.inc +251 -0
  318. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/insns_info.inc +9215 -0
  319. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/array.h +151 -0
  320. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/basic_operators.h +63 -0
  321. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/bignum.h +244 -0
  322. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/bits.h +568 -0
  323. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/class.h +277 -0
  324. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/cmdlineopt.h +65 -0
  325. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/compar.h +29 -0
  326. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/compile.h +34 -0
  327. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/compilers.h +107 -0
  328. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/complex.h +29 -0
  329. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/cont.h +35 -0
  330. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/dir.h +16 -0
  331. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/enc.h +19 -0
  332. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/encoding.h +35 -0
  333. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/enum.h +18 -0
  334. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/enumerator.h +21 -0
  335. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/error.h +216 -0
  336. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/eval.h +33 -0
  337. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/file.h +38 -0
  338. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/fixnum.h +184 -0
  339. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/gc.h +364 -0
  340. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/hash.h +191 -0
  341. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/imemo.h +240 -0
  342. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/inits.h +50 -0
  343. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/io.h +137 -0
  344. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/load.h +18 -0
  345. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/loadpath.h +16 -0
  346. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/math.h +23 -0
  347. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/missing.h +18 -0
  348. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/numeric.h +273 -0
  349. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/object.h +62 -0
  350. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/parse.h +108 -0
  351. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/proc.h +30 -0
  352. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/process.h +124 -0
  353. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/ractor.h +6 -0
  354. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/random.h +17 -0
  355. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/range.h +40 -0
  356. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/rational.h +71 -0
  357. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/re.h +28 -0
  358. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/ruby_parser.h +69 -0
  359. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/sanitizers.h +186 -0
  360. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/serial.h +23 -0
  361. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/signal.h +25 -0
  362. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/static_assert.h +16 -0
  363. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/string.h +160 -0
  364. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/struct.h +127 -0
  365. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/symbol.h +45 -0
  366. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/thread.h +78 -0
  367. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/time.h +34 -0
  368. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/transcode.h +23 -0
  369. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/util.h +27 -0
  370. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/variable.h +72 -0
  371. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/vm.h +136 -0
  372. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/warnings.h +16 -0
  373. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal.h +112 -0
  374. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/iseq.h +338 -0
  375. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/known_errors.inc +791 -0
  376. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/method.h +254 -0
  377. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/node.h +128 -0
  378. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/node_name.inc +212 -0
  379. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/optinsn.inc +128 -0
  380. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/optunifs.inc +43 -0
  381. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/parse.h +243 -0
  382. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/parser_bits.h +564 -0
  383. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/parser_node.h +32 -0
  384. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/parser_st.h +162 -0
  385. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/parser_value.h +106 -0
  386. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/ast.h +4612 -0
  387. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/defines.h +94 -0
  388. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/diagnostic.h +297 -0
  389. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/encoding.h +248 -0
  390. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/extension.h +18 -0
  391. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/node.h +57 -0
  392. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/options.h +204 -0
  393. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/pack.h +152 -0
  394. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/parser.h +716 -0
  395. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/prettyprint.h +26 -0
  396. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/prism.h +272 -0
  397. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/regexp.h +33 -0
  398. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/util/pm_buffer.h +146 -0
  399. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/util/pm_char.h +205 -0
  400. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/util/pm_constant_pool.h +191 -0
  401. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/util/pm_list.h +97 -0
  402. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/util/pm_memchr.h +29 -0
  403. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/util/pm_newline_list.h +104 -0
  404. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/util/pm_state_stack.h +42 -0
  405. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/util/pm_string.h +150 -0
  406. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/util/pm_string_list.h +44 -0
  407. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/util/pm_strncasecmp.h +32 -0
  408. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/util/pm_strpbrk.h +43 -0
  409. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/version.h +29 -0
  410. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism_compile.h +29 -0
  411. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/probes_helper.h +42 -0
  412. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/ractor_core.h +393 -0
  413. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/regenc.h +254 -0
  414. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/regint.h +1006 -0
  415. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/regparse.h +371 -0
  416. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/revision.h +5 -0
  417. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/rjit.h +101 -0
  418. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/rjit_c.h +164 -0
  419. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/ruby_assert.h +14 -0
  420. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/ruby_atomic.h +23 -0
  421. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/rubyparser.h +1405 -0
  422. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/shape.h +233 -0
  423. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/siphash.h +48 -0
  424. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/symbol.h +118 -0
  425. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/thread_none.h +21 -0
  426. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/thread_pthread.h +166 -0
  427. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/thread_win32.h +58 -0
  428. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/timev.h +58 -0
  429. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/transcode_data.h +138 -0
  430. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/variable.h +39 -0
  431. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/version.h +69 -0
  432. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm.inc +5436 -0
  433. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_call_iseq_optimized.inc +244 -0
  434. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_callinfo.h +614 -0
  435. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_core.h +2202 -0
  436. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_debug.h +122 -0
  437. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_exec.h +199 -0
  438. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_insnhelper.h +261 -0
  439. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_opts.h +67 -0
  440. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_sync.h +137 -0
  441. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vmtc.inc +245 -0
  442. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/yjit.h +72 -0
  443. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/addr2line.h +22 -0
  444. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/builtin.h +119 -0
  445. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/ccan/build_assert/build_assert.h +40 -0
  446. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/ccan/check_type/check_type.h +63 -0
  447. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/ccan/container_of/container_of.h +142 -0
  448. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/ccan/list/list.h +791 -0
  449. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/ccan/str/str.h +17 -0
  450. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/constant.h +53 -0
  451. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/darray.h +191 -0
  452. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/debug_counter.h +423 -0
  453. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/dln.h +34 -0
  454. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/encindex.h +70 -0
  455. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/eval_intern.h +324 -0
  456. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/hrtime.h +237 -0
  457. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/id.h +343 -0
  458. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/id_table.h +39 -0
  459. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/insns.inc +259 -0
  460. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/insns_info.inc +9530 -0
  461. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/array.h +151 -0
  462. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/basic_operators.h +63 -0
  463. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/bignum.h +244 -0
  464. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/bits.h +568 -0
  465. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/class.h +283 -0
  466. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/cmdlineopt.h +65 -0
  467. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/compar.h +29 -0
  468. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/compile.h +34 -0
  469. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/compilers.h +107 -0
  470. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/complex.h +29 -0
  471. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/cont.h +35 -0
  472. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/dir.h +16 -0
  473. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/enc.h +19 -0
  474. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/encoding.h +36 -0
  475. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/enum.h +18 -0
  476. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/enumerator.h +21 -0
  477. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/error.h +216 -0
  478. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/eval.h +33 -0
  479. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/file.h +38 -0
  480. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/fixnum.h +184 -0
  481. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/gc.h +334 -0
  482. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/hash.h +191 -0
  483. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/imemo.h +260 -0
  484. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/inits.h +47 -0
  485. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/io.h +140 -0
  486. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/load.h +18 -0
  487. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/loadpath.h +16 -0
  488. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/math.h +23 -0
  489. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/missing.h +19 -0
  490. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/numeric.h +274 -0
  491. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/object.h +63 -0
  492. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/parse.h +117 -0
  493. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/proc.h +30 -0
  494. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/process.h +124 -0
  495. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/ractor.h +6 -0
  496. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/random.h +17 -0
  497. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/range.h +40 -0
  498. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/rational.h +71 -0
  499. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/re.h +28 -0
  500. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/ruby_parser.h +102 -0
  501. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/sanitizers.h +297 -0
  502. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/serial.h +23 -0
  503. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/signal.h +24 -0
  504. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/st.h +11 -0
  505. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/static_assert.h +16 -0
  506. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/string.h +182 -0
  507. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/struct.h +127 -0
  508. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/symbol.h +45 -0
  509. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/thread.h +79 -0
  510. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/time.h +34 -0
  511. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/transcode.h +23 -0
  512. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/util.h +27 -0
  513. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/variable.h +72 -0
  514. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/vm.h +137 -0
  515. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal/warnings.h +16 -0
  516. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/internal.h +108 -0
  517. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/iseq.h +340 -0
  518. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/known_errors.inc +1419 -0
  519. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/method.h +255 -0
  520. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/node.h +111 -0
  521. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/node_name.inc +224 -0
  522. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/optinsn.inc +128 -0
  523. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/optunifs.inc +43 -0
  524. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/parse.h +243 -0
  525. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/parser_bits.h +564 -0
  526. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/parser_node.h +32 -0
  527. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/parser_st.h +162 -0
  528. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/parser_value.h +106 -0
  529. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/ast.h +6245 -0
  530. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/defines.h +206 -0
  531. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/diagnostic.h +433 -0
  532. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/encoding.h +283 -0
  533. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/extension.h +19 -0
  534. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/node.h +150 -0
  535. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/options.h +305 -0
  536. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/pack.h +163 -0
  537. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/parser.h +891 -0
  538. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/prettyprint.h +34 -0
  539. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/prism.h +347 -0
  540. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/regexp.h +33 -0
  541. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/static_literals.h +120 -0
  542. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_buffer.h +218 -0
  543. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_char.h +205 -0
  544. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_constant_pool.h +226 -0
  545. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_integer.h +119 -0
  546. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_list.h +97 -0
  547. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_memchr.h +29 -0
  548. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_newline_list.h +102 -0
  549. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_string.h +174 -0
  550. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_string_list.h +44 -0
  551. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_strncasecmp.h +32 -0
  552. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_strpbrk.h +46 -0
  553. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/version.h +29 -0
  554. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism_compile.h +88 -0
  555. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/probes_helper.h +42 -0
  556. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/ractor_core.h +393 -0
  557. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/regenc.h +254 -0
  558. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/regint.h +1010 -0
  559. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/regparse.h +371 -0
  560. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/revision.h +5 -0
  561. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/rjit.h +101 -0
  562. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/rjit_c.h +165 -0
  563. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/ruby_assert.h +14 -0
  564. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/ruby_atomic.h +23 -0
  565. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/rubyparser.h +1430 -0
  566. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/shape.h +233 -0
  567. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/siphash.h +48 -0
  568. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/symbol.h +118 -0
  569. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/thread_none.h +21 -0
  570. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/thread_pthread.h +166 -0
  571. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/thread_win32.h +58 -0
  572. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/timev.h +58 -0
  573. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/transcode_data.h +138 -0
  574. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/variable.h +39 -0
  575. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/version.h +69 -0
  576. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm.inc +5643 -0
  577. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_call_iseq_optimized.inc +244 -0
  578. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_callinfo.h +605 -0
  579. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_core.h +2236 -0
  580. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_debug.h +124 -0
  581. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_exec.h +199 -0
  582. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_insnhelper.h +272 -0
  583. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_opts.h +67 -0
  584. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_sync.h +137 -0
  585. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vmtc.inc +253 -0
  586. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/yjit.h +79 -0
  587. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/addr2line.h +22 -0
  588. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/builtin.h +119 -0
  589. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/ccan/build_assert/build_assert.h +40 -0
  590. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/ccan/check_type/check_type.h +63 -0
  591. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/ccan/container_of/container_of.h +142 -0
  592. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/ccan/list/list.h +791 -0
  593. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/ccan/str/str.h +17 -0
  594. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/constant.h +53 -0
  595. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/darray.h +209 -0
  596. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/debug_counter.h +423 -0
  597. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/dln.h +32 -0
  598. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/encindex.h +70 -0
  599. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/eval_intern.h +324 -0
  600. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/hrtime.h +237 -0
  601. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/id.h +347 -0
  602. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/id_table.h +39 -0
  603. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/insns.inc +265 -0
  604. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/insns_info.inc +9902 -0
  605. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/array.h +152 -0
  606. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/basic_operators.h +64 -0
  607. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/bignum.h +244 -0
  608. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/bits.h +568 -0
  609. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/class.h +283 -0
  610. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/cmdlineopt.h +65 -0
  611. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/compar.h +29 -0
  612. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/compile.h +34 -0
  613. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/compilers.h +107 -0
  614. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/complex.h +29 -0
  615. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/cont.h +35 -0
  616. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/dir.h +16 -0
  617. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/enc.h +19 -0
  618. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/encoding.h +36 -0
  619. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/enum.h +18 -0
  620. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/enumerator.h +21 -0
  621. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/error.h +218 -0
  622. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/eval.h +33 -0
  623. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/file.h +38 -0
  624. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/fixnum.h +184 -0
  625. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/gc.h +322 -0
  626. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/hash.h +192 -0
  627. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/imemo.h +261 -0
  628. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/inits.h +47 -0
  629. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/io.h +143 -0
  630. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/load.h +18 -0
  631. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/loadpath.h +16 -0
  632. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/math.h +23 -0
  633. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/missing.h +19 -0
  634. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/numeric.h +274 -0
  635. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/object.h +63 -0
  636. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/parse.h +129 -0
  637. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/proc.h +30 -0
  638. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/process.h +124 -0
  639. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/ractor.h +6 -0
  640. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/random.h +17 -0
  641. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/range.h +40 -0
  642. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/rational.h +71 -0
  643. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/re.h +28 -0
  644. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/ruby_parser.h +102 -0
  645. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/sanitizers.h +326 -0
  646. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/serial.h +23 -0
  647. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/signal.h +24 -0
  648. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/st.h +11 -0
  649. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/static_assert.h +16 -0
  650. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/string.h +186 -0
  651. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/struct.h +127 -0
  652. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/symbol.h +45 -0
  653. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/thread.h +85 -0
  654. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/time.h +34 -0
  655. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/transcode.h +23 -0
  656. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/util.h +27 -0
  657. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/variable.h +72 -0
  658. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/vm.h +137 -0
  659. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/warnings.h +16 -0
  660. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal.h +108 -0
  661. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/iseq.h +340 -0
  662. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/known_errors.inc +1419 -0
  663. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/method.h +255 -0
  664. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/node.h +111 -0
  665. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/node_name.inc +224 -0
  666. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/optinsn.inc +128 -0
  667. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/optunifs.inc +43 -0
  668. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parse.h +244 -0
  669. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parser_bits.h +564 -0
  670. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parser_node.h +32 -0
  671. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parser_st.h +162 -0
  672. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parser_value.h +106 -0
  673. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/ast.h +7524 -0
  674. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/defines.h +242 -0
  675. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/diagnostic.h +450 -0
  676. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/encoding.h +283 -0
  677. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/extension.h +19 -0
  678. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/node.h +129 -0
  679. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/options.h +396 -0
  680. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/pack.h +163 -0
  681. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/parser.h +933 -0
  682. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/prettyprint.h +34 -0
  683. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/prism.h +336 -0
  684. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/regexp.h +43 -0
  685. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/static_literals.h +121 -0
  686. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_buffer.h +218 -0
  687. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_char.h +204 -0
  688. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_constant_pool.h +218 -0
  689. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_integer.h +126 -0
  690. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_list.h +97 -0
  691. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_memchr.h +29 -0
  692. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_newline_list.h +113 -0
  693. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_string.h +190 -0
  694. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_strncasecmp.h +32 -0
  695. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/util/pm_strpbrk.h +46 -0
  696. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/version.h +29 -0
  697. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism_compile.h +99 -0
  698. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/probes_helper.h +42 -0
  699. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/ractor_core.h +382 -0
  700. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/regenc.h +254 -0
  701. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/regint.h +1006 -0
  702. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/regparse.h +371 -0
  703. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/revision.h +5 -0
  704. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/rjit.h +101 -0
  705. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/rjit_c.h +165 -0
  706. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/ruby_assert.h +14 -0
  707. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/ruby_atomic.h +23 -0
  708. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/rubyparser.h +1350 -0
  709. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/shape.h +234 -0
  710. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/siphash.h +48 -0
  711. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/symbol.h +123 -0
  712. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/thread_none.h +21 -0
  713. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/thread_pthread.h +168 -0
  714. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/thread_win32.h +58 -0
  715. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/timev.h +58 -0
  716. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/transcode_data.h +138 -0
  717. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/variable.h +39 -0
  718. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/version.h +69 -0
  719. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm.inc +5840 -0
  720. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_call_iseq_optimized.inc +244 -0
  721. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_callinfo.h +627 -0
  722. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_core.h +2222 -0
  723. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_debug.h +124 -0
  724. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_exec.h +199 -0
  725. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_insnhelper.h +277 -0
  726. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_opts.h +67 -0
  727. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_sync.h +137 -0
  728. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vmtc.inc +259 -0
  729. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/yjit.h +79 -0
  730. data/lib/datadog/ruby_core_source/version.rb +5 -0
  731. data/lib/datadog/ruby_core_source.rb +93 -0
  732. metadata +817 -0
@@ -0,0 +1,1403 @@
1
+ #ifndef RUBY_RUBYPARSER_H
2
+ #define RUBY_RUBYPARSER_H 1
3
+ /*
4
+ * This is a header file for librubyparser interface
5
+ */
6
+
7
+ #include <stdarg.h> /* for va_list */
8
+ #include <assert.h>
9
+
10
+ #ifdef UNIVERSAL_PARSER
11
+
12
+ #define rb_encoding void
13
+ #define OnigCodePoint unsigned int
14
+ #include "parser_st.h"
15
+ #ifndef RUBY_RUBY_H
16
+ #include "parser_value.h"
17
+ #endif
18
+
19
+ #else
20
+
21
+ #include "ruby/encoding.h"
22
+
23
+ #endif
24
+
25
+ /*
26
+ * AST Node
27
+ */
28
+ enum node_type {
29
+ NODE_SCOPE,
30
+ NODE_BLOCK,
31
+ NODE_IF,
32
+ NODE_UNLESS,
33
+ NODE_CASE,
34
+ NODE_CASE2,
35
+ NODE_CASE3,
36
+ NODE_WHEN,
37
+ NODE_IN,
38
+ NODE_WHILE,
39
+ NODE_UNTIL,
40
+ NODE_ITER,
41
+ NODE_FOR,
42
+ NODE_FOR_MASGN,
43
+ NODE_BREAK,
44
+ NODE_NEXT,
45
+ NODE_REDO,
46
+ NODE_RETRY,
47
+ NODE_BEGIN,
48
+ NODE_RESCUE,
49
+ NODE_RESBODY,
50
+ NODE_ENSURE,
51
+ NODE_AND,
52
+ NODE_OR,
53
+ NODE_MASGN,
54
+ NODE_LASGN,
55
+ NODE_DASGN,
56
+ NODE_GASGN,
57
+ NODE_IASGN,
58
+ NODE_CDECL,
59
+ NODE_CVASGN,
60
+ NODE_OP_ASGN1,
61
+ NODE_OP_ASGN2,
62
+ NODE_OP_ASGN_AND,
63
+ NODE_OP_ASGN_OR,
64
+ NODE_OP_CDECL,
65
+ NODE_CALL,
66
+ NODE_OPCALL,
67
+ NODE_FCALL,
68
+ NODE_VCALL,
69
+ NODE_QCALL,
70
+ NODE_SUPER,
71
+ NODE_ZSUPER,
72
+ NODE_LIST,
73
+ NODE_ZLIST,
74
+ NODE_HASH,
75
+ NODE_RETURN,
76
+ NODE_YIELD,
77
+ NODE_LVAR,
78
+ NODE_DVAR,
79
+ NODE_GVAR,
80
+ NODE_IVAR,
81
+ NODE_CONST,
82
+ NODE_CVAR,
83
+ NODE_NTH_REF,
84
+ NODE_BACK_REF,
85
+ NODE_MATCH,
86
+ NODE_MATCH2,
87
+ NODE_MATCH3,
88
+ NODE_LIT,
89
+ NODE_STR,
90
+ NODE_DSTR,
91
+ NODE_XSTR,
92
+ NODE_DXSTR,
93
+ NODE_EVSTR,
94
+ NODE_DREGX,
95
+ NODE_ONCE,
96
+ NODE_ARGS,
97
+ NODE_ARGS_AUX,
98
+ NODE_OPT_ARG,
99
+ NODE_KW_ARG,
100
+ NODE_POSTARG,
101
+ NODE_ARGSCAT,
102
+ NODE_ARGSPUSH,
103
+ NODE_SPLAT,
104
+ NODE_BLOCK_PASS,
105
+ NODE_DEFN,
106
+ NODE_DEFS,
107
+ NODE_ALIAS,
108
+ NODE_VALIAS,
109
+ NODE_UNDEF,
110
+ NODE_CLASS,
111
+ NODE_MODULE,
112
+ NODE_SCLASS,
113
+ NODE_COLON2,
114
+ NODE_COLON3,
115
+ NODE_DOT2,
116
+ NODE_DOT3,
117
+ NODE_FLIP2,
118
+ NODE_FLIP3,
119
+ NODE_SELF,
120
+ NODE_NIL,
121
+ NODE_TRUE,
122
+ NODE_FALSE,
123
+ NODE_ERRINFO,
124
+ NODE_DEFINED,
125
+ NODE_POSTEXE,
126
+ NODE_DSYM,
127
+ NODE_ATTRASGN,
128
+ NODE_LAMBDA,
129
+ NODE_ARYPTN,
130
+ NODE_HSHPTN,
131
+ NODE_FNDPTN,
132
+ NODE_ERROR,
133
+ NODE_RIPPER,
134
+ NODE_RIPPER_VALUES,
135
+ NODE_LAST
136
+ };
137
+
138
+ #ifndef FLEX_ARY_LEN
139
+ /* From internal/compilers.h */
140
+ /* A macro for defining a flexible array, like: VALUE ary[FLEX_ARY_LEN]; */
141
+ #if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
142
+ # define FLEX_ARY_LEN /* VALUE ary[]; */
143
+ #elif defined(__GNUC__) && !defined(__STRICT_ANSI__)
144
+ # define FLEX_ARY_LEN 0 /* VALUE ary[0]; */
145
+ #else
146
+ # define FLEX_ARY_LEN 1 /* VALUE ary[1]; */
147
+ #endif
148
+ #endif
149
+
150
+ typedef struct rb_ast_id_table {
151
+ int size;
152
+ ID ids[FLEX_ARY_LEN];
153
+ } rb_ast_id_table_t;
154
+
155
+ typedef struct rb_code_position_struct {
156
+ int lineno;
157
+ int column;
158
+ } rb_code_position_t;
159
+
160
+ typedef struct rb_code_location_struct {
161
+ rb_code_position_t beg_pos;
162
+ rb_code_position_t end_pos;
163
+ } rb_code_location_t;
164
+
165
+ /* Header part of AST Node */
166
+ typedef struct RNode {
167
+ VALUE flags;
168
+ rb_code_location_t nd_loc;
169
+ int node_id;
170
+ } NODE;
171
+
172
+ typedef struct RNode_SCOPE {
173
+ NODE node;
174
+
175
+ rb_ast_id_table_t *nd_tbl;
176
+ struct RNode *nd_body;
177
+ struct RNode_ARGS *nd_args;
178
+ } rb_node_scope_t;
179
+
180
+ typedef struct RNode_BLOCK {
181
+ NODE node;
182
+
183
+ struct RNode *nd_head;
184
+ struct RNode *nd_end;
185
+ struct RNode *nd_next;
186
+ } rb_node_block_t;
187
+
188
+ typedef struct RNode_IF {
189
+ NODE node;
190
+
191
+ struct RNode *nd_cond;
192
+ struct RNode *nd_body;
193
+ struct RNode *nd_else;
194
+ } rb_node_if_t;
195
+
196
+ typedef struct RNode_UNLESS {
197
+ NODE node;
198
+
199
+ struct RNode *nd_cond;
200
+ struct RNode *nd_body;
201
+ struct RNode *nd_else;
202
+ } rb_node_unless_t;
203
+
204
+ typedef struct RNode_CASE {
205
+ NODE node;
206
+
207
+ struct RNode *nd_head;
208
+ struct RNode *nd_body;
209
+ } rb_node_case_t;
210
+
211
+ typedef struct RNode_CASE2 {
212
+ NODE node;
213
+
214
+ struct RNode *nd_head;
215
+ struct RNode *nd_body;
216
+ } rb_node_case2_t;
217
+
218
+ typedef struct RNode_CASE3 {
219
+ NODE node;
220
+
221
+ struct RNode *nd_head;
222
+ struct RNode *nd_body;
223
+ } rb_node_case3_t;
224
+
225
+ typedef struct RNode_WHEN {
226
+ NODE node;
227
+
228
+ struct RNode *nd_head;
229
+ struct RNode *nd_body;
230
+ struct RNode *nd_next;
231
+ } rb_node_when_t;
232
+
233
+ typedef struct RNode_IN {
234
+ NODE node;
235
+
236
+ struct RNode *nd_head;
237
+ struct RNode *nd_body;
238
+ struct RNode *nd_next;
239
+ } rb_node_in_t;
240
+
241
+ /* RNode_WHILE and RNode_UNTIL should be same structure */
242
+ typedef struct RNode_WHILE {
243
+ NODE node;
244
+
245
+ struct RNode *nd_cond;
246
+ struct RNode *nd_body;
247
+ long nd_state;
248
+ } rb_node_while_t;
249
+
250
+ typedef struct RNode_UNTIL {
251
+ NODE node;
252
+
253
+ struct RNode *nd_cond;
254
+ struct RNode *nd_body;
255
+ long nd_state;
256
+ } rb_node_until_t;
257
+
258
+ /* RNode_ITER and RNode_FOR should be same structure */
259
+ typedef struct RNode_ITER {
260
+ NODE node;
261
+
262
+ struct RNode *nd_body;
263
+ struct RNode *nd_iter;
264
+ } rb_node_iter_t;
265
+
266
+ typedef struct RNode_FOR {
267
+ NODE node;
268
+
269
+ struct RNode *nd_body;
270
+ struct RNode *nd_iter;
271
+ } rb_node_for_t;
272
+
273
+ typedef struct RNode_FOR_MASGN {
274
+ NODE node;
275
+
276
+ struct RNode *nd_var;
277
+ } rb_node_for_masgn_t;
278
+
279
+ /* RNode_BREAK, RNode_NEXT and RNode_REDO should be same structure */
280
+ typedef struct RNode_BREAK {
281
+ NODE node;
282
+
283
+ struct RNode *nd_chain;
284
+ struct RNode *nd_stts;
285
+ } rb_node_break_t;
286
+
287
+ typedef struct RNode_NEXT {
288
+ NODE node;
289
+
290
+ struct RNode *nd_chain;
291
+ struct RNode *nd_stts;
292
+ } rb_node_next_t;
293
+
294
+ typedef struct RNode_REDO {
295
+ NODE node;
296
+
297
+ struct RNode *nd_chain;
298
+ } rb_node_redo_t;
299
+
300
+ typedef struct RNode_RETRY {
301
+ NODE node;
302
+ } rb_node_retry_t;
303
+
304
+ typedef struct RNode_BEGIN {
305
+ NODE node;
306
+
307
+ struct RNode *nd_body;
308
+ } rb_node_begin_t;
309
+
310
+ typedef struct RNode_RESCUE {
311
+ NODE node;
312
+
313
+ struct RNode *nd_head;
314
+ struct RNode *nd_resq;
315
+ struct RNode *nd_else;
316
+ } rb_node_rescue_t;
317
+
318
+ typedef struct RNode_RESBODY {
319
+ NODE node;
320
+
321
+ struct RNode *nd_head;
322
+ struct RNode *nd_body;
323
+ struct RNode *nd_args;
324
+ } rb_node_resbody_t;
325
+
326
+ typedef struct RNode_ENSURE {
327
+ NODE node;
328
+
329
+ struct RNode *nd_head;
330
+ struct RNode *nd_resq; /* Maybe not used other than reduce_nodes */
331
+ struct RNode *nd_ensr;
332
+ } rb_node_ensure_t;
333
+
334
+ /* RNode_AND and RNode_OR should be same structure */
335
+ typedef struct RNode_AND {
336
+ NODE node;
337
+
338
+ struct RNode *nd_1st;
339
+ struct RNode *nd_2nd;
340
+ } rb_node_and_t;
341
+
342
+ typedef struct RNode_OR {
343
+ NODE node;
344
+
345
+ struct RNode *nd_1st;
346
+ struct RNode *nd_2nd;
347
+ } rb_node_or_t;
348
+
349
+ typedef struct RNode_MASGN {
350
+ NODE node;
351
+
352
+ struct RNode *nd_head;
353
+ struct RNode *nd_value;
354
+ struct RNode *nd_args;
355
+ } rb_node_masgn_t;
356
+
357
+ typedef struct RNode_LASGN {
358
+ NODE node;
359
+
360
+ ID nd_vid;
361
+ struct RNode *nd_value;
362
+ } rb_node_lasgn_t;
363
+
364
+ typedef struct RNode_DASGN {
365
+ NODE node;
366
+
367
+ ID nd_vid;
368
+ struct RNode *nd_value;
369
+ } rb_node_dasgn_t;
370
+
371
+ typedef struct RNode_GASGN {
372
+ NODE node;
373
+
374
+ ID nd_vid;
375
+ struct RNode *nd_value;
376
+ } rb_node_gasgn_t;
377
+
378
+ typedef struct RNode_IASGN {
379
+ NODE node;
380
+
381
+ ID nd_vid;
382
+ struct RNode *nd_value;
383
+ } rb_node_iasgn_t;
384
+
385
+ typedef struct RNode_CDECL {
386
+ NODE node;
387
+
388
+ ID nd_vid;
389
+ struct RNode *nd_value;
390
+ struct RNode *nd_else;
391
+ } rb_node_cdecl_t;
392
+
393
+ typedef struct RNode_CVASGN {
394
+ NODE node;
395
+
396
+ ID nd_vid;
397
+ struct RNode *nd_value;
398
+ } rb_node_cvasgn_t;
399
+
400
+ typedef struct RNode_OP_ASGN1 {
401
+ NODE node;
402
+
403
+ struct RNode *nd_recv;
404
+ ID nd_mid;
405
+ struct RNode *nd_index;
406
+ struct RNode *nd_rvalue;
407
+ } rb_node_op_asgn1_t;
408
+
409
+ typedef struct RNode_OP_ASGN2 {
410
+ NODE node;
411
+
412
+ struct RNode *nd_recv;
413
+ struct RNode *nd_value;
414
+ ID nd_vid;
415
+ ID nd_mid;
416
+ bool nd_aid;
417
+ } rb_node_op_asgn2_t;
418
+
419
+ typedef struct RNode_OP_ASGN_AND {
420
+ NODE node;
421
+
422
+ struct RNode *nd_head;
423
+ struct RNode *nd_value;
424
+ } rb_node_op_asgn_and_t;
425
+
426
+ typedef struct RNode_OP_ASGN_OR {
427
+ NODE node;
428
+
429
+ struct RNode *nd_head;
430
+ struct RNode *nd_value;
431
+ } rb_node_op_asgn_or_t;
432
+
433
+ typedef struct RNode_OP_CDECL {
434
+ NODE node;
435
+
436
+ struct RNode *nd_head;
437
+ struct RNode *nd_value;
438
+ ID nd_aid;
439
+ } rb_node_op_cdecl_t;
440
+
441
+ typedef struct RNode_CALL {
442
+ NODE node;
443
+
444
+ struct RNode *nd_recv;
445
+ ID nd_mid;
446
+ struct RNode *nd_args;
447
+ } rb_node_call_t;
448
+
449
+ typedef struct RNode_OPCALL {
450
+ NODE node;
451
+
452
+ struct RNode *nd_recv;
453
+ ID nd_mid;
454
+ struct RNode *nd_args;
455
+ } rb_node_opcall_t;
456
+
457
+ typedef struct RNode_FCALL {
458
+ NODE node;
459
+
460
+ ID nd_mid;
461
+ struct RNode *nd_args;
462
+ } rb_node_fcall_t;
463
+
464
+ typedef struct RNode_VCALL {
465
+ NODE node;
466
+
467
+ ID nd_mid;
468
+ } rb_node_vcall_t;
469
+
470
+ typedef struct RNode_QCALL {
471
+ NODE node;
472
+
473
+ struct RNode *nd_recv;
474
+ ID nd_mid;
475
+ struct RNode *nd_args;
476
+ } rb_node_qcall_t;
477
+
478
+ typedef struct RNode_SUPER {
479
+ NODE node;
480
+
481
+ struct RNode *nd_args;
482
+ } rb_node_super_t;
483
+
484
+ typedef struct RNode_ZSUPER {
485
+ NODE node;
486
+ } rb_node_zsuper_t;
487
+
488
+ /*
489
+
490
+ Structure of LIST:
491
+
492
+ LIST +--> LIST
493
+ * head --> element | * head
494
+ * alen (length of list) | * nd_end (point to the last LIST)
495
+ * next -----------------+ * next
496
+
497
+
498
+ RNode_LIST and RNode_VALUES should be same structure
499
+ */
500
+ typedef struct RNode_LIST {
501
+ NODE node;
502
+
503
+ struct RNode *nd_head; /* element */
504
+ union {
505
+ long nd_alen;
506
+ struct RNode *nd_end; /* Second list node has this structure */
507
+ } as;
508
+ struct RNode *nd_next; /* next list node */
509
+ } rb_node_list_t;
510
+
511
+ typedef struct RNode_ZLIST {
512
+ NODE node;
513
+ } rb_node_zlist_t;
514
+
515
+ typedef struct RNode_VALUES {
516
+ NODE node;
517
+
518
+ struct RNode *nd_head;
519
+ long nd_alen;
520
+ struct RNode *nd_next;
521
+ } rb_node_values_t;
522
+
523
+ typedef struct RNode_HASH {
524
+ NODE node;
525
+
526
+ struct RNode *nd_head;
527
+ long nd_brace;
528
+ } rb_node_hash_t;
529
+
530
+ typedef struct RNode_RETURN {
531
+ NODE node;
532
+
533
+ struct RNode *nd_stts;
534
+ } rb_node_return_t;
535
+
536
+ typedef struct RNode_YIELD {
537
+ NODE node;
538
+
539
+ struct RNode *nd_head;
540
+ } rb_node_yield_t;
541
+
542
+ typedef struct RNode_LVAR {
543
+ NODE node;
544
+
545
+ ID nd_vid;
546
+ } rb_node_lvar_t;
547
+
548
+ typedef struct RNode_DVAR {
549
+ NODE node;
550
+
551
+ ID nd_vid;
552
+ } rb_node_dvar_t;
553
+
554
+ typedef struct RNode_GVAR {
555
+ NODE node;
556
+
557
+ ID nd_vid;
558
+ } rb_node_gvar_t;
559
+
560
+ typedef struct RNode_IVAR {
561
+ NODE node;
562
+
563
+ ID nd_vid;
564
+ } rb_node_ivar_t;
565
+
566
+ typedef struct RNode_CONST {
567
+ NODE node;
568
+
569
+ ID nd_vid;
570
+ } rb_node_const_t;
571
+
572
+ typedef struct RNode_CVAR {
573
+ NODE node;
574
+
575
+ ID nd_vid;
576
+ } rb_node_cvar_t;
577
+
578
+ typedef struct RNode_NTH_REF {
579
+ NODE node;
580
+
581
+ long nd_nth;
582
+ } rb_node_nth_ref_t;
583
+
584
+ typedef struct RNode_BACK_REF {
585
+ NODE node;
586
+
587
+ long nd_nth;
588
+ } rb_node_back_ref_t;
589
+
590
+ /* RNode_MATCH, RNode_LIT, RNode_STR and RNode_XSTR should be same structure */
591
+ typedef struct RNode_MATCH {
592
+ NODE node;
593
+
594
+ VALUE nd_lit;
595
+ } rb_node_match_t;
596
+
597
+ typedef struct RNode_MATCH2 {
598
+ NODE node;
599
+
600
+ struct RNode *nd_recv;
601
+ struct RNode *nd_value;
602
+ struct RNode *nd_args;
603
+ } rb_node_match2_t;
604
+
605
+ typedef struct RNode_MATCH3 {
606
+ NODE node;
607
+
608
+ struct RNode *nd_recv;
609
+ struct RNode *nd_value;
610
+ } rb_node_match3_t;
611
+
612
+ typedef struct RNode_LIT {
613
+ NODE node;
614
+
615
+ VALUE nd_lit;
616
+ } rb_node_lit_t;
617
+
618
+ typedef struct RNode_STR {
619
+ NODE node;
620
+
621
+ VALUE nd_lit;
622
+ } rb_node_str_t;
623
+
624
+ /* RNode_DSTR, RNode_DXSTR and RNode_DSYM should be same structure */
625
+ typedef struct RNode_DSTR {
626
+ NODE node;
627
+
628
+ VALUE nd_lit;
629
+ union {
630
+ long nd_alen;
631
+ struct RNode *nd_end; /* Second dstr node has this structure. See also RNode_LIST */
632
+ } as;
633
+ struct RNode_LIST *nd_next;
634
+ } rb_node_dstr_t;
635
+
636
+ typedef struct RNode_XSTR {
637
+ NODE node;
638
+
639
+ VALUE nd_lit;
640
+ } rb_node_xstr_t;
641
+
642
+ typedef struct RNode_DXSTR {
643
+ NODE node;
644
+
645
+ VALUE nd_lit;
646
+ long nd_alen;
647
+ struct RNode_LIST *nd_next;
648
+ } rb_node_dxstr_t;
649
+
650
+ typedef struct RNode_EVSTR {
651
+ NODE node;
652
+
653
+ struct RNode *nd_body;
654
+ } rb_node_evstr_t;
655
+
656
+ typedef struct RNode_DREGX {
657
+ NODE node;
658
+
659
+ VALUE nd_lit;
660
+ ID nd_cflag;
661
+ struct RNode_LIST *nd_next;
662
+ } rb_node_dregx_t;
663
+
664
+ typedef struct RNode_ONCE {
665
+ NODE node;
666
+
667
+ struct RNode *nd_body;
668
+ } rb_node_once_t;
669
+
670
+ struct rb_args_info {
671
+ NODE *pre_init;
672
+ NODE *post_init;
673
+
674
+ int pre_args_num; /* count of mandatory pre-arguments */
675
+ int post_args_num; /* count of mandatory post-arguments */
676
+
677
+ ID first_post_arg;
678
+
679
+ ID rest_arg;
680
+ ID block_arg;
681
+
682
+ struct RNode_KW_ARG *kw_args;
683
+ NODE *kw_rest_arg;
684
+
685
+ struct RNode_OPT_ARG *opt_args;
686
+ unsigned int no_kwarg: 1;
687
+ unsigned int ruby2_keywords: 1;
688
+ unsigned int forwarding: 1;
689
+ };
690
+
691
+ typedef struct RNode_ARGS {
692
+ NODE node;
693
+
694
+ struct rb_args_info nd_ainfo;
695
+ } rb_node_args_t;
696
+
697
+ typedef struct RNode_ARGS_AUX {
698
+ NODE node;
699
+
700
+ ID nd_pid;
701
+ long nd_plen;
702
+ struct RNode *nd_next;
703
+ } rb_node_args_aux_t;
704
+
705
+ typedef struct RNode_OPT_ARG {
706
+ NODE node;
707
+
708
+ struct RNode *nd_body;
709
+ struct RNode_OPT_ARG *nd_next;
710
+ } rb_node_opt_arg_t;
711
+
712
+ typedef struct RNode_KW_ARG {
713
+ NODE node;
714
+
715
+ struct RNode *nd_body;
716
+ struct RNode_KW_ARG *nd_next;
717
+ } rb_node_kw_arg_t;
718
+
719
+ typedef struct RNode_POSTARG {
720
+ NODE node;
721
+
722
+ struct RNode *nd_1st;
723
+ struct RNode *nd_2nd;
724
+ } rb_node_postarg_t;
725
+
726
+ typedef struct RNode_ARGSCAT {
727
+ NODE node;
728
+
729
+ struct RNode *nd_head;
730
+ struct RNode *nd_body;
731
+ } rb_node_argscat_t;
732
+
733
+ typedef struct RNode_ARGSPUSH {
734
+ NODE node;
735
+
736
+ struct RNode *nd_head;
737
+ struct RNode *nd_body;
738
+ } rb_node_argspush_t;
739
+
740
+ typedef struct RNode_SPLAT {
741
+ NODE node;
742
+
743
+ struct RNode *nd_head;
744
+ } rb_node_splat_t;
745
+
746
+ typedef struct RNode_BLOCK_PASS {
747
+ NODE node;
748
+
749
+ struct RNode *nd_head;
750
+ struct RNode *nd_body;
751
+ } rb_node_block_pass_t;
752
+
753
+ typedef struct RNode_DEFN {
754
+ NODE node;
755
+
756
+ ID nd_mid;
757
+ struct RNode *nd_defn;
758
+ } rb_node_defn_t;
759
+
760
+ typedef struct RNode_DEFS {
761
+ NODE node;
762
+
763
+ struct RNode *nd_recv;
764
+ ID nd_mid;
765
+ struct RNode *nd_defn;
766
+ } rb_node_defs_t;
767
+
768
+ typedef struct RNode_ALIAS {
769
+ NODE node;
770
+
771
+ struct RNode *nd_1st;
772
+ struct RNode *nd_2nd;
773
+ } rb_node_alias_t;
774
+
775
+ typedef struct RNode_VALIAS {
776
+ NODE node;
777
+
778
+ ID nd_alias;
779
+ ID nd_orig;
780
+ } rb_node_valias_t;
781
+
782
+ typedef struct RNode_UNDEF {
783
+ NODE node;
784
+
785
+ struct RNode *nd_undef;
786
+ } rb_node_undef_t;
787
+
788
+ typedef struct RNode_CLASS {
789
+ NODE node;
790
+
791
+ struct RNode *nd_cpath;
792
+ struct RNode *nd_body;
793
+ struct RNode *nd_super;
794
+ } rb_node_class_t;
795
+
796
+ typedef struct RNode_MODULE {
797
+ NODE node;
798
+
799
+ struct RNode *nd_cpath;
800
+ struct RNode *nd_body;
801
+ } rb_node_module_t;
802
+
803
+ typedef struct RNode_SCLASS {
804
+ NODE node;
805
+
806
+ struct RNode *nd_recv;
807
+ struct RNode *nd_body;
808
+ } rb_node_sclass_t;
809
+
810
+ typedef struct RNode_COLON2 {
811
+ NODE node;
812
+
813
+ struct RNode *nd_head;
814
+ ID nd_mid;
815
+ } rb_node_colon2_t;
816
+
817
+ typedef struct RNode_COLON3 {
818
+ NODE node;
819
+
820
+ ID nd_mid;
821
+ } rb_node_colon3_t;
822
+
823
+ /* RNode_DOT2, RNode_DOT3, RNode_FLIP2 and RNode_FLIP3 should be same structure */
824
+ typedef struct RNode_DOT2 {
825
+ NODE node;
826
+
827
+ struct RNode *nd_beg;
828
+ struct RNode *nd_end;
829
+ } rb_node_dot2_t;
830
+
831
+ typedef struct RNode_DOT3 {
832
+ NODE node;
833
+
834
+ struct RNode *nd_beg;
835
+ struct RNode *nd_end;
836
+ } rb_node_dot3_t;
837
+
838
+ typedef struct RNode_FLIP2 {
839
+ NODE node;
840
+
841
+ struct RNode *nd_beg;
842
+ struct RNode *nd_end;
843
+ } rb_node_flip2_t;
844
+
845
+ typedef struct RNode_FLIP3 {
846
+ NODE node;
847
+
848
+ struct RNode *nd_beg;
849
+ struct RNode *nd_end;
850
+ } rb_node_flip3_t;
851
+
852
+ typedef struct RNode_SELF {
853
+ NODE node;
854
+
855
+ long nd_state; /* Default 1. See NEW_SELF. */
856
+ } rb_node_self_t;
857
+
858
+ typedef struct RNode_NIL {
859
+ NODE node;
860
+ } rb_node_nil_t;
861
+
862
+ typedef struct RNode_TRUE {
863
+ NODE node;
864
+ } rb_node_true_t;
865
+
866
+ typedef struct RNode_FALSE {
867
+ NODE node;
868
+ } rb_node_false_t;
869
+
870
+ typedef struct RNode_ERRINFO {
871
+ NODE node;
872
+ } rb_node_errinfo_t;
873
+
874
+ typedef struct RNode_DEFINED {
875
+ NODE node;
876
+
877
+ struct RNode *nd_head;
878
+ } rb_node_defined_t;
879
+
880
+ typedef struct RNode_POSTEXE {
881
+ NODE node;
882
+
883
+ struct RNode *nd_body;
884
+ } rb_node_postexe_t;
885
+
886
+ typedef struct RNode_DSYM {
887
+ NODE node;
888
+
889
+ VALUE nd_lit;
890
+ long nd_alen;
891
+ struct RNode_LIST *nd_next;
892
+ } rb_node_dsym_t;
893
+
894
+ typedef struct RNode_ATTRASGN {
895
+ NODE node;
896
+
897
+ struct RNode *nd_recv;
898
+ ID nd_mid;
899
+ struct RNode *nd_args;
900
+ } rb_node_attrasgn_t;
901
+
902
+ typedef struct RNode_LAMBDA {
903
+ NODE node;
904
+
905
+ struct RNode *nd_body;
906
+ } rb_node_lambda_t;
907
+
908
+ typedef struct RNode_ARYPTN {
909
+ NODE node;
910
+
911
+ struct RNode *nd_pconst;
912
+ NODE *pre_args;
913
+ NODE *rest_arg;
914
+ NODE *post_args;
915
+ } rb_node_aryptn_t;
916
+
917
+ typedef struct RNode_HSHPTN {
918
+ NODE node;
919
+
920
+ struct RNode *nd_pconst;
921
+ struct RNode *nd_pkwargs;
922
+ struct RNode *nd_pkwrestarg;
923
+ } rb_node_hshptn_t;
924
+
925
+ typedef struct RNode_FNDPTN {
926
+ NODE node;
927
+
928
+ struct RNode *nd_pconst;
929
+ NODE *pre_rest_arg;
930
+ NODE *args;
931
+ NODE *post_rest_arg;
932
+ } rb_node_fndptn_t;
933
+
934
+ typedef struct RNode_ERROR {
935
+ NODE node;
936
+ } rb_node_error_t;
937
+
938
+ #define RNODE(obj) ((struct RNode *)(obj))
939
+
940
+ #define RNODE_SCOPE(node) ((struct RNode_SCOPE *)(node))
941
+ #define RNODE_BLOCK(node) ((struct RNode_BLOCK *)(node))
942
+ #define RNODE_IF(node) ((struct RNode_IF *)(node))
943
+ #define RNODE_UNLESS(node) ((struct RNode_UNLESS *)(node))
944
+ #define RNODE_CASE(node) ((struct RNode_CASE *)(node))
945
+ #define RNODE_CASE2(node) ((struct RNode_CASE2 *)(node))
946
+ #define RNODE_CASE3(node) ((struct RNode_CASE3 *)(node))
947
+ #define RNODE_WHEN(node) ((struct RNode_WHEN *)(node))
948
+ #define RNODE_IN(node) ((struct RNode_IN *)(node))
949
+ #define RNODE_WHILE(node) ((struct RNode_WHILE *)(node))
950
+ #define RNODE_UNTIL(node) ((struct RNode_UNTIL *)(node))
951
+ #define RNODE_ITER(node) ((struct RNode_ITER *)(node))
952
+ #define RNODE_FOR(node) ((struct RNode_FOR *)(node))
953
+ #define RNODE_FOR_MASGN(node) ((struct RNode_FOR_MASGN *)(node))
954
+ #define RNODE_BREAK(node) ((struct RNode_BREAK *)(node))
955
+ #define RNODE_NEXT(node) ((struct RNode_NEXT *)(node))
956
+ #define RNODE_REDO(node) ((struct RNode_REDO *)(node))
957
+ #define RNODE_RETRY(node) ((struct RNode_RETRY *)(node))
958
+ #define RNODE_BEGIN(node) ((struct RNode_BEGIN *)(node))
959
+ #define RNODE_RESCUE(node) ((struct RNode_RESCUE *)(node))
960
+ #define RNODE_RESBODY(node) ((struct RNode_RESBODY *)(node))
961
+ #define RNODE_ENSURE(node) ((struct RNode_ENSURE *)(node))
962
+ #define RNODE_AND(node) ((struct RNode_AND *)(node))
963
+ #define RNODE_OR(node) ((struct RNode_OR *)(node))
964
+ #define RNODE_MASGN(node) ((struct RNode_MASGN *)(node))
965
+ #define RNODE_LASGN(node) ((struct RNode_LASGN *)(node))
966
+ #define RNODE_DASGN(node) ((struct RNode_DASGN *)(node))
967
+ #define RNODE_GASGN(node) ((struct RNode_GASGN *)(node))
968
+ #define RNODE_IASGN(node) ((struct RNode_IASGN *)(node))
969
+ #define RNODE_CDECL(node) ((struct RNode_CDECL *)(node))
970
+ #define RNODE_CVASGN(node) ((struct RNode_CVASGN *)(node))
971
+ #define RNODE_OP_ASGN1(node) ((struct RNode_OP_ASGN1 *)(node))
972
+ #define RNODE_OP_ASGN2(node) ((struct RNode_OP_ASGN2 *)(node))
973
+ #define RNODE_OP_ASGN_AND(node) ((struct RNode_OP_ASGN_AND *)(node))
974
+ #define RNODE_OP_ASGN_OR(node) ((struct RNode_OP_ASGN_OR *)(node))
975
+ #define RNODE_OP_CDECL(node) ((struct RNode_OP_CDECL *)(node))
976
+ #define RNODE_CALL(node) ((struct RNode_CALL *)(node))
977
+ #define RNODE_OPCALL(node) ((struct RNode_OPCALL *)(node))
978
+ #define RNODE_FCALL(node) ((struct RNode_FCALL *)(node))
979
+ #define RNODE_VCALL(node) ((struct RNode_VCALL *)(node))
980
+ #define RNODE_QCALL(node) ((struct RNode_QCALL *)(node))
981
+ #define RNODE_SUPER(node) ((struct RNode_SUPER *)(node))
982
+ #define RNODE_ZSUPER(node) ((struct RNode_ZSUPER *)(node))
983
+ #define RNODE_LIST(node) ((struct RNode_LIST *)(node))
984
+ #define RNODE_ZLIST(node) ((struct RNode_ZLIST *)(node))
985
+ #define RNODE_HASH(node) ((struct RNode_HASH *)(node))
986
+ #define RNODE_RETURN(node) ((struct RNode_RETURN *)(node))
987
+ #define RNODE_YIELD(node) ((struct RNode_YIELD *)(node))
988
+ #define RNODE_LVAR(node) ((struct RNode_LVAR *)(node))
989
+ #define RNODE_DVAR(node) ((struct RNode_DVAR *)(node))
990
+ #define RNODE_GVAR(node) ((struct RNode_GVAR *)(node))
991
+ #define RNODE_IVAR(node) ((struct RNode_IVAR *)(node))
992
+ #define RNODE_CONST(node) ((struct RNode_CONST *)(node))
993
+ #define RNODE_CVAR(node) ((struct RNode_CVAR *)(node))
994
+ #define RNODE_NTH_REF(node) ((struct RNode_NTH_REF *)(node))
995
+ #define RNODE_BACK_REF(node) ((struct RNode_BACK_REF *)(node))
996
+ #define RNODE_MATCH(node) ((struct RNode_MATCH *)(node))
997
+ #define RNODE_MATCH2(node) ((struct RNode_MATCH2 *)(node))
998
+ #define RNODE_MATCH3(node) ((struct RNode_MATCH3 *)(node))
999
+ #define RNODE_LIT(node) ((struct RNode_LIT *)(node))
1000
+ #define RNODE_STR(node) ((struct RNode_STR *)(node))
1001
+ #define RNODE_DSTR(node) ((struct RNode_DSTR *)(node))
1002
+ #define RNODE_XSTR(node) ((struct RNode_XSTR *)(node))
1003
+ #define RNODE_DXSTR(node) ((struct RNode_DXSTR *)(node))
1004
+ #define RNODE_EVSTR(node) ((struct RNode_EVSTR *)(node))
1005
+ #define RNODE_DREGX(node) ((struct RNode_DREGX *)(node))
1006
+ #define RNODE_ONCE(node) ((struct RNode_ONCE *)(node))
1007
+ #define RNODE_ARGS(node) ((struct RNode_ARGS *)(node))
1008
+ #define RNODE_ARGS_AUX(node) ((struct RNode_ARGS_AUX *)(node))
1009
+ #define RNODE_OPT_ARG(node) ((struct RNode_OPT_ARG *)(node))
1010
+ #define RNODE_KW_ARG(node) ((struct RNode_KW_ARG *)(node))
1011
+ #define RNODE_POSTARG(node) ((struct RNode_POSTARG *)(node))
1012
+ #define RNODE_ARGSCAT(node) ((struct RNode_ARGSCAT *)(node))
1013
+ #define RNODE_ARGSPUSH(node) ((struct RNode_ARGSPUSH *)(node))
1014
+ #define RNODE_SPLAT(node) ((struct RNode_SPLAT *)(node))
1015
+ #define RNODE_BLOCK_PASS(node) ((struct RNode_BLOCK_PASS *)(node))
1016
+ #define RNODE_DEFN(node) ((struct RNode_DEFN *)(node))
1017
+ #define RNODE_DEFS(node) ((struct RNode_DEFS *)(node))
1018
+ #define RNODE_ALIAS(node) ((struct RNode_ALIAS *)(node))
1019
+ #define RNODE_VALIAS(node) ((struct RNode_VALIAS *)(node))
1020
+ #define RNODE_UNDEF(node) ((struct RNode_UNDEF *)(node))
1021
+ #define RNODE_CLASS(node) ((struct RNode_CLASS *)(node))
1022
+ #define RNODE_MODULE(node) ((struct RNode_MODULE *)(node))
1023
+ #define RNODE_SCLASS(node) ((struct RNode_SCLASS *)(node))
1024
+ #define RNODE_COLON2(node) ((struct RNode_COLON2 *)(node))
1025
+ #define RNODE_COLON3(node) ((struct RNode_COLON3 *)(node))
1026
+ #define RNODE_DOT2(node) ((struct RNode_DOT2 *)(node))
1027
+ #define RNODE_DOT3(node) ((struct RNode_DOT3 *)(node))
1028
+ #define RNODE_FLIP2(node) ((struct RNode_FLIP2 *)(node))
1029
+ #define RNODE_FLIP3(node) ((struct RNode_FLIP3 *)(node))
1030
+ #define RNODE_SELF(node) ((struct RNode_SELF *)(node))
1031
+ #define RNODE_NIL(node) ((struct RNode_NIL *)(node))
1032
+ #define RNODE_TRUE(node) ((struct RNode_TRUE *)(node))
1033
+ #define RNODE_FALSE(node) ((struct RNode_FALSE *)(node))
1034
+ #define RNODE_ERRINFO(node) ((struct RNode_ERRINFO *)(node))
1035
+ #define RNODE_DEFINED(node) ((struct RNode_DEFINED *)(node))
1036
+ #define RNODE_POSTEXE(node) ((struct RNode_POSTEXE *)(node))
1037
+ #define RNODE_DSYM(node) ((struct RNode_DSYM *)(node))
1038
+ #define RNODE_ATTRASGN(node) ((struct RNode_ATTRASGN *)(node))
1039
+ #define RNODE_LAMBDA(node) ((struct RNode_LAMBDA *)(node))
1040
+ #define RNODE_ARYPTN(node) ((struct RNode_ARYPTN *)(node))
1041
+ #define RNODE_HSHPTN(node) ((struct RNode_HSHPTN *)(node))
1042
+ #define RNODE_FNDPTN(node) ((struct RNode_FNDPTN *)(node))
1043
+
1044
+ #ifdef RIPPER
1045
+ typedef struct RNode_RIPPER {
1046
+ NODE node;
1047
+
1048
+ ID nd_vid;
1049
+ VALUE nd_rval;
1050
+ VALUE nd_cval;
1051
+ } rb_node_ripper_t;
1052
+
1053
+ typedef struct RNode_RIPPER_VALUES {
1054
+ NODE node;
1055
+
1056
+ VALUE nd_val1;
1057
+ VALUE nd_val2;
1058
+ VALUE nd_val3;
1059
+ } rb_node_ripper_values_t;
1060
+
1061
+ #define RNODE_RIPPER(node) ((struct RNode_RIPPER *)(node))
1062
+ #define RNODE_RIPPER_VALUES(node) ((struct RNode_RIPPER_VALUES *)(node))
1063
+ #endif
1064
+
1065
+ /* FL : 0..4: T_TYPES, 5: KEEP_WB, 6: PROMOTED, 7: FINALIZE, 8: UNUSED, 9: UNUSED, 10: EXIVAR, 11: FREEZE */
1066
+ /* NODE_FL: 0..4: T_TYPES, 5: KEEP_WB, 6: PROMOTED, 7: NODE_FL_NEWLINE,
1067
+ * 8..14: nd_type,
1068
+ * 15..: nd_line
1069
+ */
1070
+ #define NODE_FL_NEWLINE (((VALUE)1)<<7)
1071
+
1072
+ #define NODE_TYPESHIFT 8
1073
+ #define NODE_TYPEMASK (((VALUE)0x7f)<<NODE_TYPESHIFT)
1074
+
1075
+ #define nd_fl_newline(n) (n)->flags & NODE_FL_NEWLINE
1076
+ #define nd_set_fl_newline(n) (n)->flags |= NODE_FL_NEWLINE
1077
+ #define nd_unset_fl_newline(n) (n)->flags &= ~NODE_FL_NEWLINE
1078
+
1079
+ #define nd_type(n) ((int) ((RNODE(n)->flags & NODE_TYPEMASK)>>NODE_TYPESHIFT))
1080
+ #define nd_set_type(n,t) \
1081
+ rb_node_set_type(n, t)
1082
+ #define nd_init_type(n,t) \
1083
+ (n)->flags=(((n)->flags&~NODE_TYPEMASK)|((((unsigned long)(t))<<NODE_TYPESHIFT)&NODE_TYPEMASK))
1084
+
1085
+ typedef struct node_buffer_struct node_buffer_t;
1086
+ /* T_IMEMO/ast */
1087
+ typedef struct rb_ast_body_struct {
1088
+ const NODE *root;
1089
+ VALUE script_lines;
1090
+ // script_lines is either:
1091
+ // - a Fixnum that represents the line count of the original source, or
1092
+ // - an Array that contains the lines of the original source
1093
+ signed int frozen_string_literal:2; /* -1: not specified, 0: false, 1: true */
1094
+ signed int coverage_enabled:2; /* -1: not specified, 0: false, 1: true */
1095
+ } rb_ast_body_t;
1096
+ typedef struct rb_ast_struct {
1097
+ VALUE flags;
1098
+ node_buffer_t *node_buffer;
1099
+ rb_ast_body_t body;
1100
+ } rb_ast_t;
1101
+
1102
+
1103
+
1104
+ /*
1105
+ * Parser Interface
1106
+ */
1107
+
1108
+
1109
+ typedef struct parser_params rb_parser_t;
1110
+ #ifndef INTERNAL_IMEMO_H
1111
+ typedef struct rb_imemo_tmpbuf_struct rb_imemo_tmpbuf_t;
1112
+ #endif
1113
+
1114
+ #ifdef UNIVERSAL_PARSER
1115
+ typedef struct rb_parser_config_struct {
1116
+ /*
1117
+ * Reference counter.
1118
+ * This is needed because both parser and ast refer
1119
+ * same config pointer.
1120
+ * We can remove this, once decuple parser and ast from Ruby GC.
1121
+ */
1122
+ int counter;
1123
+
1124
+ /* Memory */
1125
+ void *(*malloc)(size_t size);
1126
+ void *(*calloc)(size_t number, size_t size);
1127
+ void *(*realloc)(void *ptr, size_t newsiz);
1128
+ void (*free)(void *ptr);
1129
+ void *(*alloc_n)(size_t nelems, size_t elemsiz);
1130
+ void *(*alloc)(size_t elemsiz);
1131
+ void *(*realloc_n)(void *ptr, size_t newelems, size_t newsiz);
1132
+ void *(*zalloc)(size_t elemsiz);
1133
+ void *(*rb_memmove)(void *dest, const void *src, size_t t, size_t n);
1134
+ void *(*nonempty_memcpy)(void *dest, const void *src, size_t t, size_t n);
1135
+ void *(*xmalloc_mul_add)(size_t x, size_t y, size_t z);
1136
+
1137
+ /* imemo */
1138
+ rb_imemo_tmpbuf_t *(*tmpbuf_parser_heap)(void *buf, rb_imemo_tmpbuf_t *old_heap, size_t cnt);
1139
+ rb_ast_t *(*ast_new)(VALUE nb);
1140
+
1141
+ // VALUE rb_suppress_tracing(VALUE (*func)(VALUE), VALUE arg);
1142
+ VALUE (*compile_callback)(VALUE (*func)(VALUE), VALUE arg);
1143
+ NODE *(*reg_named_capture_assign)(struct parser_params* p, VALUE regexp, const rb_code_location_t *loc);
1144
+
1145
+ /* Object */
1146
+ VALUE (*obj_freeze)(VALUE obj);
1147
+ VALUE (*obj_hide)(VALUE obj);
1148
+ int (*obj_frozen)(VALUE obj);
1149
+ int (*type_p)(VALUE, int);
1150
+ void (*obj_freeze_raw)(VALUE obj);
1151
+
1152
+ int (*fixnum_p)(VALUE);
1153
+ int (*symbol_p)(VALUE);
1154
+
1155
+ /* Variable */
1156
+ VALUE (*attr_get)(VALUE obj, ID id);
1157
+
1158
+ /* Array */
1159
+ VALUE (*ary_new)(void);
1160
+ VALUE (*ary_push)(VALUE ary, VALUE elem);
1161
+ VALUE (*ary_new_from_args)(long n, ...);
1162
+ VALUE (*ary_pop)(VALUE ary);
1163
+ VALUE (*ary_last)(int argc, const VALUE *argv, VALUE ary);
1164
+ VALUE (*ary_unshift)(VALUE ary, VALUE item);
1165
+ VALUE (*ary_new2)(long capa); // ary_new_capa
1166
+ VALUE (*ary_entry)(VALUE ary, long offset);
1167
+ VALUE (*ary_join)(VALUE ary, VALUE sep);
1168
+ VALUE (*ary_reverse)(VALUE ary);
1169
+ VALUE (*ary_clear)(VALUE ary);
1170
+ long (*array_len)(VALUE a);
1171
+ VALUE (*array_aref)(VALUE, long);
1172
+
1173
+ /* Symbol */
1174
+ VALUE (*sym_intern_ascii_cstr)(const char *ptr);
1175
+ ID (*make_temporary_id)(size_t n);
1176
+ int (*is_local_id)(ID);
1177
+ int (*is_attrset_id)(ID);
1178
+ int (*is_global_name_punct)(const int c);
1179
+ int (*id_type)(ID id);
1180
+ ID (*id_attrset)(ID);
1181
+ ID (*intern)(const char *name);
1182
+ ID (*intern2)(const char *name, long len);
1183
+ ID (*intern3)(const char *name, long len, rb_encoding *enc);
1184
+ ID (*intern_str)(VALUE str);
1185
+ int (*is_notop_id)(ID);
1186
+ int (*enc_symname_type)(const char *name, long len, rb_encoding *enc, unsigned int allowed_attrset);
1187
+ VALUE (*str_intern)(VALUE str);
1188
+ const char *(*id2name)(ID id);
1189
+ VALUE (*id2str)(ID id);
1190
+ VALUE (*id2sym)(ID x);
1191
+ ID (*sym2id)(VALUE sym);
1192
+
1193
+ /* String */
1194
+ RBIMPL_ATTR_FORMAT(RBIMPL_PRINTF_FORMAT, 2, 3)
1195
+ VALUE (*str_catf)(VALUE str, const char *format, ...);
1196
+ VALUE (*str_cat_cstr)(VALUE str, const char *ptr);
1197
+ VALUE (*str_subseq)(VALUE str, long beg, long len);
1198
+ VALUE (*str_dup)(VALUE str);
1199
+ VALUE (*str_new_frozen)(VALUE orig);
1200
+ VALUE (*str_buf_new)(long capa);
1201
+ VALUE (*str_buf_cat)(VALUE, const char*, long);
1202
+ void (*str_modify)(VALUE str);
1203
+ void (*str_set_len)(VALUE str, long len);
1204
+ VALUE (*str_cat)(VALUE str, const char *ptr, long len);
1205
+ VALUE (*str_resize)(VALUE str, long len);
1206
+ VALUE (*str_new)(const char *ptr, long len);
1207
+ VALUE (*str_new_cstr)(const char *ptr);
1208
+ VALUE (*fstring)(VALUE);
1209
+ int (*is_ascii_string)(VALUE str);
1210
+ VALUE (*enc_str_new)(const char *ptr, long len, rb_encoding *enc);
1211
+ VALUE (*enc_str_buf_cat)(VALUE str, const char *ptr, long len, rb_encoding *enc);
1212
+ VALUE (*str_buf_append)(VALUE str, VALUE str2);
1213
+ RBIMPL_ATTR_FORMAT(RBIMPL_PRINTF_FORMAT, 2, 0)
1214
+ VALUE (*str_vcatf)(VALUE str, const char *fmt, va_list ap);
1215
+ char *(*string_value_cstr)(volatile VALUE *ptr);
1216
+ RBIMPL_ATTR_FORMAT(RBIMPL_PRINTF_FORMAT, 1, 2)
1217
+ VALUE (*rb_sprintf)(const char *format, ...);
1218
+ char *(*rstring_ptr)(VALUE str);
1219
+ char *(*rstring_end)(VALUE str);
1220
+ long (*rstring_len)(VALUE str);
1221
+ VALUE (*filesystem_str_new_cstr)(const char *ptr);
1222
+ VALUE (*obj_as_string)(VALUE);
1223
+
1224
+ /* Hash */
1225
+ VALUE (*hash_clear)(VALUE hash);
1226
+ VALUE (*hash_new)(void);
1227
+ VALUE (*hash_aset)(VALUE hash, VALUE key, VALUE val);
1228
+ VALUE (*hash_delete)(VALUE hash, VALUE key);
1229
+ VALUE (*hash_lookup)(VALUE hash, VALUE key);
1230
+ VALUE (*ident_hash_new)(void);
1231
+
1232
+ /* Fixnum */
1233
+ VALUE (*int2fix)(long i);
1234
+
1235
+ /* Bignum */
1236
+ void (*bignum_negate)(VALUE b);
1237
+ VALUE (*big_norm)(VALUE x);
1238
+ VALUE (*cstr_to_inum)(const char *str, int base, int badcheck);
1239
+
1240
+ /* Float */
1241
+ VALUE (*float_new)(double d);
1242
+ double (*float_value)(VALUE v);
1243
+
1244
+ /* Numeric */
1245
+ int (*num2int)(VALUE val);
1246
+ VALUE (*int_positive_pow)(long x, unsigned long y);
1247
+ VALUE (*int2num)(int v);
1248
+ long (*fix2long)(VALUE val);
1249
+
1250
+ /* Rational */
1251
+ VALUE (*rational_new)(VALUE x, VALUE y);
1252
+ VALUE (*rational_raw1)(VALUE x);
1253
+ void (*rational_set_num)(VALUE r, VALUE n);
1254
+ VALUE (*rational_get_num)(VALUE obj);
1255
+
1256
+ /* Complex */
1257
+ VALUE (*complex_raw)(VALUE x, VALUE y);
1258
+ void (*rcomplex_set_real)(VALUE cmp, VALUE r);
1259
+ void (*rcomplex_set_imag)(VALUE cmp, VALUE i);
1260
+ VALUE (*rcomplex_get_real)(VALUE obj);
1261
+ VALUE (*rcomplex_get_imag)(VALUE obj);
1262
+
1263
+ /* IO */
1264
+ int (*stderr_tty_p)(void);
1265
+ void (*write_error_str)(VALUE mesg);
1266
+ VALUE (*default_rs)(void);
1267
+ VALUE (*io_write)(VALUE io, VALUE str);
1268
+ VALUE (*io_flush)(VALUE io);
1269
+ VALUE (*io_puts)(int argc, const VALUE *argv, VALUE out);
1270
+ VALUE (*io_gets_internal)(VALUE io);
1271
+
1272
+ /* IO (Ractor) */
1273
+ VALUE (*debug_output_stdout)(void);
1274
+ VALUE (*debug_output_stderr)(void);
1275
+
1276
+ /* Encoding */
1277
+ int (*is_usascii_enc)(rb_encoding *enc);
1278
+ int (*enc_isalnum)(OnigCodePoint c, rb_encoding *enc);
1279
+ int (*enc_precise_mbclen)(const char *p, const char *e, rb_encoding *enc);
1280
+ int (*mbclen_charfound_p)(int len);
1281
+ const char *(*enc_name)(rb_encoding *enc);
1282
+ char *(*enc_prev_char)(const char *s, const char *p, const char *e, rb_encoding *enc);
1283
+ rb_encoding* (*enc_get)(VALUE obj);
1284
+ int (*enc_asciicompat)(rb_encoding *enc);
1285
+ rb_encoding *(*utf8_encoding)(void);
1286
+ VALUE (*enc_associate)(VALUE obj, rb_encoding *enc);
1287
+ rb_encoding *(*ascii8bit_encoding)(void);
1288
+ int (*enc_codelen)(int c, rb_encoding *enc);
1289
+ int (*enc_mbcput)(unsigned int c, void *buf, rb_encoding *enc);
1290
+ int (*char_to_option_kcode)(int c, int *option, int *kcode);
1291
+ int (*ascii8bit_encindex)(void);
1292
+ int (*enc_find_index)(const char *name);
1293
+ rb_encoding *(*enc_from_index)(int idx);
1294
+ VALUE (*enc_associate_index)(VALUE obj, int encindex);
1295
+ int (*enc_isspace)(OnigCodePoint c, rb_encoding *enc);
1296
+ int enc_coderange_7bit;
1297
+ int enc_coderange_unknown;
1298
+ rb_encoding *(*enc_compatible)(VALUE str1, VALUE str2);
1299
+ VALUE (*enc_from_encoding)(rb_encoding *enc);
1300
+ int (*encoding_get)(VALUE obj);
1301
+ void (*encoding_set)(VALUE obj, int encindex);
1302
+ int (*encoding_is_ascii8bit)(VALUE obj);
1303
+ rb_encoding *(*usascii_encoding)(void);
1304
+
1305
+ /* Ractor */
1306
+ VALUE (*ractor_make_shareable)(VALUE obj);
1307
+
1308
+ /* Compile */
1309
+ // int rb_local_defined(ID id, const rb_iseq_t *iseq);
1310
+ int (*local_defined)(ID, const void*);
1311
+ // int rb_dvar_defined(ID id, const rb_iseq_t *iseq);
1312
+ int (*dvar_defined)(ID, const void*);
1313
+
1314
+ /* Compile (parse.y) */
1315
+ int (*literal_cmp)(VALUE val, VALUE lit);
1316
+ parser_st_index_t (*literal_hash)(VALUE a);
1317
+
1318
+ /* Error (Exception) */
1319
+ const char *(*builtin_class_name)(VALUE x);
1320
+ RBIMPL_ATTR_FORMAT(RBIMPL_PRINTF_FORMAT, 6, 0)
1321
+ VALUE (*syntax_error_append)(VALUE, VALUE, int, int, rb_encoding*, const char*, va_list);
1322
+ RBIMPL_ATTR_FORMAT(RBIMPL_PRINTF_FORMAT, 2, 3)
1323
+ void (*raise)(VALUE exc, const char *fmt, ...);
1324
+ VALUE (*syntax_error_new)(void);
1325
+
1326
+ /* Eval */
1327
+ VALUE (*errinfo)(void);
1328
+ void (*set_errinfo)(VALUE err);
1329
+ void (*exc_raise)(VALUE mesg);
1330
+ VALUE (*make_exception)(int argc, const VALUE *argv);
1331
+
1332
+ /* GC */
1333
+ void (*sized_xfree)(void *x, size_t size);
1334
+ void *(*sized_realloc_n)(void *ptr, size_t new_count, size_t element_size, size_t old_count);
1335
+ VALUE (*obj_write)(VALUE, VALUE *, VALUE);
1336
+ VALUE (*obj_written)(VALUE, VALUE, VALUE);
1337
+ void (*gc_register_mark_object)(VALUE object);
1338
+ void (*gc_guard)(VALUE);
1339
+ void (*gc_mark)(VALUE);
1340
+ void (*gc_mark_movable)(VALUE ptr);
1341
+ VALUE (*gc_location)(VALUE value);
1342
+
1343
+ /* Re */
1344
+ VALUE (*reg_compile)(VALUE str, int options, const char *sourcefile, int sourceline);
1345
+ VALUE (*reg_check_preprocess)(VALUE str);
1346
+ int (*memcicmp)(const void *x, const void *y, long len);
1347
+
1348
+ /* Error */
1349
+ void (*compile_warn)(const char *file, int line, const char *fmt, ...);
1350
+ void (*compile_warning)(const char *file, int line, const char *fmt, ...);
1351
+ void (*bug)(const char *fmt, ...);
1352
+ void (*fatal)(const char *fmt, ...);
1353
+ VALUE (*verbose)(void);
1354
+
1355
+ /* VM */
1356
+ VALUE (*make_backtrace)(void);
1357
+
1358
+ /* Util */
1359
+ unsigned long (*scan_hex)(const char *start, size_t len, size_t *retlen);
1360
+ unsigned long (*scan_oct)(const char *start, size_t len, size_t *retlen);
1361
+ unsigned long (*scan_digits)(const char *str, ssize_t len, int base, size_t *retlen, int *overflow);
1362
+ double (*strtod)(const char *s00, char **se);
1363
+
1364
+ /* Misc */
1365
+ VALUE (*rbool)(VALUE);
1366
+ int (*undef_p)(VALUE);
1367
+ int (*rtest)(VALUE obj);
1368
+ int (*nil_p)(VALUE obj);
1369
+ int (*flonum_p)(VALUE obj);
1370
+ VALUE qnil;
1371
+ VALUE qtrue;
1372
+ VALUE qfalse;
1373
+ VALUE qundef;
1374
+ VALUE eArgError;
1375
+ VALUE mRubyVMFrozenCore;
1376
+ int (*long2int)(long);
1377
+ int (*special_const_p)(VALUE);
1378
+ int (*builtin_type)(VALUE);
1379
+
1380
+ VALUE (*node_case_when_optimizable_literal)(const NODE *const node);
1381
+
1382
+ /* For Ripper */
1383
+ VALUE (*static_id2sym)(ID id);
1384
+ long (*str_coderange_scan_restartable)(const char *s, const char *e, rb_encoding *enc, int *cr);
1385
+ } rb_parser_config_t;
1386
+
1387
+ #undef rb_encoding
1388
+ #undef OnigCodePoint
1389
+ #endif /* UNIVERSAL_PARSER */
1390
+
1391
+ RUBY_SYMBOL_EXPORT_BEGIN
1392
+ void rb_ruby_parser_free(void *ptr);
1393
+ rb_ast_t* rb_ruby_parser_compile_string(rb_parser_t *p, const char *f, VALUE s, int line);
1394
+
1395
+ #ifdef UNIVERSAL_PARSER
1396
+ rb_parser_config_t *rb_ruby_parser_config_new(void *(*malloc)(size_t size));
1397
+ void rb_ruby_parser_config_free(rb_parser_config_t *config);
1398
+ rb_parser_t *rb_ruby_parser_allocate(rb_parser_config_t *config);
1399
+ rb_parser_t *rb_ruby_parser_new(rb_parser_config_t *config);
1400
+ #endif
1401
+ RUBY_SYMBOL_EXPORT_END
1402
+
1403
+ #endif /* RUBY_RUBYPARSER_H */