debase-ruby_core_source 3.3.6 → 4.0.0.preview2
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.
- checksums.yaml +4 -4
- data/.ruby-version +1 -0
- data/CHANGELOG.md +10 -0
- data/Rakefile +3 -1
- data/debase-ruby_core_source.gemspec +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/builtin.h +7 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/darray.h +1 -3
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/id.h +5 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/insns.inc +2 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/insns_info.inc +310 -175
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/basic_operators.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/bits.h +82 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/encoding.h +2 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/error.h +26 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/fixnum.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/gc.h +14 -6
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/imemo.h +6 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/io.h +1 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/parse.h +2 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/proc.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/ractor.h +4 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/sanitizers.h +31 -39
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/string.h +22 -10
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/thread.h +23 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/vm.h +1 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/method.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/optunifs.inc +1 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/parse.h +2 -2
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/ast.h +427 -3
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/defines.h +8 -7
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/diagnostic.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/extension.h +1 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/prism.h +47 -11
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/version.h +2 -2
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism_compile.h +5 -5
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/ractor_core.h +6 -6
- data/lib/debase/ruby_core_source/ruby-3.4.0-p-1/revision.h +5 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/rubyparser.h +3 -2
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/thread_pthread.h +0 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/version.h +1 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/vm.inc +151 -88
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/vm_core.h +40 -12
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/vm_sync.h +3 -3
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/vmtc.inc +2 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/yjit.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/builtin.h +7 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/darray.h +101 -14
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/debug_counter.h +6 -4
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/dln.h +1 -2
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/eval_intern.h +7 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/id.h +16 -5
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/id_table.h +15 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/insns.inc +49 -6
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/insns_info.inc +2432 -721
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/array.h +3 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/basic_operators.h +2 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/bignum.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/bits.h +82 -0
- data/lib/debase/ruby_core_source/ruby-4.0.0-preview2/internal/box.h +81 -0
- data/lib/debase/ruby_core_source/ruby-4.0.0-preview2/internal/class.h +805 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/cmdlineopt.h +3 -4
- data/lib/debase/ruby_core_source/ruby-4.0.0-preview2/internal/concurrent_set.h +21 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/encoding.h +4 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/error.h +35 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/eval.h +8 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/fixnum.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/gc.h +54 -30
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/hash.h +3 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/imemo.h +94 -32
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/inits.h +4 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/io.h +30 -7
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/load.h +2 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/numeric.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/object.h +1 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/parse.h +18 -4
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/proc.h +1 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/ractor.h +4 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/re.h +7 -2
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/sanitizers.h +88 -39
- data/lib/debase/ruby_core_source/ruby-4.0.0-preview2/internal/set_table.h +70 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/signal.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/st.h +1 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/string.h +39 -18
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/struct.h +38 -5
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/symbol.h +4 -3
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/thread.h +42 -9
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/time.h +4 -1
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/variable.h +13 -11
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/vm.h +6 -7
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal.h +0 -3
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/iseq.h +19 -2
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/known_errors.inc +103 -103
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/method.h +18 -2
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/node.h +14 -3
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/optunifs.inc +1 -3
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/parse.h +37 -36
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/prism/ast.h +2495 -507
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/prism/defines.h +61 -7
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/prism/diagnostic.h +31 -6
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/prism/extension.h +5 -5
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/prism/node.h +0 -21
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/prism/options.h +186 -6
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/prism/parser.h +85 -40
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/prism/prism.h +88 -16
- data/lib/debase/ruby_core_source/ruby-4.0.0-preview2/prism/regexp.h +43 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/prism/static_literals.h +3 -2
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/prism/util/pm_buffer.h +18 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/prism/util/pm_char.h +1 -2
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/prism/util/pm_constant_pool.h +0 -8
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/prism/util/pm_integer.h +26 -15
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/prism/util/pm_list.h +6 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/prism/util/pm_newline_list.h +11 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/prism/util/pm_string.h +39 -13
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/prism/version.h +3 -3
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/prism_compile.h +30 -12
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/ractor_core.h +47 -134
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/regenc.h +9 -4
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/regint.h +0 -5
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/regparse.h +2 -2
- data/lib/debase/ruby_core_source/ruby-4.0.0-preview2/revision.h +5 -0
- data/lib/debase/ruby_core_source/ruby-4.0.0-preview2/ruby_atomic.h +66 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/rubyparser.h +214 -250
- data/lib/debase/ruby_core_source/ruby-4.0.0-preview2/shape.h +444 -0
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/symbol.h +8 -10
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/thread_pthread.h +36 -27
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/variable.h +8 -20
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/vm.inc +884 -344
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/vm_callinfo.h +110 -75
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/vm_core.h +220 -106
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/vm_exec.h +15 -4
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/vm_insnhelper.h +11 -6
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/vm_sync.h +23 -4
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/vmtc.inc +42 -6
- data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/yjit.h +5 -3
- data/lib/debase/ruby_core_source/ruby-4.0.0-preview2/zjit.h +47 -0
- data/lib/debase/ruby_core_source/version.rb +1 -1
- data/lib/debase/ruby_core_source.rb +4 -2
- data/test/deduce_source_dir_test.rb +31 -0
- metadata +307 -293
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/internal/class.h +0 -283
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/regexp.h +0 -33
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/prism/util/pm_string_list.h +0 -44
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/revision.h +0 -5
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview1/shape.h +0 -233
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/revision.h +0 -5
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/rjit.h +0 -101
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/rjit_c.h +0 -165
- data/lib/debase/ruby_core_source/ruby-3.4.0-preview2/ruby_atomic.h +0 -23
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/addr2line.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/ccan/build_assert/build_assert.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/ccan/check_type/check_type.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/ccan/container_of/container_of.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/ccan/list/list.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/ccan/str/str.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/constant.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/debug_counter.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/dln.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/encindex.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/eval_intern.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/hrtime.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/id_table.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/array.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/bignum.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/class.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/cmdlineopt.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/compar.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/compile.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/compilers.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/complex.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/cont.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/dir.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/enc.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/enum.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/enumerator.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/eval.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/file.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/internal/hash.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/inits.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/load.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/loadpath.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/math.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/missing.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/numeric.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/object.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/process.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/random.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/range.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/rational.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/re.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/ruby_parser.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/serial.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/signal.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/st.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/static_assert.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/struct.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/symbol.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/time.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/transcode.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/util.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/variable.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal/warnings.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/internal.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/iseq.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/known_errors.inc +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/node.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/node_name.inc +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/optinsn.inc +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/parser_bits.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/parser_node.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/parser_st.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/parser_value.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/encoding.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/node.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/options.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/pack.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/parser.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/prettyprint.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/regexp.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/static_literals.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/util/pm_buffer.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/util/pm_char.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/util/pm_constant_pool.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/util/pm_integer.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/util/pm_list.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/util/pm_memchr.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/util/pm_newline_list.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/prism/util/pm_string.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/util/pm_strncasecmp.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/prism/util/pm_strpbrk.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/probes_helper.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/regenc.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/regint.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/regparse.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/rjit.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/rjit_c.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/ruby_assert.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/ruby_atomic.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/shape.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/siphash.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/symbol.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/thread_none.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/thread_win32.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/timev.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/transcode_data.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/variable.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/vm_call_iseq_optimized.inc +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/vm_callinfo.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/vm_debug.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/vm_exec.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-3.4.0-p-1}/vm_insnhelper.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-3.4.0-p-1}/vm_opts.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/addr2line.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/ccan/build_assert/build_assert.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/ccan/check_type/check_type.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/ccan/container_of/container_of.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/ccan/list/list.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/ccan/str/str.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/constant.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/encindex.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/hrtime.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/compar.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/compile.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/compilers.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/complex.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/cont.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/dir.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/enc.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/enum.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/enumerator.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/file.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/loadpath.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/math.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/missing.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/process.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/random.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/range.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/rational.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/ruby_parser.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/serial.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/static_assert.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/transcode.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/util.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/warnings.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/node_name.inc +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/optinsn.inc +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/parser_bits.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/parser_node.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/parser_st.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/parser_value.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/prism/encoding.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/prism/pack.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/prism/prettyprint.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/prism/util/pm_memchr.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/prism/util/pm_strncasecmp.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/prism/util/pm_strpbrk.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/probes_helper.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/ruby_assert.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/siphash.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/thread_none.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/thread_win32.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/timev.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/transcode_data.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/version.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/vm_call_iseq_optimized.inc +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/vm_debug.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/vm_opts.h +0 -0
data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/numeric.h
RENAMED
|
@@ -85,6 +85,7 @@ VALUE rb_int_cmp(VALUE x, VALUE y);
|
|
|
85
85
|
VALUE rb_int_equal(VALUE x, VALUE y);
|
|
86
86
|
VALUE rb_int_divmod(VALUE x, VALUE y);
|
|
87
87
|
VALUE rb_int_and(VALUE x, VALUE y);
|
|
88
|
+
VALUE rb_int_xor(VALUE x, VALUE y);
|
|
88
89
|
VALUE rb_int_lshift(VALUE x, VALUE y);
|
|
89
90
|
VALUE rb_int_rshift(VALUE x, VALUE y);
|
|
90
91
|
VALUE rb_int_div(VALUE x, VALUE y);
|
data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/object.h
RENAMED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
#include "ruby/ruby.h" /* for VALUE */
|
|
12
12
|
|
|
13
13
|
/* object.c */
|
|
14
|
-
size_t rb_obj_embedded_size(uint32_t
|
|
14
|
+
size_t rb_obj_embedded_size(uint32_t fields_count);
|
|
15
15
|
VALUE rb_class_allocate_instance(VALUE klass);
|
|
16
16
|
VALUE rb_class_search_ancestor(VALUE klass, VALUE super);
|
|
17
17
|
NORETURN(void rb_undefined_alloc(VALUE klass));
|
data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/parse.h
RENAMED
|
@@ -12,6 +12,17 @@
|
|
|
12
12
|
#include "rubyparser.h"
|
|
13
13
|
#include "internal/static_assert.h"
|
|
14
14
|
|
|
15
|
+
// The default parser to use for Ruby code.
|
|
16
|
+
typedef enum {
|
|
17
|
+
RB_DEFAULT_PARSER_PARSE_Y,
|
|
18
|
+
RB_DEFAULT_PARSER_PRISM,
|
|
19
|
+
} ruby_default_parser_enum;
|
|
20
|
+
|
|
21
|
+
ruby_default_parser_enum rb_ruby_default_parser(void);
|
|
22
|
+
void rb_ruby_default_parser_set(ruby_default_parser_enum parser);
|
|
23
|
+
|
|
24
|
+
#define rb_ruby_prism_p() (rb_ruby_default_parser() == RB_DEFAULT_PARSER_PRISM)
|
|
25
|
+
|
|
15
26
|
#ifdef UNIVERSAL_PARSER
|
|
16
27
|
#define rb_encoding const void
|
|
17
28
|
#endif
|
|
@@ -55,7 +66,7 @@ void rb_ruby_parser_set_script_lines(rb_parser_t *p);
|
|
|
55
66
|
void rb_ruby_parser_error_tolerant(rb_parser_t *p);
|
|
56
67
|
void rb_ruby_parser_keep_tokens(rb_parser_t *p);
|
|
57
68
|
typedef rb_parser_string_t*(rb_parser_lex_gets_func)(struct parser_params*, rb_parser_input_data, int);
|
|
58
|
-
rb_ast_t *rb_parser_compile(rb_parser_t *p, rb_parser_lex_gets_func *gets,
|
|
69
|
+
rb_ast_t *rb_parser_compile(rb_parser_t *p, rb_parser_lex_gets_func *gets, VALUE fname, rb_parser_input_data input, int line);
|
|
59
70
|
|
|
60
71
|
RUBY_SYMBOL_EXPORT_BEGIN
|
|
61
72
|
|
|
@@ -63,12 +74,15 @@ rb_encoding *rb_ruby_parser_encoding(rb_parser_t *p);
|
|
|
63
74
|
int rb_ruby_parser_end_seen_p(rb_parser_t *p);
|
|
64
75
|
int rb_ruby_parser_set_yydebug(rb_parser_t *p, int flag);
|
|
65
76
|
rb_parser_string_t *rb_str_to_parser_string(rb_parser_t *p, VALUE str);
|
|
77
|
+
void rb_parser_string_free(rb_parser_t *p, rb_parser_string_t *str);
|
|
66
78
|
|
|
67
79
|
int rb_parser_dvar_defined_ref(struct parser_params*, ID, ID**);
|
|
68
80
|
ID rb_parser_internal_id(struct parser_params*);
|
|
69
|
-
|
|
70
|
-
int
|
|
81
|
+
typedef void (*rb_parser_reg_fragment_error_func)(struct parser_params *, VALUE);
|
|
82
|
+
int rb_parser_reg_fragment_check(struct parser_params*, rb_parser_string_t*, int, rb_parser_reg_fragment_error_func);
|
|
83
|
+
int rb_reg_named_capture_assign_iter_impl(struct parser_params *p, const char *s, long len, rb_encoding *enc, NODE **succ_block, const rb_code_location_t *loc, rb_parser_assignable_func assignable);
|
|
71
84
|
int rb_parser_local_defined(struct parser_params *p, ID id, const struct rb_iseq_struct *iseq);
|
|
85
|
+
NODE *rb_parser_assignable(struct parser_params *p, ID id, NODE *val, const YYLTYPE *loc);
|
|
72
86
|
|
|
73
87
|
RUBY_SYMBOL_EXPORT_END
|
|
74
88
|
|
|
@@ -97,7 +111,7 @@ VALUE rb_ruby_parser_ruby_sourcefile_string(rb_parser_t *p);
|
|
|
97
111
|
int rb_ruby_parser_ruby_sourceline(rb_parser_t *p);
|
|
98
112
|
int rb_ruby_parser_lex_state(rb_parser_t *p);
|
|
99
113
|
void rb_ruby_ripper_parse0(rb_parser_t *p);
|
|
100
|
-
int rb_ruby_ripper_dedent_string(rb_parser_t *p,
|
|
114
|
+
int rb_ruby_ripper_dedent_string(rb_parser_t *p, rb_parser_string_t *string, int width);
|
|
101
115
|
int rb_ruby_ripper_initialized_p(rb_parser_t *p);
|
|
102
116
|
void rb_ruby_ripper_parser_initialize(rb_parser_t *p);
|
|
103
117
|
long rb_ruby_ripper_column(rb_parser_t *p);
|
data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/proc.h
RENAMED
|
@@ -22,7 +22,7 @@ int rb_block_min_max_arity(int *max);
|
|
|
22
22
|
VALUE rb_block_to_s(VALUE self, const struct rb_block *block, const char *additional_info);
|
|
23
23
|
VALUE rb_callable_receiver(VALUE);
|
|
24
24
|
|
|
25
|
-
VALUE
|
|
25
|
+
VALUE rb_func_proc_dup(VALUE src_obj);
|
|
26
26
|
VALUE rb_func_lambda_new(rb_block_call_func_t func, VALUE val, int min_argc, int max_argc);
|
|
27
27
|
VALUE rb_iseq_location(const struct rb_iseq_struct *iseq);
|
|
28
28
|
VALUE rb_sym_to_proc(VALUE sym);
|
|
@@ -14,15 +14,20 @@
|
|
|
14
14
|
/* re.c */
|
|
15
15
|
VALUE rb_reg_compile(VALUE str, int options, const char *sourcefile, int sourceline);
|
|
16
16
|
VALUE rb_reg_check_preprocess(VALUE);
|
|
17
|
-
long rb_reg_search0(VALUE, VALUE, long, int, int);
|
|
17
|
+
long rb_reg_search0(VALUE, VALUE, long, int, int, VALUE *);
|
|
18
18
|
VALUE rb_reg_match_p(VALUE re, VALUE str, long pos);
|
|
19
19
|
bool rb_reg_start_with_p(VALUE re, VALUE str);
|
|
20
20
|
VALUE rb_reg_hash(VALUE re);
|
|
21
21
|
VALUE rb_reg_equal(VALUE re1, VALUE re2);
|
|
22
|
-
|
|
22
|
+
VALUE rb_backref_set_string(VALUE string, long pos, long len);
|
|
23
23
|
void rb_match_unbusy(VALUE);
|
|
24
24
|
int rb_match_count(VALUE match);
|
|
25
25
|
VALUE rb_reg_new_ary(VALUE ary, int options);
|
|
26
26
|
VALUE rb_reg_last_defined(VALUE match);
|
|
27
27
|
|
|
28
|
+
#define ARG_REG_OPTION_MASK \
|
|
29
|
+
(ONIG_OPTION_IGNORECASE|ONIG_OPTION_MULTILINE|ONIG_OPTION_EXTEND)
|
|
30
|
+
#define ARG_ENCODING_FIXED 16
|
|
31
|
+
#define ARG_ENCODING_NONE 32
|
|
32
|
+
|
|
28
33
|
#endif /* INTERNAL_RE_H */
|
data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/sanitizers.h
RENAMED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
#endif
|
|
17
17
|
|
|
18
18
|
#ifdef HAVE_SANITIZER_ASAN_INTERFACE_H
|
|
19
|
-
# if __has_feature(address_sanitizer)
|
|
19
|
+
# if __has_feature(address_sanitizer) || defined(__SANITIZE_ADDRESS__)
|
|
20
20
|
# define RUBY_ASAN_ENABLED
|
|
21
21
|
# include <sanitizer/asan_interface.h>
|
|
22
22
|
# endif
|
|
@@ -29,6 +29,13 @@
|
|
|
29
29
|
# endif
|
|
30
30
|
#endif
|
|
31
31
|
|
|
32
|
+
#ifdef HAVE_SANITIZER_TSAN_INTERFACE_H
|
|
33
|
+
# if __has_feature(thread_sanitizer) || defined(__SANITIZE_THREAD__)
|
|
34
|
+
# define RUBY_TSAN_ENABLED
|
|
35
|
+
# include <sanitizer/tsan_interface.h>
|
|
36
|
+
# endif
|
|
37
|
+
#endif
|
|
38
|
+
|
|
32
39
|
#include "ruby/internal/stdbool.h" /* for bool */
|
|
33
40
|
#include "ruby/ruby.h" /* for VALUE */
|
|
34
41
|
|
|
@@ -39,6 +46,12 @@
|
|
|
39
46
|
#elif defined(RUBY_ASAN_ENABLED)
|
|
40
47
|
# define ATTRIBUTE_NO_ADDRESS_SAFETY_ANALYSIS(x) \
|
|
41
48
|
__attribute__((__no_sanitize__("address"), __noinline__)) x
|
|
49
|
+
#elif defined(RUBY_MSAN_ENABLED)
|
|
50
|
+
# define ATTRIBUTE_NO_ADDRESS_SAFETY_ANALYSIS(x) \
|
|
51
|
+
__attribute__((__no_sanitize__("memory"), __noinline__)) x
|
|
52
|
+
#elif defined(RUBY_TSAN_ENABLED)
|
|
53
|
+
# define ATTRIBUTE_NO_ADDRESS_SAFETY_ANALYSIS(x) \
|
|
54
|
+
__attribute__((__no_sanitize__("thread"), __noinline__)) x
|
|
42
55
|
#elif defined(NO_SANITIZE_ADDRESS)
|
|
43
56
|
# define ATTRIBUTE_NO_ADDRESS_SAFETY_ANALYSIS(x) \
|
|
44
57
|
NO_SANITIZE_ADDRESS(NOINLINE(x))
|
|
@@ -54,10 +67,11 @@
|
|
|
54
67
|
# include "internal/warnings.h"
|
|
55
68
|
# undef NO_SANITIZE
|
|
56
69
|
# define NO_SANITIZE(x, y) \
|
|
57
|
-
COMPILER_WARNING_PUSH
|
|
58
|
-
COMPILER_WARNING_IGNORED(-Wattributes)
|
|
70
|
+
COMPILER_WARNING_PUSH \
|
|
71
|
+
COMPILER_WARNING_IGNORED(-Wattributes) \
|
|
59
72
|
__attribute__((__no_sanitize__(x))) y; \
|
|
60
|
-
COMPILER_WARNING_POP
|
|
73
|
+
COMPILER_WARNING_POP \
|
|
74
|
+
y
|
|
61
75
|
#endif
|
|
62
76
|
|
|
63
77
|
#ifndef NO_SANITIZE
|
|
@@ -115,26 +129,23 @@ asan_poison_memory_region(const volatile void *ptr, size_t size)
|
|
|
115
129
|
__asan_poison_memory_region(ptr, size);
|
|
116
130
|
}
|
|
117
131
|
|
|
118
|
-
/**
|
|
119
|
-
* This is a variant of asan_poison_memory_region that takes a VALUE.
|
|
120
|
-
*
|
|
121
|
-
* @param[in] obj target object.
|
|
122
|
-
*/
|
|
123
|
-
static inline void
|
|
124
|
-
asan_poison_object(VALUE obj)
|
|
125
|
-
{
|
|
126
|
-
MAYBE_UNUSED(struct RVALUE *) ptr = (void *)obj;
|
|
127
|
-
asan_poison_memory_region(ptr, SIZEOF_VALUE);
|
|
128
|
-
}
|
|
129
|
-
|
|
130
132
|
#ifdef RUBY_ASAN_ENABLED
|
|
131
133
|
#define asan_poison_object_if(ptr, obj) do { \
|
|
132
|
-
if (ptr)
|
|
134
|
+
if (ptr) rb_asan_poison_object(obj); \
|
|
133
135
|
} while (0)
|
|
134
136
|
#else
|
|
135
137
|
#define asan_poison_object_if(ptr, obj) ((void)(ptr), (void)(obj))
|
|
136
138
|
#endif
|
|
137
139
|
|
|
140
|
+
#ifdef RUBY_ASAN_ENABLED
|
|
141
|
+
RUBY_SYMBOL_EXPORT_BEGIN
|
|
142
|
+
/**
|
|
143
|
+
* This is a variant of asan_poison_memory_region that takes a VALUE.
|
|
144
|
+
*
|
|
145
|
+
* @param[in] obj target object.
|
|
146
|
+
*/
|
|
147
|
+
void rb_asan_poison_object(VALUE obj);
|
|
148
|
+
|
|
138
149
|
/**
|
|
139
150
|
* This function predicates if the given object is fully addressable or not.
|
|
140
151
|
*
|
|
@@ -142,12 +153,22 @@ asan_poison_object(VALUE obj)
|
|
|
142
153
|
* @retval 0 the given object is fully addressable.
|
|
143
154
|
* @retval otherwise pointer to first such byte who is poisoned.
|
|
144
155
|
*/
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
156
|
+
void *rb_asan_poisoned_object_p(VALUE obj);
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* This is a variant of asan_unpoison_memory_region that takes a VALUE.
|
|
160
|
+
*
|
|
161
|
+
* @param[in] obj target object.
|
|
162
|
+
* @param[in] malloc_p if the memory region is like a malloc's return value or not.
|
|
163
|
+
*/
|
|
164
|
+
void rb_asan_unpoison_object(VALUE obj, bool newobj_p);
|
|
165
|
+
|
|
166
|
+
RUBY_SYMBOL_EXPORT_END
|
|
167
|
+
#else
|
|
168
|
+
# define rb_asan_poison_object(obj) ((void)obj)
|
|
169
|
+
# define rb_asan_poisoned_object_p(obj) ((void)obj, NULL)
|
|
170
|
+
# define rb_asan_unpoison_object(obj, newobj_p) ((void)obj, (void)newobj_p)
|
|
171
|
+
#endif
|
|
151
172
|
|
|
152
173
|
/**
|
|
153
174
|
* This function asserts that a (formally poisoned) memory region from ptr to
|
|
@@ -176,24 +197,11 @@ asan_unpoison_memory_region(const volatile void *ptr, size_t size, bool malloc_p
|
|
|
176
197
|
}
|
|
177
198
|
}
|
|
178
199
|
|
|
179
|
-
/**
|
|
180
|
-
* This is a variant of asan_unpoison_memory_region that takes a VALUE.
|
|
181
|
-
*
|
|
182
|
-
* @param[in] obj target object.
|
|
183
|
-
* @param[in] malloc_p if the memory region is like a malloc's return value or not.
|
|
184
|
-
*/
|
|
185
|
-
static inline void
|
|
186
|
-
asan_unpoison_object(VALUE obj, bool newobj_p)
|
|
187
|
-
{
|
|
188
|
-
MAYBE_UNUSED(struct RVALUE *) ptr = (void *)obj;
|
|
189
|
-
asan_unpoison_memory_region(ptr, SIZEOF_VALUE, newobj_p);
|
|
190
|
-
}
|
|
191
|
-
|
|
192
200
|
static inline void *
|
|
193
201
|
asan_unpoison_object_temporary(VALUE obj)
|
|
194
202
|
{
|
|
195
|
-
void *ptr =
|
|
196
|
-
|
|
203
|
+
void *ptr = rb_asan_poisoned_object_p(obj);
|
|
204
|
+
rb_asan_unpoison_object(obj, false);
|
|
197
205
|
return ptr;
|
|
198
206
|
}
|
|
199
207
|
|
|
@@ -201,11 +209,40 @@ static inline void *
|
|
|
201
209
|
asan_poison_object_restore(VALUE obj, void *ptr)
|
|
202
210
|
{
|
|
203
211
|
if (ptr) {
|
|
204
|
-
|
|
212
|
+
rb_asan_poison_object(obj);
|
|
205
213
|
}
|
|
206
214
|
return NULL;
|
|
207
215
|
}
|
|
208
216
|
|
|
217
|
+
#define asan_unpoisoning_object(obj) \
|
|
218
|
+
for (void *poisoned = asan_unpoison_object_temporary(obj), \
|
|
219
|
+
*unpoisoning = &poisoned; /* flag to loop just once */ \
|
|
220
|
+
unpoisoning; \
|
|
221
|
+
unpoisoning = asan_poison_object_restore(obj, poisoned))
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
static inline void *
|
|
225
|
+
asan_unpoison_memory_region_temporary(void *ptr, size_t len)
|
|
226
|
+
{
|
|
227
|
+
void *poisoned_ptr = __asan_region_is_poisoned(ptr, len);
|
|
228
|
+
asan_unpoison_memory_region(ptr, len, false);
|
|
229
|
+
return poisoned_ptr;
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
static inline void *
|
|
233
|
+
asan_poison_memory_region_restore(void *ptr, size_t len, void *poisoned_ptr)
|
|
234
|
+
{
|
|
235
|
+
if (poisoned_ptr) {
|
|
236
|
+
asan_poison_memory_region(ptr, len);
|
|
237
|
+
}
|
|
238
|
+
return NULL;
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
#define asan_unpoisoning_memory_region(ptr, len) \
|
|
242
|
+
for (void *poisoned = asan_unpoison_memory_region_temporary(ptr, len), \
|
|
243
|
+
*unpoisoning = &poisoned; /* flag to loop just once */ \
|
|
244
|
+
unpoisoning; \
|
|
245
|
+
unpoisoning = asan_poison_memory_region_restore(ptr, len, poisoned))
|
|
209
246
|
|
|
210
247
|
/**
|
|
211
248
|
* Checks if the given pointer is on an ASAN fake stack. If so, it returns the
|
|
@@ -293,5 +330,17 @@ asan_get_fake_stack_extents(void *thread_fake_stack_handle, VALUE slot,
|
|
|
293
330
|
return false;
|
|
294
331
|
}
|
|
295
332
|
|
|
333
|
+
extern const char ruby_asan_default_options[];
|
|
334
|
+
|
|
335
|
+
#ifdef RUBY_ASAN_ENABLED
|
|
336
|
+
/* Compile in the ASAN options Ruby needs, rather than relying on environment variables, so
|
|
337
|
+
* that even tests which fork ruby with a clean environment will run ASAN with the right
|
|
338
|
+
* settings */
|
|
339
|
+
# undef RUBY__ASAN_DEFAULT_OPTIONS
|
|
340
|
+
# define RUBY__ASAN_DEFAULT_OPTIONS \
|
|
341
|
+
RBIMPL_SYMBOL_EXPORT_BEGIN() \
|
|
342
|
+
const char * __asan_default_options(void) {return ruby_asan_default_options;} \
|
|
343
|
+
RBIMPL_SYMBOL_EXPORT_END()
|
|
344
|
+
#endif
|
|
296
345
|
|
|
297
346
|
#endif /* INTERNAL_SANITIZERS_H */
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
#ifndef INTERNAL_SET_TABLE_H
|
|
2
|
+
#define INTERNAL_SET_TABLE_H
|
|
3
|
+
|
|
4
|
+
#include "ruby/st.h"
|
|
5
|
+
|
|
6
|
+
struct set_table_entry;
|
|
7
|
+
|
|
8
|
+
typedef struct set_table_entry set_table_entry;
|
|
9
|
+
|
|
10
|
+
struct set_table {
|
|
11
|
+
/* Cached features of the table -- see st.c for more details. */
|
|
12
|
+
unsigned char entry_power, bin_power, size_ind;
|
|
13
|
+
/* How many times the table was rebuilt. */
|
|
14
|
+
unsigned int rebuilds_num;
|
|
15
|
+
const struct st_hash_type *type;
|
|
16
|
+
/* Number of entries currently in the table. */
|
|
17
|
+
st_index_t num_entries;
|
|
18
|
+
|
|
19
|
+
/* Start and bound index of entries in array entries.
|
|
20
|
+
entries_starts and entries_bound are in interval
|
|
21
|
+
[0,allocated_entries]. */
|
|
22
|
+
st_index_t entries_start, entries_bound;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Array of size 2^entry_power.
|
|
26
|
+
* Followed by st_index_t *bins, Array of bins used for access by keys.
|
|
27
|
+
*/
|
|
28
|
+
set_table_entry *entries;
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
typedef struct set_table set_table;
|
|
32
|
+
|
|
33
|
+
typedef int set_foreach_callback_func(st_data_t, st_data_t);
|
|
34
|
+
typedef int set_foreach_check_callback_func(st_data_t, st_data_t, int);
|
|
35
|
+
typedef int set_update_callback_func(st_data_t *key, st_data_t arg, int existing);
|
|
36
|
+
|
|
37
|
+
#define set_table_size rb_set_table_size
|
|
38
|
+
size_t rb_set_table_size(const struct set_table *tbl);
|
|
39
|
+
#define set_init_table_with_size rb_set_init_table_with_size
|
|
40
|
+
set_table *rb_set_init_table_with_size(set_table *tab, const struct st_hash_type *, st_index_t);
|
|
41
|
+
#define set_init_numtable rb_set_init_numtable
|
|
42
|
+
set_table *rb_set_init_numtable(void);
|
|
43
|
+
#define set_init_numtable_with_size rb_set_init_numtable_with_size
|
|
44
|
+
set_table *rb_set_init_numtable_with_size(st_index_t size);
|
|
45
|
+
#define set_table_delete rb_set_table_delete
|
|
46
|
+
int rb_set_table_delete(set_table *, st_data_t *); /* returns 0:notfound 1:deleted */
|
|
47
|
+
#define set_insert rb_set_insert
|
|
48
|
+
int rb_set_insert(set_table *, st_data_t);
|
|
49
|
+
#define set_table_lookup rb_set_table_lookup
|
|
50
|
+
int rb_set_table_lookup(set_table *, st_data_t);
|
|
51
|
+
#define set_foreach_with_replace rb_set_foreach_with_replace
|
|
52
|
+
int rb_set_foreach_with_replace(set_table *tab, set_foreach_check_callback_func *func, set_update_callback_func *replace, st_data_t arg);
|
|
53
|
+
#define set_table_foreach rb_set_table_foreach
|
|
54
|
+
int rb_set_table_foreach(set_table *, set_foreach_callback_func *, st_data_t);
|
|
55
|
+
#define set_foreach_check rb_set_foreach_check
|
|
56
|
+
int rb_set_foreach_check(set_table *, set_foreach_check_callback_func *, st_data_t, st_data_t);
|
|
57
|
+
#define set_keys rb_set_keys
|
|
58
|
+
st_index_t rb_set_keys(set_table *table, st_data_t *keys, st_index_t size);
|
|
59
|
+
#define set_free_table rb_set_free_table
|
|
60
|
+
void rb_set_free_table(set_table *);
|
|
61
|
+
#define set_table_clear rb_set_table_clear
|
|
62
|
+
void rb_set_table_clear(set_table *);
|
|
63
|
+
#define set_copy rb_set_copy
|
|
64
|
+
set_table *rb_set_copy(set_table *new_table, set_table *old_table);
|
|
65
|
+
#define set_memsize rb_set_memsize
|
|
66
|
+
PUREFUNC(size_t rb_set_memsize(const set_table *));
|
|
67
|
+
#define set_compact_table rb_set_compact_table
|
|
68
|
+
void set_compact_table(set_table *tab);
|
|
69
|
+
|
|
70
|
+
#endif
|
data/lib/debase/ruby_core_source/{ruby-3.4.0-preview1 → ruby-4.0.0-preview2}/internal/string.h
RENAMED
|
@@ -15,15 +15,22 @@
|
|
|
15
15
|
#include "ruby/encoding.h" /* for rb_encoding */
|
|
16
16
|
#include "ruby/ruby.h" /* for VALUE */
|
|
17
17
|
|
|
18
|
-
#define
|
|
19
|
-
#define
|
|
20
|
-
#define STR_CHILLED
|
|
18
|
+
#define STR_SHARED FL_USER0 /* = ELTS_SHARED */
|
|
19
|
+
#define STR_NOEMBED FL_USER1
|
|
20
|
+
#define STR_CHILLED (FL_USER2 | FL_USER3)
|
|
21
|
+
#define STR_CHILLED_LITERAL FL_USER2
|
|
22
|
+
#define STR_CHILLED_SYMBOL_TO_S FL_USER3
|
|
23
|
+
|
|
24
|
+
enum ruby_rstring_private_flags {
|
|
25
|
+
RSTRING_CHILLED = STR_CHILLED,
|
|
26
|
+
};
|
|
21
27
|
|
|
22
28
|
#ifdef rb_fstring_cstr
|
|
23
29
|
# undef rb_fstring_cstr
|
|
24
30
|
#endif
|
|
25
31
|
|
|
26
32
|
/* string.c */
|
|
33
|
+
VALUE rb_str_dup_m(VALUE str);
|
|
27
34
|
VALUE rb_fstring(VALUE);
|
|
28
35
|
VALUE rb_fstring_cstr(const char *str);
|
|
29
36
|
VALUE rb_fstring_enc_new(const char *ptr, long len, rb_encoding *enc);
|
|
@@ -47,6 +54,19 @@ int rb_enc_str_coderange_scan(VALUE str, rb_encoding *enc);
|
|
|
47
54
|
int rb_ascii8bit_appendable_encoding_index(rb_encoding *enc, unsigned int code);
|
|
48
55
|
VALUE rb_str_include(VALUE str, VALUE arg);
|
|
49
56
|
VALUE rb_str_byte_substr(VALUE str, VALUE beg, VALUE len);
|
|
57
|
+
VALUE rb_str_substr_two_fixnums(VALUE str, VALUE beg, VALUE len, int empty);
|
|
58
|
+
VALUE rb_str_tmp_frozen_no_embed_acquire(VALUE str);
|
|
59
|
+
void rb_str_make_embedded(VALUE);
|
|
60
|
+
VALUE rb_str_upto_each(VALUE, VALUE, int, int (*each)(VALUE, VALUE), VALUE);
|
|
61
|
+
size_t rb_str_size_as_embedded(VALUE);
|
|
62
|
+
bool rb_str_reembeddable_p(VALUE);
|
|
63
|
+
VALUE rb_str_upto_endless_each(VALUE, int (*each)(VALUE, VALUE), VALUE);
|
|
64
|
+
VALUE rb_str_with_debug_created_info(VALUE, VALUE, int);
|
|
65
|
+
VALUE rb_str_frozen_bare_string(VALUE);
|
|
66
|
+
|
|
67
|
+
/* error.c */
|
|
68
|
+
void rb_warn_unchilled_literal(VALUE str);
|
|
69
|
+
void rb_warn_unchilled_symbol_to_s(VALUE str);
|
|
50
70
|
|
|
51
71
|
static inline bool STR_EMBED_P(VALUE str);
|
|
52
72
|
static inline bool STR_SHARED_P(VALUE str);
|
|
@@ -59,23 +79,21 @@ static inline VALUE rb_str_eql_internal(const VALUE str1, const VALUE str2);
|
|
|
59
79
|
RUBY_SYMBOL_EXPORT_BEGIN
|
|
60
80
|
/* string.c (export) */
|
|
61
81
|
VALUE rb_str_tmp_frozen_acquire(VALUE str);
|
|
62
|
-
VALUE rb_str_tmp_frozen_no_embed_acquire(VALUE str);
|
|
63
82
|
void rb_str_tmp_frozen_release(VALUE str, VALUE tmp);
|
|
64
83
|
VALUE rb_setup_fake_str(struct RString *fake_str, const char *name, long len, rb_encoding *enc);
|
|
65
|
-
VALUE rb_str_upto_each(VALUE, VALUE, int, int (*each)(VALUE, VALUE), VALUE);
|
|
66
|
-
VALUE rb_str_upto_endless_each(VALUE, int (*each)(VALUE, VALUE), VALUE);
|
|
67
|
-
void rb_str_make_embedded(VALUE);
|
|
68
|
-
size_t rb_str_size_as_embedded(VALUE);
|
|
69
|
-
bool rb_str_reembeddable_p(VALUE);
|
|
70
84
|
RUBY_SYMBOL_EXPORT_END
|
|
71
85
|
|
|
72
86
|
VALUE rb_fstring_new(const char *ptr, long len);
|
|
87
|
+
void rb_gc_free_fstring(VALUE obj);
|
|
88
|
+
bool rb_obj_is_fstring_table(VALUE obj);
|
|
89
|
+
void Init_fstring_table();
|
|
73
90
|
VALUE rb_obj_as_string_result(VALUE str, VALUE obj);
|
|
74
91
|
VALUE rb_str_opt_plus(VALUE x, VALUE y);
|
|
75
92
|
VALUE rb_str_concat_literals(size_t num, const VALUE *strary);
|
|
76
93
|
VALUE rb_str_eql(VALUE str1, VALUE str2);
|
|
77
94
|
VALUE rb_id_quote_unprintable(ID);
|
|
78
95
|
VALUE rb_sym_proc_call(ID mid, int argc, const VALUE *argv, int kw_splat, VALUE passed_proc);
|
|
96
|
+
VALUE rb_enc_literal_str(const char *ptr, long len, rb_encoding *enc);
|
|
79
97
|
|
|
80
98
|
struct rb_execution_context_struct;
|
|
81
99
|
VALUE rb_ec_str_resurrect(struct rb_execution_context_struct *ec, VALUE str, bool chilled);
|
|
@@ -118,15 +136,18 @@ CHILLED_STRING_P(VALUE obj)
|
|
|
118
136
|
static inline void
|
|
119
137
|
CHILLED_STRING_MUTATED(VALUE str)
|
|
120
138
|
{
|
|
121
|
-
|
|
122
|
-
FL_UNSET_RAW(str, STR_CHILLED
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
139
|
+
VALUE chilled_reason = RB_FL_TEST_RAW(str, STR_CHILLED);
|
|
140
|
+
FL_UNSET_RAW(str, STR_CHILLED);
|
|
141
|
+
switch (chilled_reason) {
|
|
142
|
+
case STR_CHILLED_SYMBOL_TO_S:
|
|
143
|
+
rb_warn_unchilled_symbol_to_s(str);
|
|
144
|
+
break;
|
|
145
|
+
case STR_CHILLED_LITERAL:
|
|
146
|
+
rb_warn_unchilled_literal(str);
|
|
147
|
+
break;
|
|
148
|
+
default:
|
|
149
|
+
rb_bug("RString was chilled for multiple reasons");
|
|
150
|
+
}
|
|
130
151
|
}
|
|
131
152
|
|
|
132
153
|
static inline bool
|
data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/struct.h
RENAMED
|
@@ -11,10 +11,23 @@
|
|
|
11
11
|
#include "ruby/internal/stdbool.h" /* for bool */
|
|
12
12
|
#include "ruby/ruby.h" /* for struct RBasic */
|
|
13
13
|
|
|
14
|
+
/* Flags of RStruct
|
|
15
|
+
*
|
|
16
|
+
* 1-7: RSTRUCT_EMBED_LEN
|
|
17
|
+
* If non-zero, the struct is embedded (its contents follow the
|
|
18
|
+
* header, rather than being on a separately allocated buffer) and
|
|
19
|
+
* these bits are the length of the Struct.
|
|
20
|
+
* 8: RSTRUCT_GEN_FIELDS
|
|
21
|
+
* The struct is embedded and has no space left to store the
|
|
22
|
+
* IMEMO/fields reference. Any ivar this struct may have will be in
|
|
23
|
+
* the generic_fields_tbl. This flag doesn't imply the struct has
|
|
24
|
+
* ivars.
|
|
25
|
+
*/
|
|
14
26
|
enum {
|
|
15
27
|
RSTRUCT_EMBED_LEN_MASK = RUBY_FL_USER7 | RUBY_FL_USER6 | RUBY_FL_USER5 | RUBY_FL_USER4 |
|
|
16
28
|
RUBY_FL_USER3 | RUBY_FL_USER2 | RUBY_FL_USER1,
|
|
17
29
|
RSTRUCT_EMBED_LEN_SHIFT = (RUBY_FL_USHIFT+1),
|
|
30
|
+
RSTRUCT_GEN_FIELDS = RUBY_FL_USER8,
|
|
18
31
|
};
|
|
19
32
|
|
|
20
33
|
struct RStruct {
|
|
@@ -23,6 +36,7 @@ struct RStruct {
|
|
|
23
36
|
struct {
|
|
24
37
|
long len;
|
|
25
38
|
const VALUE *ptr;
|
|
39
|
+
VALUE fields_obj;
|
|
26
40
|
} heap;
|
|
27
41
|
/* This is a length 1 array because:
|
|
28
42
|
* 1. GCC has a bug that does not optimize C flexible array members
|
|
@@ -59,7 +73,6 @@ struct RStruct {
|
|
|
59
73
|
VALUE rb_struct_init_copy(VALUE copy, VALUE s);
|
|
60
74
|
VALUE rb_struct_lookup(VALUE s, VALUE idx);
|
|
61
75
|
VALUE rb_struct_s_keyword_init(VALUE klass);
|
|
62
|
-
static inline const VALUE *rb_struct_const_heap_ptr(VALUE st);
|
|
63
76
|
static inline long RSTRUCT_EMBED_LEN(VALUE st);
|
|
64
77
|
static inline long RSTRUCT_LEN(VALUE st);
|
|
65
78
|
static inline int RSTRUCT_LENINT(VALUE st);
|
|
@@ -117,11 +130,31 @@ RSTRUCT_GET(VALUE st, long k)
|
|
|
117
130
|
return RSTRUCT_CONST_PTR(st)[k];
|
|
118
131
|
}
|
|
119
132
|
|
|
120
|
-
static inline
|
|
121
|
-
|
|
133
|
+
static inline VALUE
|
|
134
|
+
RSTRUCT_FIELDS_OBJ(VALUE st)
|
|
122
135
|
{
|
|
123
|
-
|
|
124
|
-
|
|
136
|
+
const long embed_len = RSTRUCT_EMBED_LEN(st);
|
|
137
|
+
VALUE fields_obj;
|
|
138
|
+
if (embed_len) {
|
|
139
|
+
RUBY_ASSERT(!FL_TEST_RAW(st, RSTRUCT_GEN_FIELDS));
|
|
140
|
+
fields_obj = RSTRUCT_GET(st, embed_len);
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
fields_obj = RSTRUCT(st)->as.heap.fields_obj;
|
|
144
|
+
}
|
|
145
|
+
return fields_obj;
|
|
125
146
|
}
|
|
126
147
|
|
|
148
|
+
static inline void
|
|
149
|
+
RSTRUCT_SET_FIELDS_OBJ(VALUE st, VALUE fields_obj)
|
|
150
|
+
{
|
|
151
|
+
const long embed_len = RSTRUCT_EMBED_LEN(st);
|
|
152
|
+
if (embed_len) {
|
|
153
|
+
RUBY_ASSERT(!FL_TEST_RAW(st, RSTRUCT_GEN_FIELDS));
|
|
154
|
+
RSTRUCT_SET(st, embed_len, fields_obj);
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
RB_OBJ_WRITE(st, &RSTRUCT(st)->as.heap.fields_obj, fields_obj);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
127
160
|
#endif /* INTERNAL_STRUCT_H */
|
data/lib/debase/ruby_core_source/{ruby-3.4.0-preview2 → ruby-4.0.0-preview2}/internal/symbol.h
RENAMED
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
#endif
|
|
18
18
|
|
|
19
19
|
/* symbol.c */
|
|
20
|
+
void rb_sym_global_symbols_mark_and_move(void);
|
|
20
21
|
VALUE rb_to_symbol_type(VALUE obj);
|
|
21
22
|
VALUE rb_sym_intern(const char *ptr, long len, rb_encoding *enc);
|
|
22
23
|
VALUE rb_sym_intern_ascii(const char *ptr, long len);
|
|
@@ -29,11 +30,11 @@ PUREFUNC(int rb_is_const_sym(VALUE sym));
|
|
|
29
30
|
PUREFUNC(int rb_is_attrset_sym(VALUE sym));
|
|
30
31
|
ID rb_make_internal_id(void);
|
|
31
32
|
ID rb_make_temporary_id(size_t n);
|
|
33
|
+
bool rb_obj_is_symbol_table(VALUE obj);
|
|
34
|
+
void rb_sym_global_symbol_table_foreach_weak_reference(int (*callback)(VALUE *key, void *data), void *data);
|
|
32
35
|
void rb_gc_free_dsymbol(VALUE);
|
|
33
36
|
int rb_static_id_valid_p(ID id);
|
|
34
|
-
|
|
35
|
-
/* vm.c */
|
|
36
|
-
void rb_free_static_symid_str(void);
|
|
37
|
+
void rb_free_global_symbol_table(void);
|
|
37
38
|
|
|
38
39
|
#if __has_builtin(__builtin_constant_p)
|
|
39
40
|
#define rb_sym_intern_ascii_cstr(ptr) \
|