datadog-ruby_core_source 3.3.7 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (211) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.datadog.md +5 -0
  3. data/datadog-ruby_core_source.gemspec +1 -1
  4. data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/id.h +2 -0
  5. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/error.h +26 -0
  6. data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/gc.h +1 -0
  7. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/parse.h +2 -1
  8. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/proc.h +1 -0
  9. data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/sanitizers.h +24 -36
  10. data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/prism/ast.h +10 -0
  11. data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/extension.h +1 -1
  12. data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/prism/version.h +2 -2
  13. data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/ractor_core.h +1 -0
  14. data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/rubyparser.h +3 -1
  15. data/lib/datadog/ruby_core_source/version.rb +1 -1
  16. metadata +106 -209
  17. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/id.h +0 -347
  18. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/basic_operators.h +0 -64
  19. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/bits.h +0 -568
  20. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/encoding.h +0 -36
  21. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/fixnum.h +0 -184
  22. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/gc.h +0 -322
  23. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/imemo.h +0 -261
  24. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/io.h +0 -143
  25. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/ractor.h +0 -6
  26. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/sanitizers.h +0 -326
  27. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/string.h +0 -186
  28. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/thread.h +0 -85
  29. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/internal/vm.h +0 -137
  30. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/method.h +0 -255
  31. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/ast.h +0 -7524
  32. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/defines.h +0 -242
  33. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/diagnostic.h +0 -450
  34. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/prism.h +0 -336
  35. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism/version.h +0 -29
  36. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/prism_compile.h +0 -99
  37. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/ractor_core.h +0 -382
  38. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/rubyparser.h +0 -1350
  39. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/thread_pthread.h +0 -168
  40. data/lib/datadog/ruby_core_source/ruby-3.4.0-preview2/vm_core.h +0 -2222
  41. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/ccan/build_assert/build_assert.h +0 -40
  42. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/ccan/check_type/check_type.h +0 -63
  43. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/ccan/container_of/container_of.h +0 -142
  44. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/ccan/list/list.h +0 -791
  45. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/ccan/str/str.h +0 -17
  46. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/id_table.h +0 -39
  47. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/array.h +0 -152
  48. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/bignum.h +0 -244
  49. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/class.h +0 -283
  50. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/cmdlineopt.h +0 -65
  51. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/compar.h +0 -29
  52. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/compile.h +0 -34
  53. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/compilers.h +0 -107
  54. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/complex.h +0 -29
  55. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/cont.h +0 -35
  56. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/dir.h +0 -16
  57. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/enc.h +0 -19
  58. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/enum.h +0 -18
  59. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/enumerator.h +0 -21
  60. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/error.h +0 -218
  61. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/eval.h +0 -33
  62. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/file.h +0 -38
  63. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/hash.h +0 -192
  64. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/inits.h +0 -47
  65. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/load.h +0 -18
  66. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/loadpath.h +0 -16
  67. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/math.h +0 -23
  68. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/missing.h +0 -19
  69. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/numeric.h +0 -274
  70. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/object.h +0 -63
  71. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/parse.h +0 -129
  72. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/proc.h +0 -30
  73. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/process.h +0 -124
  74. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/random.h +0 -17
  75. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/range.h +0 -40
  76. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/rational.h +0 -71
  77. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/re.h +0 -28
  78. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/ruby_parser.h +0 -102
  79. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/serial.h +0 -23
  80. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/signal.h +0 -24
  81. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/st.h +0 -11
  82. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/static_assert.h +0 -16
  83. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/struct.h +0 -127
  84. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/symbol.h +0 -45
  85. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/time.h +0 -34
  86. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/transcode.h +0 -23
  87. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/util.h +0 -27
  88. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/variable.h +0 -72
  89. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal/warnings.h +0 -16
  90. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/internal.h +0 -108
  91. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/iseq.h +0 -340
  92. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/node.h +0 -111
  93. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/parser_st.h +0 -162
  94. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/parser_value.h +0 -106
  95. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/encoding.h +0 -283
  96. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/extension.h +0 -19
  97. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/node.h +0 -129
  98. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/options.h +0 -396
  99. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/pack.h +0 -163
  100. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/parser.h +0 -933
  101. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/prettyprint.h +0 -34
  102. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/regexp.h +0 -43
  103. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/static_literals.h +0 -121
  104. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/util/pm_buffer.h +0 -218
  105. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/util/pm_char.h +0 -204
  106. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/util/pm_constant_pool.h +0 -218
  107. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/util/pm_integer.h +0 -126
  108. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/util/pm_list.h +0 -97
  109. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/util/pm_memchr.h +0 -29
  110. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/util/pm_newline_list.h +0 -113
  111. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/util/pm_string.h +0 -190
  112. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/util/pm_strncasecmp.h +0 -32
  113. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/prism/util/pm_strpbrk.h +0 -46
  114. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/ruby_assert.h +0 -14
  115. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/ruby_atomic.h +0 -23
  116. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/shape.h +0 -234
  117. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/thread_none.h +0 -21
  118. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/vm_debug.h +0 -124
  119. data/lib/datadog/ruby_core_source/ruby-3.4.0-rc1/vm_opts.h +0 -67
  120. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/ccan/build_assert/build_assert.h +0 -0
  121. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/ccan/check_type/check_type.h +0 -0
  122. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/ccan/container_of/container_of.h +0 -0
  123. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/ccan/list/list.h +0 -0
  124. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/ccan/str/str.h +0 -0
  125. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/id_table.h +0 -0
  126. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/array.h +0 -0
  127. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/basic_operators.h +0 -0
  128. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/bignum.h +0 -0
  129. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/bits.h +0 -0
  130. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/class.h +0 -0
  131. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/cmdlineopt.h +0 -0
  132. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/compar.h +0 -0
  133. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/compile.h +0 -0
  134. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/compilers.h +0 -0
  135. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/complex.h +0 -0
  136. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/cont.h +0 -0
  137. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/dir.h +0 -0
  138. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/enc.h +0 -0
  139. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/encoding.h +0 -0
  140. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/enum.h +0 -0
  141. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/enumerator.h +0 -0
  142. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/eval.h +0 -0
  143. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/file.h +0 -0
  144. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/fixnum.h +0 -0
  145. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/hash.h +0 -0
  146. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/imemo.h +0 -0
  147. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/inits.h +0 -0
  148. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/io.h +0 -0
  149. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/load.h +0 -0
  150. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/loadpath.h +0 -0
  151. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/math.h +0 -0
  152. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/missing.h +0 -0
  153. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/numeric.h +0 -0
  154. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/object.h +0 -0
  155. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/process.h +0 -0
  156. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/ractor.h +0 -0
  157. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/random.h +0 -0
  158. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/range.h +0 -0
  159. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/rational.h +0 -0
  160. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/re.h +0 -0
  161. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/ruby_parser.h +0 -0
  162. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/serial.h +0 -0
  163. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/signal.h +0 -0
  164. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/st.h +0 -0
  165. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/static_assert.h +0 -0
  166. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/string.h +0 -0
  167. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/struct.h +0 -0
  168. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/symbol.h +0 -0
  169. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/thread.h +0 -0
  170. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/time.h +0 -0
  171. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/transcode.h +0 -0
  172. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/util.h +0 -0
  173. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/variable.h +0 -0
  174. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/internal/vm.h +0 -0
  175. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal/warnings.h +0 -0
  176. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/internal.h +0 -0
  177. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/iseq.h +0 -0
  178. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/method.h +0 -0
  179. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/node.h +0 -0
  180. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/parser_st.h +0 -0
  181. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/parser_value.h +0 -0
  182. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/prism/defines.h +0 -0
  183. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/prism/diagnostic.h +0 -0
  184. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/encoding.h +0 -0
  185. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/node.h +0 -0
  186. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/options.h +0 -0
  187. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/pack.h +0 -0
  188. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/parser.h +0 -0
  189. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/prettyprint.h +0 -0
  190. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/prism/prism.h +0 -0
  191. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/regexp.h +0 -0
  192. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/static_literals.h +0 -0
  193. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_buffer.h +0 -0
  194. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_char.h +0 -0
  195. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_constant_pool.h +0 -0
  196. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_integer.h +0 -0
  197. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_list.h +0 -0
  198. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_memchr.h +0 -0
  199. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_newline_list.h +0 -0
  200. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_string.h +0 -0
  201. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_strncasecmp.h +0 -0
  202. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/prism/util/pm_strpbrk.h +0 -0
  203. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/prism_compile.h +0 -0
  204. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/ruby_assert.h +0 -0
  205. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/ruby_atomic.h +0 -0
  206. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/shape.h +0 -0
  207. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/thread_none.h +0 -0
  208. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/thread_pthread.h +0 -0
  209. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-rc1 → ruby-3.4.0-p0}/vm_core.h +0 -0
  210. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/vm_debug.h +0 -0
  211. /data/lib/datadog/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p0}/vm_opts.h +0 -0
@@ -1,336 +0,0 @@
1
- /**
2
- * @file prism.h
3
- *
4
- * The main header file for the prism parser.
5
- */
6
- #ifndef PRISM_H
7
- #define PRISM_H
8
-
9
- #include "prism/defines.h"
10
- #include "prism/util/pm_buffer.h"
11
- #include "prism/util/pm_char.h"
12
- #include "prism/util/pm_integer.h"
13
- #include "prism/util/pm_memchr.h"
14
- #include "prism/util/pm_strncasecmp.h"
15
- #include "prism/util/pm_strpbrk.h"
16
- #include "prism/ast.h"
17
- #include "prism/diagnostic.h"
18
- #include "prism/node.h"
19
- #include "prism/options.h"
20
- #include "prism/pack.h"
21
- #include "prism/parser.h"
22
- #include "prism/prettyprint.h"
23
- #include "prism/regexp.h"
24
- #include "prism/static_literals.h"
25
- #include "prism/version.h"
26
-
27
- #include <assert.h>
28
- #include <errno.h>
29
- #include <locale.h>
30
- #include <math.h>
31
- #include <stdarg.h>
32
- #include <stdbool.h>
33
- #include <stdint.h>
34
- #include <stdio.h>
35
- #include <stdlib.h>
36
- #include <string.h>
37
-
38
- #ifndef _WIN32
39
- #include <strings.h>
40
- #endif
41
-
42
- /**
43
- * The prism version and the serialization format.
44
- *
45
- * @returns The prism version as a constant string.
46
- */
47
- PRISM_EXPORTED_FUNCTION const char * pm_version(void);
48
-
49
- /**
50
- * Initialize a parser with the given start and end pointers.
51
- *
52
- * @param parser The parser to initialize.
53
- * @param source The source to parse.
54
- * @param size The size of the source.
55
- * @param options The optional options to use when parsing.
56
- */
57
- PRISM_EXPORTED_FUNCTION void pm_parser_init(pm_parser_t *parser, const uint8_t *source, size_t size, const pm_options_t *options);
58
-
59
- /**
60
- * Register a callback that will be called whenever prism changes the encoding
61
- * it is using to parse based on the magic comment.
62
- *
63
- * @param parser The parser to register the callback with.
64
- * @param callback The callback to register.
65
- */
66
- PRISM_EXPORTED_FUNCTION void pm_parser_register_encoding_changed_callback(pm_parser_t *parser, pm_encoding_changed_callback_t callback);
67
-
68
- /**
69
- * Free any memory associated with the given parser.
70
- *
71
- * @param parser The parser to free.
72
- */
73
- PRISM_EXPORTED_FUNCTION void pm_parser_free(pm_parser_t *parser);
74
-
75
- /**
76
- * Initiate the parser with the given parser.
77
- *
78
- * @param parser The parser to use.
79
- * @return The AST representing the source.
80
- */
81
- PRISM_EXPORTED_FUNCTION pm_node_t * pm_parse(pm_parser_t *parser);
82
-
83
- /**
84
- * This function is used in pm_parse_stream to retrieve a line of input from a
85
- * stream. It closely mirrors that of fgets so that fgets can be used as the
86
- * default implementation.
87
- */
88
- typedef char * (pm_parse_stream_fgets_t)(char *string, int size, void *stream);
89
-
90
- /**
91
- * Parse a stream of Ruby source and return the tree.
92
- *
93
- * @param parser The parser to use.
94
- * @param buffer The buffer to use.
95
- * @param stream The stream to parse.
96
- * @param fgets The function to use to read from the stream.
97
- * @param options The optional options to use when parsing.
98
- * @return The AST representing the source.
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);
101
-
102
- // We optionally support serializing to a binary string. For systems that don't
103
- // want or need this functionality, it can be turned off with the
104
- // PRISM_EXCLUDE_SERIALIZATION define.
105
- #ifndef PRISM_EXCLUDE_SERIALIZATION
106
-
107
- /**
108
- * Parse and serialize the AST represented by the source that is read out of the
109
- * given stream into to the given buffer.
110
- *
111
- * @param buffer The buffer to serialize to.
112
- * @param stream The stream to parse.
113
- * @param fgets The function to use to read from the stream.
114
- * @param data The optional data to pass to the parser.
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);
117
-
118
- /**
119
- * Serialize the given list of comments to the given buffer.
120
- *
121
- * @param parser The parser to serialize.
122
- * @param list The list of comments to serialize.
123
- * @param buffer The buffer to serialize to.
124
- */
125
- void pm_serialize_comment_list(pm_parser_t *parser, pm_list_t *list, pm_buffer_t *buffer);
126
-
127
- /**
128
- * Serialize the name of the encoding to the buffer.
129
- *
130
- * @param encoding The encoding to serialize.
131
- * @param buffer The buffer to serialize to.
132
- */
133
- void pm_serialize_encoding(const pm_encoding_t *encoding, pm_buffer_t *buffer);
134
-
135
- /**
136
- * Serialize the encoding, metadata, nodes, and constant pool.
137
- *
138
- * @param parser The parser to serialize.
139
- * @param node The node to serialize.
140
- * @param buffer The buffer to serialize to.
141
- */
142
- void pm_serialize_content(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer);
143
-
144
- /**
145
- * Serialize the AST represented by the given node to the given buffer.
146
- *
147
- * @param parser The parser to serialize.
148
- * @param node The node to serialize.
149
- * @param buffer The buffer to serialize to.
150
- */
151
- PRISM_EXPORTED_FUNCTION void pm_serialize(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer);
152
-
153
- /**
154
- * Parse the given source to the AST and dump the AST to the given buffer.
155
- *
156
- * @param buffer The buffer to serialize to.
157
- * @param source The source to parse.
158
- * @param size The size of the source.
159
- * @param data The optional data to pass to the parser.
160
- */
161
- PRISM_EXPORTED_FUNCTION void pm_serialize_parse(pm_buffer_t *buffer, const uint8_t *source, size_t size, const char *data);
162
-
163
- /**
164
- * Parse and serialize the comments in the given source to the given buffer.
165
- *
166
- * @param buffer The buffer to serialize to.
167
- * @param source The source to parse.
168
- * @param size The size of the source.
169
- * @param data The optional data to pass to the parser.
170
- */
171
- PRISM_EXPORTED_FUNCTION void pm_serialize_parse_comments(pm_buffer_t *buffer, const uint8_t *source, size_t size, const char *data);
172
-
173
- /**
174
- * Lex the given source and serialize to the given buffer.
175
- *
176
- * @param source The source to lex.
177
- * @param size The size of the source.
178
- * @param buffer The buffer to serialize to.
179
- * @param data The optional data to pass to the lexer.
180
- */
181
- PRISM_EXPORTED_FUNCTION void pm_serialize_lex(pm_buffer_t *buffer, const uint8_t *source, size_t size, const char *data);
182
-
183
- /**
184
- * Parse and serialize both the AST and the tokens represented by the given
185
- * source to the given buffer.
186
- *
187
- * @param buffer The buffer to serialize to.
188
- * @param source The source to parse.
189
- * @param size The size of the source.
190
- * @param data The optional data to pass to the parser.
191
- */
192
- PRISM_EXPORTED_FUNCTION void pm_serialize_parse_lex(pm_buffer_t *buffer, const uint8_t *source, size_t size, const char *data);
193
-
194
- #endif
195
-
196
- /**
197
- * Parse the source and return true if it parses without errors or warnings.
198
- *
199
- * @param source The source to parse.
200
- * @param size The size of the source.
201
- * @param data The optional data to pass to the parser.
202
- * @return True if the source parses without errors or warnings.
203
- */
204
- PRISM_EXPORTED_FUNCTION bool pm_parse_success_p(const uint8_t *source, size_t size, const char *data);
205
-
206
- /**
207
- * Returns a string representation of the given token type.
208
- *
209
- * @param token_type The token type to convert to a string.
210
- * @return A string representation of the given token type.
211
- */
212
- PRISM_EXPORTED_FUNCTION const char * pm_token_type_name(pm_token_type_t token_type);
213
-
214
- /**
215
- * Returns the human name of the given token type.
216
- *
217
- * @param token_type The token type to convert to a human name.
218
- * @return The human name of the given token type.
219
- */
220
- const char * pm_token_type_human(pm_token_type_t token_type);
221
-
222
- // We optionally support dumping to JSON. For systems that don't want or need
223
- // this functionality, it can be turned off with the PRISM_EXCLUDE_JSON define.
224
- #ifndef PRISM_EXCLUDE_JSON
225
-
226
- /**
227
- * Dump JSON to the given buffer.
228
- *
229
- * @param buffer The buffer to serialize to.
230
- * @param parser The parser that parsed the node.
231
- * @param node The node to serialize.
232
- */
233
- PRISM_EXPORTED_FUNCTION void pm_dump_json(pm_buffer_t *buffer, const pm_parser_t *parser, const pm_node_t *node);
234
-
235
- #endif
236
-
237
- /**
238
- * @mainpage
239
- *
240
- * Prism is a parser for the Ruby programming language. It is designed to be
241
- * portable, error tolerant, and maintainable. It is written in C99 and has no
242
- * dependencies. It is currently being integrated into
243
- * [CRuby](https://github.com/ruby/ruby),
244
- * [JRuby](https://github.com/jruby/jruby),
245
- * [TruffleRuby](https://github.com/oracle/truffleruby),
246
- * [Sorbet](https://github.com/sorbet/sorbet), and
247
- * [Syntax Tree](https://github.com/ruby-syntax-tree/syntax_tree).
248
- *
249
- * @section getting-started Getting started
250
- *
251
- * If you're vendoring this project and compiling it statically then as long as
252
- * you have a C99 compiler you will be fine. If you're linking against it as
253
- * shared library, then you should compile with `-fvisibility=hidden` and
254
- * `-DPRISM_EXPORT_SYMBOLS` to tell prism to make only its public interface
255
- * visible.
256
- *
257
- * @section parsing Parsing
258
- *
259
- * In order to parse Ruby code, the structures and functions that you're going
260
- * to want to use and be aware of are:
261
- *
262
- * * `pm_parser_t` - the main parser structure
263
- * * `pm_parser_init` - initialize a parser
264
- * * `pm_parse` - parse and return the root node
265
- * * `pm_node_destroy` - deallocate the root node returned by `pm_parse`
266
- * * `pm_parser_free` - free the internal memory of the parser
267
- *
268
- * Putting all of this together would look something like:
269
- *
270
- * ```c
271
- * void parse(const uint8_t *source, size_t length) {
272
- * pm_parser_t parser;
273
- * pm_parser_init(&parser, source, length, NULL);
274
- *
275
- * pm_node_t *root = pm_parse(&parser);
276
- * printf("PARSED!\n");
277
- *
278
- * pm_node_destroy(&parser, root);
279
- * pm_parser_free(&parser);
280
- * }
281
- * ```
282
- *
283
- * All of the nodes "inherit" from `pm_node_t` by embedding those structures as
284
- * their first member. This means you can downcast and upcast any node in the
285
- * tree to a `pm_node_t`.
286
- *
287
- * @section serializing Serializing
288
- *
289
- * Prism provides the ability to serialize the AST and its related metadata into
290
- * a binary format. This format is designed to be portable to different
291
- * languages and runtimes so that you only need to make one FFI call in order to
292
- * parse Ruby code. The structures and functions that you're going to want to
293
- * use and be aware of are:
294
- *
295
- * * `pm_buffer_t` - a small buffer object that will hold the serialized AST
296
- * * `pm_buffer_free` - free the memory associated with the buffer
297
- * * `pm_serialize` - serialize the AST into a buffer
298
- * * `pm_serialize_parse` - parse and serialize the AST into a buffer
299
- *
300
- * Putting all of this together would look something like:
301
- *
302
- * ```c
303
- * void serialize(const uint8_t *source, size_t length) {
304
- * pm_buffer_t buffer = { 0 };
305
- *
306
- * pm_serialize_parse(&buffer, source, length, NULL);
307
- * printf("SERIALIZED!\n");
308
- *
309
- * pm_buffer_free(&buffer);
310
- * }
311
- * ```
312
- *
313
- * @section inspecting Inspecting
314
- *
315
- * Prism provides the ability to inspect the AST by pretty-printing nodes. You
316
- * can do this with the `pm_prettyprint` function, which you would use like:
317
- *
318
- * ```c
319
- * void prettyprint(const uint8_t *source, size_t length) {
320
- * pm_parser_t parser;
321
- * pm_parser_init(&parser, source, length, NULL);
322
- *
323
- * pm_node_t *root = pm_parse(&parser);
324
- * pm_buffer_t buffer = { 0 };
325
- *
326
- * pm_prettyprint(&buffer, &parser, root);
327
- * printf("%*.s\n", (int) buffer.length, buffer.value);
328
- *
329
- * pm_buffer_free(&buffer);
330
- * pm_node_destroy(&parser, root);
331
- * pm_parser_free(&parser);
332
- * }
333
- * ```
334
- */
335
-
336
- #endif
@@ -1,29 +0,0 @@
1
- /**
2
- * @file version.h
3
- *
4
- * The version of the Prism library.
5
- */
6
- #ifndef PRISM_VERSION_H
7
- #define PRISM_VERSION_H
8
-
9
- /**
10
- * The major version of the Prism library as an int.
11
- */
12
- #define PRISM_VERSION_MAJOR 1
13
-
14
- /**
15
- * The minor version of the Prism library as an int.
16
- */
17
- #define PRISM_VERSION_MINOR 0
18
-
19
- /**
20
- * The patch version of the Prism library as an int.
21
- */
22
- #define PRISM_VERSION_PATCH 0
23
-
24
- /**
25
- * The version of the Prism library as a constant string.
26
- */
27
- #define PRISM_VERSION "1.0.0"
28
-
29
- #endif
@@ -1,99 +0,0 @@
1
- #include "prism/prism.h"
2
- #include "ruby/encoding.h"
3
-
4
- /**
5
- * the getlocal and setlocal instructions require two parameters. level is how
6
- * many hops up the iseq stack one needs to go before finding the correct local
7
- * table. The index is the index in that table where our variable is.
8
- *
9
- * Because these are always calculated and used together, we'll bind them
10
- * together as a tuple.
11
- */
12
- typedef struct pm_local_index_struct {
13
- int index, level;
14
- } pm_local_index_t;
15
-
16
- // A declaration for the struct that lives in compile.c.
17
- struct iseq_link_anchor;
18
-
19
- // ScopeNodes are helper nodes, and will never be part of the AST. We manually
20
- // declare them here to avoid generating them.
21
- typedef struct pm_scope_node {
22
- pm_node_t base;
23
- struct pm_scope_node *previous;
24
- pm_node_t *ast_node;
25
- pm_node_t *parameters;
26
- pm_node_t *body;
27
- pm_constant_id_list_t locals;
28
-
29
- const pm_parser_t *parser;
30
- rb_encoding *encoding;
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
-
42
- /**
43
- * This is the encoding of the actual filepath object that will be used when
44
- * a __FILE__ node is compiled or when the path has to be set on a syntax
45
- * error.
46
- */
47
- rb_encoding *filepath_encoding;
48
-
49
- // The size of the local table on the iseq which includes locals and hidden
50
- // variables.
51
- int local_table_for_iseq_size;
52
-
53
- ID *constants;
54
- st_table *index_lookup_table;
55
-
56
- // The current coverage setting, passed down through the various scopes.
57
- int coverage_enabled;
58
-
59
- /**
60
- * This will only be set on the top-level scope node. It will contain all of
61
- * the instructions pertaining to BEGIN{} nodes.
62
- */
63
- struct iseq_link_anchor *pre_execution_anchor;
64
- } pm_scope_node_t;
65
-
66
- void pm_scope_node_init(const pm_node_t *node, pm_scope_node_t *scope, pm_scope_node_t *previous);
67
- void pm_scope_node_destroy(pm_scope_node_t *scope_node);
68
-
69
- typedef struct {
70
- /** The parser that will do the actual parsing. */
71
- pm_parser_t parser;
72
-
73
- /** The options that will be passed to the parser. */
74
- pm_options_t options;
75
-
76
- /** The input that represents the source to be parsed. */
77
- pm_string_t input;
78
-
79
- /** The resulting scope node that will hold the generated AST. */
80
- pm_scope_node_t node;
81
-
82
- /** Whether or not this parse result has performed its parsing yet. */
83
- bool parsed;
84
- } pm_parse_result_t;
85
-
86
- VALUE pm_load_file(pm_parse_result_t *result, VALUE filepath, bool load_error);
87
- VALUE pm_parse_file(pm_parse_result_t *result, VALUE filepath, VALUE *script_lines);
88
- VALUE pm_load_parse_file(pm_parse_result_t *result, VALUE filepath, VALUE *script_lines);
89
- VALUE pm_parse_string(pm_parse_result_t *result, VALUE source, VALUE filepath, VALUE *script_lines);
90
- VALUE pm_parse_stdin(pm_parse_result_t *result);
91
- void pm_parse_result_free(pm_parse_result_t *result);
92
-
93
- 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);
94
- rb_iseq_t *pm_iseq_new_top(pm_scope_node_t *node, VALUE name, VALUE path, VALUE realpath, const rb_iseq_t *parent);
95
- rb_iseq_t *pm_iseq_new_main(pm_scope_node_t *node, VALUE path, VALUE realpath, const rb_iseq_t *parent, int opt);
96
- 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);
97
- 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*);
98
-
99
- VALUE pm_iseq_compile_node(rb_iseq_t *iseq, pm_scope_node_t *node);