datadog-ruby_core_source 3.4.0 → 3.4.2

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 (215) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.datadog.md +4 -0
  3. data/README.md +8 -5
  4. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/ccan/build_assert/build_assert.h +40 -0
  5. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/ccan/check_type/check_type.h +63 -0
  6. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/ccan/container_of/container_of.h +142 -0
  7. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/ccan/list/list.h +791 -0
  8. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/ccan/str/str.h +17 -0
  9. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/id.h +352 -0
  10. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/id_table.h +39 -0
  11. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/array.h +152 -0
  12. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/basic_operators.h +65 -0
  13. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/bignum.h +244 -0
  14. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/bits.h +650 -0
  15. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/class.h +283 -0
  16. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/cmdlineopt.h +61 -0
  17. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/compar.h +29 -0
  18. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/compile.h +34 -0
  19. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/compilers.h +107 -0
  20. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/complex.h +29 -0
  21. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/cont.h +35 -0
  22. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/dir.h +16 -0
  23. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/enc.h +19 -0
  24. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/encoding.h +38 -0
  25. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/enum.h +18 -0
  26. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/enumerator.h +21 -0
  27. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/error.h +244 -0
  28. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/eval.h +33 -0
  29. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/file.h +38 -0
  30. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/fixnum.h +185 -0
  31. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/gc.h +333 -0
  32. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/hash.h +193 -0
  33. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/imemo.h +257 -0
  34. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/inits.h +47 -0
  35. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/io.h +143 -0
  36. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/load.h +18 -0
  37. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/loadpath.h +16 -0
  38. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/math.h +23 -0
  39. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/missing.h +19 -0
  40. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/numeric.h +274 -0
  41. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/object.h +63 -0
  42. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/parse.h +131 -0
  43. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/proc.h +30 -0
  44. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/process.h +124 -0
  45. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/ractor.h +10 -0
  46. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/random.h +17 -0
  47. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/range.h +40 -0
  48. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/rational.h +71 -0
  49. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/re.h +28 -0
  50. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/ruby_parser.h +102 -0
  51. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/sanitizers.h +330 -0
  52. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/serial.h +23 -0
  53. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/signal.h +24 -0
  54. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/st.h +11 -0
  55. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/static_assert.h +16 -0
  56. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/string.h +199 -0
  57. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/struct.h +119 -0
  58. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/symbol.h +47 -0
  59. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/thread.h +108 -0
  60. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/time.h +37 -0
  61. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/transcode.h +23 -0
  62. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/util.h +27 -0
  63. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/variable.h +70 -0
  64. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/vm.h +137 -0
  65. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal/warnings.h +16 -0
  66. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/internal.h +108 -0
  67. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/iseq.h +351 -0
  68. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/method.h +258 -0
  69. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/node.h +122 -0
  70. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/parser_st.h +162 -0
  71. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/parser_value.h +106 -0
  72. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/prism/ast.h +7964 -0
  73. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/prism/defines.h +260 -0
  74. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/prism/diagnostic.h +451 -0
  75. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/prism/encoding.h +283 -0
  76. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/prism/extension.h +19 -0
  77. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/prism/node.h +129 -0
  78. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/prism/options.h +442 -0
  79. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/prism/pack.h +163 -0
  80. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/prism/parser.h +933 -0
  81. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/prism/prettyprint.h +34 -0
  82. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/prism/prism.h +383 -0
  83. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/prism/regexp.h +43 -0
  84. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/prism/static_literals.h +121 -0
  85. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/prism/util/pm_buffer.h +228 -0
  86. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/prism/util/pm_char.h +204 -0
  87. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/prism/util/pm_constant_pool.h +218 -0
  88. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/prism/util/pm_integer.h +126 -0
  89. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/prism/util/pm_list.h +97 -0
  90. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/prism/util/pm_memchr.h +29 -0
  91. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/prism/util/pm_newline_list.h +113 -0
  92. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/prism/util/pm_string.h +190 -0
  93. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/prism/util/pm_strncasecmp.h +32 -0
  94. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/prism/util/pm_strpbrk.h +46 -0
  95. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/prism/version.h +29 -0
  96. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/prism_compile.h +105 -0
  97. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/ractor_core.h +382 -0
  98. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/ruby_assert.h +14 -0
  99. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/ruby_atomic.h +23 -0
  100. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/rubyparser.h +1380 -0
  101. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/shape.h +234 -0
  102. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/thread_none.h +21 -0
  103. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/thread_pthread.h +167 -0
  104. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/vm_core.h +2235 -0
  105. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/vm_debug.h +124 -0
  106. data/lib/datadog/ruby_core_source/ruby-3.5.0-preview1/vm_opts.h +67 -0
  107. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/ccan/build_assert/build_assert.h +40 -0
  108. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/ccan/check_type/check_type.h +63 -0
  109. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/ccan/container_of/container_of.h +142 -0
  110. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/ccan/list/list.h +791 -0
  111. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/ccan/str/str.h +17 -0
  112. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/id.h +354 -0
  113. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/id_table.h +54 -0
  114. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/array.h +154 -0
  115. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/basic_operators.h +65 -0
  116. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/bignum.h +245 -0
  117. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/bits.h +650 -0
  118. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/box.h +81 -0
  119. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/class.h +805 -0
  120. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/cmdlineopt.h +64 -0
  121. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/compar.h +29 -0
  122. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/compile.h +34 -0
  123. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/compilers.h +107 -0
  124. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/complex.h +29 -0
  125. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/concurrent_set.h +21 -0
  126. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/cont.h +35 -0
  127. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/dir.h +16 -0
  128. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/enc.h +19 -0
  129. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/encoding.h +39 -0
  130. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/enum.h +18 -0
  131. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/enumerator.h +21 -0
  132. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/error.h +251 -0
  133. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/eval.h +41 -0
  134. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/file.h +38 -0
  135. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/fixnum.h +185 -0
  136. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/gc.h +358 -0
  137. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/hash.h +194 -0
  138. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/imemo.h +322 -0
  139. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/inits.h +51 -0
  140. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/io.h +163 -0
  141. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/load.h +20 -0
  142. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/loadpath.h +16 -0
  143. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/math.h +23 -0
  144. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/missing.h +19 -0
  145. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/numeric.h +275 -0
  146. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/object.h +63 -0
  147. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/parse.h +131 -0
  148. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/proc.h +30 -0
  149. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/process.h +124 -0
  150. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/ractor.h +10 -0
  151. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/random.h +17 -0
  152. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/range.h +40 -0
  153. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/rational.h +71 -0
  154. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/re.h +33 -0
  155. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/ruby_parser.h +102 -0
  156. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/sanitizers.h +346 -0
  157. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/serial.h +23 -0
  158. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/set_table.h +70 -0
  159. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/signal.h +25 -0
  160. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/st.h +11 -0
  161. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/static_assert.h +16 -0
  162. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/string.h +203 -0
  163. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/struct.h +160 -0
  164. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/symbol.h +46 -0
  165. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/thread.h +112 -0
  166. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/time.h +37 -0
  167. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/transcode.h +23 -0
  168. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/util.h +27 -0
  169. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/variable.h +74 -0
  170. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/vm.h +136 -0
  171. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal/warnings.h +16 -0
  172. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/internal.h +105 -0
  173. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/iseq.h +357 -0
  174. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/method.h +271 -0
  175. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/node.h +122 -0
  176. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/parser_st.h +162 -0
  177. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/parser_value.h +106 -0
  178. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/prism/ast.h +8233 -0
  179. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/prism/defines.h +260 -0
  180. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/prism/diagnostic.h +458 -0
  181. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/prism/encoding.h +283 -0
  182. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/prism/extension.h +19 -0
  183. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/prism/node.h +129 -0
  184. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/prism/options.h +485 -0
  185. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/prism/pack.h +163 -0
  186. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/prism/parser.h +936 -0
  187. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/prism/prettyprint.h +34 -0
  188. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/prism/prism.h +408 -0
  189. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/prism/regexp.h +43 -0
  190. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/prism/static_literals.h +121 -0
  191. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/prism/util/pm_buffer.h +236 -0
  192. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/prism/util/pm_char.h +204 -0
  193. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/prism/util/pm_constant_pool.h +218 -0
  194. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/prism/util/pm_integer.h +130 -0
  195. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/prism/util/pm_list.h +103 -0
  196. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/prism/util/pm_memchr.h +29 -0
  197. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/prism/util/pm_newline_list.h +113 -0
  198. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/prism/util/pm_string.h +200 -0
  199. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/prism/util/pm_strncasecmp.h +32 -0
  200. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/prism/util/pm_strpbrk.h +46 -0
  201. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/prism/version.h +29 -0
  202. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/prism_compile.h +106 -0
  203. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/ractor_core.h +306 -0
  204. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/ruby_assert.h +14 -0
  205. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/ruby_atomic.h +66 -0
  206. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/rubyparser.h +1394 -0
  207. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/shape.h +444 -0
  208. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/thread_none.h +21 -0
  209. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/thread_pthread.h +175 -0
  210. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/vm_core.h +2350 -0
  211. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/vm_debug.h +124 -0
  212. data/lib/datadog/ruby_core_source/ruby-4.0.0-preview2/vm_opts.h +67 -0
  213. data/lib/datadog/ruby_core_source/version.rb +1 -1
  214. data/lib/datadog/ruby_core_source.rb +1 -1
  215. metadata +211 -2
@@ -0,0 +1,81 @@
1
+ #ifndef INTERNAL_BOX_H /*-*-C-*-vi:se ft=c:*/
2
+ #define INTERNAL_BOX_H
3
+
4
+ #include "ruby/ruby.h" /* for VALUE */
5
+
6
+ /**
7
+ * @author Ruby developers <ruby-core@ruby-lang.org>
8
+ * @copyright This file is a part of the programming language Ruby.
9
+ * Permission is hereby granted, to either redistribute and/or
10
+ * modify this file, provided that the conditions mentioned in the
11
+ * file COPYING are met. Consult the file for details.
12
+ * @brief Internal header for Ruby Box.
13
+ */
14
+ struct rb_box_struct {
15
+ /*
16
+ * To retrieve Ruby::Box object that provides #require and so on.
17
+ * That is used from load.c, etc., that uses rb_box_t internally.
18
+ */
19
+ VALUE box_object;
20
+ long box_id; // box_id to generate ext filenames
21
+
22
+ VALUE top_self;
23
+
24
+ VALUE load_path;
25
+ VALUE load_path_snapshot;
26
+ VALUE load_path_check_cache;
27
+ VALUE expanded_load_path;
28
+ VALUE loaded_features;
29
+ VALUE loaded_features_snapshot;
30
+ VALUE loaded_features_realpaths;
31
+ VALUE loaded_features_realpath_map;
32
+ struct st_table *loaded_features_index;
33
+ struct st_table *loading_table;
34
+ VALUE ruby_dln_libmap;
35
+
36
+ VALUE gvar_tbl;
37
+
38
+ bool is_user;
39
+ bool is_optional;
40
+ };
41
+ typedef struct rb_box_struct rb_box_t;
42
+
43
+ #define BOX_OBJ_P(obj) (rb_obj_class(obj) == rb_cBox)
44
+
45
+ #define BOX_ROOT_P(box) (box && !box->is_user)
46
+ #define BOX_USER_P(box) (box && box->is_user)
47
+ #define BOX_OPTIONAL_P(box) (box && box->is_optional)
48
+ #define BOX_MAIN_P(box) (box && box->is_user && !box->is_optional)
49
+
50
+ #define BOX_METHOD_DEFINITION(mdef) (mdef ? mdef->ns : NULL)
51
+ #define BOX_METHOD_ENTRY(me) (me ? BOX_METHOD_DEFINITION(me->def) : NULL)
52
+ #define BOX_CC(cc) (cc ? BOX_METHOD_ENTRY(cc->cme_) : NULL)
53
+ #define BOX_CC_ENTRIES(ccs) (ccs ? BOX_METHOD_ENTRY(ccs->cme) : NULL)
54
+
55
+ RUBY_EXTERN bool ruby_box_enabled;
56
+ RUBY_EXTERN bool ruby_box_init_done;
57
+ RUBY_EXTERN bool ruby_box_crashed;
58
+
59
+ static inline bool
60
+ rb_box_available(void)
61
+ {
62
+ return ruby_box_enabled;
63
+ }
64
+
65
+ const rb_box_t * rb_root_box(void);
66
+ const rb_box_t * rb_main_box(void);
67
+ const rb_box_t * rb_current_box(void);
68
+ const rb_box_t * rb_loading_box(void);
69
+ const rb_box_t * rb_current_box_in_crash_report(void);
70
+
71
+ void rb_box_entry_mark(void *);
72
+ void rb_box_gc_update_references(void *ptr);
73
+
74
+ rb_box_t * rb_get_box_t(VALUE ns);
75
+ VALUE rb_get_box_object(rb_box_t *ns);
76
+
77
+ VALUE rb_box_local_extension(VALUE box, VALUE fname, VALUE path);
78
+
79
+ void rb_initialize_main_box(void);
80
+ void rb_box_init_done(void);
81
+ #endif /* INTERNAL_BOX_H */