debase-ruby_core_source 3.3.0 → 3.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/Rakefile +2 -1
  4. data/lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/ast.h +4612 -0
  5. data/lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/defines.h +94 -0
  6. data/lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/diagnostic.h +297 -0
  7. data/lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/encoding.h +248 -0
  8. data/lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/extension.h +18 -0
  9. data/lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/node.h +57 -0
  10. data/lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/options.h +204 -0
  11. data/lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/pack.h +152 -0
  12. data/lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/parser.h +716 -0
  13. data/lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/prettyprint.h +26 -0
  14. data/lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/prism.h +272 -0
  15. data/lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/regexp.h +33 -0
  16. data/lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_buffer.h +146 -0
  17. data/lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_char.h +205 -0
  18. data/lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_constant_pool.h +191 -0
  19. data/lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_list.h +97 -0
  20. data/lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_memchr.h +29 -0
  21. data/lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_newline_list.h +104 -0
  22. data/lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_state_stack.h +42 -0
  23. data/lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_string.h +150 -0
  24. data/lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_string_list.h +44 -0
  25. data/lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_strncasecmp.h +32 -0
  26. data/lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_strpbrk.h +43 -0
  27. data/lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/version.h +29 -0
  28. data/lib/debase/ruby_core_source/version.rb +1 -1
  29. metadata +30 -6
@@ -0,0 +1,43 @@
1
+ /**
2
+ * @file pm_strpbrk.h
3
+ *
4
+ * A custom strpbrk implementation.
5
+ */
6
+ #ifndef PRISM_STRPBRK_H
7
+ #define PRISM_STRPBRK_H
8
+
9
+ #include "prism/defines.h"
10
+ #include "prism/parser.h"
11
+
12
+ #include <stddef.h>
13
+ #include <string.h>
14
+
15
+ /**
16
+ * Here we have rolled our own version of strpbrk. The standard library strpbrk
17
+ * has undefined behavior when the source string is not null-terminated. We want
18
+ * to support strings that are not null-terminated because pm_parse does not
19
+ * have the contract that the string is null-terminated. (This is desirable
20
+ * because it means the extension can call pm_parse with the result of a call to
21
+ * mmap).
22
+ *
23
+ * The standard library strpbrk also does not support passing a maximum length
24
+ * to search. We want to support this for the reason mentioned above, but we
25
+ * also don't want it to stop on null bytes. Ruby actually allows null bytes
26
+ * within strings, comments, regular expressions, etc. So we need to be able to
27
+ * skip past them.
28
+ *
29
+ * Finally, we want to support encodings wherein the charset could contain
30
+ * characters that are trailing bytes of multi-byte characters. For example, in
31
+ * Shift-JIS, the backslash character can be a trailing byte. In that case we
32
+ * need to take a slower path and iterate one multi-byte character at a time.
33
+ *
34
+ * @param parser The parser.
35
+ * @param source The source to search.
36
+ * @param charset The charset to search for.
37
+ * @param length The maximum number of bytes to search.
38
+ * @return A pointer to the first character in the source string that is in the
39
+ * charset, or NULL if no such character exists.
40
+ */
41
+ const uint8_t * pm_strpbrk(const pm_parser_t *parser, const uint8_t *source, const uint8_t *charset, ptrdiff_t length);
42
+
43
+ #endif
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @file version.h
3
+ *
4
+ * The version of the Prism library.
5
+ */
6
+ #ifndef PRISM_VERSION_H
7
+ #define PRISM_VERSION_H
8
+
9
+ /**
10
+ * The major version of the Prism library as an int.
11
+ */
12
+ #define PRISM_VERSION_MAJOR 0
13
+
14
+ /**
15
+ * The minor version of the Prism library as an int.
16
+ */
17
+ #define PRISM_VERSION_MINOR 19
18
+
19
+ /**
20
+ * The patch version of the Prism library as an int.
21
+ */
22
+ #define PRISM_VERSION_PATCH 0
23
+
24
+ /**
25
+ * The version of the Prism library as a constant string.
26
+ */
27
+ #define PRISM_VERSION "0.19.0"
28
+
29
+ #endif
@@ -1,5 +1,5 @@
1
1
  module Debase
2
2
  module RubyCoreSource
3
- VERSION = '3.3.0'
3
+ VERSION = '3.3.1'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: debase-ruby_core_source
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.0
4
+ version: 3.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mark Moseley
8
8
  - Gabriel Horner
9
9
  - JetBrains RubyMine Team
10
- autorequire:
10
+ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2023-12-26 00:00:00.000000000 Z
13
+ date: 2024-01-09 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: archive-tar-minitar
@@ -2223,6 +2223,30 @@ files:
2223
2223
  - lib/debase/ruby_core_source/ruby-3.3.0-p0/parser_node.h
2224
2224
  - lib/debase/ruby_core_source/ruby-3.3.0-p0/parser_st.h
2225
2225
  - lib/debase/ruby_core_source/ruby-3.3.0-p0/parser_value.h
2226
+ - lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/ast.h
2227
+ - lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/defines.h
2228
+ - lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/diagnostic.h
2229
+ - lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/encoding.h
2230
+ - lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/extension.h
2231
+ - lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/node.h
2232
+ - lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/options.h
2233
+ - lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/pack.h
2234
+ - lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/parser.h
2235
+ - lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/prettyprint.h
2236
+ - lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/prism.h
2237
+ - lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/regexp.h
2238
+ - lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_buffer.h
2239
+ - lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_char.h
2240
+ - lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_constant_pool.h
2241
+ - lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_list.h
2242
+ - lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_memchr.h
2243
+ - lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_newline_list.h
2244
+ - lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_state_stack.h
2245
+ - lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_string.h
2246
+ - lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_string_list.h
2247
+ - lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_strncasecmp.h
2248
+ - lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/util/pm_strpbrk.h
2249
+ - lib/debase/ruby_core_source/ruby-3.3.0-p0/prism/version.h
2226
2250
  - lib/debase/ruby_core_source/ruby-3.3.0-p0/prism_compile.h
2227
2251
  - lib/debase/ruby_core_source/ruby-3.3.0-p0/probes_helper.h
2228
2252
  - lib/debase/ruby_core_source/ruby-3.3.0-p0/ractor_core.h
@@ -2261,7 +2285,7 @@ homepage: https://github.com/ruby-debug/debase-ruby_core_source
2261
2285
  licenses:
2262
2286
  - MIT
2263
2287
  metadata: {}
2264
- post_install_message:
2288
+ post_install_message:
2265
2289
  rdoc_options: []
2266
2290
  require_paths:
2267
2291
  - lib
@@ -2276,8 +2300,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
2276
2300
  - !ruby/object:Gem::Version
2277
2301
  version: 1.3.6
2278
2302
  requirements: []
2279
- rubygems_version: 3.4.20
2280
- signing_key:
2303
+ rubygems_version: 3.5.3
2304
+ signing_key:
2281
2305
  specification_version: 4
2282
2306
  summary: Provide Ruby core source files
2283
2307
  test_files: []