datadog-ruby_core_source 3.5.2 → 3.5.4

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 (257) hide show
  1. checksums.yaml +4 -4
  2. data/lib/datadog/ruby_core_source/ruby-2.5.0-p0/thread_win32.h +36 -0
  3. data/lib/datadog/ruby_core_source/ruby-2.5.1-p57/thread_win32.h +36 -0
  4. data/lib/datadog/ruby_core_source/ruby-2.5.4-p155/thread_win32.h +36 -0
  5. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/constant.h +53 -0
  6. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/debug_counter.h +423 -0
  7. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/vm_sync.h +137 -0
  8. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/constant.h +53 -0
  9. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/debug_counter.h +423 -0
  10. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/vm_sync.h +137 -0
  11. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/constant.h +53 -0
  12. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/debug_counter.h +423 -0
  13. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/vm_sync.h +137 -0
  14. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/constant.h +53 -0
  15. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/debug_counter.h +425 -0
  16. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/vm_sync.h +160 -0
  17. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/ccan/build_assert/build_assert.h +40 -0
  18. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/ccan/check_type/check_type.h +63 -0
  19. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/ccan/container_of/container_of.h +142 -0
  20. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/ccan/list/list.h +791 -0
  21. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/ccan/str/str.h +17 -0
  22. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/constant.h +53 -0
  23. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/debug_counter.h +426 -0
  24. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/id.h +357 -0
  25. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/id_table.h +64 -0
  26. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/array.h +155 -0
  27. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/basic_operators.h +66 -0
  28. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/box.h +96 -0
  29. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/class.h +749 -0
  30. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/compilers.h +107 -0
  31. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/gc.h +360 -0
  32. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/imemo.h +323 -0
  33. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/sanitizers.h +346 -0
  34. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/serial.h +23 -0
  35. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/set_table.h +70 -0
  36. data/lib/datadog/ruby_core_source/{ruby-3.3.5-p100/internal/dir.h → ruby-4.0.6-p0/internal/static_assert.h} +8 -8
  37. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/variable.h +76 -0
  38. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/vm.h +138 -0
  39. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal/warnings.h +16 -0
  40. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/internal.h +105 -0
  41. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/iseq.h +359 -0
  42. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/method.h +276 -0
  43. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/node.h +122 -0
  44. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/parser_st.h +162 -0
  45. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/parser_value.h +106 -0
  46. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/prism/ast.h +8254 -0
  47. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/prism/defines.h +260 -0
  48. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/prism/diagnostic.h +460 -0
  49. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/prism/encoding.h +283 -0
  50. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/prism/node.h +129 -0
  51. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/prism/options.h +488 -0
  52. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/prism/pack.h +163 -0
  53. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/prism/parser.h +936 -0
  54. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/prism/prettyprint.h +34 -0
  55. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/prism/prism.h +408 -0
  56. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/prism/regexp.h +43 -0
  57. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/prism/static_literals.h +121 -0
  58. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/prism/util/pm_buffer.h +236 -0
  59. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/prism/util/pm_char.h +204 -0
  60. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/prism/util/pm_constant_pool.h +218 -0
  61. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/prism/util/pm_integer.h +130 -0
  62. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/prism/util/pm_list.h +103 -0
  63. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/prism/util/pm_memchr.h +29 -0
  64. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/prism/util/pm_newline_list.h +113 -0
  65. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/prism/util/pm_string.h +200 -0
  66. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/prism/util/pm_strncasecmp.h +32 -0
  67. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/prism/util/pm_strpbrk.h +46 -0
  68. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/prism/version.h +29 -0
  69. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/prism_compile.h +106 -0
  70. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/ractor_core.h +331 -0
  71. data/lib/datadog/ruby_core_source/{ruby-3.4.0-p0/internal/dir.h → ruby-4.0.6-p0/ruby_assert.h} +6 -8
  72. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/ruby_atomic.h +73 -0
  73. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/rubyparser.h +1393 -0
  74. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/shape.h +464 -0
  75. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/thread_none.h +21 -0
  76. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/thread_pthread.h +185 -0
  77. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/vm_core.h +2408 -0
  78. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/vm_debug.h +124 -0
  79. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/vm_opts.h +67 -0
  80. data/lib/datadog/ruby_core_source/ruby-4.0.6-p0/vm_sync.h +160 -0
  81. data/lib/datadog/ruby_core_source/version.rb +1 -1
  82. metadata +81 -179
  83. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/bignum.h +0 -244
  84. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/bits.h +0 -568
  85. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/cmdlineopt.h +0 -65
  86. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/compar.h +0 -29
  87. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/compile.h +0 -34
  88. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/complex.h +0 -29
  89. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/cont.h +0 -35
  90. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/dir.h +0 -16
  91. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/enc.h +0 -19
  92. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/encoding.h +0 -35
  93. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/enum.h +0 -18
  94. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/enumerator.h +0 -21
  95. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/error.h +0 -216
  96. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/eval.h +0 -32
  97. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/file.h +0 -38
  98. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/fixnum.h +0 -184
  99. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/hash.h +0 -191
  100. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/inits.h +0 -50
  101. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/io.h +0 -137
  102. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/load.h +0 -18
  103. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/loadpath.h +0 -16
  104. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/math.h +0 -23
  105. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/missing.h +0 -18
  106. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/numeric.h +0 -273
  107. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/object.h +0 -60
  108. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/parse.h +0 -108
  109. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/proc.h +0 -30
  110. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/process.h +0 -124
  111. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/ractor.h +0 -6
  112. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/random.h +0 -17
  113. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/range.h +0 -40
  114. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/rational.h +0 -71
  115. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/re.h +0 -28
  116. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/ruby_parser.h +0 -69
  117. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/sanitizers.h +0 -186
  118. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/signal.h +0 -25
  119. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/string.h +0 -159
  120. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/struct.h +0 -127
  121. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/symbol.h +0 -45
  122. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/thread.h +0 -78
  123. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/time.h +0 -34
  124. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/transcode.h +0 -23
  125. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/internal/util.h +0 -27
  126. data/lib/datadog/ruby_core_source/ruby-3.3.0-p0/prism/extension.h +0 -18
  127. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/bignum.h +0 -244
  128. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/bits.h +0 -568
  129. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/cmdlineopt.h +0 -65
  130. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/compar.h +0 -29
  131. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/compile.h +0 -34
  132. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/complex.h +0 -29
  133. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/cont.h +0 -35
  134. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/enc.h +0 -19
  135. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/encoding.h +0 -35
  136. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/enum.h +0 -18
  137. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/enumerator.h +0 -21
  138. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/error.h +0 -216
  139. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/eval.h +0 -33
  140. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/file.h +0 -38
  141. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/fixnum.h +0 -184
  142. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/hash.h +0 -191
  143. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/inits.h +0 -50
  144. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/io.h +0 -137
  145. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/load.h +0 -18
  146. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/loadpath.h +0 -16
  147. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/math.h +0 -23
  148. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/missing.h +0 -18
  149. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/numeric.h +0 -273
  150. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/object.h +0 -62
  151. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/parse.h +0 -108
  152. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/proc.h +0 -30
  153. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/process.h +0 -124
  154. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/ractor.h +0 -6
  155. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/random.h +0 -17
  156. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/range.h +0 -40
  157. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/rational.h +0 -71
  158. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/re.h +0 -28
  159. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/ruby_parser.h +0 -69
  160. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/sanitizers.h +0 -186
  161. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/signal.h +0 -25
  162. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/string.h +0 -160
  163. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/struct.h +0 -127
  164. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/symbol.h +0 -45
  165. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/thread.h +0 -78
  166. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/time.h +0 -34
  167. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/transcode.h +0 -23
  168. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/internal/util.h +0 -27
  169. data/lib/datadog/ruby_core_source/ruby-3.3.5-p100/prism/extension.h +0 -18
  170. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/bignum.h +0 -244
  171. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/bits.h +0 -650
  172. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/cmdlineopt.h +0 -65
  173. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/compar.h +0 -29
  174. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/compile.h +0 -34
  175. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/complex.h +0 -29
  176. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/cont.h +0 -35
  177. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/enc.h +0 -19
  178. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/encoding.h +0 -38
  179. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/enum.h +0 -18
  180. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/enumerator.h +0 -21
  181. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/error.h +0 -244
  182. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/eval.h +0 -33
  183. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/file.h +0 -38
  184. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/fixnum.h +0 -185
  185. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/hash.h +0 -192
  186. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/inits.h +0 -47
  187. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/io.h +0 -143
  188. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/load.h +0 -18
  189. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/loadpath.h +0 -16
  190. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/math.h +0 -23
  191. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/missing.h +0 -19
  192. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/numeric.h +0 -274
  193. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/object.h +0 -63
  194. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/parse.h +0 -130
  195. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/proc.h +0 -31
  196. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/process.h +0 -124
  197. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/ractor.h +0 -10
  198. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/random.h +0 -17
  199. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/range.h +0 -40
  200. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/rational.h +0 -71
  201. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/re.h +0 -28
  202. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/ruby_parser.h +0 -102
  203. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/signal.h +0 -24
  204. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/st.h +0 -11
  205. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/string.h +0 -198
  206. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/struct.h +0 -127
  207. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/symbol.h +0 -45
  208. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/thread.h +0 -108
  209. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/time.h +0 -34
  210. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/transcode.h +0 -23
  211. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/internal/util.h +0 -27
  212. data/lib/datadog/ruby_core_source/ruby-3.4.0-p0/prism/extension.h +0 -19
  213. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/bignum.h +0 -256
  214. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/bits.h +0 -647
  215. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/cmdlineopt.h +0 -64
  216. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/compar.h +0 -29
  217. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/compile.h +0 -34
  218. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/complex.h +0 -29
  219. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/concurrent_set.h +0 -21
  220. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/cont.h +0 -34
  221. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/dir.h +0 -16
  222. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/enc.h +0 -19
  223. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/encoding.h +0 -39
  224. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/enum.h +0 -18
  225. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/enumerator.h +0 -21
  226. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/error.h +0 -251
  227. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/eval.h +0 -43
  228. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/file.h +0 -38
  229. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/fixnum.h +0 -185
  230. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/hash.h +0 -194
  231. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/inits.h +0 -51
  232. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/io.h +0 -163
  233. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/load.h +0 -20
  234. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/loadpath.h +0 -16
  235. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/math.h +0 -23
  236. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/missing.h +0 -19
  237. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/numeric.h +0 -323
  238. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/object.h +0 -63
  239. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/parse.h +0 -131
  240. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/proc.h +0 -30
  241. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/process.h +0 -124
  242. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/ractor.h +0 -10
  243. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/random.h +0 -17
  244. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/range.h +0 -40
  245. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/rational.h +0 -71
  246. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/re.h +0 -33
  247. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/ruby_parser.h +0 -102
  248. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/signal.h +0 -25
  249. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/st.h +0 -11
  250. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/string.h +0 -203
  251. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/struct.h +0 -160
  252. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/symbol.h +0 -46
  253. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/thread.h +0 -112
  254. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/time.h +0 -34
  255. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/transcode.h +0 -23
  256. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/internal/util.h +0 -27
  257. data/lib/datadog/ruby_core_source/ruby-4.0.0-p0/prism/extension.h +0 -19
@@ -0,0 +1,460 @@
1
+ /* :markup: markdown */
2
+
3
+ /*----------------------------------------------------------------------------*/
4
+ /* This file is generated by the templates/template.rb script and should not */
5
+ /* be modified manually. See */
6
+ /* templates/include/prism/diagnostic.h.erb */
7
+ /* if you are looking to modify the */
8
+ /* template */
9
+ /*----------------------------------------------------------------------------*/
10
+
11
+ /**
12
+ * @file diagnostic.h
13
+ *
14
+ * A list of diagnostics generated during parsing.
15
+ */
16
+ #ifndef PRISM_DIAGNOSTIC_H
17
+ #define PRISM_DIAGNOSTIC_H
18
+
19
+ #include "prism/ast.h"
20
+ #include "prism/defines.h"
21
+ #include "prism/util/pm_list.h"
22
+
23
+ #include <stdbool.h>
24
+ #include <stdlib.h>
25
+ #include <assert.h>
26
+
27
+ /**
28
+ * The diagnostic IDs of all of the diagnostics, used to communicate the types
29
+ * of errors between the parser and the user.
30
+ */
31
+ typedef enum {
32
+ // These are the error diagnostics.
33
+ PM_ERR_ALIAS_ARGUMENT,
34
+ PM_ERR_ALIAS_ARGUMENT_NUMBERED_REFERENCE,
35
+ PM_ERR_AMPAMPEQ_MULTI_ASSIGN,
36
+ PM_ERR_ARGUMENT_AFTER_BLOCK,
37
+ PM_ERR_ARGUMENT_AFTER_FORWARDING_ELLIPSES,
38
+ PM_ERR_ARGUMENT_BARE_HASH,
39
+ PM_ERR_ARGUMENT_BLOCK_FORWARDING,
40
+ PM_ERR_ARGUMENT_BLOCK_MULTI,
41
+ PM_ERR_ARGUMENT_CONFLICT_AMPERSAND,
42
+ PM_ERR_ARGUMENT_CONFLICT_STAR,
43
+ PM_ERR_ARGUMENT_CONFLICT_STAR_STAR,
44
+ PM_ERR_ARGUMENT_FORMAL_CLASS,
45
+ PM_ERR_ARGUMENT_FORMAL_CONSTANT,
46
+ PM_ERR_ARGUMENT_FORMAL_GLOBAL,
47
+ PM_ERR_ARGUMENT_FORMAL_IVAR,
48
+ PM_ERR_ARGUMENT_FORWARDING_UNBOUND,
49
+ PM_ERR_ARGUMENT_NO_FORWARDING_AMPERSAND,
50
+ PM_ERR_ARGUMENT_NO_FORWARDING_ELLIPSES,
51
+ PM_ERR_ARGUMENT_NO_FORWARDING_ELLIPSES_LAMBDA,
52
+ PM_ERR_ARGUMENT_NO_FORWARDING_ELLIPSES_BLOCK,
53
+ PM_ERR_ARGUMENT_NO_FORWARDING_STAR,
54
+ PM_ERR_ARGUMENT_NO_FORWARDING_STAR_STAR,
55
+ PM_ERR_ARGUMENT_SPLAT_AFTER_ASSOC_SPLAT,
56
+ PM_ERR_ARGUMENT_SPLAT_AFTER_SPLAT,
57
+ PM_ERR_ARGUMENT_TERM_PAREN,
58
+ PM_ERR_ARGUMENT_UNEXPECTED_BLOCK,
59
+ PM_ERR_ARRAY_ELEMENT,
60
+ PM_ERR_ARRAY_EXPRESSION,
61
+ PM_ERR_ARRAY_EXPRESSION_AFTER_STAR,
62
+ PM_ERR_ARRAY_SEPARATOR,
63
+ PM_ERR_ARRAY_TERM,
64
+ PM_ERR_BEGIN_LONELY_ELSE,
65
+ PM_ERR_BEGIN_TERM,
66
+ PM_ERR_BEGIN_UPCASE_BRACE,
67
+ PM_ERR_BEGIN_UPCASE_TERM,
68
+ PM_ERR_BEGIN_UPCASE_TOPLEVEL,
69
+ PM_ERR_BLOCK_PARAM_LOCAL_VARIABLE,
70
+ PM_ERR_BLOCK_PARAM_PIPE_TERM,
71
+ PM_ERR_BLOCK_TERM_BRACE,
72
+ PM_ERR_BLOCK_TERM_END,
73
+ PM_ERR_CANNOT_PARSE_EXPRESSION,
74
+ PM_ERR_CANNOT_PARSE_STRING_PART,
75
+ PM_ERR_CASE_EXPRESSION_AFTER_CASE,
76
+ PM_ERR_CASE_EXPRESSION_AFTER_WHEN,
77
+ PM_ERR_CASE_MATCH_MISSING_PREDICATE,
78
+ PM_ERR_CASE_MISSING_CONDITIONS,
79
+ PM_ERR_CASE_TERM,
80
+ PM_ERR_CLASS_IN_METHOD,
81
+ PM_ERR_CLASS_NAME,
82
+ PM_ERR_CLASS_SUPERCLASS,
83
+ PM_ERR_CLASS_TERM,
84
+ PM_ERR_CLASS_UNEXPECTED_END,
85
+ PM_ERR_CLASS_VARIABLE_BARE,
86
+ PM_ERR_CONDITIONAL_ELSIF_PREDICATE,
87
+ PM_ERR_CONDITIONAL_IF_PREDICATE,
88
+ PM_ERR_CONDITIONAL_PREDICATE_TERM,
89
+ PM_ERR_CONDITIONAL_TERM,
90
+ PM_ERR_CONDITIONAL_TERM_ELSE,
91
+ PM_ERR_CONDITIONAL_UNLESS_PREDICATE,
92
+ PM_ERR_CONDITIONAL_UNTIL_PREDICATE,
93
+ PM_ERR_CONDITIONAL_WHILE_PREDICATE,
94
+ PM_ERR_CONSTANT_PATH_COLON_COLON_CONSTANT,
95
+ PM_ERR_DEF_ENDLESS,
96
+ PM_ERR_DEF_ENDLESS_PARAMETERS,
97
+ PM_ERR_DEF_ENDLESS_SETTER,
98
+ PM_ERR_DEF_NAME,
99
+ PM_ERR_DEF_PARAMS_TERM,
100
+ PM_ERR_DEF_PARAMS_TERM_PAREN,
101
+ PM_ERR_DEF_RECEIVER,
102
+ PM_ERR_DEF_RECEIVER_TERM,
103
+ PM_ERR_DEF_TERM,
104
+ PM_ERR_DEFINED_EXPRESSION,
105
+ PM_ERR_EMBDOC_TERM,
106
+ PM_ERR_EMBEXPR_END,
107
+ PM_ERR_EMBVAR_INVALID,
108
+ PM_ERR_END_UPCASE_BRACE,
109
+ PM_ERR_END_UPCASE_TERM,
110
+ PM_ERR_ESCAPE_INVALID_CONTROL,
111
+ PM_ERR_ESCAPE_INVALID_CONTROL_REPEAT,
112
+ PM_ERR_ESCAPE_INVALID_HEXADECIMAL,
113
+ PM_ERR_ESCAPE_INVALID_META,
114
+ PM_ERR_ESCAPE_INVALID_META_REPEAT,
115
+ PM_ERR_ESCAPE_INVALID_UNICODE,
116
+ PM_ERR_ESCAPE_INVALID_UNICODE_CM_FLAGS,
117
+ PM_ERR_ESCAPE_INVALID_UNICODE_LIST,
118
+ PM_ERR_ESCAPE_INVALID_UNICODE_LITERAL,
119
+ PM_ERR_ESCAPE_INVALID_UNICODE_LONG,
120
+ PM_ERR_ESCAPE_INVALID_UNICODE_SHORT,
121
+ PM_ERR_ESCAPE_INVALID_UNICODE_TERM,
122
+ PM_ERR_EXPECT_ARGUMENT,
123
+ PM_ERR_EXPECT_EOL_AFTER_STATEMENT,
124
+ PM_ERR_EXPECT_EXPRESSION_AFTER_AMPAMPEQ,
125
+ PM_ERR_EXPECT_EXPRESSION_AFTER_COMMA,
126
+ PM_ERR_EXPECT_EXPRESSION_AFTER_EQUAL,
127
+ PM_ERR_EXPECT_EXPRESSION_AFTER_LESS_LESS,
128
+ PM_ERR_EXPECT_EXPRESSION_AFTER_LPAREN,
129
+ PM_ERR_EXPECT_EXPRESSION_AFTER_OPERATOR,
130
+ PM_ERR_EXPECT_EXPRESSION_AFTER_PIPEPIPEEQ,
131
+ PM_ERR_EXPECT_EXPRESSION_AFTER_QUESTION,
132
+ PM_ERR_EXPECT_EXPRESSION_AFTER_SPLAT,
133
+ PM_ERR_EXPECT_EXPRESSION_AFTER_SPLAT_HASH,
134
+ PM_ERR_EXPECT_EXPRESSION_AFTER_STAR,
135
+ PM_ERR_EXPECT_FOR_DELIMITER,
136
+ PM_ERR_EXPECT_IDENT_REQ_PARAMETER,
137
+ PM_ERR_EXPECT_IN_DELIMITER,
138
+ PM_ERR_EXPECT_LPAREN_AFTER_NOT_LPAREN,
139
+ PM_ERR_EXPECT_LPAREN_AFTER_NOT_OTHER,
140
+ PM_ERR_EXPECT_LPAREN_REQ_PARAMETER,
141
+ PM_ERR_EXPECT_MESSAGE,
142
+ PM_ERR_EXPECT_RBRACKET,
143
+ PM_ERR_EXPECT_RPAREN,
144
+ PM_ERR_EXPECT_RPAREN_AFTER_MULTI,
145
+ PM_ERR_EXPECT_RPAREN_REQ_PARAMETER,
146
+ PM_ERR_EXPECT_SINGLETON_CLASS_DELIMITER,
147
+ PM_ERR_EXPECT_STRING_CONTENT,
148
+ PM_ERR_EXPECT_WHEN_DELIMITER,
149
+ PM_ERR_EXPRESSION_BARE_HASH,
150
+ PM_ERR_EXPRESSION_NOT_WRITABLE,
151
+ PM_ERR_EXPRESSION_NOT_WRITABLE_ENCODING,
152
+ PM_ERR_EXPRESSION_NOT_WRITABLE_FALSE,
153
+ PM_ERR_EXPRESSION_NOT_WRITABLE_FILE,
154
+ PM_ERR_EXPRESSION_NOT_WRITABLE_LINE,
155
+ PM_ERR_EXPRESSION_NOT_WRITABLE_NIL,
156
+ PM_ERR_EXPRESSION_NOT_WRITABLE_NUMBERED,
157
+ PM_ERR_EXPRESSION_NOT_WRITABLE_SELF,
158
+ PM_ERR_EXPRESSION_NOT_WRITABLE_TRUE,
159
+ PM_ERR_FLOAT_PARSE,
160
+ PM_ERR_FOR_COLLECTION,
161
+ PM_ERR_FOR_IN,
162
+ PM_ERR_FOR_INDEX,
163
+ PM_ERR_FOR_TERM,
164
+ PM_ERR_GLOBAL_VARIABLE_BARE,
165
+ PM_ERR_HASH_EXPRESSION_AFTER_LABEL,
166
+ PM_ERR_HASH_KEY,
167
+ PM_ERR_HASH_ROCKET,
168
+ PM_ERR_HASH_TERM,
169
+ PM_ERR_HASH_VALUE,
170
+ PM_ERR_HEREDOC_IDENTIFIER,
171
+ PM_ERR_HEREDOC_TERM,
172
+ PM_ERR_INCOMPLETE_QUESTION_MARK,
173
+ PM_ERR_INCOMPLETE_VARIABLE_CLASS,
174
+ PM_ERR_INCOMPLETE_VARIABLE_CLASS_3_3,
175
+ PM_ERR_INCOMPLETE_VARIABLE_INSTANCE,
176
+ PM_ERR_INCOMPLETE_VARIABLE_INSTANCE_3_3,
177
+ PM_ERR_INSTANCE_VARIABLE_BARE,
178
+ PM_ERR_INVALID_BLOCK_EXIT,
179
+ PM_ERR_INVALID_CHARACTER,
180
+ PM_ERR_INVALID_COMMA,
181
+ PM_ERR_INVALID_ENCODING_MAGIC_COMMENT,
182
+ PM_ERR_INVALID_ESCAPE_CHARACTER,
183
+ PM_ERR_INVALID_FLOAT_EXPONENT,
184
+ PM_ERR_INVALID_LOCAL_VARIABLE_READ,
185
+ PM_ERR_INVALID_LOCAL_VARIABLE_WRITE,
186
+ PM_ERR_INVALID_MULTIBYTE_CHAR,
187
+ PM_ERR_INVALID_MULTIBYTE_CHARACTER,
188
+ PM_ERR_INVALID_MULTIBYTE_ESCAPE,
189
+ PM_ERR_INVALID_NUMBER_BINARY,
190
+ PM_ERR_INVALID_NUMBER_DECIMAL,
191
+ PM_ERR_INVALID_NUMBER_FRACTION,
192
+ PM_ERR_INVALID_NUMBER_HEXADECIMAL,
193
+ PM_ERR_INVALID_NUMBER_OCTAL,
194
+ PM_ERR_INVALID_NUMBER_UNDERSCORE_INNER,
195
+ PM_ERR_INVALID_NUMBER_UNDERSCORE_TRAILING,
196
+ PM_ERR_INVALID_PERCENT,
197
+ PM_ERR_INVALID_PERCENT_EOF,
198
+ PM_ERR_INVALID_PRINTABLE_CHARACTER,
199
+ PM_ERR_INVALID_RETRY_AFTER_ELSE,
200
+ PM_ERR_INVALID_RETRY_AFTER_ENSURE,
201
+ PM_ERR_INVALID_RETRY_WITHOUT_RESCUE,
202
+ PM_ERR_INVALID_SYMBOL,
203
+ PM_ERR_INVALID_VARIABLE_GLOBAL,
204
+ PM_ERR_INVALID_VARIABLE_GLOBAL_3_3,
205
+ PM_ERR_INVALID_YIELD,
206
+ PM_ERR_IT_NOT_ALLOWED_NUMBERED,
207
+ PM_ERR_IT_NOT_ALLOWED_ORDINARY,
208
+ PM_ERR_LAMBDA_OPEN,
209
+ PM_ERR_LAMBDA_TERM_BRACE,
210
+ PM_ERR_LAMBDA_TERM_END,
211
+ PM_ERR_LIST_I_LOWER_ELEMENT,
212
+ PM_ERR_LIST_I_LOWER_TERM,
213
+ PM_ERR_LIST_I_UPPER_ELEMENT,
214
+ PM_ERR_LIST_I_UPPER_TERM,
215
+ PM_ERR_LIST_W_LOWER_ELEMENT,
216
+ PM_ERR_LIST_W_LOWER_TERM,
217
+ PM_ERR_LIST_W_UPPER_ELEMENT,
218
+ PM_ERR_LIST_W_UPPER_TERM,
219
+ PM_ERR_MALLOC_FAILED,
220
+ PM_ERR_MIXED_ENCODING,
221
+ PM_ERR_MODULE_IN_METHOD,
222
+ PM_ERR_MODULE_NAME,
223
+ PM_ERR_MODULE_TERM,
224
+ PM_ERR_MULTI_ASSIGN_MULTI_SPLATS,
225
+ PM_ERR_MULTI_ASSIGN_UNEXPECTED_REST,
226
+ PM_ERR_NESTING_TOO_DEEP,
227
+ PM_ERR_NO_LOCAL_VARIABLE,
228
+ PM_ERR_NON_ASSOCIATIVE_OPERATOR,
229
+ PM_ERR_NOT_EXPRESSION,
230
+ PM_ERR_NUMBER_LITERAL_UNDERSCORE,
231
+ PM_ERR_NUMBERED_PARAMETER_INNER_BLOCK,
232
+ PM_ERR_NUMBERED_PARAMETER_IT,
233
+ PM_ERR_NUMBERED_PARAMETER_ORDINARY,
234
+ PM_ERR_NUMBERED_PARAMETER_OUTER_BLOCK,
235
+ PM_ERR_OPERATOR_MULTI_ASSIGN,
236
+ PM_ERR_OPERATOR_WRITE_ARGUMENTS,
237
+ PM_ERR_OPERATOR_WRITE_BLOCK,
238
+ PM_ERR_PARAMETER_ASSOC_SPLAT_MULTI,
239
+ PM_ERR_PARAMETER_BLOCK_MULTI,
240
+ PM_ERR_PARAMETER_CIRCULAR,
241
+ PM_ERR_PARAMETER_FORWARDING_AFTER_REST,
242
+ PM_ERR_PARAMETER_METHOD_NAME,
243
+ PM_ERR_PARAMETER_NAME_DUPLICATED,
244
+ PM_ERR_PARAMETER_NO_DEFAULT,
245
+ PM_ERR_PARAMETER_NO_DEFAULT_KW,
246
+ PM_ERR_PARAMETER_NUMBERED_RESERVED,
247
+ PM_ERR_PARAMETER_ORDER,
248
+ PM_ERR_PARAMETER_SPLAT_MULTI,
249
+ PM_ERR_PARAMETER_STAR,
250
+ PM_ERR_PARAMETER_UNEXPECTED_FWD,
251
+ PM_ERR_PARAMETER_UNEXPECTED_NO_KW,
252
+ PM_ERR_PARAMETER_WILD_LOOSE_COMMA,
253
+ PM_ERR_PATTERN_ARRAY_MULTIPLE_RESTS,
254
+ PM_ERR_PATTERN_CAPTURE_DUPLICATE,
255
+ PM_ERR_PATTERN_CAPTURE_IN_ALTERNATIVE,
256
+ PM_ERR_PATTERN_EXPRESSION_AFTER_BRACKET,
257
+ PM_ERR_PATTERN_EXPRESSION_AFTER_COMMA,
258
+ PM_ERR_PATTERN_EXPRESSION_AFTER_HROCKET,
259
+ PM_ERR_PATTERN_EXPRESSION_AFTER_IN,
260
+ PM_ERR_PATTERN_EXPRESSION_AFTER_KEY,
261
+ PM_ERR_PATTERN_EXPRESSION_AFTER_PAREN,
262
+ PM_ERR_PATTERN_EXPRESSION_AFTER_PIN,
263
+ PM_ERR_PATTERN_EXPRESSION_AFTER_PIPE,
264
+ PM_ERR_PATTERN_EXPRESSION_AFTER_RANGE,
265
+ PM_ERR_PATTERN_EXPRESSION_AFTER_REST,
266
+ PM_ERR_PATTERN_FIND_MISSING_INNER,
267
+ PM_ERR_PATTERN_HASH_IMPLICIT,
268
+ PM_ERR_PATTERN_HASH_KEY,
269
+ PM_ERR_PATTERN_HASH_KEY_DUPLICATE,
270
+ PM_ERR_PATTERN_HASH_KEY_INTERPOLATED,
271
+ PM_ERR_PATTERN_HASH_KEY_LABEL,
272
+ PM_ERR_PATTERN_HASH_KEY_LOCALS,
273
+ PM_ERR_PATTERN_IDENT_AFTER_HROCKET,
274
+ PM_ERR_PATTERN_LABEL_AFTER_COMMA,
275
+ PM_ERR_PATTERN_REST,
276
+ PM_ERR_PATTERN_TERM_BRACE,
277
+ PM_ERR_PATTERN_TERM_BRACKET,
278
+ PM_ERR_PATTERN_TERM_PAREN,
279
+ PM_ERR_PIPEPIPEEQ_MULTI_ASSIGN,
280
+ PM_ERR_REGEXP_ENCODING_OPTION_MISMATCH,
281
+ PM_ERR_REGEXP_INCOMPAT_CHAR_ENCODING,
282
+ PM_ERR_REGEXP_INVALID_UNICODE_RANGE,
283
+ PM_ERR_REGEXP_NON_ESCAPED_MBC,
284
+ PM_ERR_REGEXP_PARSE_ERROR,
285
+ PM_ERR_REGEXP_TERM,
286
+ PM_ERR_REGEXP_UNKNOWN_OPTIONS,
287
+ PM_ERR_REGEXP_UTF8_CHAR_NON_UTF8_REGEXP,
288
+ PM_ERR_RESCUE_EXPRESSION,
289
+ PM_ERR_RESCUE_MODIFIER_VALUE,
290
+ PM_ERR_RESCUE_TERM,
291
+ PM_ERR_RESCUE_VARIABLE,
292
+ PM_ERR_RETURN_INVALID,
293
+ PM_ERR_SCRIPT_NOT_FOUND,
294
+ PM_ERR_SINGLETON_FOR_LITERALS,
295
+ PM_ERR_STATEMENT_ALIAS,
296
+ PM_ERR_STATEMENT_POSTEXE_END,
297
+ PM_ERR_STATEMENT_PREEXE_BEGIN,
298
+ PM_ERR_STATEMENT_UNDEF,
299
+ PM_ERR_STRING_CONCATENATION,
300
+ PM_ERR_STRING_INTERPOLATED_TERM,
301
+ PM_ERR_STRING_LITERAL_EOF,
302
+ PM_ERR_STRING_LITERAL_TERM,
303
+ PM_ERR_SYMBOL_INVALID,
304
+ PM_ERR_SYMBOL_TERM_DYNAMIC,
305
+ PM_ERR_SYMBOL_TERM_INTERPOLATED,
306
+ PM_ERR_TERNARY_COLON,
307
+ PM_ERR_TERNARY_EXPRESSION_FALSE,
308
+ PM_ERR_TERNARY_EXPRESSION_TRUE,
309
+ PM_ERR_UNARY_DISALLOWED,
310
+ PM_ERR_UNARY_RECEIVER,
311
+ PM_ERR_UNDEF_ARGUMENT,
312
+ PM_ERR_UNEXPECTED_BLOCK_ARGUMENT,
313
+ PM_ERR_UNEXPECTED_INDEX_BLOCK,
314
+ PM_ERR_UNEXPECTED_INDEX_KEYWORDS,
315
+ PM_ERR_UNEXPECTED_LABEL,
316
+ PM_ERR_UNEXPECTED_MULTI_WRITE,
317
+ PM_ERR_UNEXPECTED_PARAMETER_DEFAULT_VALUE,
318
+ PM_ERR_UNEXPECTED_RANGE_OPERATOR,
319
+ PM_ERR_UNEXPECTED_SAFE_NAVIGATION,
320
+ PM_ERR_UNEXPECTED_TOKEN_CLOSE_CONTEXT,
321
+ PM_ERR_UNEXPECTED_TOKEN_IGNORE,
322
+ PM_ERR_UNTIL_TERM,
323
+ PM_ERR_VOID_EXPRESSION,
324
+ PM_ERR_WHILE_TERM,
325
+ PM_ERR_WRITE_TARGET_IN_METHOD,
326
+ PM_ERR_WRITE_TARGET_READONLY,
327
+ PM_ERR_WRITE_TARGET_UNEXPECTED,
328
+ PM_ERR_XSTRING_TERM,
329
+
330
+ // These are the warning diagnostics.
331
+ PM_WARN_AMBIGUOUS_BINARY_OPERATOR,
332
+ PM_WARN_AMBIGUOUS_FIRST_ARGUMENT_MINUS,
333
+ PM_WARN_AMBIGUOUS_FIRST_ARGUMENT_PLUS,
334
+ PM_WARN_AMBIGUOUS_PREFIX_AMPERSAND,
335
+ PM_WARN_AMBIGUOUS_PREFIX_STAR,
336
+ PM_WARN_AMBIGUOUS_PREFIX_STAR_STAR,
337
+ PM_WARN_AMBIGUOUS_SLASH,
338
+ PM_WARN_COMPARISON_AFTER_COMPARISON,
339
+ PM_WARN_DOT_DOT_DOT_EOL,
340
+ PM_WARN_EQUAL_IN_CONDITIONAL,
341
+ PM_WARN_EQUAL_IN_CONDITIONAL_3_3,
342
+ PM_WARN_END_IN_METHOD,
343
+ PM_WARN_DUPLICATED_HASH_KEY,
344
+ PM_WARN_DUPLICATED_WHEN_CLAUSE,
345
+ PM_WARN_FLOAT_OUT_OF_RANGE,
346
+ PM_WARN_IGNORED_FROZEN_STRING_LITERAL,
347
+ PM_WARN_INDENTATION_MISMATCH,
348
+ PM_WARN_INTEGER_IN_FLIP_FLOP,
349
+ PM_WARN_INVALID_CHARACTER,
350
+ PM_WARN_INVALID_MAGIC_COMMENT_VALUE,
351
+ PM_WARN_INVALID_NUMBERED_REFERENCE,
352
+ PM_WARN_KEYWORD_EOL,
353
+ PM_WARN_LITERAL_IN_CONDITION_DEFAULT,
354
+ PM_WARN_LITERAL_IN_CONDITION_VERBOSE,
355
+ PM_WARN_SHAREABLE_CONSTANT_VALUE_LINE,
356
+ PM_WARN_SHEBANG_CARRIAGE_RETURN,
357
+ PM_WARN_UNEXPECTED_CARRIAGE_RETURN,
358
+ PM_WARN_UNREACHABLE_STATEMENT,
359
+ PM_WARN_UNUSED_LOCAL_VARIABLE,
360
+ PM_WARN_VOID_STATEMENT,
361
+ } pm_diagnostic_id_t;
362
+
363
+ /**
364
+ * This struct represents a diagnostic generated during parsing.
365
+ *
366
+ * @extends pm_list_node_t
367
+ */
368
+ typedef struct {
369
+ /** The embedded base node. */
370
+ pm_list_node_t node;
371
+
372
+ /** The location of the diagnostic in the source. */
373
+ pm_location_t location;
374
+
375
+ /** The ID of the diagnostic. */
376
+ pm_diagnostic_id_t diag_id;
377
+
378
+ /** The message associated with the diagnostic. */
379
+ const char *message;
380
+
381
+ /**
382
+ * Whether or not the memory related to the message of this diagnostic is
383
+ * owned by this diagnostic. If it is, it needs to be freed when the
384
+ * diagnostic is freed.
385
+ */
386
+ bool owned;
387
+
388
+ /**
389
+ * The level of the diagnostic, see `pm_error_level_t` and
390
+ * `pm_warning_level_t` for possible values.
391
+ */
392
+ uint8_t level;
393
+ } pm_diagnostic_t;
394
+
395
+ /**
396
+ * The levels of errors generated during parsing.
397
+ */
398
+ typedef enum {
399
+ /** For errors that should raise a syntax error. */
400
+ PM_ERROR_LEVEL_SYNTAX = 0,
401
+
402
+ /** For errors that should raise an argument error. */
403
+ PM_ERROR_LEVEL_ARGUMENT = 1,
404
+
405
+ /** For errors that should raise a load error. */
406
+ PM_ERROR_LEVEL_LOAD = 2
407
+ } pm_error_level_t;
408
+
409
+ /**
410
+ * The levels of warnings generated during parsing.
411
+ */
412
+ typedef enum {
413
+ /** For warnings which should be emitted if $VERBOSE != nil. */
414
+ PM_WARNING_LEVEL_DEFAULT = 0,
415
+
416
+ /** For warnings which should be emitted if $VERBOSE == true. */
417
+ PM_WARNING_LEVEL_VERBOSE = 1
418
+ } pm_warning_level_t;
419
+
420
+ /**
421
+ * Get the human-readable name of the given diagnostic ID.
422
+ *
423
+ * @param diag_id The diagnostic ID.
424
+ * @return The human-readable name of the diagnostic ID.
425
+ */
426
+ const char * pm_diagnostic_id_human(pm_diagnostic_id_t diag_id);
427
+
428
+ /**
429
+ * Append a diagnostic to the given list of diagnostics that is using shared
430
+ * memory for its message.
431
+ *
432
+ * @param list The list to append to.
433
+ * @param start The start of the diagnostic.
434
+ * @param end The end of the diagnostic.
435
+ * @param diag_id The diagnostic ID.
436
+ * @return Whether the diagnostic was successfully appended.
437
+ */
438
+ bool pm_diagnostic_list_append(pm_list_t *list, const uint8_t *start, const uint8_t *end, pm_diagnostic_id_t diag_id);
439
+
440
+ /**
441
+ * Append a diagnostic to the given list of diagnostics that is using a format
442
+ * string for its message.
443
+ *
444
+ * @param list The list to append to.
445
+ * @param start The start of the diagnostic.
446
+ * @param end The end of the diagnostic.
447
+ * @param diag_id The diagnostic ID.
448
+ * @param ... The arguments to the format string for the message.
449
+ * @return Whether the diagnostic was successfully appended.
450
+ */
451
+ bool pm_diagnostic_list_append_format(pm_list_t *list, const uint8_t *start, const uint8_t *end, pm_diagnostic_id_t diag_id, ...);
452
+
453
+ /**
454
+ * Deallocate the internal state of the given diagnostic list.
455
+ *
456
+ * @param list The list to deallocate.
457
+ */
458
+ void pm_diagnostic_list_free(pm_list_t *list);
459
+
460
+ #endif