datadog-ruby_core_source 3.3.6 → 3.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (478) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.datadog.md +16 -1
  3. data/README.md +8 -5
  4. data/datadog-ruby_core_source.gemspec +7 -2
  5. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/id.h +5 -0
  6. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/basic_operators.h +1 -0
  7. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/bits.h +82 -0
  8. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/encoding.h +2 -0
  9. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/error.h +26 -0
  10. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/fixnum.h +1 -0
  11. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/gc.h +14 -6
  12. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/imemo.h +6 -1
  13. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/io.h +1 -1
  14. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/parse.h +2 -1
  15. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/proc.h +1 -0
  16. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/ractor.h +4 -0
  17. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/sanitizers.h +31 -39
  18. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/string.h +22 -10
  19. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/thread.h +23 -0
  20. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/vm.h +1 -1
  21. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/method.h +1 -0
  22. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/ast.h +427 -3
  23. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/defines.h +8 -7
  24. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/diagnostic.h +1 -0
  25. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/extension.h +1 -1
  26. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/prism.h +47 -11
  27. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/version.h +2 -2
  28. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism_compile.h +5 -5
  29. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/ractor_core.h +6 -6
  30. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/rubyparser.h +3 -2
  31. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/thread_pthread.h +0 -1
  32. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/vm_core.h +40 -12
  33. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/id.h +9 -0
  34. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/array.h +1 -0
  35. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/basic_operators.h +2 -0
  36. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/bits.h +82 -0
  37. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/class.h +1 -1
  38. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/cmdlineopt.h +0 -4
  39. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/encoding.h +2 -0
  40. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/error.h +28 -0
  41. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/fixnum.h +1 -0
  42. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/gc.h +29 -30
  43. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/hash.h +2 -0
  44. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/imemo.h +10 -13
  45. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/io.h +5 -2
  46. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/parse.h +18 -4
  47. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/proc.h +1 -1
  48. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/ractor.h +4 -0
  49. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/re.h +2 -2
  50. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/sanitizers.h +72 -39
  51. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/string.h +35 -18
  52. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/struct.h +0 -8
  53. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/symbol.h +2 -0
  54. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/thread.h +29 -0
  55. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/time.h +4 -1
  56. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/variable.h +0 -2
  57. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/internal/vm.h +3 -3
  58. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/iseq.h +12 -1
  59. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/method.h +4 -1
  60. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/node.h +14 -3
  61. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/ast.h +2172 -453
  62. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/defines.h +61 -7
  63. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/diagnostic.h +24 -6
  64. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/extension.h +5 -5
  65. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/node.h +0 -21
  66. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/options.h +141 -4
  67. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/parser.h +82 -40
  68. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/prism/prism.h +51 -4
  69. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/prism/regexp.h +43 -0
  70. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/static_literals.h +3 -2
  71. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/prism/util/pm_buffer.h +10 -0
  72. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/util/pm_char.h +1 -2
  73. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/util/pm_constant_pool.h +0 -8
  74. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/util/pm_integer.h +22 -15
  75. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/util/pm_newline_list.h +11 -0
  76. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/util/pm_string.h +28 -12
  77. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism/version.h +3 -3
  78. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/prism_compile.h +29 -12
  79. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/ractor_core.h +9 -20
  80. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/rubyparser.h +198 -248
  81. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/shape.h +2 -1
  82. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/thread_pthread.h +28 -27
  83. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.5.0-preview1}/vm_core.h +65 -66
  84. data/lib/datadog/ruby_core_source/version.rb +1 -1
  85. data/lib/datadog/ruby_core_source.rb +14 -1
  86. metadata +213 -476
  87. data/.github/workflows/publish.yml +0 -18
  88. data/.gitignore +0 -7
  89. data/.idea/vcs.xml +0 -28
  90. data/CHANGELOG.md +0 -284
  91. data/CONTRIBUTING.md +0 -2
  92. data/Gemfile +0 -4
  93. data/Rakefile +0 -73
  94. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/addr2line.h +0 -21
  95. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/constant.h +0 -50
  96. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/debug_counter.h +0 -109
  97. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/dln.h +0 -51
  98. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/encindex.h +0 -69
  99. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/eval_intern.h +0 -334
  100. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/gc.h +0 -116
  101. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/id_table.h +0 -31
  102. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/insns.inc +0 -217
  103. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/insns_info.inc +0 -1570
  104. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/known_errors.inc +0 -746
  105. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/node_name.inc +0 -198
  106. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/opt_sc.inc +0 -1601
  107. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/optinsn.inc +0 -103
  108. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/optunifs.inc +0 -61
  109. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/parse.h +0 -206
  110. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/probes_helper.h +0 -43
  111. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/regenc.h +0 -254
  112. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/regint.h +0 -938
  113. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/regparse.h +0 -370
  114. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/revision.h +0 -1
  115. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/siphash.h +0 -48
  116. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/symbol.h +0 -108
  117. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/thread_win32.h +0 -36
  118. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/timev.h +0 -42
  119. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/transcode_data.h +0 -139
  120. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/version.h +0 -73
  121. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm.inc +0 -3667
  122. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm_call_iseq_optimized.inc +0 -213
  123. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm_exec.h +0 -192
  124. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vm_insnhelper.h +0 -255
  125. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/vmtc.inc +0 -214
  126. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/addr2line.h +0 -21
  127. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/constant.h +0 -51
  128. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/debug_counter.h +0 -109
  129. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/dln.h +0 -51
  130. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/encindex.h +0 -69
  131. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/eval_intern.h +0 -334
  132. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/gc.h +0 -116
  133. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/id_table.h +0 -31
  134. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/insns.inc +0 -217
  135. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/insns_info.inc +0 -1570
  136. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/known_errors.inc +0 -746
  137. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/node_name.inc +0 -198
  138. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/opt_sc.inc +0 -1601
  139. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/optinsn.inc +0 -103
  140. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/optunifs.inc +0 -61
  141. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/parse.h +0 -206
  142. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/probes_helper.h +0 -43
  143. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/regenc.h +0 -254
  144. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/regint.h +0 -938
  145. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/regparse.h +0 -370
  146. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/revision.h +0 -1
  147. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/siphash.h +0 -48
  148. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/symbol.h +0 -108
  149. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/thread_win32.h +0 -36
  150. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/timev.h +0 -42
  151. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/transcode_data.h +0 -139
  152. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/version.h +0 -73
  153. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm.inc +0 -3667
  154. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm_call_iseq_optimized.inc +0 -213
  155. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm_exec.h +0 -192
  156. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vm_insnhelper.h +0 -255
  157. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/vmtc.inc +0 -214
  158. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/addr2line.h +0 -21
  159. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/constant.h +0 -51
  160. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/debug_counter.h +0 -109
  161. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/dln.h +0 -51
  162. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/encindex.h +0 -69
  163. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/eval_intern.h +0 -334
  164. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/gc.h +0 -116
  165. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/id_table.h +0 -31
  166. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/insns.inc +0 -217
  167. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/insns_info.inc +0 -1570
  168. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/known_errors.inc +0 -746
  169. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/node_name.inc +0 -198
  170. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/opt_sc.inc +0 -1601
  171. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/optinsn.inc +0 -103
  172. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/optunifs.inc +0 -61
  173. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/parse.h +0 -200
  174. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/probes_helper.h +0 -43
  175. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/regenc.h +0 -254
  176. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/regint.h +0 -938
  177. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/regparse.h +0 -370
  178. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/revision.h +0 -1
  179. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/siphash.h +0 -48
  180. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/symbol.h +0 -108
  181. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/thread_win32.h +0 -36
  182. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/timev.h +0 -42
  183. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/transcode_data.h +0 -139
  184. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/version.h +0 -73
  185. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm.inc +0 -3667
  186. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm_call_iseq_optimized.inc +0 -213
  187. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm_exec.h +0 -192
  188. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vm_insnhelper.h +0 -255
  189. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/vmtc.inc +0 -214
  190. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/addr2line.h +0 -22
  191. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/builtin.h +0 -117
  192. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/constant.h +0 -53
  193. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/darray.h +0 -246
  194. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/debug_counter.h +0 -423
  195. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/dln.h +0 -32
  196. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/encindex.h +0 -70
  197. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/eval_intern.h +0 -343
  198. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/hrtime.h +0 -227
  199. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/insns.inc +0 -251
  200. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/insns_info.inc +0 -9215
  201. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/known_errors.inc +0 -791
  202. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/node_name.inc +0 -212
  203. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/optinsn.inc +0 -128
  204. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/optunifs.inc +0 -43
  205. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/parse.h +0 -243
  206. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/parser_bits.h +0 -564
  207. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/parser_node.h +0 -32
  208. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/probes_helper.h +0 -42
  209. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/regenc.h +0 -254
  210. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/regint.h +0 -1004
  211. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/regparse.h +0 -371
  212. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/revision.h +0 -5
  213. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/rjit.h +0 -101
  214. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/rjit_c.h +0 -164
  215. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/siphash.h +0 -48
  216. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/symbol.h +0 -118
  217. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/thread_win32.h +0 -58
  218. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/timev.h +0 -58
  219. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/transcode_data.h +0 -138
  220. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/variable.h +0 -39
  221. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/version.h +0 -69
  222. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm.inc +0 -5436
  223. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_call_iseq_optimized.inc +0 -244
  224. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_callinfo.h +0 -619
  225. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_exec.h +0 -199
  226. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_insnhelper.h +0 -261
  227. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_sync.h +0 -137
  228. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vmtc.inc +0 -245
  229. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/yjit.h +0 -72
  230. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/addr2line.h +0 -22
  231. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/builtin.h +0 -117
  232. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/constant.h +0 -53
  233. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/darray.h +0 -246
  234. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/debug_counter.h +0 -423
  235. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/dln.h +0 -32
  236. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/encindex.h +0 -70
  237. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/eval_intern.h +0 -343
  238. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/hrtime.h +0 -227
  239. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/insns.inc +0 -251
  240. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/insns_info.inc +0 -9215
  241. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/known_errors.inc +0 -791
  242. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/node_name.inc +0 -212
  243. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/optinsn.inc +0 -128
  244. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/optunifs.inc +0 -43
  245. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/parse.h +0 -243
  246. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/parser_bits.h +0 -564
  247. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/parser_node.h +0 -32
  248. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/probes_helper.h +0 -42
  249. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/regenc.h +0 -254
  250. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/regint.h +0 -1006
  251. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/regparse.h +0 -371
  252. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/revision.h +0 -5
  253. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/rjit.h +0 -101
  254. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/rjit_c.h +0 -164
  255. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/siphash.h +0 -48
  256. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/symbol.h +0 -118
  257. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/thread_win32.h +0 -58
  258. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/timev.h +0 -58
  259. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/transcode_data.h +0 -138
  260. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/variable.h +0 -39
  261. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/version.h +0 -69
  262. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm.inc +0 -5436
  263. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_call_iseq_optimized.inc +0 -244
  264. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_callinfo.h +0 -614
  265. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_exec.h +0 -199
  266. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_insnhelper.h +0 -261
  267. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_sync.h +0 -137
  268. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vmtc.inc +0 -245
  269. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/yjit.h +0 -72
  270. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/addr2line.h +0 -22
  271. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/builtin.h +0 -119
  272. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/constant.h +0 -53
  273. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/darray.h +0 -191
  274. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/debug_counter.h +0 -423
  275. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/dln.h +0 -34
  276. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/encindex.h +0 -70
  277. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/eval_intern.h +0 -324
  278. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/hrtime.h +0 -237
  279. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/insns.inc +0 -259
  280. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/insns_info.inc +0 -9530
  281. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/known_errors.inc +0 -1419
  282. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/node_name.inc +0 -224
  283. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/optinsn.inc +0 -128
  284. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/optunifs.inc +0 -43
  285. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/parse.h +0 -243
  286. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/parser_bits.h +0 -564
  287. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/parser_node.h +0 -32
  288. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/regexp.h +0 -33
  289. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_string_list.h +0 -44
  290. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/probes_helper.h +0 -42
  291. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/regenc.h +0 -254
  292. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/regint.h +0 -1010
  293. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/regparse.h +0 -371
  294. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/revision.h +0 -5
  295. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/rjit.h +0 -101
  296. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/rjit_c.h +0 -165
  297. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/siphash.h +0 -48
  298. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/symbol.h +0 -118
  299. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/thread_win32.h +0 -58
  300. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/timev.h +0 -58
  301. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/transcode_data.h +0 -138
  302. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/variable.h +0 -39
  303. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/version.h +0 -69
  304. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm.inc +0 -5643
  305. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_call_iseq_optimized.inc +0 -244
  306. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_callinfo.h +0 -605
  307. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_exec.h +0 -199
  308. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_insnhelper.h +0 -272
  309. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vm_sync.h +0 -137
  310. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/vmtc.inc +0 -253
  311. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview1/yjit.h +0 -79
  312. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/addr2line.h +0 -22
  313. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/builtin.h +0 -119
  314. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/constant.h +0 -53
  315. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/darray.h +0 -209
  316. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/debug_counter.h +0 -423
  317. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/dln.h +0 -32
  318. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/encindex.h +0 -70
  319. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/eval_intern.h +0 -324
  320. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/hrtime.h +0 -237
  321. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/insns.inc +0 -265
  322. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/insns_info.inc +0 -9902
  323. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/known_errors.inc +0 -1419
  324. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/node_name.inc +0 -224
  325. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/optinsn.inc +0 -128
  326. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/optunifs.inc +0 -43
  327. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parse.h +0 -244
  328. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parser_bits.h +0 -564
  329. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/parser_node.h +0 -32
  330. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/probes_helper.h +0 -42
  331. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/regenc.h +0 -254
  332. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/regint.h +0 -1006
  333. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/regparse.h +0 -371
  334. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/revision.h +0 -5
  335. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/rjit.h +0 -101
  336. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/rjit_c.h +0 -165
  337. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/siphash.h +0 -48
  338. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/symbol.h +0 -123
  339. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/thread_win32.h +0 -58
  340. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/timev.h +0 -58
  341. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/transcode_data.h +0 -138
  342. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/variable.h +0 -39
  343. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/version.h +0 -69
  344. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm.inc +0 -5840
  345. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_call_iseq_optimized.inc +0 -244
  346. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_callinfo.h +0 -627
  347. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_exec.h +0 -199
  348. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_insnhelper.h +0 -277
  349. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_sync.h +0 -137
  350. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vmtc.inc +0 -259
  351. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/yjit.h +0 -79
  352. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/ccan/build_assert/build_assert.h +0 -0
  353. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/ccan/check_type/check_type.h +0 -0
  354. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/ccan/container_of/container_of.h +0 -0
  355. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/ccan/list/list.h +0 -0
  356. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/ccan/str/str.h +0 -0
  357. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/id_table.h +0 -0
  358. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/array.h +0 -0
  359. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/bignum.h +0 -0
  360. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/class.h +0 -0
  361. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/cmdlineopt.h +0 -0
  362. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/compar.h +0 -0
  363. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/compile.h +0 -0
  364. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/compilers.h +0 -0
  365. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/complex.h +0 -0
  366. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/cont.h +0 -0
  367. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/dir.h +0 -0
  368. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/enc.h +0 -0
  369. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/enum.h +0 -0
  370. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/enumerator.h +0 -0
  371. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/eval.h +0 -0
  372. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/file.h +0 -0
  373. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/hash.h +0 -0
  374. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/inits.h +0 -0
  375. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/load.h +0 -0
  376. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/loadpath.h +0 -0
  377. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/math.h +0 -0
  378. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/missing.h +0 -0
  379. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/numeric.h +0 -0
  380. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/object.h +0 -0
  381. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/process.h +0 -0
  382. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/random.h +0 -0
  383. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/range.h +0 -0
  384. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/rational.h +0 -0
  385. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/re.h +0 -0
  386. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/ruby_parser.h +0 -0
  387. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/serial.h +0 -0
  388. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/signal.h +0 -0
  389. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/st.h +0 -0
  390. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/static_assert.h +0 -0
  391. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/struct.h +0 -0
  392. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/symbol.h +0 -0
  393. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/time.h +0 -0
  394. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/transcode.h +0 -0
  395. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/util.h +0 -0
  396. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/variable.h +0 -0
  397. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal/warnings.h +0 -0
  398. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/internal.h +0 -0
  399. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/iseq.h +0 -0
  400. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/node.h +0 -0
  401. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/parser_st.h +0 -0
  402. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/parser_value.h +0 -0
  403. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/encoding.h +0 -0
  404. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/node.h +0 -0
  405. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/options.h +0 -0
  406. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/pack.h +0 -0
  407. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/parser.h +0 -0
  408. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/prettyprint.h +0 -0
  409. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/regexp.h +0 -0
  410. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/static_literals.h +0 -0
  411. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/util/pm_buffer.h +0 -0
  412. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_char.h +0 -0
  413. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_constant_pool.h +0 -0
  414. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_integer.h +0 -0
  415. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/util/pm_list.h +0 -0
  416. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/util/pm_memchr.h +0 -0
  417. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_newline_list.h +0 -0
  418. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_string.h +0 -0
  419. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/util/pm_strncasecmp.h +0 -0
  420. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/prism/util/pm_strpbrk.h +0 -0
  421. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/ruby_assert.h +0 -0
  422. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/ruby_atomic.h +0 -0
  423. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/shape.h +0 -0
  424. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/thread_none.h +0 -0
  425. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/vm_debug.h +0 -0
  426. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p0}/vm_opts.h +0 -0
  427. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/ccan/build_assert/build_assert.h +0 -0
  428. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/ccan/check_type/check_type.h +0 -0
  429. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/ccan/container_of/container_of.h +0 -0
  430. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/ccan/list/list.h +0 -0
  431. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/ccan/str/str.h +0 -0
  432. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/id_table.h +0 -0
  433. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/bignum.h +0 -0
  434. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/compar.h +0 -0
  435. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/compile.h +0 -0
  436. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/compilers.h +0 -0
  437. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/complex.h +0 -0
  438. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/cont.h +0 -0
  439. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/dir.h +0 -0
  440. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/enc.h +0 -0
  441. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/enum.h +0 -0
  442. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/enumerator.h +0 -0
  443. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/eval.h +0 -0
  444. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/file.h +0 -0
  445. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/inits.h +0 -0
  446. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/load.h +0 -0
  447. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/loadpath.h +0 -0
  448. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/math.h +0 -0
  449. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/missing.h +0 -0
  450. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/numeric.h +0 -0
  451. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/object.h +0 -0
  452. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/process.h +0 -0
  453. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/random.h +0 -0
  454. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/range.h +0 -0
  455. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/rational.h +0 -0
  456. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/ruby_parser.h +0 -0
  457. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/serial.h +0 -0
  458. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/signal.h +0 -0
  459. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/st.h +0 -0
  460. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/static_assert.h +0 -0
  461. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/transcode.h +0 -0
  462. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/util.h +0 -0
  463. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal/warnings.h +0 -0
  464. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/internal.h +0 -0
  465. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/parser_st.h +0 -0
  466. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/parser_value.h +0 -0
  467. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/prism/encoding.h +0 -0
  468. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/prism/pack.h +0 -0
  469. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/prism/prettyprint.h +0 -0
  470. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/prism/util/pm_list.h +0 -0
  471. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/prism/util/pm_memchr.h +0 -0
  472. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/prism/util/pm_strncasecmp.h +0 -0
  473. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/prism/util/pm_strpbrk.h +0 -0
  474. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/ruby_assert.h +0 -0
  475. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/ruby_atomic.h +0 -0
  476. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/thread_none.h +0 -0
  477. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/vm_debug.h +0 -0
  478. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.5.0-preview1}/vm_opts.h +0 -0
@@ -82,6 +82,23 @@ typedef enum {
82
82
  PM_HEREDOC_INDENT_TILDE,
83
83
  } pm_heredoc_indent_t;
84
84
 
85
+ /**
86
+ * All of the information necessary to store to lexing a heredoc.
87
+ */
88
+ typedef struct {
89
+ /** A pointer to the start of the heredoc identifier. */
90
+ const uint8_t *ident_start;
91
+
92
+ /** The length of the heredoc identifier. */
93
+ size_t ident_length;
94
+
95
+ /** The type of quote that the heredoc uses. */
96
+ pm_heredoc_quote_t quote;
97
+
98
+ /** The type of indentation that the heredoc uses. */
99
+ pm_heredoc_indent_t indent;
100
+ } pm_heredoc_lex_mode_t;
101
+
85
102
  /**
86
103
  * When lexing Ruby source, the lexer has a small amount of state to tell which
87
104
  * kind of token it is currently lexing. For example, when we find the start of
@@ -210,17 +227,10 @@ typedef struct pm_lex_mode {
210
227
  } string;
211
228
 
212
229
  struct {
213
- /** A pointer to the start of the heredoc identifier. */
214
- const uint8_t *ident_start;
215
-
216
- /** The length of the heredoc identifier. */
217
- size_t ident_length;
218
-
219
- /** The type of quote that the heredoc uses. */
220
- pm_heredoc_quote_t quote;
221
-
222
- /** The type of indentation that the heredoc uses. */
223
- pm_heredoc_indent_t indent;
230
+ /**
231
+ * All of the data necessary to lex a heredoc.
232
+ */
233
+ pm_heredoc_lex_mode_t base;
224
234
 
225
235
  /**
226
236
  * This is the pointer to the character where lexing should resume
@@ -233,7 +243,7 @@ typedef struct pm_lex_mode {
233
243
  * line so that we know how much to dedent each line in the case of
234
244
  * a tilde heredoc.
235
245
  */
236
- size_t common_whitespace;
246
+ size_t *common_whitespace;
237
247
 
238
248
  /** True if the previous token ended with a line continuation. */
239
249
  bool line_continuation;
@@ -364,6 +374,9 @@ typedef enum {
364
374
  /** a rescue statement within a lambda expression */
365
375
  PM_CONTEXT_LAMBDA_RESCUE,
366
376
 
377
+ /** the predicate clause of a loop statement */
378
+ PM_CONTEXT_LOOP_PREDICATE,
379
+
367
380
  /** the top level context */
368
381
  PM_CONTEXT_MAIN,
369
382
 
@@ -379,6 +392,9 @@ typedef enum {
379
392
  /** a rescue statement within a module statement */
380
393
  PM_CONTEXT_MODULE_RESCUE,
381
394
 
395
+ /** a multiple target expression */
396
+ PM_CONTEXT_MULTI_TARGET,
397
+
382
398
  /** a parenthesized expression */
383
399
  PM_CONTEXT_PARENS,
384
400
 
@@ -505,9 +521,9 @@ typedef struct {
505
521
  /** The type of shareable constant value that can be set. */
506
522
  typedef uint8_t pm_shareable_constant_value_t;
507
523
  static const pm_shareable_constant_value_t PM_SCOPE_SHAREABLE_CONSTANT_NONE = 0x0;
508
- static const pm_shareable_constant_value_t PM_SCOPE_SHAREABLE_CONSTANT_LITERAL = 0x1;
509
- static const pm_shareable_constant_value_t PM_SCOPE_SHAREABLE_CONSTANT_EXPERIMENTAL_EVERYTHING = 0x2;
510
- static const pm_shareable_constant_value_t PM_SCOPE_SHAREABLE_CONSTANT_EXPERIMENTAL_COPY = 0x4;
524
+ static const pm_shareable_constant_value_t PM_SCOPE_SHAREABLE_CONSTANT_LITERAL = PM_SHAREABLE_CONSTANT_NODE_FLAGS_LITERAL;
525
+ static const pm_shareable_constant_value_t PM_SCOPE_SHAREABLE_CONSTANT_EXPERIMENTAL_EVERYTHING = PM_SHAREABLE_CONSTANT_NODE_FLAGS_EXPERIMENTAL_EVERYTHING;
526
+ static const pm_shareable_constant_value_t PM_SCOPE_SHAREABLE_CONSTANT_EXPERIMENTAL_COPY = PM_SHAREABLE_CONSTANT_NODE_FLAGS_EXPERIMENTAL_COPY;
511
527
 
512
528
  /**
513
529
  * This tracks an individual local variable in a certain lexical context, as
@@ -546,6 +562,17 @@ typedef struct pm_locals {
546
562
  pm_local_t *locals;
547
563
  } pm_locals_t;
548
564
 
565
+ /** The flags about scope parameters that can be set. */
566
+ typedef uint8_t pm_scope_parameters_t;
567
+ static const pm_scope_parameters_t PM_SCOPE_PARAMETERS_NONE = 0x0;
568
+ static const pm_scope_parameters_t PM_SCOPE_PARAMETERS_FORWARDING_POSITIONALS = 0x1;
569
+ static const pm_scope_parameters_t PM_SCOPE_PARAMETERS_FORWARDING_KEYWORDS = 0x2;
570
+ static const pm_scope_parameters_t PM_SCOPE_PARAMETERS_FORWARDING_BLOCK = 0x4;
571
+ static const pm_scope_parameters_t PM_SCOPE_PARAMETERS_FORWARDING_ALL = 0x8;
572
+ static const pm_scope_parameters_t PM_SCOPE_PARAMETERS_IMPLICIT_DISALLOWED = 0x10;
573
+ static const pm_scope_parameters_t PM_SCOPE_PARAMETERS_NUMBERED_INNER = 0x20;
574
+ static const pm_scope_parameters_t PM_SCOPE_PARAMETERS_NUMBERED_FOUND = 0x40;
575
+
549
576
  /**
550
577
  * This struct represents a node in a linked list of scopes. Some scopes can see
551
578
  * into their parent scopes, while others cannot.
@@ -557,10 +584,19 @@ typedef struct pm_scope {
557
584
  /** The IDs of the locals in the given scope. */
558
585
  pm_locals_t locals;
559
586
 
587
+ /**
588
+ * This is a list of the implicit parameters contained within the block.
589
+ * These will be processed after the block is parsed to determine the kind
590
+ * of parameters node that should be used and to check if any errors need to
591
+ * be added.
592
+ */
593
+ pm_node_list_t implicit_parameters;
594
+
560
595
  /**
561
596
  * This is a bitfield that indicates the parameters that are being used in
562
- * this scope. It is a combination of the PM_SCOPE_PARAMS_* constants. There
563
- * are three different kinds of parameters that can be used in a scope:
597
+ * this scope. It is a combination of the PM_SCOPE_PARAMETERS_* constants.
598
+ * There are three different kinds of parameters that can be used in a
599
+ * scope:
564
600
  *
565
601
  * - Ordinary parameters (e.g., def foo(bar); end)
566
602
  * - Numbered parameters (e.g., def foo; _1; end)
@@ -575,15 +611,7 @@ typedef struct pm_scope {
575
611
  * - def foo(&); end
576
612
  * - def foo(...); end
577
613
  */
578
- uint8_t parameters;
579
-
580
- /**
581
- * An integer indicating the number of numbered parameters on this scope.
582
- * This is necessary to determine if child blocks are allowed to use
583
- * numbered parameters, and to pass information to consumers of the AST
584
- * about how many numbered parameters exist.
585
- */
586
- int8_t numbered_parameters;
614
+ pm_scope_parameters_t parameters;
587
615
 
588
616
  /**
589
617
  * The current state of constant shareability for this scope. This is
@@ -598,20 +626,6 @@ typedef struct pm_scope {
598
626
  bool closed;
599
627
  } pm_scope_t;
600
628
 
601
- static const uint8_t PM_SCOPE_PARAMETERS_NONE = 0x0;
602
- static const uint8_t PM_SCOPE_PARAMETERS_ORDINARY = 0x1;
603
- static const uint8_t PM_SCOPE_PARAMETERS_NUMBERED = 0x2;
604
- static const uint8_t PM_SCOPE_PARAMETERS_IT = 0x4;
605
- static const uint8_t PM_SCOPE_PARAMETERS_TYPE_MASK = 0x7;
606
-
607
- static const uint8_t PM_SCOPE_PARAMETERS_FORWARDING_POSITIONALS = 0x8;
608
- static const uint8_t PM_SCOPE_PARAMETERS_FORWARDING_KEYWORDS = 0x10;
609
- static const uint8_t PM_SCOPE_PARAMETERS_FORWARDING_BLOCK = 0x20;
610
- static const uint8_t PM_SCOPE_PARAMETERS_FORWARDING_ALL = 0x40;
611
-
612
- static const int8_t PM_SCOPE_NUMBERED_PARAMETERS_DISALLOWED = -1;
613
- static const int8_t PM_SCOPE_NUMBERED_PARAMETERS_NONE = 0;
614
-
615
629
  /**
616
630
  * A struct that represents a stack of boolean values.
617
631
  */
@@ -624,6 +638,13 @@ typedef uint32_t pm_state_stack_t;
624
638
  * it's considering.
625
639
  */
626
640
  struct pm_parser {
641
+ /**
642
+ * The next node identifier that will be assigned. This is a unique
643
+ * identifier used to track nodes such that the syntax tree can be dropped
644
+ * but the node can be found through another parse.
645
+ */
646
+ uint32_t node_id;
647
+
627
648
  /** The current state of the lexer. */
628
649
  pm_lex_state_t lex_state;
629
650
 
@@ -853,12 +874,27 @@ struct pm_parser {
853
874
  */
854
875
  bool parsing_eval;
855
876
 
877
+ /**
878
+ * Whether or not we are parsing a "partial" script, which is a script that
879
+ * will be evaluated in the context of another script, so we should not
880
+ * check jumps (next/break/etc.) for validity.
881
+ */
882
+ bool partial_script;
883
+
856
884
  /** Whether or not we're at the beginning of a command. */
857
885
  bool command_start;
858
886
 
859
887
  /** Whether or not we're currently recovering from a syntax error. */
860
888
  bool recovering;
861
889
 
890
+ /**
891
+ * This is very specialized behavior for when you want to parse in a context
892
+ * that does not respect encoding comments. Its main use case is translating
893
+ * into the whitequark/parser AST which re-encodes source files in UTF-8
894
+ * before they are parsed and ignores encoding comments.
895
+ */
896
+ bool encoding_locked;
897
+
862
898
  /**
863
899
  * Whether or not the encoding has been changed by a magic comment. We use
864
900
  * this to provide a fast path for the lexer instead of going through the
@@ -886,6 +922,12 @@ struct pm_parser {
886
922
  * characters.
887
923
  */
888
924
  bool current_regular_expression_ascii_only;
925
+
926
+ /**
927
+ * By default, Ruby always warns about mismatched indentation. This can be
928
+ * toggled with a magic comment.
929
+ */
930
+ bool warn_mismatched_indentation;
889
931
  };
890
932
 
891
933
  #endif
@@ -93,11 +93,11 @@ typedef char * (pm_parse_stream_fgets_t)(char *string, int size, void *stream);
93
93
  * @param parser The parser to use.
94
94
  * @param buffer The buffer to use.
95
95
  * @param stream The stream to parse.
96
- * @param fgets The function to use to read from the stream.
96
+ * @param stream_fgets The function to use to read from the stream.
97
97
  * @param options The optional options to use when parsing.
98
98
  * @return The AST representing the source.
99
99
  */
100
- PRISM_EXPORTED_FUNCTION pm_node_t * pm_parse_stream(pm_parser_t *parser, pm_buffer_t *buffer, void *stream, pm_parse_stream_fgets_t *fgets, const pm_options_t *options);
100
+ PRISM_EXPORTED_FUNCTION pm_node_t * pm_parse_stream(pm_parser_t *parser, pm_buffer_t *buffer, void *stream, pm_parse_stream_fgets_t *stream_fgets, const pm_options_t *options);
101
101
 
102
102
  // We optionally support serializing to a binary string. For systems that don't
103
103
  // want or need this functionality, it can be turned off with the
@@ -110,10 +110,10 @@ PRISM_EXPORTED_FUNCTION pm_node_t * pm_parse_stream(pm_parser_t *parser, pm_buff
110
110
  *
111
111
  * @param buffer The buffer to serialize to.
112
112
  * @param stream The stream to parse.
113
- * @param fgets The function to use to read from the stream.
113
+ * @param stream_fgets The function to use to read from the stream.
114
114
  * @param data The optional data to pass to the parser.
115
115
  */
116
- PRISM_EXPORTED_FUNCTION void pm_serialize_parse_stream(pm_buffer_t *buffer, void *stream, pm_parse_stream_fgets_t *fgets, const char *data);
116
+ PRISM_EXPORTED_FUNCTION void pm_serialize_parse_stream(pm_buffer_t *buffer, void *stream, pm_parse_stream_fgets_t *stream_fgets, const char *data);
117
117
 
118
118
  /**
119
119
  * Serialize the given list of comments to the given buffer.
@@ -234,6 +234,53 @@ PRISM_EXPORTED_FUNCTION void pm_dump_json(pm_buffer_t *buffer, const pm_parser_t
234
234
 
235
235
  #endif
236
236
 
237
+ /**
238
+ * Represents the results of a slice query.
239
+ */
240
+ typedef enum {
241
+ /** Returned if the encoding given to a slice query was invalid. */
242
+ PM_STRING_QUERY_ERROR = -1,
243
+
244
+ /** Returned if the result of the slice query is false. */
245
+ PM_STRING_QUERY_FALSE,
246
+
247
+ /** Returned if the result of the slice query is true. */
248
+ PM_STRING_QUERY_TRUE
249
+ } pm_string_query_t;
250
+
251
+ /**
252
+ * Check that the slice is a valid local variable name.
253
+ *
254
+ * @param source The source to check.
255
+ * @param length The length of the source.
256
+ * @param encoding_name The name of the encoding of the source.
257
+ * @return PM_STRING_QUERY_TRUE if the query is true, PM_STRING_QUERY_FALSE if
258
+ * the query is false, and PM_STRING_QUERY_ERROR if the encoding was invalid.
259
+ */
260
+ PRISM_EXPORTED_FUNCTION pm_string_query_t pm_string_query_local(const uint8_t *source, size_t length, const char *encoding_name);
261
+
262
+ /**
263
+ * Check that the slice is a valid constant name.
264
+ *
265
+ * @param source The source to check.
266
+ * @param length The length of the source.
267
+ * @param encoding_name The name of the encoding of the source.
268
+ * @return PM_STRING_QUERY_TRUE if the query is true, PM_STRING_QUERY_FALSE if
269
+ * the query is false, and PM_STRING_QUERY_ERROR if the encoding was invalid.
270
+ */
271
+ PRISM_EXPORTED_FUNCTION pm_string_query_t pm_string_query_constant(const uint8_t *source, size_t length, const char *encoding_name);
272
+
273
+ /**
274
+ * Check that the slice is a valid method name.
275
+ *
276
+ * @param source The source to check.
277
+ * @param length The length of the source.
278
+ * @param encoding_name The name of the encoding of the source.
279
+ * @return PM_STRING_QUERY_TRUE if the query is true, PM_STRING_QUERY_FALSE if
280
+ * the query is false, and PM_STRING_QUERY_ERROR if the encoding was invalid.
281
+ */
282
+ PRISM_EXPORTED_FUNCTION pm_string_query_t pm_string_query_method_name(const uint8_t *source, size_t length, const char *encoding_name);
283
+
237
284
  /**
238
285
  * @mainpage
239
286
  *
@@ -0,0 +1,43 @@
1
+ /**
2
+ * @file regexp.h
3
+ *
4
+ * A regular expression parser.
5
+ */
6
+ #ifndef PRISM_REGEXP_H
7
+ #define PRISM_REGEXP_H
8
+
9
+ #include "prism/defines.h"
10
+ #include "prism/parser.h"
11
+ #include "prism/encoding.h"
12
+ #include "prism/util/pm_memchr.h"
13
+ #include "prism/util/pm_string.h"
14
+
15
+ #include <stdbool.h>
16
+ #include <stddef.h>
17
+ #include <string.h>
18
+
19
+ /**
20
+ * This callback is called when a named capture group is found.
21
+ */
22
+ typedef void (*pm_regexp_name_callback_t)(const pm_string_t *name, void *data);
23
+
24
+ /**
25
+ * This callback is called when a parse error is found.
26
+ */
27
+ typedef void (*pm_regexp_error_callback_t)(const uint8_t *start, const uint8_t *end, const char *message, void *data);
28
+
29
+ /**
30
+ * Parse a regular expression.
31
+ *
32
+ * @param parser The parser that is currently being used.
33
+ * @param source The source code to parse.
34
+ * @param size The size of the source code.
35
+ * @param extended_mode Whether to parse the regular expression in extended mode.
36
+ * @param name_callback The optional callback to call when a named capture group is found.
37
+ * @param name_data The optional data to pass to the name callback.
38
+ * @param error_callback The callback to call when a parse error is found.
39
+ * @param error_data The data to pass to the error callback.
40
+ */
41
+ PRISM_EXPORTED_FUNCTION void pm_regexp_parse(pm_parser_t *parser, const uint8_t *source, size_t size, bool extended_mode, pm_regexp_name_callback_t name_callback, void *name_data, pm_regexp_error_callback_t error_callback, void *error_data);
42
+
43
+ #endif
@@ -95,9 +95,10 @@ typedef struct {
95
95
  * @param start_line The line number that the parser starts on.
96
96
  * @param literals The set of static literals to add the node to.
97
97
  * @param node The node to add to the set.
98
+ * @param replace Whether to replace the previous node if one already exists.
98
99
  * @return A pointer to the node that is being overwritten, if there is one.
99
100
  */
100
- pm_node_t * pm_static_literals_add(const pm_newline_list_t *newline_list, int32_t start_line, pm_static_literals_t *literals, pm_node_t *node);
101
+ pm_node_t * pm_static_literals_add(const pm_newline_list_t *newline_list, int32_t start_line, pm_static_literals_t *literals, pm_node_t *node, bool replace);
101
102
 
102
103
  /**
103
104
  * Free the internal memory associated with the given static literals set.
@@ -115,6 +116,6 @@ void pm_static_literals_free(pm_static_literals_t *literals);
115
116
  * @param encoding_name The name of the encoding of the source being parsed.
116
117
  * @param node The node to create a string representation of.
117
118
  */
118
- PRISM_EXPORTED_FUNCTION void pm_static_literal_inspect(pm_buffer_t *buffer, const pm_newline_list_t *newline_list, int32_t start_line, const char *encoding_name, const pm_node_t *node);
119
+ void pm_static_literal_inspect(pm_buffer_t *buffer, const pm_newline_list_t *newline_list, int32_t start_line, const char *encoding_name, const pm_node_t *node);
119
120
 
120
121
  #endif
@@ -137,6 +137,16 @@ void pm_buffer_append_varsint(pm_buffer_t *buffer, int32_t value);
137
137
  */
138
138
  void pm_buffer_append_double(pm_buffer_t *buffer, double value);
139
139
 
140
+ /**
141
+ * Append a unicode codepoint to the buffer.
142
+ *
143
+ * @param buffer The buffer to append to.
144
+ * @param value The character to append.
145
+ * @returns True if the codepoint was valid and appended successfully, false
146
+ * otherwise.
147
+ */
148
+ bool pm_buffer_append_unicode_codepoint(pm_buffer_t *buffer, uint32_t value);
149
+
140
150
  /**
141
151
  * The different types of escaping that can be performed by the buffer when
142
152
  * appending a slice of Ruby source code.
@@ -34,8 +34,7 @@ size_t pm_strspn_whitespace(const uint8_t *string, ptrdiff_t length);
34
34
  * @return The number of characters at the start of the string that are
35
35
  * whitespace.
36
36
  */
37
- size_t
38
- pm_strspn_whitespace_newlines(const uint8_t *string, ptrdiff_t length, pm_newline_list_t *newline_list);
37
+ size_t pm_strspn_whitespace_newlines(const uint8_t *string, ptrdiff_t length, pm_newline_list_t *newline_list);
39
38
 
40
39
  /**
41
40
  * Returns the number of characters at the start of the string that are inline
@@ -87,14 +87,6 @@ void pm_constant_id_list_insert(pm_constant_id_list_t *list, size_t index, pm_co
87
87
  */
88
88
  bool pm_constant_id_list_includes(pm_constant_id_list_t *list, pm_constant_id_t id);
89
89
 
90
- /**
91
- * Get the memory size of a list of constant ids.
92
- *
93
- * @param list The list to get the memory size of.
94
- * @return The memory size of the list.
95
- */
96
- size_t pm_constant_id_list_memsize(pm_constant_id_list_t *list);
97
-
98
90
  /**
99
91
  * Free the memory associated with a list of constant ids.
100
92
  *
@@ -18,12 +18,6 @@
18
18
  * A structure represents an arbitrary-sized integer.
19
19
  */
20
20
  typedef struct {
21
- /**
22
- * Embedded value for small integer. This value is set to 0 if the value
23
- * does not fit into uint32_t.
24
- */
25
- uint32_t value;
26
-
27
21
  /**
28
22
  * The number of allocated values. length is set to 0 if the integer fits
29
23
  * into uint32_t.
@@ -35,6 +29,12 @@ typedef struct {
35
29
  */
36
30
  uint32_t *values;
37
31
 
32
+ /**
33
+ * Embedded value for small integer. This value is set to 0 if the value
34
+ * does not fit into uint32_t.
35
+ */
36
+ uint32_t value;
37
+
38
38
  /**
39
39
  * Whether or not the integer is negative. It is stored this way so that a
40
40
  * zeroed pm_integer_t is always positive zero.
@@ -48,6 +48,9 @@ typedef struct {
48
48
  * from the string itself.
49
49
  */
50
50
  typedef enum {
51
+ /** The default decimal base, with no prefix. Leading 0s will be ignored. */
52
+ PM_INTEGER_BASE_DEFAULT,
53
+
51
54
  /** The binary base, indicated by a 0b or 0B prefix. */
52
55
  PM_INTEGER_BASE_BINARY,
53
56
 
@@ -79,15 +82,7 @@ typedef enum {
79
82
  * @param start The start of the string.
80
83
  * @param end The end of the string.
81
84
  */
82
- PRISM_EXPORTED_FUNCTION void pm_integer_parse(pm_integer_t *integer, pm_integer_base_t base, const uint8_t *start, const uint8_t *end);
83
-
84
- /**
85
- * Return the memory size of the integer.
86
- *
87
- * @param integer The integer to get the memory size of.
88
- * @return The size of the memory associated with the integer.
89
- */
90
- size_t pm_integer_memsize(const pm_integer_t *integer);
85
+ void pm_integer_parse(pm_integer_t *integer, pm_integer_base_t base, const uint8_t *start, const uint8_t *end);
91
86
 
92
87
  /**
93
88
  * Compare two integers. This function returns -1 if the left integer is less
@@ -100,6 +95,18 @@ size_t pm_integer_memsize(const pm_integer_t *integer);
100
95
  */
101
96
  int pm_integer_compare(const pm_integer_t *left, const pm_integer_t *right);
102
97
 
98
+ /**
99
+ * Reduce a ratio of integers to its simplest form.
100
+ *
101
+ * If either the numerator or denominator do not fit into a 32-bit integer, then
102
+ * this function is a no-op. In the future, we may consider reducing even the
103
+ * larger numbers, but for now we're going to keep it simple.
104
+ *
105
+ * @param numerator The numerator of the ratio.
106
+ * @param denominator The denominator of the ratio.
107
+ */
108
+ void pm_integers_reduce(pm_integer_t *numerator, pm_integer_t *denominator);
109
+
103
110
  /**
104
111
  * Convert an integer to a decimal string.
105
112
  *
@@ -80,6 +80,17 @@ pm_newline_list_clear(pm_newline_list_t *list);
80
80
  */
81
81
  bool pm_newline_list_append(pm_newline_list_t *list, const uint8_t *cursor);
82
82
 
83
+ /**
84
+ * Returns the line of the given offset. If the offset is not in the list, the
85
+ * line of the closest offset less than the given offset is returned.
86
+ *
87
+ * @param list The list to search.
88
+ * @param cursor A pointer to the offset to search for.
89
+ * @param start_line The line to start counting from.
90
+ * @return The line of the given offset.
91
+ */
92
+ int32_t pm_newline_list_line(const pm_newline_list_t *list, const uint8_t *cursor, int32_t start_line);
93
+
83
94
  /**
84
95
  * Returns the line and column of the given offset. If the offset is not in the
85
96
  * list, the line and column of the closest offset less than the given offset
@@ -9,6 +9,7 @@
9
9
  #include "prism/defines.h"
10
10
 
11
11
  #include <assert.h>
12
+ #include <errno.h>
12
13
  #include <stdbool.h>
13
14
  #include <stddef.h>
14
15
  #include <stdlib.h>
@@ -21,6 +22,9 @@
21
22
  #include <fcntl.h>
22
23
  #include <sys/mman.h>
23
24
  #include <sys/stat.h>
25
+ #elif defined(PRISM_HAS_FILESYSTEM)
26
+ #include <fcntl.h>
27
+ #include <sys/stat.h>
24
28
  #endif
25
29
 
26
30
  /**
@@ -92,6 +96,26 @@ void pm_string_owned_init(pm_string_t *string, uint8_t *source, size_t length);
92
96
  */
93
97
  void pm_string_constant_init(pm_string_t *string, const char *source, size_t length);
94
98
 
99
+ /**
100
+ * Represents the result of calling pm_string_mapped_init or
101
+ * pm_string_file_init. We need this additional information because there is
102
+ * not a platform-agnostic way to indicate that the file that was attempted to
103
+ * be opened was a directory.
104
+ */
105
+ typedef enum {
106
+ /** Indicates that the string was successfully initialized. */
107
+ PM_STRING_INIT_SUCCESS = 0,
108
+ /**
109
+ * Indicates a generic error from a string_*_init function, where the type
110
+ * of error should be read from `errno` or `GetLastError()`.
111
+ */
112
+ PM_STRING_INIT_ERROR_GENERIC = 1,
113
+ /**
114
+ * Indicates that the file that was attempted to be opened was a directory.
115
+ */
116
+ PM_STRING_INIT_ERROR_DIRECTORY = 2
117
+ } pm_string_init_result_t;
118
+
95
119
  /**
96
120
  * Read the file indicated by the filepath parameter into source and load its
97
121
  * contents and size into the given `pm_string_t`. The given `pm_string_t`
@@ -105,9 +129,9 @@ void pm_string_constant_init(pm_string_t *string, const char *source, size_t len
105
129
  *
106
130
  * @param string The string to initialize.
107
131
  * @param filepath The filepath to read.
108
- * @return Whether or not the file was successfully mapped.
132
+ * @return The success of the read, indicated by the value of the enum.
109
133
  */
110
- PRISM_EXPORTED_FUNCTION bool pm_string_mapped_init(pm_string_t *string, const char *filepath);
134
+ PRISM_EXPORTED_FUNCTION pm_string_init_result_t pm_string_mapped_init(pm_string_t *string, const char *filepath);
111
135
 
112
136
  /**
113
137
  * Read the file indicated by the filepath parameter into source and load its
@@ -116,17 +140,9 @@ PRISM_EXPORTED_FUNCTION bool pm_string_mapped_init(pm_string_t *string, const ch
116
140
  *
117
141
  * @param string The string to initialize.
118
142
  * @param filepath The filepath to read.
119
- * @return Whether or not the file was successfully read.
120
- */
121
- PRISM_EXPORTED_FUNCTION bool pm_string_file_init(pm_string_t *string, const char *filepath);
122
-
123
- /**
124
- * Returns the memory size associated with the string.
125
- *
126
- * @param string The string to get the memory size of.
127
- * @return The size of the memory associated with the string.
143
+ * @return The success of the read, indicated by the value of the enum.
128
144
  */
129
- size_t pm_string_memsize(const pm_string_t *string);
145
+ PRISM_EXPORTED_FUNCTION pm_string_init_result_t pm_string_file_init(pm_string_t *string, const char *filepath);
130
146
 
131
147
  /**
132
148
  * Ensure the string is owned. If it is not, then reinitialize it as owned and
@@ -9,12 +9,12 @@
9
9
  /**
10
10
  * The major version of the Prism library as an int.
11
11
  */
12
- #define PRISM_VERSION_MAJOR 0
12
+ #define PRISM_VERSION_MAJOR 1
13
13
 
14
14
  /**
15
15
  * The minor version of the Prism library as an int.
16
16
  */
17
- #define PRISM_VERSION_MINOR 29
17
+ #define PRISM_VERSION_MINOR 4
18
18
 
19
19
  /**
20
20
  * The patch version of the Prism library as an int.
@@ -24,6 +24,6 @@
24
24
  /**
25
25
  * The version of the Prism library as a constant string.
26
26
  */
27
- #define PRISM_VERSION "0.29.0"
27
+ #define PRISM_VERSION "1.4.0"
28
28
 
29
29
  #endif
@@ -29,6 +29,16 @@ typedef struct pm_scope_node {
29
29
  const pm_parser_t *parser;
30
30
  rb_encoding *encoding;
31
31
 
32
+ /**
33
+ * This is a pointer to the list of script lines for the ISEQs that will be
34
+ * associated with this scope node. It is only set if
35
+ * RubyVM.keep_script_lines is true. If it is set, it will be set to a
36
+ * pointer to an array that is always stack allocated (so no GC marking is
37
+ * needed by this struct). If it is not set, it will be NULL. It is
38
+ * inherited by all child scopes.
39
+ */
40
+ VALUE *script_lines;
41
+
32
42
  /**
33
43
  * This is the encoding of the actual filepath object that will be used when
34
44
  * a __FILE__ node is compiled or when the path has to be set on a syntax
@@ -36,14 +46,16 @@ typedef struct pm_scope_node {
36
46
  */
37
47
  rb_encoding *filepath_encoding;
38
48
 
39
- // The size of the local table
40
- // on the iseq which includes
41
- // locals and hidden variables
49
+ // The size of the local table on the iseq which includes locals and hidden
50
+ // variables.
42
51
  int local_table_for_iseq_size;
43
52
 
44
53
  ID *constants;
45
54
  st_table *index_lookup_table;
46
55
 
56
+ // The current coverage setting, passed down through the various scopes.
57
+ int coverage_enabled;
58
+
47
59
  /**
48
60
  * This will only be set on the top-level scope node. It will contain all of
49
61
  * the instructions pertaining to BEGIN{} nodes.
@@ -53,7 +65,6 @@ typedef struct pm_scope_node {
53
65
 
54
66
  void pm_scope_node_init(const pm_node_t *node, pm_scope_node_t *scope, pm_scope_node_t *previous);
55
67
  void pm_scope_node_destroy(pm_scope_node_t *scope_node);
56
- bool *rb_ruby_prism_ptr(void);
57
68
 
58
69
  typedef struct {
59
70
  /** The parser that will do the actual parsing. */
@@ -72,17 +83,23 @@ typedef struct {
72
83
  bool parsed;
73
84
  } pm_parse_result_t;
74
85
 
86
+ #define PM_SPECIAL_CONSTANT_FLAG ((pm_constant_id_t)(1 << 31))
87
+ #define PM_CONSTANT_AND ((pm_constant_id_t)(idAnd | PM_SPECIAL_CONSTANT_FLAG))
88
+ #define PM_CONSTANT_DOT3 ((pm_constant_id_t)(idDot3 | PM_SPECIAL_CONSTANT_FLAG))
89
+ #define PM_CONSTANT_MULT ((pm_constant_id_t)(idMULT | PM_SPECIAL_CONSTANT_FLAG))
90
+ #define PM_CONSTANT_POW ((pm_constant_id_t)(idPow | PM_SPECIAL_CONSTANT_FLAG))
91
+
75
92
  VALUE pm_load_file(pm_parse_result_t *result, VALUE filepath, bool load_error);
76
- VALUE pm_parse_file(pm_parse_result_t *result, VALUE filepath);
77
- VALUE pm_load_parse_file(pm_parse_result_t *result, VALUE filepath);
78
- VALUE pm_parse_string(pm_parse_result_t *result, VALUE source, VALUE filepath);
93
+ VALUE pm_parse_file(pm_parse_result_t *result, VALUE filepath, VALUE *script_lines);
94
+ VALUE pm_load_parse_file(pm_parse_result_t *result, VALUE filepath, VALUE *script_lines);
95
+ VALUE pm_parse_string(pm_parse_result_t *result, VALUE source, VALUE filepath, VALUE *script_lines);
79
96
  VALUE pm_parse_stdin(pm_parse_result_t *result);
80
97
  void pm_parse_result_free(pm_parse_result_t *result);
81
98
 
82
- rb_iseq_t *pm_iseq_new(pm_scope_node_t *node, VALUE name, VALUE path, VALUE realpath, const rb_iseq_t *parent, enum rb_iseq_type);
83
- rb_iseq_t *pm_iseq_new_top(pm_scope_node_t *node, VALUE name, VALUE path, VALUE realpath, const rb_iseq_t *parent);
84
- rb_iseq_t *pm_iseq_new_main(pm_scope_node_t *node, VALUE path, VALUE realpath, const rb_iseq_t *parent, int opt);
85
- rb_iseq_t *pm_iseq_new_eval(pm_scope_node_t *node, VALUE name, VALUE path, VALUE realpath, int first_lineno, const rb_iseq_t *parent, int isolated_depth);
86
- rb_iseq_t *pm_iseq_new_with_opt(pm_scope_node_t *node, VALUE name, VALUE path, VALUE realpath, int first_lineno, const rb_iseq_t *parent, int isolated_depth, enum rb_iseq_type, const rb_compile_option_t*);
99
+ rb_iseq_t *pm_iseq_new(pm_scope_node_t *node, VALUE name, VALUE path, VALUE realpath, const rb_iseq_t *parent, enum rb_iseq_type, int *error_state);
100
+ rb_iseq_t *pm_iseq_new_top(pm_scope_node_t *node, VALUE name, VALUE path, VALUE realpath, const rb_iseq_t *parent, int *error_state);
101
+ rb_iseq_t *pm_iseq_new_main(pm_scope_node_t *node, VALUE path, VALUE realpath, const rb_iseq_t *parent, int opt, int *error_state);
102
+ rb_iseq_t *pm_iseq_new_eval(pm_scope_node_t *node, VALUE name, VALUE path, VALUE realpath, int first_lineno, const rb_iseq_t *parent, int isolated_depth, int *error_state);
103
+ rb_iseq_t *pm_iseq_new_with_opt(pm_scope_node_t *node, VALUE name, VALUE path, VALUE realpath, int first_lineno, const rb_iseq_t *parent, int isolated_depth, enum rb_iseq_type, const rb_compile_option_t *option, int *error_state);
87
104
 
88
105
  VALUE pm_iseq_compile_node(rb_iseq_t *iseq, pm_scope_node_t *node);