ruby-internal 0.7.3 → 0.8.0
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.
- data/bin/ruby-internal-node-dump +1 -1
- data/bin/ruby-internal-obfuscate +1 -1
- data/ext/cached/ruby-1.8.4/internal/method/{method.h → internal_method.h} +12 -0
- data/ext/cached/ruby-1.8.4/internal/module/getcfp.h +13 -0
- data/ext/cached/ruby-1.8.4/internal/node/global_entry.h +94 -0
- data/ext/cached/ruby-1.8.4/internal/node/node_type_descrip.c +41 -41
- data/ext/cached/ruby-1.8.4/internal/node/nodeinfo.c +288 -273
- data/ext/cached/ruby-1.8.4/internal/vm/instruction/insns_info.c +3 -0
- data/ext/cached/ruby-1.8.4/internal/vm/iseq/iseq_load.inc +21 -2
- data/ext/cached/{ruby-1.8.3/internal/method/method.h → ruby-1.8.5/internal/method/internal_method.h} +12 -0
- data/ext/cached/ruby-1.8.5/internal/module/getcfp.h +13 -0
- data/ext/cached/ruby-1.8.5/internal/node/global_entry.h +94 -0
- data/ext/cached/ruby-1.8.5/internal/node/node_type_descrip.c +45 -45
- data/ext/cached/ruby-1.8.5/internal/node/nodeinfo.c +310 -295
- data/ext/cached/ruby-1.8.5/internal/vm/instruction/insns_info.c +3 -0
- data/ext/cached/ruby-1.8.5/internal/vm/iseq/iseq_load.inc +21 -2
- data/ext/cached/{ruby-1.8.5/internal/method/method.h → ruby-1.8.6/internal/method/internal_method.h} +12 -0
- data/ext/cached/ruby-1.8.6/internal/module/getcfp.h +13 -0
- data/ext/cached/ruby-1.8.6/internal/node/global_entry.h +94 -0
- data/ext/cached/ruby-1.8.6/internal/node/node_type_descrip.c +48 -48
- data/ext/cached/ruby-1.8.6/internal/node/nodeinfo.c +323 -308
- data/ext/cached/ruby-1.8.6/internal/vm/instruction/insns_info.c +3 -0
- data/ext/cached/ruby-1.8.6/internal/vm/iseq/iseq_load.inc +21 -2
- data/ext/cached/{ruby-1.8.6/internal/method/method.h → ruby-1.8.7/internal/method/internal_method.h} +12 -0
- data/ext/cached/ruby-1.8.7/internal/module/getcfp.h +13 -0
- data/ext/cached/ruby-1.8.7/internal/node/global_entry.h +98 -0
- data/ext/cached/ruby-1.8.7/internal/node/node_type_descrip.c +42 -42
- data/ext/cached/ruby-1.8.7/internal/node/nodeinfo.c +276 -261
- data/ext/cached/ruby-1.8.7/internal/vm/instruction/insns_info.c +3 -0
- data/ext/cached/ruby-1.8.7/internal/vm/iseq/iseq_load.inc +21 -2
- data/ext/cached/{ruby-1.9.0/internal/method/method.h → ruby-1.9.1/internal/method/internal_method.h} +12 -0
- data/ext/cached/ruby-1.9.1/internal/module/classpath.c +12 -14
- data/ext/cached/ruby-1.9.1/internal/module/getcfp.h +25 -0
- data/ext/cached/ruby-1.9.1/internal/node/global_entry.h +86 -0
- data/ext/cached/ruby-1.9.1/internal/node/node_type_descrip.c +46 -48
- data/ext/cached/ruby-1.9.1/internal/node/nodeinfo.c +311 -412
- data/ext/cached/ruby-1.9.1/internal/vm/instruction/insns_info.c +3 -0
- data/ext/cached/ruby-1.9.1/internal/vm/iseq/iseq_load.inc +28 -6
- data/ext/cached/ruby-1.9.1/internal/yarv-headers/iseq.h +1 -0
- data/ext/cached/ruby-1.9.1/internal/yarv-headers/parse.h +6 -6
- data/ext/cached/ruby-1.9.1/internal/yarv-headers/revision.h +1 -1
- data/ext/cached/ruby-1.9.1/internal/yarv-headers/version.h +6 -5
- data/ext/cached/ruby-1.9.1/internal/yarv-headers/vm_core.h +3 -2
- data/ext/cached/ruby-1.9.1/internal/yarv-headers/vm_insnhelper.h +1 -0
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/binding/block.h +0 -0
- data/ext/cached/{ruby-1.9.1/internal/method/method.h → ruby-1.9.2/internal/method/internal_method.h} +16 -5
- data/ext/cached/ruby-1.9.2/internal/module/classpath.c +40 -0
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/module/classpath.h +0 -0
- data/ext/cached/ruby-1.9.2/internal/module/getcfp.h +25 -0
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/node/block.h +0 -0
- data/ext/cached/ruby-1.9.2/internal/node/global_entry.h +93 -0
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/node/node_type_descrip.c +44 -48
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/node/nodeinfo.c +291 -439
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/node/nodeinfo.h +0 -0
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/proc/block.h +0 -0
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/tag/tag.h +0 -0
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/vm/instruction/insns_info.c +141 -64
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/vm/instruction/insns_info.h +88 -80
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/vm/iseq/insns_info.inc +77 -70
- data/ext/cached/ruby-1.9.2/internal/vm/iseq/iseq_load.inc +426 -0
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/debug.h +1 -1
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/dln.h +3 -3
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/encdb.h +18 -2
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/eval_intern.h +39 -28
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/gc.h +7 -5
- data/ext/cached/ruby-1.9.2/internal/yarv-headers/id.h +170 -0
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/iseq.h +20 -10
- data/ext/cached/ruby-1.9.2/internal/yarv-headers/method.h +103 -0
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/node.h +14 -47
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/parse.h +31 -148
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/regenc.h +7 -3
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/regint.h +16 -17
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/regparse.h +4 -1
- data/ext/cached/ruby-1.9.2/internal/yarv-headers/revision.h +1 -0
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/thread_pthread.h +4 -1
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/thread_win32.h +1 -1
- data/ext/cached/ruby-1.9.2/internal/yarv-headers/timev.h +21 -0
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/transcode_data.h +20 -10
- data/ext/cached/ruby-1.9.2/internal/yarv-headers/transdb.h +179 -0
- data/ext/cached/ruby-1.9.2/internal/yarv-headers/version.h +55 -0
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/vm_core.h +127 -84
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/vm_exec.h +4 -7
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/vm_insnhelper.h +53 -36
- data/ext/cached/{ruby-1.9.0 → ruby-1.9.2}/internal/yarv-headers/vm_opts.h +1 -1
- data/ext/cached/ruby-1.9.3/internal/binding/block.h +12 -0
- data/ext/cached/ruby-1.9.3/internal/method/internal_method.h +32 -0
- data/ext/cached/ruby-1.9.3/internal/module/classpath.c +40 -0
- data/ext/cached/{ruby-1.8.0 → ruby-1.9.3}/internal/module/classpath.h +5 -2
- data/ext/cached/ruby-1.9.3/internal/module/getcfp.h +25 -0
- data/ext/cached/ruby-1.9.3/internal/node/block.h +12 -0
- data/ext/cached/ruby-1.9.3/internal/node/global_entry.h +93 -0
- data/ext/cached/{ruby-1.8.3 → ruby-1.9.3}/internal/node/node_type_descrip.c +48 -57
- data/ext/cached/{ruby-1.6.8 → ruby-1.9.3}/internal/node/nodeinfo.c +589 -740
- data/ext/cached/{ruby-1.8.0 → ruby-1.9.3}/internal/node/nodeinfo.h +4 -3
- data/ext/cached/ruby-1.9.3/internal/proc/block.h +12 -0
- data/ext/cached/ruby-1.9.3/internal/tag/tag.h +6 -0
- data/ext/cached/ruby-1.9.3/internal/vm/instruction/insns_info.c +6013 -0
- data/ext/cached/ruby-1.9.3/internal/vm/instruction/insns_info.h +899 -0
- data/ext/cached/ruby-1.9.3/internal/vm/iseq/insns_info.inc +707 -0
- data/ext/cached/ruby-1.9.3/internal/vm/iseq/iseq_load.inc +423 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/addr2line.h +21 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/atomic.h +56 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/constant.h +34 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/debug.h +41 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/dln.h +50 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/encdb.h +167 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/eval_intern.h +234 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/gc.h +98 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/id.h +175 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/internal.h +232 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/iseq.h +125 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/method.h +105 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/node.h +503 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/parse.h +186 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/regenc.h +219 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/regint.h +850 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/regparse.h +362 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/revision.h +1 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/thread_pthread.h +51 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/thread_win32.h +40 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/timev.h +21 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/transcode_data.h +117 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/transdb.h +189 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/version.h +52 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/vm_core.h +756 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/vm_exec.h +184 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/vm_insnhelper.h +220 -0
- data/ext/cached/ruby-1.9.3/internal/yarv-headers/vm_opts.h +51 -0
- data/ext/internal/binding/block.h +20 -0
- data/ext/internal/method/internal_method.h +5 -38
- data/ext/internal/method/internal_method.h.rpp +0 -7
- data/ext/internal/method/method.c +52 -32
- data/ext/internal/module/classpath.c +18 -13
- data/ext/internal/module/classpath.h +3 -3
- data/ext/internal/module/extconf.rb +3 -2
- data/ext/internal/module/getcfp.h +13 -0
- data/ext/internal/module/getcfp.h.rpp +44 -0
- data/ext/internal/module/module.c +58 -21
- data/ext/internal/node/block.h +20 -0
- data/ext/internal/node/extconf.rb +2 -0
- data/ext/internal/node/global_entry.h +69 -13
- data/ext/internal/node/global_entry.h.rpp +11 -2
- data/ext/internal/node/node.c +30 -3
- data/ext/internal/node/node_type_descrip.c +47 -38
- data/ext/internal/node/nodeinfo.c +622 -306
- data/ext/internal/node/nodeinfo.h +1 -4
- data/ext/internal/proc/block.h +20 -0
- data/ext/internal/tag/tag.h +10 -0
- data/ext/internal/thread/thread.c +9 -3
- data/ext/internal/vm/extconf.rb +1 -0
- data/ext/internal/vm/instruction/insns_info.c +3 -5974
- data/ext/internal/vm/instruction/insns_info.h +0 -878
- data/ext/internal/vm/iseq/extconf.rb +1 -0
- data/ext/internal/vm/iseq/iseq.c +38 -4
- data/ext/internal/vm/iseq/iseq_load.inc.rpp +23 -5
- data/ext/internal/vm/vm.c +28 -0
- data/lib/internal/classtree.rb +28 -0
- data/lib/internal/debug.rb +10 -2
- data/lib/internal/method/as_code.rb +25 -0
- data/lib/internal/method/as_expression.rb +2 -3
- data/lib/internal/method/origin.rb +29 -0
- data/lib/internal/method/signature.rb +5 -300
- data/lib/internal/method/signature/argument.rb +102 -0
- data/lib/internal/method/signature/iseq.rb +52 -0
- data/lib/internal/method/signature/node.rb +160 -0
- data/lib/internal/method/signature/signature.rb +23 -0
- data/lib/internal/proc/as_code.rb +2 -0
- data/lib/internal/proc/as_expression.rb +2 -0
- data/lib/internal/vm/bytedecoder.rb +5 -5
- data/lib/internal/vm/iseq/as_code.rb +2 -2
- data/lib/internal/vm/iseq/as_expression.rb +2 -2
- data/test/test_dump_method.rb +1 -1
- data/test/test_method.rb +21 -3
- data/test/test_node.rb +20 -4
- metadata +152 -155
- data/ext/cached/ruby-1.6.8/internal/binding/block.h +0 -35
- data/ext/cached/ruby-1.6.8/internal/method/method.h +0 -19
- data/ext/cached/ruby-1.6.8/internal/module/classpath.c +0 -3
- data/ext/cached/ruby-1.6.8/internal/module/classpath.h +0 -8
- data/ext/cached/ruby-1.6.8/internal/node/block.h +0 -35
- data/ext/cached/ruby-1.6.8/internal/node/global_entry.h +0 -15
- data/ext/cached/ruby-1.6.8/internal/node/node_type_descrip.c +0 -149
- data/ext/cached/ruby-1.6.8/internal/node/nodeinfo.h +0 -69
- data/ext/cached/ruby-1.6.8/internal/proc/block.h +0 -35
- data/ext/cached/ruby-1.6.8/internal/tag/tag.h +0 -15
- data/ext/cached/ruby-1.6.8/internal/vm/instruction/insns_info.c +0 -39
- data/ext/cached/ruby-1.6.8/internal/vm/instruction/insns_info.h +0 -21
- data/ext/cached/ruby-1.6.8/internal/vm/iseq/insns_info.inc +0 -12
- data/ext/cached/ruby-1.6.8/internal/vm/iseq/iseq_load.inc +0 -9
- data/ext/cached/ruby-1.8.0/internal/binding/block.h +0 -37
- data/ext/cached/ruby-1.8.0/internal/method/method.h +0 -19
- data/ext/cached/ruby-1.8.0/internal/module/classpath.c +0 -27
- data/ext/cached/ruby-1.8.0/internal/node/block.h +0 -37
- data/ext/cached/ruby-1.8.0/internal/node/global_entry.h +0 -10
- data/ext/cached/ruby-1.8.0/internal/node/node_type_descrip.c +0 -155
- data/ext/cached/ruby-1.8.0/internal/node/nodeinfo.c +0 -5744
- data/ext/cached/ruby-1.8.0/internal/proc/block.h +0 -37
- data/ext/cached/ruby-1.8.0/internal/tag/tag.h +0 -15
- data/ext/cached/ruby-1.8.0/internal/vm/instruction/insns_info.c +0 -39
- data/ext/cached/ruby-1.8.0/internal/vm/instruction/insns_info.h +0 -21
- data/ext/cached/ruby-1.8.0/internal/vm/iseq/insns_info.inc +0 -12
- data/ext/cached/ruby-1.8.0/internal/vm/iseq/iseq_load.inc +0 -9
- data/ext/cached/ruby-1.8.1/internal/binding/block.h +0 -31
- data/ext/cached/ruby-1.8.1/internal/method/method.h +0 -19
- data/ext/cached/ruby-1.8.1/internal/module/classpath.c +0 -27
- data/ext/cached/ruby-1.8.1/internal/module/classpath.h +0 -14
- data/ext/cached/ruby-1.8.1/internal/node/block.h +0 -31
- data/ext/cached/ruby-1.8.1/internal/node/global_entry.h +0 -10
- data/ext/cached/ruby-1.8.1/internal/node/node_type_descrip.c +0 -154
- data/ext/cached/ruby-1.8.1/internal/node/nodeinfo.c +0 -5736
- data/ext/cached/ruby-1.8.1/internal/node/nodeinfo.h +0 -69
- data/ext/cached/ruby-1.8.1/internal/proc/block.h +0 -31
- data/ext/cached/ruby-1.8.1/internal/tag/tag.h +0 -16
- data/ext/cached/ruby-1.8.1/internal/vm/instruction/insns_info.c +0 -39
- data/ext/cached/ruby-1.8.1/internal/vm/instruction/insns_info.h +0 -21
- data/ext/cached/ruby-1.8.1/internal/vm/iseq/insns_info.inc +0 -12
- data/ext/cached/ruby-1.8.1/internal/vm/iseq/iseq_load.inc +0 -9
- data/ext/cached/ruby-1.8.2/internal/binding/block.h +0 -32
- data/ext/cached/ruby-1.8.2/internal/method/method.h +0 -19
- data/ext/cached/ruby-1.8.2/internal/module/classpath.c +0 -45
- data/ext/cached/ruby-1.8.2/internal/module/classpath.h +0 -17
- data/ext/cached/ruby-1.8.2/internal/node/block.h +0 -32
- data/ext/cached/ruby-1.8.2/internal/node/global_entry.h +0 -10
- data/ext/cached/ruby-1.8.2/internal/node/node_type_descrip.c +0 -154
- data/ext/cached/ruby-1.8.2/internal/node/nodeinfo.c +0 -5736
- data/ext/cached/ruby-1.8.2/internal/node/nodeinfo.h +0 -69
- data/ext/cached/ruby-1.8.2/internal/proc/block.h +0 -32
- data/ext/cached/ruby-1.8.2/internal/tag/tag.h +0 -16
- data/ext/cached/ruby-1.8.2/internal/vm/instruction/insns_info.c +0 -39
- data/ext/cached/ruby-1.8.2/internal/vm/instruction/insns_info.h +0 -21
- data/ext/cached/ruby-1.8.2/internal/vm/iseq/insns_info.inc +0 -12
- data/ext/cached/ruby-1.8.2/internal/vm/iseq/iseq_load.inc +0 -9
- data/ext/cached/ruby-1.8.3/internal/binding/block.h +0 -32
- data/ext/cached/ruby-1.8.3/internal/module/classpath.c +0 -45
- data/ext/cached/ruby-1.8.3/internal/module/classpath.h +0 -17
- data/ext/cached/ruby-1.8.3/internal/node/block.h +0 -32
- data/ext/cached/ruby-1.8.3/internal/node/global_entry.h +0 -10
- data/ext/cached/ruby-1.8.3/internal/node/nodeinfo.c +0 -5736
- data/ext/cached/ruby-1.8.3/internal/node/nodeinfo.h +0 -69
- data/ext/cached/ruby-1.8.3/internal/proc/block.h +0 -32
- data/ext/cached/ruby-1.8.3/internal/tag/tag.h +0 -16
- data/ext/cached/ruby-1.8.3/internal/vm/instruction/insns_info.c +0 -39
- data/ext/cached/ruby-1.8.3/internal/vm/instruction/insns_info.h +0 -21
- data/ext/cached/ruby-1.8.3/internal/vm/iseq/insns_info.inc +0 -12
- data/ext/cached/ruby-1.8.3/internal/vm/iseq/iseq_load.inc +0 -9
- data/ext/cached/ruby-1.8.7/internal/method/method.h +0 -20
- data/ext/cached/ruby-1.9.0/internal/module/classpath.c +0 -42
- data/ext/cached/ruby-1.9.0/internal/node/global_entry.h +0 -10
- data/ext/cached/ruby-1.9.0/internal/vm/iseq/iseq_load.inc +0 -13
- data/ext/cached/ruby-1.9.0/internal/yarv-headers/id.h +0 -83
- data/ext/cached/ruby-1.9.0/internal/yarv-headers/revision.h +0 -1
- data/ext/cached/ruby-1.9.0/internal/yarv-headers/transdb.h +0 -67
- data/ext/cached/ruby-1.9.0/internal/yarv-headers/version.h +0 -57
- data/ext/internal/module/cfp.h +0 -13
|
@@ -1,9 +1,28 @@
|
|
|
1
1
|
#ifndef ruby_internal_iseq_load__inc_
|
|
2
2
|
#define ruby_internal_iseq_load__inc_
|
|
3
3
|
|
|
4
|
-
#
|
|
5
|
-
#include "internal/yarv-headers/iseq.h"
|
|
4
|
+
#ifdef HAVE_TYPE_STRUCT_RTYPEDDATA
|
|
6
5
|
|
|
6
|
+
static rb_data_type_t const * p_iseq_data_type;
|
|
7
|
+
|
|
8
|
+
static void init_iseq_data_type()
|
|
9
|
+
{
|
|
10
|
+
rb_proc_t * p;
|
|
11
|
+
VALUE body;
|
|
12
|
+
|
|
13
|
+
VALUE binding = rb_binding_new();
|
|
14
|
+
VALUE new_proc = rb_funcall(
|
|
15
|
+
rb_cObject, rb_intern("eval"), 2, rb_str_new2("proc { }"), binding);
|
|
16
|
+
GetProcPtr(new_proc, p);
|
|
17
|
+
body = p->block.iseq->self;
|
|
18
|
+
|
|
19
|
+
p_iseq_data_type = RTYPEDDATA_TYPE(body);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
#else
|
|
23
|
+
|
|
24
|
+
#endif
|
|
25
|
+
#
|
|
7
26
|
static void
|
|
8
27
|
compile_data_free(struct iseq_compile_data *compile_data)
|
|
9
28
|
{
|
|
@@ -124,7 +143,7 @@ set_relation(rb_iseq_t *iseq, const VALUE parent)
|
|
|
124
143
|
}
|
|
125
144
|
static VALUE
|
|
126
145
|
prepare_iseq_build(rb_iseq_t *iseq,
|
|
127
|
-
VALUE name, VALUE filename,
|
|
146
|
+
VALUE name, VALUE filename, VALUE line_no,
|
|
128
147
|
VALUE parent, VALUE type, VALUE block_opt,
|
|
129
148
|
const rb_compile_option_t *option)
|
|
130
149
|
{
|
|
@@ -133,6 +152,7 @@ prepare_iseq_build(rb_iseq_t *iseq,
|
|
|
133
152
|
|
|
134
153
|
iseq->name = name;
|
|
135
154
|
iseq->filename = filename;
|
|
155
|
+
iseq->line_no = line_no;
|
|
136
156
|
iseq->defined_method_id = 0;
|
|
137
157
|
iseq->mark_ary = rb_ary_new();
|
|
138
158
|
RBASIC(iseq->mark_ary)->klass = 0;
|
|
@@ -166,6 +186,7 @@ prepare_iseq_build(rb_iseq_t *iseq,
|
|
|
166
186
|
iseq->compile_data->storage_head->buff =
|
|
167
187
|
(char *)(&iseq->compile_data->storage_head->buff + 1);
|
|
168
188
|
iseq->compile_data->option = option;
|
|
189
|
+
iseq->compile_data->last_coverable_line = -1;
|
|
169
190
|
|
|
170
191
|
set_relation(iseq, parent);
|
|
171
192
|
|
|
@@ -278,7 +299,7 @@ iseq_load(VALUE self, VALUE data, VALUE parent, VALUE opt)
|
|
|
278
299
|
VALUE iseqval = iseq_alloc(self);
|
|
279
300
|
|
|
280
301
|
VALUE magic, version1, version2, format_type, misc;
|
|
281
|
-
VALUE name, filename;
|
|
302
|
+
VALUE name, filename, line_no;
|
|
282
303
|
VALUE type, body, locals, args, exception;
|
|
283
304
|
|
|
284
305
|
VALUE iseq_type;
|
|
@@ -288,7 +309,7 @@ iseq_load(VALUE self, VALUE data, VALUE parent, VALUE opt)
|
|
|
288
309
|
int i = 0;
|
|
289
310
|
|
|
290
311
|
/* [magic, major_version, minor_version, format_type, misc,
|
|
291
|
-
* name, filename,
|
|
312
|
+
* name, filename, line_no,
|
|
292
313
|
* type, locals, args, exception_table, body]
|
|
293
314
|
*/
|
|
294
315
|
|
|
@@ -302,6 +323,7 @@ iseq_load(VALUE self, VALUE data, VALUE parent, VALUE opt)
|
|
|
302
323
|
|
|
303
324
|
name = CHECK_STRING(rb_ary_entry(data, i++));
|
|
304
325
|
filename = CHECK_STRING(rb_ary_entry(data, i++));
|
|
326
|
+
line_no = CHECK_INTEGER(rb_ary_entry(data, i++));
|
|
305
327
|
|
|
306
328
|
type = CHECK_SYMBOL(rb_ary_entry(data, i++));
|
|
307
329
|
locals = CHECK_ARRAY(rb_ary_entry(data, i++));
|
|
@@ -343,7 +365,7 @@ iseq_load(VALUE self, VALUE data, VALUE parent, VALUE opt)
|
|
|
343
365
|
}
|
|
344
366
|
|
|
345
367
|
make_compile_option(&option, opt);
|
|
346
|
-
prepare_iseq_build(iseq, name, filename,
|
|
368
|
+
prepare_iseq_build(iseq, name, filename, line_no,
|
|
347
369
|
parent, iseq_type, 0, &option);
|
|
348
370
|
|
|
349
371
|
rb_iseq_build_from_ary(iseq, locals, args, exception, body);
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
/* A Bison parser, made by GNU Bison 2.4.1. */
|
|
1
|
+
/* A Bison parser, made by GNU Bison 2.4.3. */
|
|
3
2
|
|
|
4
3
|
/* Skeleton interface for Bison's Yacc-like parsers in C
|
|
5
4
|
|
|
6
|
-
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
|
|
7
|
-
Free Software Foundation, Inc.
|
|
5
|
+
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
|
|
6
|
+
2009, 2010 Free Software Foundation, Inc.
|
|
8
7
|
|
|
9
8
|
This program is free software: you can redistribute it and/or modify
|
|
10
9
|
it under the terms of the GNU General Public License as published by
|
|
@@ -167,16 +166,17 @@
|
|
|
167
166
|
typedef union YYSTYPE
|
|
168
167
|
{
|
|
169
168
|
|
|
170
|
-
/* Line
|
|
169
|
+
/* Line 1685 of yacc.c */
|
|
171
170
|
|
|
172
171
|
VALUE val;
|
|
173
172
|
NODE *node;
|
|
174
173
|
ID id;
|
|
175
174
|
int num;
|
|
175
|
+
const struct vtable *vars;
|
|
176
176
|
|
|
177
177
|
|
|
178
178
|
|
|
179
|
-
/* Line
|
|
179
|
+
/* Line 1685 of yacc.c */
|
|
180
180
|
} YYSTYPE;
|
|
181
181
|
# define YYSTYPE_IS_TRIVIAL 1
|
|
182
182
|
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
#define RUBY_REVISION
|
|
1
|
+
#define RUBY_REVISION 30908
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
#define RUBY_VERSION "1.9.1"
|
|
2
|
-
#define
|
|
3
|
-
#define RUBY_PATCHLEVEL 243
|
|
2
|
+
#define RUBY_PATCHLEVEL 431
|
|
4
3
|
#define RUBY_VERSION_MAJOR 1
|
|
5
4
|
#define RUBY_VERSION_MINOR 9
|
|
6
5
|
#define RUBY_VERSION_TEENY 1
|
|
7
|
-
|
|
8
|
-
#define
|
|
9
|
-
#define
|
|
6
|
+
|
|
7
|
+
#define RUBY_RELEASE_YEAR 2011
|
|
8
|
+
#define RUBY_RELEASE_MONTH 2
|
|
9
|
+
#define RUBY_RELEASE_DAY 18
|
|
10
|
+
#define RUBY_RELEASE_DATE "2011-02-18"
|
|
10
11
|
|
|
11
12
|
#ifdef RUBY_EXTERN
|
|
12
13
|
RUBY_EXTERN const char ruby_version[];
|
|
@@ -132,6 +132,7 @@ struct rb_iseq_struct {
|
|
|
132
132
|
unsigned long iseq_size;
|
|
133
133
|
VALUE mark_ary; /* Array: includes operands which should be GC marked */
|
|
134
134
|
VALUE coverage; /* coverage array */
|
|
135
|
+
unsigned short line_no;
|
|
135
136
|
|
|
136
137
|
/* insn info, must be freed */
|
|
137
138
|
struct iseq_insn_info_entry *insn_info_table;
|
|
@@ -433,8 +434,8 @@ typedef struct rb_thread_struct
|
|
|
433
434
|
VALUE rb_iseq_new(NODE*, VALUE, VALUE, VALUE, VALUE);
|
|
434
435
|
VALUE rb_iseq_new_top(NODE *node, VALUE name, VALUE filename, VALUE parent);
|
|
435
436
|
VALUE rb_iseq_new_main(NODE *node, VALUE filename);
|
|
436
|
-
VALUE rb_iseq_new_with_bopt(NODE*, VALUE, VALUE, VALUE, VALUE, VALUE);
|
|
437
|
-
VALUE rb_iseq_new_with_opt(NODE*, VALUE, VALUE, VALUE, VALUE, const rb_compile_option_t*);
|
|
437
|
+
VALUE rb_iseq_new_with_bopt(NODE*, VALUE, VALUE, VALUE, VALUE, VALUE, VALUE);
|
|
438
|
+
VALUE rb_iseq_new_with_opt(NODE*, VALUE, VALUE, VALUE, VALUE, VALUE, const rb_compile_option_t*);
|
|
438
439
|
VALUE rb_iseq_compile(VALUE src, VALUE file, VALUE line);
|
|
439
440
|
VALUE rb_iseq_disasm(VALUE self);
|
|
440
441
|
VALUE rb_iseq_disasm_insn(VALUE str, VALUE *iseqval, int pos, rb_iseq_t *iseq, VALUE child);
|
|
File without changes
|
data/ext/cached/{ruby-1.9.1/internal/method/method.h → ruby-1.9.2/internal/method/internal_method.h}
RENAMED
|
@@ -3,17 +3,28 @@
|
|
|
3
3
|
|
|
4
4
|
#include <ruby.h>
|
|
5
5
|
|
|
6
|
+
#ifdef RUBY_VM
|
|
7
|
+
#include "method.h"
|
|
8
|
+
#endif
|
|
9
|
+
|
|
6
10
|
#include "internal/node/ruby_internal_node.h"
|
|
7
11
|
|
|
12
|
+
#ifndef FALSE
|
|
13
|
+
#define FALSE 0
|
|
14
|
+
#endif
|
|
15
|
+
|
|
16
|
+
#ifndef TRUE
|
|
17
|
+
#define TRUE (!FALSE)
|
|
18
|
+
#endif
|
|
19
|
+
|
|
8
20
|
struct METHOD {
|
|
9
|
-
VALUE oclass; /* class that holds the method */
|
|
10
|
-
VALUE rclass; /* class of the receiver */
|
|
11
21
|
VALUE recv;
|
|
12
|
-
|
|
13
|
-
|
|
22
|
+
VALUE rclass;
|
|
23
|
+
ID id;
|
|
24
|
+
rb_method_entry_t me;
|
|
14
25
|
};
|
|
15
26
|
|
|
16
|
-
#define METHOD_OCLASS(m) m->
|
|
27
|
+
#define METHOD_OCLASS(m) m->klass
|
|
17
28
|
#define METHOD_RCLASS(m) m->rclass
|
|
18
29
|
|
|
19
30
|
#endif
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
#include "classpath.h"
|
|
2
|
+
|
|
3
|
+
VALUE
|
|
4
|
+
class2path(VALUE klass)
|
|
5
|
+
{
|
|
6
|
+
VALUE path = rb_class_path(klass);
|
|
7
|
+
const char *n;
|
|
8
|
+
|
|
9
|
+
n = must_not_be_anonymous((TYPE(klass) == T_CLASS ? "class" : "module"), path);
|
|
10
|
+
if (rb_path_to_class(path) != rb_class_real(klass)) {
|
|
11
|
+
rb_raise(rb_eTypeError, "%s can't be referred to", n);
|
|
12
|
+
}
|
|
13
|
+
return path;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
VALUE
|
|
17
|
+
path2class(VALUE path)
|
|
18
|
+
{
|
|
19
|
+
VALUE v = rb_path_to_class(path);
|
|
20
|
+
|
|
21
|
+
if (TYPE(v) != T_CLASS) {
|
|
22
|
+
rb_raise(rb_eArgError, "%.*s does not refer to class",
|
|
23
|
+
(int)RSTRING_LEN(path), RSTRING_PTR(path));
|
|
24
|
+
}
|
|
25
|
+
return v;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
VALUE
|
|
29
|
+
path2module(VALUE path)
|
|
30
|
+
{
|
|
31
|
+
VALUE v = rb_path_to_class(path);
|
|
32
|
+
|
|
33
|
+
if (TYPE(v) != T_MODULE) {
|
|
34
|
+
rb_raise(rb_eArgError, "%.*s does not refer to module",
|
|
35
|
+
(int)RSTRING_LEN(path), RSTRING_PTR(path));
|
|
36
|
+
}
|
|
37
|
+
return v;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
|
|
File without changes
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
#ifndef getcfp__h
|
|
2
|
+
#define getcfp__h
|
|
3
|
+
|
|
4
|
+
#include "ruby.h"
|
|
5
|
+
|
|
6
|
+
#ifdef RUBY_VM
|
|
7
|
+
|
|
8
|
+
#include "vm_core.h"
|
|
9
|
+
|
|
10
|
+
static rb_control_frame_t *
|
|
11
|
+
getcfp(rb_thread_t *th, rb_control_frame_t *cfp)
|
|
12
|
+
{
|
|
13
|
+
while (!RUBY_VM_CONTROL_FRAME_STACK_OVERFLOW_P(th, cfp)) {
|
|
14
|
+
if (RUBY_VM_NORMAL_ISEQ_P(cfp->iseq)) {
|
|
15
|
+
return cfp;
|
|
16
|
+
}
|
|
17
|
+
cfp = RUBY_VM_PREVIOUS_CONTROL_FRAME(cfp);
|
|
18
|
+
}
|
|
19
|
+
return 0;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
#endif
|
|
24
|
+
|
|
25
|
+
#endif
|
|
File without changes
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
#ifndef global_entry__h_
|
|
2
|
+
#define global_entry__h_
|
|
3
|
+
|
|
4
|
+
st_table * rb_global_tbl;
|
|
5
|
+
|
|
6
|
+
#define global_entry rb_global_entry
|
|
7
|
+
#define gvar_getter_t rb_gvar_getter_t
|
|
8
|
+
#define gvar_setter_t rb_gvar_setter_t
|
|
9
|
+
#define gvar_marker_t rb_gvar_marker_t
|
|
10
|
+
struct trace_var {
|
|
11
|
+
int removed;
|
|
12
|
+
void (*func)(VALUE arg, VALUE val);
|
|
13
|
+
VALUE data;
|
|
14
|
+
struct trace_var *next;
|
|
15
|
+
};
|
|
16
|
+
struct global_variable {
|
|
17
|
+
int counter;
|
|
18
|
+
void *data;
|
|
19
|
+
gvar_getter_t *getter;
|
|
20
|
+
gvar_setter_t *setter;
|
|
21
|
+
gvar_marker_t *marker;
|
|
22
|
+
int block_trace;
|
|
23
|
+
struct trace_var *trace;
|
|
24
|
+
};
|
|
25
|
+
#define undef_getter rb_gvar_undef_getter
|
|
26
|
+
#define undef_setter rb_gvar_undef_setter
|
|
27
|
+
#define undef_marker rb_gvar_undef_marker
|
|
28
|
+
struct global_entry*
|
|
29
|
+
rb_global_entry(ID id)
|
|
30
|
+
{
|
|
31
|
+
struct global_entry *entry;
|
|
32
|
+
st_data_t data;
|
|
33
|
+
|
|
34
|
+
if (!st_lookup(rb_global_tbl, (st_data_t)id, &data)) {
|
|
35
|
+
struct global_variable *var;
|
|
36
|
+
entry = ALLOC(struct global_entry);
|
|
37
|
+
var = ALLOC(struct global_variable);
|
|
38
|
+
entry->id = id;
|
|
39
|
+
entry->var = var;
|
|
40
|
+
var->counter = 1;
|
|
41
|
+
var->data = 0;
|
|
42
|
+
var->getter = undef_getter;
|
|
43
|
+
var->setter = undef_setter;
|
|
44
|
+
var->marker = undef_marker;
|
|
45
|
+
|
|
46
|
+
var->block_trace = 0;
|
|
47
|
+
var->trace = 0;
|
|
48
|
+
st_add_direct(rb_global_tbl, id, (st_data_t)entry);
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
entry = (struct global_entry *)data;
|
|
52
|
+
}
|
|
53
|
+
return entry;
|
|
54
|
+
}
|
|
55
|
+
VALUE
|
|
56
|
+
undef_getter(ID id, void *data, struct global_variable *var)
|
|
57
|
+
{
|
|
58
|
+
rb_warning("global variable `%s' not initialized", rb_id2name(id));
|
|
59
|
+
|
|
60
|
+
return Qnil;
|
|
61
|
+
}
|
|
62
|
+
void
|
|
63
|
+
undef_setter(VALUE val, ID id, void *data, struct global_variable *var)
|
|
64
|
+
{
|
|
65
|
+
var->getter = val_getter;
|
|
66
|
+
var->setter = val_setter;
|
|
67
|
+
var->marker = val_marker;
|
|
68
|
+
|
|
69
|
+
var->data = (void*)val;
|
|
70
|
+
}
|
|
71
|
+
void
|
|
72
|
+
undef_marker(VALUE *var)
|
|
73
|
+
{
|
|
74
|
+
}
|
|
75
|
+
VALUE
|
|
76
|
+
val_getter(ID id, void *data, struct global_variable *var)
|
|
77
|
+
{
|
|
78
|
+
return (VALUE)data;
|
|
79
|
+
}
|
|
80
|
+
void
|
|
81
|
+
val_setter(VALUE val, ID id, void *data, struct global_variable *var)
|
|
82
|
+
{
|
|
83
|
+
var->data = (void*)val;
|
|
84
|
+
}
|
|
85
|
+
void
|
|
86
|
+
val_marker(VALUE *var)
|
|
87
|
+
{
|
|
88
|
+
VALUE data = (VALUE)var;
|
|
89
|
+
if (data) rb_gc_mark_maybe(data);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
#endif
|
|
93
|
+
|
|
@@ -2,30 +2,28 @@
|
|
|
2
2
|
#include "version.h"
|
|
3
3
|
|
|
4
4
|
Node_Type_Descrip node_type_descrips_unsorted[] = {
|
|
5
|
-
{ NODE_ALIAS,
|
|
5
|
+
{ NODE_ALIAS, NEN_2ND, NEN_1ST, NEN_NONE, "ALIAS" },
|
|
6
6
|
#ifdef HAVE_NODE_ALLOCA
|
|
7
|
-
{ NODE_ALLOCA, NEN_CFNC,
|
|
7
|
+
{ NODE_ALLOCA, NEN_CFNC, NEN_CNT, NEN_VALUE, "ALLOCA" },
|
|
8
8
|
#endif
|
|
9
|
-
{ NODE_AND,
|
|
10
|
-
{ NODE_ARGS, NEN_REST, NEN_OPT,
|
|
11
|
-
{ NODE_ARGSCAT,
|
|
12
|
-
{ NODE_ARGSPUSH,
|
|
13
|
-
{ NODE_ARRAY,
|
|
14
|
-
{ NODE_ATTRASGN,
|
|
15
|
-
{ NODE_ATTRSET, NEN_VID, NEN_NONE, NEN_NONE, "ATTRSET" },
|
|
9
|
+
{ NODE_AND, NEN_2ND, NEN_1ST, NEN_NONE, "AND" },
|
|
10
|
+
{ NODE_ARGS, NEN_CNT, NEN_REST, NEN_OPT, "ARGS" },
|
|
11
|
+
{ NODE_ARGSCAT, NEN_BODY, NEN_HEAD, NEN_NONE, "ARGSCAT" },
|
|
12
|
+
{ NODE_ARGSPUSH, NEN_BODY, NEN_HEAD, NEN_NONE, "ARGSPUSH" },
|
|
13
|
+
{ NODE_ARRAY, NEN_ALEN, NEN_NEXT, NEN_HEAD, "ARRAY" },
|
|
14
|
+
{ NODE_ATTRASGN, NEN_RECV, NEN_MID, NEN_ARGS, "ATTRASGN" },
|
|
16
15
|
{ NODE_BACK_REF, NEN_NTH, NEN_CNT, NEN_NONE, "BACK_REF" },
|
|
17
16
|
{ NODE_BEGIN, NEN_BODY, NEN_NONE, NEN_NONE, "BEGIN" },
|
|
18
|
-
{ NODE_BLOCK,
|
|
17
|
+
{ NODE_BLOCK, NEN_NEXT, NEN_HEAD, NEN_NONE, "BLOCK" },
|
|
19
18
|
{ NODE_BLOCK_ARG, NEN_CNT, NEN_NONE, NEN_NONE, "BLOCK_ARG" },
|
|
20
19
|
{ NODE_BLOCK_PASS, NEN_BODY, NEN_ITER, NEN_NONE, "BLOCK_PASS" },
|
|
21
20
|
{ NODE_BMETHOD, NEN_CVAL, NEN_NONE, NEN_NONE, "BMETHOD" },
|
|
22
21
|
{ NODE_BREAK, NEN_STTS, NEN_NONE, NEN_NONE, "BREAK" },
|
|
23
|
-
{ NODE_CALL,
|
|
24
|
-
{ NODE_CASE,
|
|
22
|
+
{ NODE_CALL, NEN_RECV, NEN_MID, NEN_ARGS, "CALL" },
|
|
23
|
+
{ NODE_CASE, NEN_BODY, NEN_NEXT, NEN_HEAD, "CASE" },
|
|
25
24
|
{ NODE_CDECL, NEN_VALUE, NEN_VID, NEN_NONE, "CDECL" },
|
|
26
|
-
{
|
|
27
|
-
{
|
|
28
|
-
{ NODE_COLON2, NEN_HEAD, NEN_MID, NEN_NONE, "COLON2" },
|
|
25
|
+
{ NODE_CLASS, NEN_BODY, NEN_SUPER, NEN_CPATH, "CLASS" },
|
|
26
|
+
{ NODE_COLON2, NEN_MID, NEN_HEAD, NEN_NONE, "COLON2" },
|
|
29
27
|
{ NODE_COLON3, NEN_MID, NEN_NONE, NEN_NONE, "COLON3" },
|
|
30
28
|
{ NODE_CONST, NEN_VID, NEN_NONE, NEN_NONE, "CONST" },
|
|
31
29
|
{ NODE_CVAR, NEN_VID, NEN_NONE, NEN_NONE, "CVAR" },
|
|
@@ -34,56 +32,54 @@ Node_Type_Descrip node_type_descrips_unsorted[] = {
|
|
|
34
32
|
{ NODE_DASGN, NEN_VALUE, NEN_VID, NEN_NONE, "DASGN" },
|
|
35
33
|
{ NODE_DASGN_CURR, NEN_VALUE, NEN_VID, NEN_NONE, "DASGN_CURR" },
|
|
36
34
|
{ NODE_DEFINED, NEN_HEAD, NEN_NONE, NEN_NONE, "DEFINED" },
|
|
37
|
-
{ NODE_DEFN, NEN_DEFN,
|
|
38
|
-
{ NODE_DEFS, NEN_DEFN,
|
|
39
|
-
{ NODE_DOT2,
|
|
40
|
-
{ NODE_DOT3,
|
|
41
|
-
{ NODE_DREGX,
|
|
42
|
-
{ NODE_DREGX_ONCE,
|
|
35
|
+
{ NODE_DEFN, NEN_DEFN, NEN_NOEX, NEN_MID, "DEFN" },
|
|
36
|
+
{ NODE_DEFS, NEN_DEFN, NEN_RECV, NEN_MID, "DEFS" },
|
|
37
|
+
{ NODE_DOT2, NEN_END, NEN_STATE, NEN_BEG, "DOT2" },
|
|
38
|
+
{ NODE_DOT3, NEN_END, NEN_STATE, NEN_BEG, "DOT3" },
|
|
39
|
+
{ NODE_DREGX, NEN_CFLAG, NEN_LIT, NEN_NEXT, "DREGX" },
|
|
40
|
+
{ NODE_DREGX_ONCE, NEN_CFLAG, NEN_LIT, NEN_NEXT, "DREGX_ONCE" },
|
|
43
41
|
{ NODE_DSTR, NEN_LIT, NEN_NEXT, NEN_NONE, "DSTR" },
|
|
44
42
|
{ NODE_DSYM, NEN_LIT, NEN_NEXT, NEN_NONE, "DSYM" },
|
|
45
43
|
{ NODE_DVAR, NEN_VID, NEN_NONE, NEN_NONE, "DVAR" },
|
|
46
44
|
{ NODE_DXSTR, NEN_LIT, NEN_NEXT, NEN_NONE, "DXSTR" },
|
|
47
|
-
{ NODE_ENSURE,
|
|
45
|
+
{ NODE_ENSURE, NEN_ENSR, NEN_HEAD, NEN_NONE, "ENSURE" },
|
|
48
46
|
{ NODE_EVSTR, NEN_BODY, NEN_NONE, NEN_NONE, "EVSTR" },
|
|
49
47
|
{ NODE_FALSE, NEN_NONE, NEN_NONE, NEN_NONE, "FALSE" },
|
|
50
|
-
{
|
|
51
|
-
{
|
|
52
|
-
{
|
|
53
|
-
{ NODE_FLIP3, NEN_BEG, NEN_END, NEN_CNT, "FLIP3" },
|
|
48
|
+
{ NODE_FCALL, NEN_MID, NEN_ARGS, NEN_NONE, "FCALL" },
|
|
49
|
+
{ NODE_FLIP2, NEN_CNT, NEN_END, NEN_BEG, "FLIP2" },
|
|
50
|
+
{ NODE_FLIP3, NEN_CNT, NEN_END, NEN_BEG, "FLIP3" },
|
|
54
51
|
{ NODE_FOR, NEN_BODY, NEN_ITER, NEN_VAR, "FOR" },
|
|
55
|
-
{ NODE_GASGN, NEN_VALUE, NEN_VID,
|
|
56
|
-
{ NODE_GVAR,
|
|
52
|
+
{ NODE_GASGN, NEN_ENTRY, NEN_VALUE, NEN_VID, "GASGN" },
|
|
53
|
+
{ NODE_GVAR, NEN_ENTRY, NEN_VID, NEN_NONE, "GVAR" },
|
|
57
54
|
{ NODE_HASH, NEN_HEAD, NEN_NONE, NEN_NONE, "HASH" },
|
|
58
55
|
{ NODE_IASGN, NEN_VALUE, NEN_VID, NEN_NONE, "IASGN" },
|
|
59
|
-
{ NODE_IF,
|
|
60
|
-
{ NODE_IFUNC, NEN_CFNC,
|
|
56
|
+
{ NODE_IF, NEN_BODY, NEN_COND, NEN_ELSE, "IF" },
|
|
57
|
+
{ NODE_IFUNC, NEN_CFNC, NEN_STATE, NEN_TVAL, "IFUNC" },
|
|
61
58
|
{ NODE_ITER, NEN_BODY, NEN_ITER, NEN_VAR, "ITER" },
|
|
62
59
|
{ NODE_IVAR, NEN_VID, NEN_NONE, NEN_NONE, "IVAR" },
|
|
63
|
-
{ NODE_LASGN, NEN_VALUE, NEN_VID,
|
|
60
|
+
{ NODE_LASGN, NEN_CNT, NEN_VALUE, NEN_VID, "LASGN" },
|
|
64
61
|
{ NODE_LIT, NEN_LIT, NEN_NONE, NEN_NONE, "LIT" },
|
|
65
|
-
{ NODE_LVAR,
|
|
66
|
-
{ NODE_MASGN, NEN_ARGS, NEN_HEAD,
|
|
62
|
+
{ NODE_LVAR, NEN_CNT, NEN_VID, NEN_NONE, "LVAR" },
|
|
63
|
+
{ NODE_MASGN, NEN_VALUE, NEN_ARGS, NEN_HEAD, "MASGN" },
|
|
67
64
|
{ NODE_MATCH, NEN_LIT, NEN_VALUE, NEN_NONE, "MATCH" },
|
|
68
|
-
{ NODE_MATCH2,
|
|
69
|
-
{ NODE_MATCH3,
|
|
65
|
+
{ NODE_MATCH2, NEN_RECV, NEN_VALUE, NEN_NONE, "MATCH2" },
|
|
66
|
+
{ NODE_MATCH3, NEN_RECV, NEN_VALUE, NEN_NONE, "MATCH3" },
|
|
70
67
|
{ NODE_MEMO, NEN_NONE, NEN_NONE, NEN_NONE, "MEMO" },
|
|
71
|
-
{
|
|
72
|
-
{ NODE_MODULE, NEN_CPATH, NEN_BODY, NEN_NONE, "MODULE" },
|
|
68
|
+
{ NODE_MODULE, NEN_BODY, NEN_CPATH, NEN_NONE, "MODULE" },
|
|
73
69
|
{ NODE_NEXT, NEN_STTS, NEN_NONE, NEN_NONE, "NEXT" },
|
|
74
70
|
{ NODE_NIL, NEN_NONE, NEN_NONE, NEN_NONE, "NIL" },
|
|
75
71
|
{ NODE_NTH_REF, NEN_NTH, NEN_CNT, NEN_NONE, "NTH_REF" },
|
|
76
72
|
{ NODE_OPT_N, NEN_BODY, NEN_NONE, NEN_NONE, "OPT_N" },
|
|
77
|
-
{ NODE_OP_ASGN1,
|
|
78
|
-
{ NODE_OP_ASGN2,
|
|
79
|
-
{ NODE_OP_ASGN2_ARG,
|
|
80
|
-
{ NODE_OP_ASGN_AND,
|
|
81
|
-
{ NODE_OP_ASGN_OR, NEN_AID, NEN_VALUE,
|
|
82
|
-
{ NODE_OR,
|
|
73
|
+
{ NODE_OP_ASGN1, NEN_RECV, NEN_MID, NEN_ARGS, "OP_ASGN1" },
|
|
74
|
+
{ NODE_OP_ASGN2, NEN_RECV, NEN_NEXT, NEN_VALUE, "OP_ASGN2" },
|
|
75
|
+
{ NODE_OP_ASGN2_ARG, NEN_AID, NEN_MID, NEN_VID, "OP_ASGN2_ARG" },
|
|
76
|
+
{ NODE_OP_ASGN_AND, NEN_RECV, NEN_VALUE, NEN_NONE, "OP_ASGN_AND" },
|
|
77
|
+
{ NODE_OP_ASGN_OR, NEN_RECV, NEN_AID, NEN_VALUE, "OP_ASGN_OR" },
|
|
78
|
+
{ NODE_OR, NEN_2ND, NEN_1ST, NEN_NONE, "OR" },
|
|
83
79
|
{ NODE_POSTEXE, NEN_NONE, NEN_NONE, NEN_NONE, "POSTEXE" },
|
|
84
80
|
{ NODE_REDO, NEN_NONE, NEN_NONE, NEN_NONE, "REDO" },
|
|
85
|
-
{ NODE_RESBODY,
|
|
86
|
-
{ NODE_RESCUE,
|
|
81
|
+
{ NODE_RESBODY, NEN_BODY, NEN_ARGS, NEN_HEAD, "RESBODY" },
|
|
82
|
+
{ NODE_RESCUE, NEN_RESQ, NEN_ELSE, NEN_HEAD, "RESCUE" },
|
|
87
83
|
{ NODE_RETRY, NEN_NONE, NEN_NONE, NEN_NONE, "RETRY" },
|
|
88
84
|
{ NODE_RETURN, NEN_STTS, NEN_NONE, NEN_NONE, "RETURN" },
|
|
89
85
|
{ NODE_SCLASS, NEN_BODY, NEN_RECV, NEN_NONE, "SCLASS" },
|
|
@@ -96,12 +92,12 @@ Node_Type_Descrip node_type_descrips_unsorted[] = {
|
|
|
96
92
|
{ NODE_TRUE, NEN_NONE, NEN_NONE, NEN_NONE, "TRUE" },
|
|
97
93
|
{ NODE_UNDEF, NEN_BODY, NEN_NONE, NEN_NONE, "UNDEF" },
|
|
98
94
|
{ NODE_UNTIL, NEN_BODY, NEN_COND, NEN_STATE, "UNTIL" },
|
|
99
|
-
{ NODE_VALIAS,
|
|
95
|
+
{ NODE_VALIAS, NEN_2ND, NEN_1ST, NEN_NONE, "VALIAS" },
|
|
100
96
|
{ NODE_VCALL, NEN_MID, NEN_NONE, NEN_NONE, "VCALL" },
|
|
101
|
-
{ NODE_WHEN,
|
|
97
|
+
{ NODE_WHEN, NEN_BODY, NEN_NEXT, NEN_HEAD, "WHEN" },
|
|
102
98
|
{ NODE_WHILE, NEN_BODY, NEN_COND, NEN_STATE, "WHILE" },
|
|
103
99
|
{ NODE_XSTR, NEN_LIT, NEN_NONE, NEN_NONE, "XSTR" },
|
|
104
|
-
{ NODE_YIELD,
|
|
100
|
+
{ NODE_YIELD, NEN_STATE, NEN_HEAD, NEN_NONE, "YIELD" },
|
|
105
101
|
{ NODE_ZARRAY, NEN_NONE, NEN_NONE, NEN_NONE, "ZARRAY" },
|
|
106
102
|
{ NODE_ZSUPER, NEN_NONE, NEN_NONE, NEN_NONE, "ZSUPER" },
|
|
107
103
|
{ NODE_LAST, NEN_NONE, NEN_NONE, NEN_NONE, "LAST" },
|