datadog-ruby_core_source 3.3.7 → 3.4.0

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