debase-ruby_core_source 3.2.1 → 3.2.3
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/CHANGELOG.md +10 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/addr2line.h +3 -1
- data/lib/debase/ruby_core_source/ruby-3.3.0-preview3/darray.h +246 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/debug_counter.h +7 -10
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/eval_intern.h +3 -1
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/id.h +44 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/insns_info.inc +128 -154
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/array.h +9 -20
- data/lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/bits.h +568 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/class.h +11 -2
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/cmdlineopt.h +5 -1
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/compile.h +0 -1
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/error.h +24 -2
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/gc.h +29 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/hash.h +19 -44
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/imemo.h +0 -1
- data/lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/io.h +137 -0
- data/lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/parse.h +108 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/process.h +0 -14
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/range.h +2 -2
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/re.h +1 -1
- data/lib/debase/ruby_core_source/ruby-3.3.0-preview3/internal/ruby_parser.h +69 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/signal.h +4 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/string.h +15 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/struct.h +9 -34
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/thread.h +14 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/variable.h +17 -35
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/vm.h +9 -2
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/iseq.h +4 -4
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/method.h +8 -7
- data/lib/debase/ruby_core_source/ruby-3.3.0-preview3/node.h +128 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/node_name.inc +4 -2
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/parse.h +19 -6
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1/internal/bits.h → ruby-3.3.0-preview3/parser_bits.h} +4 -4
- data/lib/debase/ruby_core_source/ruby-3.3.0-preview3/parser_node.h +32 -0
- data/lib/debase/ruby_core_source/ruby-3.3.0-preview3/parser_st.h +162 -0
- data/lib/debase/ruby_core_source/ruby-3.3.0-preview3/parser_value.h +106 -0
- data/lib/debase/ruby_core_source/ruby-3.3.0-preview3/prism_compile.h +18 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/ractor_core.h +10 -4
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/regint.h +8 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/regparse.h +2 -1
- data/lib/debase/ruby_core_source/ruby-3.3.0-preview3/revision.h +5 -0
- data/lib/debase/ruby_core_source/ruby-3.3.0-preview3/rubyparser.h +1403 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/shape.h +32 -22
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/symbol.h +2 -3
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/thread_none.h +1 -0
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/thread_pthread.h +66 -28
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/thread_win32.h +1 -6
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/variable.h +9 -2
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/version.h +7 -3
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/vm.inc +383 -497
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/vm_callinfo.h +54 -16
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/vm_core.h +92 -57
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/vm_exec.h +11 -10
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/vm_insnhelper.h +20 -23
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/vm_opts.h +0 -5
- data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/yjit.h +12 -12
- data/lib/debase/ruby_core_source/version.rb +1 -1
- metadata +120 -115
- data/lib/debase/ruby_core_source/ruby-3.3.0-preview1/darray.h +0 -179
- data/lib/debase/ruby_core_source/ruby-3.3.0-preview1/internal/io.h +0 -38
- data/lib/debase/ruby_core_source/ruby-3.3.0-preview1/internal/parse.h +0 -25
- data/lib/debase/ruby_core_source/ruby-3.3.0-preview1/node.h +0 -514
- data/lib/debase/ruby_core_source/ruby-3.3.0-preview1/opt_sc.inc +0 -109
- data/lib/debase/ruby_core_source/ruby-3.3.0-preview1/revision.h +0 -5
- data/lib/debase/ruby_core_source/ruby-3.3.0-preview1/transient_heap.h +0 -65
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/builtin.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/ccan/build_assert/build_assert.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/ccan/check_type/check_type.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/ccan/container_of/container_of.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/ccan/list/list.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/ccan/str/str.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/constant.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/dln.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/encindex.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/hrtime.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/id_table.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/insns.inc +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/basic_operators.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/bignum.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/compar.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/compilers.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/complex.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/cont.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/dir.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/enc.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/encoding.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/enum.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/enumerator.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/eval.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/file.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/fixnum.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/inits.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/load.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/loadpath.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/math.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/missing.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/numeric.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/object.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/proc.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/ractor.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/random.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/rational.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/sanitizers.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/serial.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/static_assert.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/symbol.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/time.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/transcode.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/util.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/warnings.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/known_errors.inc +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/optinsn.inc +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/optunifs.inc +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/probes_helper.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/regenc.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/rjit.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/rjit_c.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/ruby_assert.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/ruby_atomic.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/siphash.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/timev.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/transcode_data.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/vm_call_iseq_optimized.inc +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/vm_debug.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/vm_sync.h +0 -0
- /data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/vmtc.inc +0 -0
data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/struct.h
RENAMED
|
@@ -12,10 +12,9 @@
|
|
|
12
12
|
#include "ruby/ruby.h" /* for struct RBasic */
|
|
13
13
|
|
|
14
14
|
enum {
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
RSTRUCT_EMBED_LEN_MASK = RUBY_FL_USER7 | RUBY_FL_USER6 | RUBY_FL_USER5 | RUBY_FL_USER4 |
|
|
16
|
+
RUBY_FL_USER3 | RUBY_FL_USER2 | RUBY_FL_USER1,
|
|
17
17
|
RSTRUCT_EMBED_LEN_SHIFT = (RUBY_FL_USHIFT+1),
|
|
18
|
-
RSTRUCT_TRANSIENT_FLAG = FL_USER3,
|
|
19
18
|
};
|
|
20
19
|
|
|
21
20
|
struct RStruct {
|
|
@@ -25,7 +24,12 @@ struct RStruct {
|
|
|
25
24
|
long len;
|
|
26
25
|
const VALUE *ptr;
|
|
27
26
|
} heap;
|
|
28
|
-
|
|
27
|
+
/* This is a length 1 array because:
|
|
28
|
+
* 1. GCC has a bug that does not optimize C flexible array members
|
|
29
|
+
* (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102452)
|
|
30
|
+
* 2. Zero length arrays are not supported by all compilers
|
|
31
|
+
*/
|
|
32
|
+
const VALUE ary[1];
|
|
29
33
|
} as;
|
|
30
34
|
};
|
|
31
35
|
|
|
@@ -56,9 +60,6 @@ VALUE rb_struct_init_copy(VALUE copy, VALUE s);
|
|
|
56
60
|
VALUE rb_struct_lookup(VALUE s, VALUE idx);
|
|
57
61
|
VALUE rb_struct_s_keyword_init(VALUE klass);
|
|
58
62
|
static inline const VALUE *rb_struct_const_heap_ptr(VALUE st);
|
|
59
|
-
static inline bool RSTRUCT_TRANSIENT_P(VALUE st);
|
|
60
|
-
static inline void RSTRUCT_TRANSIENT_SET(VALUE st);
|
|
61
|
-
static inline void RSTRUCT_TRANSIENT_UNSET(VALUE st);
|
|
62
63
|
static inline long RSTRUCT_EMBED_LEN(VALUE st);
|
|
63
64
|
static inline long RSTRUCT_LEN(VALUE st);
|
|
64
65
|
static inline int RSTRUCT_LENINT(VALUE st);
|
|
@@ -66,32 +67,6 @@ static inline const VALUE *RSTRUCT_CONST_PTR(VALUE st);
|
|
|
66
67
|
static inline void RSTRUCT_SET(VALUE st, long k, VALUE v);
|
|
67
68
|
static inline VALUE RSTRUCT_GET(VALUE st, long k);
|
|
68
69
|
|
|
69
|
-
static inline bool
|
|
70
|
-
RSTRUCT_TRANSIENT_P(VALUE st)
|
|
71
|
-
{
|
|
72
|
-
#if USE_TRANSIENT_HEAP
|
|
73
|
-
return FL_TEST_RAW(st, RSTRUCT_TRANSIENT_FLAG);
|
|
74
|
-
#else
|
|
75
|
-
return false;
|
|
76
|
-
#endif
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
static inline void
|
|
80
|
-
RSTRUCT_TRANSIENT_SET(VALUE st)
|
|
81
|
-
{
|
|
82
|
-
#if USE_TRANSIENT_HEAP
|
|
83
|
-
FL_SET_RAW(st, RSTRUCT_TRANSIENT_FLAG);
|
|
84
|
-
#endif
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
static inline void
|
|
88
|
-
RSTRUCT_TRANSIENT_UNSET(VALUE st)
|
|
89
|
-
{
|
|
90
|
-
#if USE_TRANSIENT_HEAP
|
|
91
|
-
FL_UNSET_RAW(st, RSTRUCT_TRANSIENT_FLAG);
|
|
92
|
-
#endif
|
|
93
|
-
}
|
|
94
|
-
|
|
95
70
|
static inline long
|
|
96
71
|
RSTRUCT_EMBED_LEN(VALUE st)
|
|
97
72
|
{
|
|
@@ -145,7 +120,7 @@ RSTRUCT_GET(VALUE st, long k)
|
|
|
145
120
|
static inline const VALUE *
|
|
146
121
|
rb_struct_const_heap_ptr(VALUE st)
|
|
147
122
|
{
|
|
148
|
-
|
|
123
|
+
assert(!FL_TEST_RAW(st, RSTRUCT_EMBED_LEN_MASK));
|
|
149
124
|
return RSTRUCT(st)->as.heap.ptr;
|
|
150
125
|
}
|
|
151
126
|
|
data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/thread.h
RENAMED
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
*/
|
|
11
11
|
#include "ruby/ruby.h" /* for VALUE */
|
|
12
12
|
#include "ruby/intern.h" /* for rb_blocking_function_t */
|
|
13
|
+
#include "ccan/list/list.h" /* for list in rb_io_close_wait_list */
|
|
13
14
|
|
|
14
15
|
struct rb_thread_struct; /* in vm_core.h */
|
|
15
16
|
|
|
@@ -29,6 +30,10 @@ struct rb_thread_struct; /* in vm_core.h */
|
|
|
29
30
|
#define COVERAGE_TARGET_ONESHOT_LINES 8
|
|
30
31
|
#define COVERAGE_TARGET_EVAL 16
|
|
31
32
|
|
|
33
|
+
#define RUBY_FATAL_THREAD_KILLED INT2FIX(0)
|
|
34
|
+
#define RUBY_FATAL_THREAD_TERMINATED INT2FIX(1)
|
|
35
|
+
#define RUBY_FATAL_FIBER_KILLED RB_INT2FIX(2)
|
|
36
|
+
|
|
32
37
|
VALUE rb_obj_is_mutex(VALUE obj);
|
|
33
38
|
VALUE rb_suppress_tracing(VALUE (*func)(VALUE), VALUE arg);
|
|
34
39
|
void rb_thread_execute_interrupts(VALUE th);
|
|
@@ -45,9 +50,18 @@ void rb_mutex_allow_trap(VALUE self, int val);
|
|
|
45
50
|
VALUE rb_uninterruptible(VALUE (*b_proc)(VALUE), VALUE data);
|
|
46
51
|
VALUE rb_mutex_owned_p(VALUE self);
|
|
47
52
|
VALUE rb_exec_recursive_outer_mid(VALUE (*f)(VALUE g, VALUE h, int r), VALUE g, VALUE h, ID mid);
|
|
53
|
+
void ruby_mn_threads_params(void);
|
|
48
54
|
|
|
49
55
|
int rb_thread_wait_for_single_fd(int fd, int events, struct timeval * timeout);
|
|
50
56
|
|
|
57
|
+
struct rb_io_close_wait_list {
|
|
58
|
+
struct ccan_list_head pending_fd_users;
|
|
59
|
+
VALUE closing_thread;
|
|
60
|
+
VALUE wakeup_mutex;
|
|
61
|
+
};
|
|
62
|
+
int rb_notify_fd_close(int fd, struct rb_io_close_wait_list *busy);
|
|
63
|
+
void rb_notify_fd_close_wait(struct rb_io_close_wait_list *busy);
|
|
64
|
+
|
|
51
65
|
RUBY_SYMBOL_EXPORT_BEGIN
|
|
52
66
|
/* Temporary. This API will be removed (renamed). */
|
|
53
67
|
VALUE rb_thread_io_blocking_region(rb_blocking_function_t *func, void *data1, int fd);
|
data/lib/debase/ruby_core_source/{ruby-3.3.0-preview1 → ruby-3.3.0-preview3}/internal/variable.h
RENAMED
|
@@ -15,10 +15,6 @@
|
|
|
15
15
|
#include "ruby/ruby.h" /* for VALUE */
|
|
16
16
|
#include "shape.h" /* for rb_shape_t */
|
|
17
17
|
|
|
18
|
-
/* global variable */
|
|
19
|
-
|
|
20
|
-
#define ROBJECT_TRANSIENT_FLAG FL_USER2
|
|
21
|
-
|
|
22
18
|
/* variable.c */
|
|
23
19
|
void rb_gc_mark_global_tbl(void);
|
|
24
20
|
void rb_gc_update_global_tbl(void);
|
|
@@ -32,13 +28,27 @@ rb_gvar_getter_t *rb_gvar_getter_function_of(ID);
|
|
|
32
28
|
rb_gvar_setter_t *rb_gvar_setter_function_of(ID);
|
|
33
29
|
void rb_gvar_readonly_setter(VALUE v, ID id, VALUE *_);
|
|
34
30
|
void rb_gvar_ractor_local(const char *name);
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Sets the name of a module.
|
|
34
|
+
*
|
|
35
|
+
* Non-permanently named classes can have a temporary name assigned (or
|
|
36
|
+
* cleared). In that case the name will be used for `#inspect` and `#to_s`, and
|
|
37
|
+
* nested classes/modules will be named with the temporary name as a prefix.
|
|
38
|
+
*
|
|
39
|
+
* After the module is assigned to a constant, the temporary name will be
|
|
40
|
+
* discarded, and the name will be computed based on the nesting.
|
|
41
|
+
*
|
|
42
|
+
* @param[in] mod An instance of ::rb_cModule.
|
|
43
|
+
* @param[in] name An instance of ::rb_cString.
|
|
44
|
+
* @retval mod
|
|
45
|
+
*/
|
|
46
|
+
VALUE rb_mod_set_temporary_name(VALUE, VALUE);
|
|
38
47
|
|
|
39
48
|
struct gen_ivtbl;
|
|
40
49
|
int rb_gen_ivtbl_get(VALUE obj, ID id, struct gen_ivtbl **ivtbl);
|
|
41
50
|
int rb_obj_evacuate_ivs_to_hash_table(ID key, VALUE val, st_data_t arg);
|
|
51
|
+
void rb_evict_ivars_to_hash(VALUE obj, rb_shape_t * shape);
|
|
42
52
|
|
|
43
53
|
RUBY_SYMBOL_EXPORT_BEGIN
|
|
44
54
|
/* variable.c (export) */
|
|
@@ -54,35 +64,7 @@ VALUE rb_gvar_get(ID);
|
|
|
54
64
|
VALUE rb_gvar_set(ID, VALUE);
|
|
55
65
|
VALUE rb_gvar_defined(ID);
|
|
56
66
|
void rb_const_warn_if_deprecated(const rb_const_entry_t *, VALUE, ID);
|
|
57
|
-
rb_shape_t * rb_grow_iv_list(VALUE obj);
|
|
58
67
|
void rb_ensure_iv_list_size(VALUE obj, uint32_t len, uint32_t newsize);
|
|
59
|
-
struct gen_ivtbl *rb_ensure_generic_iv_list_size(VALUE obj, rb_shape_t *shape, uint32_t newsize);
|
|
60
68
|
attr_index_t rb_obj_ivar_set(VALUE obj, ID id, VALUE val);
|
|
61
69
|
|
|
62
|
-
static inline bool
|
|
63
|
-
ROBJ_TRANSIENT_P(VALUE obj)
|
|
64
|
-
{
|
|
65
|
-
#if USE_TRANSIENT_HEAP
|
|
66
|
-
return FL_TEST_RAW(obj, ROBJECT_TRANSIENT_FLAG);
|
|
67
|
-
#else
|
|
68
|
-
return false;
|
|
69
|
-
#endif
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
static inline void
|
|
73
|
-
ROBJ_TRANSIENT_SET(VALUE obj)
|
|
74
|
-
{
|
|
75
|
-
#if USE_TRANSIENT_HEAP
|
|
76
|
-
FL_SET_RAW(obj, ROBJECT_TRANSIENT_FLAG);
|
|
77
|
-
#endif
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
static inline void
|
|
81
|
-
ROBJ_TRANSIENT_UNSET(VALUE obj)
|
|
82
|
-
{
|
|
83
|
-
#if USE_TRANSIENT_HEAP
|
|
84
|
-
FL_UNSET_RAW(obj, ROBJECT_TRANSIENT_FLAG);
|
|
85
|
-
#endif
|
|
86
|
-
}
|
|
87
|
-
|
|
88
70
|
#endif /* INTERNAL_VARIABLE_H */
|
|
@@ -58,6 +58,8 @@ VALUE rb_yield_refine_block(VALUE refinement, VALUE refinements);
|
|
|
58
58
|
VALUE ruby_vm_special_exception_copy(VALUE);
|
|
59
59
|
PUREFUNC(st_table *rb_vm_fstring_table(void));
|
|
60
60
|
|
|
61
|
+
void rb_lastline_set_up(VALUE val, unsigned int up);
|
|
62
|
+
|
|
61
63
|
/* vm_eval.c */
|
|
62
64
|
VALUE rb_current_realfilepath(void);
|
|
63
65
|
VALUE rb_check_block_call(VALUE, ID, int, const VALUE *, rb_block_call_func_t, VALUE);
|
|
@@ -76,6 +78,11 @@ VALUE rb_lambda_call(VALUE obj, ID mid, int argc, const VALUE *argv,
|
|
|
76
78
|
VALUE data2);
|
|
77
79
|
void rb_check_stack_overflow(void);
|
|
78
80
|
|
|
81
|
+
#if USE_YJIT
|
|
82
|
+
/* vm_exec.c */
|
|
83
|
+
extern uint64_t rb_vm_insns_count;
|
|
84
|
+
#endif
|
|
85
|
+
|
|
79
86
|
/* vm_insnhelper.c */
|
|
80
87
|
VALUE rb_equal_opt(VALUE obj1, VALUE obj2);
|
|
81
88
|
VALUE rb_eql_opt(VALUE obj1, VALUE obj2);
|
|
@@ -90,7 +97,7 @@ int rb_ec_obj_respond_to(struct rb_execution_context_struct *ec, VALUE obj, ID i
|
|
|
90
97
|
void rb_clear_constant_cache(void);
|
|
91
98
|
|
|
92
99
|
/* vm_dump.c */
|
|
93
|
-
void rb_print_backtrace(
|
|
100
|
+
void rb_print_backtrace(FILE *);
|
|
94
101
|
|
|
95
102
|
/* vm_backtrace.c */
|
|
96
103
|
VALUE rb_vm_thread_backtrace(int argc, const VALUE *argv, VALUE thval);
|
|
@@ -98,7 +105,7 @@ VALUE rb_vm_thread_backtrace_locations(int argc, const VALUE *argv, VALUE thval)
|
|
|
98
105
|
VALUE rb_vm_backtrace(int argc, const VALUE * argv, struct rb_execution_context_struct * ec);
|
|
99
106
|
VALUE rb_vm_backtrace_locations(int argc, const VALUE * argv, struct rb_execution_context_struct * ec);
|
|
100
107
|
VALUE rb_make_backtrace(void);
|
|
101
|
-
void rb_backtrace_print_as_bugreport(
|
|
108
|
+
void rb_backtrace_print_as_bugreport(FILE*);
|
|
102
109
|
int rb_backtrace_p(VALUE obj);
|
|
103
110
|
VALUE rb_backtrace_to_str_ary(VALUE obj);
|
|
104
111
|
VALUE rb_backtrace_to_location_ary(VALUE obj);
|
|
@@ -83,9 +83,10 @@ ISEQ_ORIGINAL_ISEQ_ALLOC(const rb_iseq_t *iseq, long size)
|
|
|
83
83
|
RUBY_EVENT_CALL | \
|
|
84
84
|
RUBY_EVENT_RETURN| \
|
|
85
85
|
RUBY_EVENT_C_CALL| \
|
|
86
|
-
RUBY_EVENT_C_RETURN| \
|
|
87
|
-
RUBY_EVENT_B_CALL| \
|
|
88
|
-
RUBY_EVENT_B_RETURN| \
|
|
86
|
+
RUBY_EVENT_C_RETURN | \
|
|
87
|
+
RUBY_EVENT_B_CALL | \
|
|
88
|
+
RUBY_EVENT_B_RETURN | \
|
|
89
|
+
RUBY_EVENT_RESCUE | \
|
|
89
90
|
RUBY_EVENT_COVERAGE_LINE| \
|
|
90
91
|
RUBY_EVENT_COVERAGE_BRANCH)
|
|
91
92
|
|
|
@@ -226,7 +227,6 @@ struct rb_compile_option_struct {
|
|
|
226
227
|
unsigned int specialized_instruction: 1;
|
|
227
228
|
unsigned int operands_unification: 1;
|
|
228
229
|
unsigned int instructions_unification: 1;
|
|
229
|
-
unsigned int stack_caching: 1;
|
|
230
230
|
unsigned int frozen_string_literal: 1;
|
|
231
231
|
unsigned int debug_frozen_string_literal: 1;
|
|
232
232
|
unsigned int coverage_enabled: 1;
|
|
@@ -101,8 +101,9 @@ static inline void
|
|
|
101
101
|
METHOD_ENTRY_FLAGS_COPY(rb_method_entry_t *dst, const rb_method_entry_t *src)
|
|
102
102
|
{
|
|
103
103
|
dst->flags =
|
|
104
|
-
(dst->flags & ~(IMEMO_FL_USER0|IMEMO_FL_USER1|IMEMO_FL_USER2
|
|
105
|
-
|
|
104
|
+
(dst->flags & ~(IMEMO_FL_USER0|IMEMO_FL_USER1|IMEMO_FL_USER2
|
|
105
|
+
|IMEMO_FL_USER3)) |
|
|
106
|
+
(src->flags & (IMEMO_FL_USER0|IMEMO_FL_USER1|IMEMO_FL_USER2|IMEMO_FL_USER3));
|
|
106
107
|
}
|
|
107
108
|
|
|
108
109
|
typedef enum {
|
|
@@ -178,9 +179,9 @@ typedef struct rb_method_optimized {
|
|
|
178
179
|
struct rb_method_definition_struct {
|
|
179
180
|
BITFIELD(rb_method_type_t, type, VM_METHOD_TYPE_MINIMUM_BITS);
|
|
180
181
|
unsigned int iseq_overload: 1;
|
|
181
|
-
int alias_count : 27;
|
|
182
|
-
int complemented_count : 28;
|
|
183
182
|
unsigned int no_redef_warning: 1;
|
|
183
|
+
unsigned int aliased : 1;
|
|
184
|
+
int reference_count : 28;
|
|
184
185
|
|
|
185
186
|
union {
|
|
186
187
|
rb_method_iseq_t iseq;
|
|
@@ -199,7 +200,7 @@ struct rb_method_definition_struct {
|
|
|
199
200
|
struct rb_id_table;
|
|
200
201
|
|
|
201
202
|
typedef struct rb_method_definition_struct rb_method_definition_t;
|
|
202
|
-
STATIC_ASSERT(sizeof_method_def, offsetof(rb_method_definition_t, body)
|
|
203
|
+
STATIC_ASSERT(sizeof_method_def, offsetof(rb_method_definition_t, body) <= 8);
|
|
203
204
|
|
|
204
205
|
#define UNDEFINED_METHOD_ENTRY_P(me) (!(me) || !(me)->def || (me)->def->type == VM_METHOD_TYPE_UNDEF)
|
|
205
206
|
#define UNDEFINED_REFINED_METHOD_P(def) \
|
|
@@ -213,7 +214,7 @@ void rb_add_method_optimized(VALUE klass, ID mid, enum method_optimized_type, un
|
|
|
213
214
|
void rb_add_refined_method_entry(VALUE refined_class, ID mid);
|
|
214
215
|
|
|
215
216
|
rb_method_entry_t *rb_method_entry_set(VALUE klass, ID mid, const rb_method_entry_t *, rb_method_visibility_t noex);
|
|
216
|
-
rb_method_entry_t *rb_method_entry_create(ID called_id, VALUE klass, rb_method_visibility_t visi,
|
|
217
|
+
rb_method_entry_t *rb_method_entry_create(ID called_id, VALUE klass, rb_method_visibility_t visi, rb_method_definition_t *def);
|
|
217
218
|
|
|
218
219
|
const rb_method_entry_t *rb_method_entry_at(VALUE obj, ID id);
|
|
219
220
|
|
|
@@ -249,6 +250,6 @@ void rb_scope_visibility_set(rb_method_visibility_t);
|
|
|
249
250
|
VALUE rb_unnamed_parameters(int arity);
|
|
250
251
|
|
|
251
252
|
void rb_clear_method_cache(VALUE klass_or_module, ID mid);
|
|
252
|
-
void
|
|
253
|
+
void rb_clear_all_refinement_method_cache(void);
|
|
253
254
|
|
|
254
255
|
#endif /* RUBY_METHOD_H */
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
#ifndef RUBY_NODE_H
|
|
2
|
+
#define RUBY_NODE_H 1
|
|
3
|
+
/**********************************************************************
|
|
4
|
+
|
|
5
|
+
node.h -
|
|
6
|
+
|
|
7
|
+
$Author$
|
|
8
|
+
created at: Fri May 28 15:14:02 JST 1993
|
|
9
|
+
|
|
10
|
+
Copyright (C) 1993-2007 Yukihiro Matsumoto
|
|
11
|
+
|
|
12
|
+
**********************************************************************/
|
|
13
|
+
|
|
14
|
+
#include <stdbool.h>
|
|
15
|
+
#include "rubyparser.h"
|
|
16
|
+
#include "ruby/backward/2/attributes.h"
|
|
17
|
+
|
|
18
|
+
typedef void (*bug_report_func)(const char *fmt, ...);
|
|
19
|
+
|
|
20
|
+
typedef struct node_buffer_elem_struct {
|
|
21
|
+
struct node_buffer_elem_struct *next;
|
|
22
|
+
long len; /* Length of nodes */
|
|
23
|
+
size_t allocated; /* Total memory size of allocated buf */
|
|
24
|
+
size_t used; /* Current usage of buf */
|
|
25
|
+
NODE **nodes; /* Array of node pointers */
|
|
26
|
+
NODE *buf[FLEX_ARY_LEN];
|
|
27
|
+
} node_buffer_elem_t;
|
|
28
|
+
|
|
29
|
+
typedef struct {
|
|
30
|
+
node_buffer_elem_t *head;
|
|
31
|
+
node_buffer_elem_t *last;
|
|
32
|
+
} node_buffer_list_t;
|
|
33
|
+
|
|
34
|
+
struct node_buffer_struct {
|
|
35
|
+
node_buffer_list_t unmarkable;
|
|
36
|
+
node_buffer_list_t markable;
|
|
37
|
+
struct rb_ast_local_table_link *local_tables;
|
|
38
|
+
VALUE mark_hash;
|
|
39
|
+
// - id (sequence number)
|
|
40
|
+
// - token_type
|
|
41
|
+
// - text of token
|
|
42
|
+
// - location info
|
|
43
|
+
// Array, whose entry is array
|
|
44
|
+
VALUE tokens;
|
|
45
|
+
#ifdef UNIVERSAL_PARSER
|
|
46
|
+
rb_parser_config_t *config;
|
|
47
|
+
#endif
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
RUBY_SYMBOL_EXPORT_BEGIN
|
|
51
|
+
|
|
52
|
+
#ifdef UNIVERSAL_PARSER
|
|
53
|
+
rb_ast_t *rb_ast_new(rb_parser_config_t *config);
|
|
54
|
+
#else
|
|
55
|
+
rb_ast_t *rb_ast_new(void);
|
|
56
|
+
#endif
|
|
57
|
+
size_t rb_ast_memsize(const rb_ast_t*);
|
|
58
|
+
void rb_ast_dispose(rb_ast_t*);
|
|
59
|
+
VALUE rb_ast_tokens(rb_ast_t *ast);
|
|
60
|
+
#if RUBY_DEBUG
|
|
61
|
+
void rb_ast_node_type_change(NODE *n, enum node_type type);
|
|
62
|
+
#endif
|
|
63
|
+
const char *ruby_node_name(int node);
|
|
64
|
+
void rb_node_init(NODE *n, enum node_type type);
|
|
65
|
+
|
|
66
|
+
void rb_ast_mark(rb_ast_t*);
|
|
67
|
+
void rb_ast_update_references(rb_ast_t*);
|
|
68
|
+
void rb_ast_free(rb_ast_t*);
|
|
69
|
+
void rb_ast_add_mark_object(rb_ast_t*, VALUE);
|
|
70
|
+
void rb_ast_delete_mark_object(rb_ast_t*, VALUE);
|
|
71
|
+
void rb_ast_set_tokens(rb_ast_t*, VALUE);
|
|
72
|
+
NODE *rb_ast_newnode(rb_ast_t*, enum node_type type, size_t size, size_t alignment);
|
|
73
|
+
void rb_ast_delete_node(rb_ast_t*, NODE *n);
|
|
74
|
+
rb_ast_id_table_t *rb_ast_new_local_table(rb_ast_t*, int);
|
|
75
|
+
rb_ast_id_table_t *rb_ast_resize_latest_local_table(rb_ast_t*, int);
|
|
76
|
+
|
|
77
|
+
VALUE rb_parser_dump_tree(const NODE *node, int comment);
|
|
78
|
+
|
|
79
|
+
const struct kwtable *rb_reserved_word(const char *, unsigned int);
|
|
80
|
+
|
|
81
|
+
struct parser_params;
|
|
82
|
+
void *rb_parser_malloc(struct parser_params *, size_t);
|
|
83
|
+
void *rb_parser_realloc(struct parser_params *, void *, size_t);
|
|
84
|
+
void *rb_parser_calloc(struct parser_params *, size_t, size_t);
|
|
85
|
+
void rb_parser_free(struct parser_params *, void *);
|
|
86
|
+
PRINTF_ARGS(void rb_parser_printf(struct parser_params *parser, const char *fmt, ...), 2, 3);
|
|
87
|
+
VALUE rb_node_set_type(NODE *n, enum node_type t);
|
|
88
|
+
|
|
89
|
+
RUBY_SYMBOL_EXPORT_END
|
|
90
|
+
|
|
91
|
+
#define NODE_LSHIFT (NODE_TYPESHIFT+7)
|
|
92
|
+
#define NODE_LMASK (((SIGNED_VALUE)1<<(sizeof(VALUE)*CHAR_BIT-NODE_LSHIFT))-1)
|
|
93
|
+
|
|
94
|
+
#define nd_line(n) (int)(((SIGNED_VALUE)(n)->flags)>>NODE_LSHIFT)
|
|
95
|
+
#define nd_set_line(n,l) \
|
|
96
|
+
(n)->flags=(((n)->flags&~((VALUE)(-1)<<NODE_LSHIFT))|((VALUE)((l)&NODE_LMASK)<<NODE_LSHIFT))
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
#define NODE_SPECIAL_REQUIRED_KEYWORD ((NODE *)-1)
|
|
100
|
+
#define NODE_REQUIRED_KEYWORD_P(node) ((node) == NODE_SPECIAL_REQUIRED_KEYWORD)
|
|
101
|
+
#define NODE_SPECIAL_NO_NAME_REST ((NODE *)-1)
|
|
102
|
+
#define NODE_NAMED_REST_P(node) ((node) != NODE_SPECIAL_NO_NAME_REST)
|
|
103
|
+
#define NODE_SPECIAL_EXCESSIVE_COMMA ((ID)1)
|
|
104
|
+
#define NODE_SPECIAL_NO_REST_KEYWORD ((NODE *)-1)
|
|
105
|
+
|
|
106
|
+
#define nd_first_column(n) ((int)(RNODE(n)->nd_loc.beg_pos.column))
|
|
107
|
+
#define nd_set_first_column(n, v) (RNODE(n)->nd_loc.beg_pos.column = (v))
|
|
108
|
+
#define nd_first_lineno(n) ((int)(RNODE(n)->nd_loc.beg_pos.lineno))
|
|
109
|
+
#define nd_set_first_lineno(n, v) (RNODE(n)->nd_loc.beg_pos.lineno = (v))
|
|
110
|
+
#define nd_first_loc(n) (RNODE(n)->nd_loc.beg_pos)
|
|
111
|
+
#define nd_set_first_loc(n, v) (nd_first_loc(n) = (v))
|
|
112
|
+
|
|
113
|
+
#define nd_last_column(n) ((int)(RNODE(n)->nd_loc.end_pos.column))
|
|
114
|
+
#define nd_set_last_column(n, v) (RNODE(n)->nd_loc.end_pos.column = (v))
|
|
115
|
+
#define nd_last_lineno(n) ((int)(RNODE(n)->nd_loc.end_pos.lineno))
|
|
116
|
+
#define nd_set_last_lineno(n, v) (RNODE(n)->nd_loc.end_pos.lineno = (v))
|
|
117
|
+
#define nd_last_loc(n) (RNODE(n)->nd_loc.end_pos)
|
|
118
|
+
#define nd_set_last_loc(n, v) (nd_last_loc(n) = (v))
|
|
119
|
+
#define nd_node_id(n) (RNODE(n)->node_id)
|
|
120
|
+
#define nd_set_node_id(n,id) (RNODE(n)->node_id = (id))
|
|
121
|
+
|
|
122
|
+
static inline bool
|
|
123
|
+
nd_type_p(const NODE *n, enum node_type t)
|
|
124
|
+
{
|
|
125
|
+
return (enum node_type)nd_type(n) == t;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
#endif /* RUBY_NODE_H */
|
|
@@ -88,8 +88,6 @@
|
|
|
88
88
|
return "NODE_LIST";
|
|
89
89
|
case NODE_ZLIST:
|
|
90
90
|
return "NODE_ZLIST";
|
|
91
|
-
case NODE_VALUES:
|
|
92
|
-
return "NODE_VALUES";
|
|
93
91
|
case NODE_HASH:
|
|
94
92
|
return "NODE_HASH";
|
|
95
93
|
case NODE_RETURN:
|
|
@@ -208,3 +206,7 @@
|
|
|
208
206
|
return "NODE_FNDPTN";
|
|
209
207
|
case NODE_ERROR:
|
|
210
208
|
return "NODE_ERROR";
|
|
209
|
+
case NODE_RIPPER:
|
|
210
|
+
return "NODE_RIPPER";
|
|
211
|
+
case NODE_RIPPER_VALUES:
|
|
212
|
+
return "NODE_RIPPER_VALUES";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* A Bison parser, made by
|
|
1
|
+
/* A Bison parser, made by Lrama 0.5.9. */
|
|
2
2
|
|
|
3
3
|
/* Bison interface for Yacc-like parsers in C
|
|
4
4
|
|
|
@@ -34,17 +34,17 @@
|
|
|
34
34
|
/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
|
|
35
35
|
especially those whose name start with YY_ or yy_. They are
|
|
36
36
|
private implementation details that can be changed or removed. */
|
|
37
|
-
|
|
38
|
-
#
|
|
39
|
-
# define YY_YY__Y_TAB_H_INCLUDED
|
|
37
|
+
#ifndef YY_YY_PARSE_H_INCLUDED
|
|
38
|
+
# define YY_YY_PARSE_H_INCLUDED
|
|
40
39
|
/* Debug traces. */
|
|
41
40
|
#ifndef YYDEBUG
|
|
42
41
|
# define YYDEBUG 0
|
|
43
42
|
#endif
|
|
44
|
-
#if YYDEBUG
|
|
43
|
+
#if YYDEBUG && !defined(yydebug)
|
|
45
44
|
extern int yydebug;
|
|
46
45
|
#endif
|
|
47
46
|
|
|
47
|
+
|
|
48
48
|
/* Token kinds. */
|
|
49
49
|
#ifndef YYTOKENTYPE
|
|
50
50
|
# define YYTOKENTYPE
|
|
@@ -190,9 +190,19 @@ extern int yydebug;
|
|
|
190
190
|
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
|
|
191
191
|
union YYSTYPE
|
|
192
192
|
{
|
|
193
|
+
#line 1947 "parse.y"
|
|
193
194
|
|
|
194
195
|
VALUE val;
|
|
195
196
|
NODE *node;
|
|
197
|
+
rb_node_fcall_t *node_fcall;
|
|
198
|
+
rb_node_args_t *node_args;
|
|
199
|
+
rb_node_args_aux_t *node_args_aux;
|
|
200
|
+
rb_node_opt_arg_t *node_opt_arg;
|
|
201
|
+
rb_node_kw_arg_t *node_kw_arg;
|
|
202
|
+
rb_node_block_pass_t *node_block_pass;
|
|
203
|
+
rb_node_masgn_t *node_masgn;
|
|
204
|
+
rb_node_def_temp_t *node_def_temp;
|
|
205
|
+
rb_node_exits_t *node_exits;
|
|
196
206
|
ID id;
|
|
197
207
|
int num;
|
|
198
208
|
st_table *tbl;
|
|
@@ -200,6 +210,7 @@ union YYSTYPE
|
|
|
200
210
|
struct rb_strterm_struct *strterm;
|
|
201
211
|
struct lex_context ctxt;
|
|
202
212
|
|
|
213
|
+
#line 214 "parse.h"
|
|
203
214
|
|
|
204
215
|
};
|
|
205
216
|
typedef union YYSTYPE YYSTYPE;
|
|
@@ -227,4 +238,6 @@ struct YYLTYPE
|
|
|
227
238
|
int yyparse (struct parser_params *p);
|
|
228
239
|
|
|
229
240
|
|
|
230
|
-
|
|
241
|
+
|
|
242
|
+
#endif /* !YY_YY_PARSE_H_INCLUDED */
|
|
243
|
+
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
#ifndef
|
|
2
|
-
#define
|
|
1
|
+
#ifndef INTERNAL_BITS2_H /*-*-C-*-vi:se ft=c:*/
|
|
2
|
+
#define INTERNAL_BITS2_H
|
|
3
3
|
/**
|
|
4
4
|
* @author Ruby developers <ruby-core@ruby-lang.org>
|
|
5
5
|
* @copyright This file is a part of the programming language Ruby.
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
# endif
|
|
69
69
|
#endif
|
|
70
70
|
|
|
71
|
-
#include "
|
|
71
|
+
#include "parser_value.h" /* for VALUE */
|
|
72
72
|
#include "internal/static_assert.h" /* for STATIC_ASSERT */
|
|
73
73
|
|
|
74
74
|
/* The most significant bit of the lower part of half-long integer.
|
|
@@ -561,4 +561,4 @@ RUBY_BIT_ROTR(VALUE v, int n)
|
|
|
561
561
|
#endif
|
|
562
562
|
}
|
|
563
563
|
|
|
564
|
-
#endif /*
|
|
564
|
+
#endif /* INTERNAL_BITS2_H */
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
#ifndef RUBY_PARSER_NODE_H
|
|
2
|
+
#define RUBY_PARSER_NODE_H 1
|
|
3
|
+
/*
|
|
4
|
+
* This is a header file used by only "parse.y"
|
|
5
|
+
*/
|
|
6
|
+
#include "rubyparser.h"
|
|
7
|
+
#include "internal/compilers.h"
|
|
8
|
+
|
|
9
|
+
#if defined(__cplusplus)
|
|
10
|
+
extern "C" {
|
|
11
|
+
#if 0
|
|
12
|
+
} /* satisfy cc-mode */
|
|
13
|
+
#endif
|
|
14
|
+
#endif
|
|
15
|
+
|
|
16
|
+
static inline rb_code_location_t
|
|
17
|
+
code_loc_gen(const rb_code_location_t *loc1, const rb_code_location_t *loc2)
|
|
18
|
+
{
|
|
19
|
+
rb_code_location_t loc;
|
|
20
|
+
loc.beg_pos = loc1->beg_pos;
|
|
21
|
+
loc.end_pos = loc2->end_pos;
|
|
22
|
+
return loc;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
#if defined(__cplusplus)
|
|
26
|
+
#if 0
|
|
27
|
+
{ /* satisfy cc-mode */
|
|
28
|
+
#endif
|
|
29
|
+
} /* extern "C" { */
|
|
30
|
+
#endif
|
|
31
|
+
|
|
32
|
+
#endif /* RUBY_PARSER_NODE_H */
|