ruby-internal 0.7.3 → 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- 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" },
|