ruby-internal 0.8.0 → 0.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Rakefile +1 -1
- data/bin/ruby-internal-node-dump +1 -1
- data/bin/ruby-internal-obfuscate +1 -1
- data/ext/cached/ruby-1.8.4/internal/node/node_type_descrip.c +45 -45
- data/ext/cached/ruby-1.8.4/internal/node/nodeinfo.c +259 -258
- data/ext/cached/ruby-1.8.5/internal/node/node_type_descrip.c +43 -43
- data/ext/cached/ruby-1.8.5/internal/node/nodeinfo.c +261 -260
- data/ext/cached/ruby-1.8.6/internal/node/node_type_descrip.c +45 -45
- data/ext/cached/ruby-1.8.6/internal/node/nodeinfo.c +261 -260
- data/ext/cached/ruby-1.8.7/internal/node/node_type_descrip.c +37 -37
- data/ext/cached/ruby-1.8.7/internal/node/nodeinfo.c +219 -218
- data/ext/cached/ruby-1.9.1/internal/node/global_entry.h +4 -0
- data/ext/cached/ruby-1.9.1/internal/node/node_type_descrip.c +41 -41
- data/ext/cached/ruby-1.9.1/internal/node/nodeinfo.c +231 -230
- data/ext/cached/ruby-1.9.2/internal/node/global_entry.h +4 -0
- data/ext/cached/ruby-1.9.2/internal/node/node_type_descrip.c +37 -37
- data/ext/cached/ruby-1.9.2/internal/node/nodeinfo.c +206 -205
- data/ext/cached/ruby-1.9.3/internal/node/global_entry.h +4 -0
- data/ext/cached/ruby-1.9.3/internal/node/node_type_descrip.c +41 -41
- data/ext/cached/ruby-1.9.3/internal/node/nodeinfo.c +230 -229
- data/ext/internal/binding/block.h +0 -20
- data/ext/internal/method/internal_method.h +5 -5
- data/ext/internal/module/classpath.c +13 -18
- data/ext/internal/module/classpath.h +3 -3
- data/ext/internal/module/getcfp.h +12 -0
- data/ext/internal/node/block.h +0 -20
- data/ext/internal/node/global_entry.h +31 -42
- data/ext/internal/node/global_entry.h.rpp +1 -1
- data/ext/internal/node/node_type_descrip.c +38 -47
- data/ext/internal/node/nodeinfo.c +311 -626
- data/ext/internal/node/nodeinfo.h +4 -1
- data/ext/internal/proc/block.h +0 -20
- data/ext/internal/tag/tag.h +0 -10
- data/ext/internal/vm/instruction/insns_info.c +5974 -3
- data/ext/internal/vm/instruction/insns_info.h +878 -0
- metadata +37 -51
data/Rakefile
CHANGED
data/bin/ruby-internal-node-dump
CHANGED
data/bin/ruby-internal-obfuscate
CHANGED
@@ -2,46 +2,46 @@
|
|
2
2
|
#include "version.h"
|
3
3
|
|
4
4
|
Node_Type_Descrip node_type_descrips_unsorted[] = {
|
5
|
-
{ NODE_ALIAS,
|
5
|
+
{ NODE_ALIAS, NEN_1ST, NEN_2ND, NEN_NONE, "ALIAS" },
|
6
6
|
#ifdef HAVE_NODE_ALLOCA
|
7
|
-
{ NODE_ALLOCA,
|
7
|
+
{ NODE_ALLOCA, NEN_CFNC, NEN_VALUE, NEN_CNT, "ALLOCA" },
|
8
8
|
#endif
|
9
9
|
{ NODE_AND, NEN_2ND, NEN_1ST, NEN_NONE, "AND" },
|
10
|
-
{ NODE_ARGS,
|
11
|
-
{ NODE_ARGSCAT,
|
12
|
-
{ NODE_ARGSPUSH,
|
13
|
-
{ NODE_ARRAY, NEN_ALEN,
|
14
|
-
{ NODE_ATTRASGN, NEN_RECV,
|
10
|
+
{ NODE_ARGS, NEN_REST, NEN_OPT, NEN_CNT, "ARGS" },
|
11
|
+
{ NODE_ARGSCAT, NEN_HEAD, NEN_BODY, NEN_NONE, "ARGSCAT" },
|
12
|
+
{ NODE_ARGSPUSH, NEN_HEAD, NEN_BODY, NEN_NONE, "ARGSPUSH" },
|
13
|
+
{ NODE_ARRAY, NEN_ALEN, NEN_HEAD, NEN_NEXT, "ARRAY" },
|
14
|
+
{ NODE_ATTRASGN, NEN_RECV, NEN_ARGS, NEN_MID, "ATTRASGN" },
|
15
15
|
{ NODE_ATTRSET, NEN_VID, NEN_NONE, NEN_NONE, "ATTRSET" },
|
16
|
-
{ NODE_BACK_REF,
|
16
|
+
{ NODE_BACK_REF, NEN_NTH, NEN_CNT, NEN_NONE, "BACK_REF" },
|
17
17
|
{ NODE_BEGIN, NEN_BODY, NEN_NONE, NEN_NONE, "BEGIN" },
|
18
|
-
{ NODE_BLOCK,
|
18
|
+
{ NODE_BLOCK, NEN_HEAD, NEN_NEXT, NEN_NONE, "BLOCK" },
|
19
19
|
{ NODE_BLOCK_ARG, NEN_CNT, NEN_NONE, NEN_NONE, "BLOCK_ARG" },
|
20
20
|
{ NODE_BLOCK_PASS, NEN_BODY, NEN_ITER, NEN_NONE, "BLOCK_PASS" },
|
21
21
|
{ NODE_BMETHOD, NEN_CVAL, NEN_NONE, NEN_NONE, "BMETHOD" },
|
22
22
|
{ NODE_BREAK, NEN_STTS, NEN_NONE, NEN_NONE, "BREAK" },
|
23
|
-
{ NODE_CALL,
|
24
|
-
{ NODE_CASE, NEN_BODY, NEN_NEXT,
|
23
|
+
{ NODE_CALL, NEN_ARGS, NEN_MID, NEN_RECV, "CALL" },
|
24
|
+
{ NODE_CASE, NEN_HEAD, NEN_BODY, NEN_NEXT, "CASE" },
|
25
25
|
{ NODE_CDECL, NEN_VALUE, NEN_VID, NEN_NONE, "CDECL" },
|
26
26
|
{ NODE_CFUNC, NEN_CFNC, NEN_ARGC, NEN_NONE, "CFUNC" },
|
27
|
-
{ NODE_CLASS,
|
28
|
-
{ NODE_COLON2,
|
27
|
+
{ NODE_CLASS, NEN_SUPER, NEN_CPATH, NEN_BODY, "CLASS" },
|
28
|
+
{ NODE_COLON2, NEN_HEAD, NEN_MID, NEN_NONE, "COLON2" },
|
29
29
|
{ NODE_COLON3, NEN_MID, NEN_NONE, NEN_NONE, "COLON3" },
|
30
30
|
{ NODE_CONST, NEN_VID, NEN_NONE, NEN_NONE, "CONST" },
|
31
|
-
{ NODE_CREF,
|
31
|
+
{ NODE_CREF, NEN_CLSS, NEN_BODY, NEN_NEXT, "CREF" },
|
32
32
|
{ NODE_CVAR, NEN_VID, NEN_NONE, NEN_NONE, "CVAR" },
|
33
33
|
{ NODE_CVASGN, NEN_VALUE, NEN_VID, NEN_NONE, "CVASGN" },
|
34
34
|
{ NODE_CVDECL, NEN_VALUE, NEN_VID, NEN_NONE, "CVDECL" },
|
35
35
|
{ NODE_DASGN, NEN_VALUE, NEN_VID, NEN_NONE, "DASGN" },
|
36
36
|
{ NODE_DASGN_CURR, NEN_VALUE, NEN_VID, NEN_NONE, "DASGN_CURR" },
|
37
37
|
{ NODE_DEFINED, NEN_HEAD, NEN_NONE, NEN_NONE, "DEFINED" },
|
38
|
-
{ NODE_DEFN,
|
39
|
-
{ NODE_DEFS, NEN_RECV, NEN_MID,
|
38
|
+
{ NODE_DEFN, NEN_DEFN, NEN_MID, NEN_NOEX, "DEFN" },
|
39
|
+
{ NODE_DEFS, NEN_DEFN, NEN_RECV, NEN_MID, "DEFS" },
|
40
40
|
{ NODE_DMETHOD, NEN_CVAL, NEN_NONE, NEN_NONE, "DMETHOD" },
|
41
|
-
{ NODE_DOT2,
|
42
|
-
{ NODE_DOT3,
|
43
|
-
{ NODE_DREGX, NEN_LIT,
|
44
|
-
{ NODE_DREGX_ONCE, NEN_LIT,
|
41
|
+
{ NODE_DOT2, NEN_BEG, NEN_END, NEN_STATE, "DOT2" },
|
42
|
+
{ NODE_DOT3, NEN_BEG, NEN_END, NEN_STATE, "DOT3" },
|
43
|
+
{ NODE_DREGX, NEN_LIT, NEN_NEXT, NEN_CFLAG, "DREGX" },
|
44
|
+
{ NODE_DREGX_ONCE, NEN_LIT, NEN_NEXT, NEN_CFLAG, "DREGX_ONCE" },
|
45
45
|
{ NODE_DSTR, NEN_LIT, NEN_NEXT, NEN_NONE, "DSTR" },
|
46
46
|
{ NODE_DSYM, NEN_LIT, NEN_NEXT, NEN_NONE, "DSYM" },
|
47
47
|
{ NODE_DVAR, NEN_VID, NEN_NONE, NEN_NONE, "DVAR" },
|
@@ -49,45 +49,45 @@ Node_Type_Descrip node_type_descrips_unsorted[] = {
|
|
49
49
|
{ NODE_ENSURE, NEN_HEAD, NEN_ENSR, NEN_NONE, "ENSURE" },
|
50
50
|
{ NODE_EVSTR, NEN_BODY, NEN_NONE, NEN_NONE, "EVSTR" },
|
51
51
|
{ NODE_FALSE, NEN_NONE, NEN_NONE, NEN_NONE, "FALSE" },
|
52
|
-
{ NODE_FBODY,
|
53
|
-
{ NODE_FCALL,
|
54
|
-
{ NODE_FLIP2, NEN_CNT,
|
55
|
-
{ NODE_FLIP3, NEN_CNT,
|
52
|
+
{ NODE_FBODY, NEN_ORIG, NEN_MID, NEN_HEAD, "FBODY" },
|
53
|
+
{ NODE_FCALL, NEN_ARGS, NEN_MID, NEN_NONE, "FCALL" },
|
54
|
+
{ NODE_FLIP2, NEN_CNT, NEN_BEG, NEN_END, "FLIP2" },
|
55
|
+
{ NODE_FLIP3, NEN_CNT, NEN_BEG, NEN_END, "FLIP3" },
|
56
56
|
{ NODE_FOR, NEN_BODY, NEN_ITER, NEN_VAR, "FOR" },
|
57
57
|
{ NODE_GASGN, NEN_VALUE, NEN_VID, NEN_ENTRY, "GASGN" },
|
58
58
|
{ NODE_GVAR, NEN_VID, NEN_ENTRY, NEN_NONE, "GVAR" },
|
59
59
|
{ NODE_HASH, NEN_HEAD, NEN_NONE, NEN_NONE, "HASH" },
|
60
60
|
{ NODE_IASGN, NEN_VALUE, NEN_VID, NEN_NONE, "IASGN" },
|
61
|
-
{ NODE_IF,
|
62
|
-
{ NODE_IFUNC, NEN_CFNC,
|
61
|
+
{ NODE_IF, NEN_COND, NEN_BODY, NEN_ELSE, "IF" },
|
62
|
+
{ NODE_IFUNC, NEN_CFNC, NEN_TVAL, NEN_STATE, "IFUNC" },
|
63
63
|
{ NODE_ITER, NEN_BODY, NEN_ITER, NEN_VAR, "ITER" },
|
64
64
|
{ NODE_IVAR, NEN_VID, NEN_NONE, NEN_NONE, "IVAR" },
|
65
|
-
{ NODE_LASGN, NEN_VALUE,
|
65
|
+
{ NODE_LASGN, NEN_VALUE, NEN_VID, NEN_CNT, "LASGN" },
|
66
66
|
{ NODE_LIT, NEN_LIT, NEN_NONE, NEN_NONE, "LIT" },
|
67
|
-
{ NODE_LVAR,
|
68
|
-
{ NODE_MASGN,
|
69
|
-
{ NODE_MATCH,
|
70
|
-
{ NODE_MATCH2,
|
71
|
-
{ NODE_MATCH3,
|
67
|
+
{ NODE_LVAR, NEN_VID, NEN_CNT, NEN_NONE, "LVAR" },
|
68
|
+
{ NODE_MASGN, NEN_ARGS, NEN_HEAD, NEN_VALUE, "MASGN" },
|
69
|
+
{ NODE_MATCH, NEN_LIT, NEN_VALUE, NEN_NONE, "MATCH" },
|
70
|
+
{ NODE_MATCH2, NEN_RECV, NEN_VALUE, NEN_NONE, "MATCH2" },
|
71
|
+
{ NODE_MATCH3, NEN_RECV, NEN_VALUE, NEN_NONE, "MATCH3" },
|
72
72
|
{ NODE_MEMO, NEN_NONE, NEN_NONE, NEN_NONE, "MEMO" },
|
73
|
-
{ NODE_METHOD,
|
74
|
-
{ NODE_MODULE,
|
73
|
+
{ NODE_METHOD, NEN_NOEX, NEN_BODY, NEN_NONE, "METHOD" },
|
74
|
+
{ NODE_MODULE, NEN_CPATH, NEN_BODY, NEN_NONE, "MODULE" },
|
75
75
|
{ NODE_NEWLINE, NEN_NEXT, NEN_NONE, NEN_NONE, "NEWLINE" },
|
76
76
|
{ NODE_NEXT, NEN_STTS, NEN_NONE, NEN_NONE, "NEXT" },
|
77
77
|
{ NODE_NIL, NEN_NONE, NEN_NONE, NEN_NONE, "NIL" },
|
78
78
|
{ NODE_NOT, NEN_BODY, NEN_NONE, NEN_NONE, "NOT" },
|
79
|
-
{ NODE_NTH_REF,
|
79
|
+
{ NODE_NTH_REF, NEN_NTH, NEN_CNT, NEN_NONE, "NTH_REF" },
|
80
80
|
{ NODE_OPT_N, NEN_BODY, NEN_NONE, NEN_NONE, "OPT_N" },
|
81
|
-
{ NODE_OP_ASGN1,
|
82
|
-
{ NODE_OP_ASGN2,
|
83
|
-
{ NODE_OP_ASGN2_ARG,
|
84
|
-
{ NODE_OP_ASGN_AND,
|
85
|
-
{ NODE_OP_ASGN_OR, NEN_VALUE, NEN_RECV,
|
81
|
+
{ NODE_OP_ASGN1, NEN_ARGS, NEN_MID, NEN_RECV, "OP_ASGN1" },
|
82
|
+
{ NODE_OP_ASGN2, NEN_RECV, NEN_NEXT, NEN_VALUE, "OP_ASGN2" },
|
83
|
+
{ NODE_OP_ASGN2_ARG, NEN_VID, NEN_AID, NEN_MID, "OP_ASGN2_ARG" },
|
84
|
+
{ NODE_OP_ASGN_AND, NEN_RECV, NEN_VALUE, NEN_NONE, "OP_ASGN_AND" },
|
85
|
+
{ NODE_OP_ASGN_OR, NEN_AID, NEN_VALUE, NEN_RECV, "OP_ASGN_OR" },
|
86
86
|
{ NODE_OR, NEN_2ND, NEN_1ST, NEN_NONE, "OR" },
|
87
87
|
{ NODE_POSTEXE, NEN_NONE, NEN_NONE, NEN_NONE, "POSTEXE" },
|
88
88
|
{ NODE_REDO, NEN_NONE, NEN_NONE, NEN_NONE, "REDO" },
|
89
|
-
{ NODE_RESBODY, NEN_BODY, NEN_ARGS,
|
90
|
-
{ NODE_RESCUE, NEN_RESQ, NEN_ELSE,
|
89
|
+
{ NODE_RESBODY, NEN_HEAD, NEN_BODY, NEN_ARGS, "RESBODY" },
|
90
|
+
{ NODE_RESCUE, NEN_HEAD, NEN_RESQ, NEN_ELSE, "RESCUE" },
|
91
91
|
{ NODE_RETRY, NEN_NONE, NEN_NONE, NEN_NONE, "RETRY" },
|
92
92
|
{ NODE_RETURN, NEN_STTS, NEN_NONE, NEN_NONE, "RETURN" },
|
93
93
|
{ NODE_SCLASS, NEN_BODY, NEN_RECV, NEN_NONE, "SCLASS" },
|
@@ -101,12 +101,12 @@ Node_Type_Descrip node_type_descrips_unsorted[] = {
|
|
101
101
|
{ NODE_TRUE, NEN_NONE, NEN_NONE, NEN_NONE, "TRUE" },
|
102
102
|
{ NODE_UNDEF, NEN_MID, NEN_NONE, NEN_NONE, "UNDEF" },
|
103
103
|
{ NODE_UNTIL, NEN_BODY, NEN_COND, NEN_STATE, "UNTIL" },
|
104
|
-
{ NODE_VALIAS,
|
104
|
+
{ NODE_VALIAS, NEN_1ST, NEN_2ND, NEN_NONE, "VALIAS" },
|
105
105
|
{ NODE_VCALL, NEN_MID, NEN_NONE, NEN_NONE, "VCALL" },
|
106
|
-
{ NODE_WHEN, NEN_BODY, NEN_NEXT,
|
106
|
+
{ NODE_WHEN, NEN_HEAD, NEN_BODY, NEN_NEXT, "WHEN" },
|
107
107
|
{ NODE_WHILE, NEN_BODY, NEN_COND, NEN_STATE, "WHILE" },
|
108
108
|
{ NODE_XSTR, NEN_LIT, NEN_NONE, NEN_NONE, "XSTR" },
|
109
|
-
{ NODE_YIELD,
|
109
|
+
{ NODE_YIELD, NEN_HEAD, NEN_STATE, NEN_NONE, "YIELD" },
|
110
110
|
{ NODE_ZARRAY, NEN_NONE, NEN_NONE, NEN_NONE, "ZARRAY" },
|
111
111
|
{ NODE_ZSUPER, NEN_NONE, NEN_NONE, NEN_NONE, "ZSUPER" },
|
112
112
|
{ NODE_LAST, NEN_NONE, NEN_NONE, NEN_NONE, "LAST" },
|
@@ -2926,10 +2926,10 @@ void define_node_subclass_methods()
|
|
2926
2926
|
rb_iv_set(rb_cALIAS, "__member__", members);
|
2927
2927
|
rb_iv_set(rb_cALIAS, "__type__", INT2NUM(NODE_ALIAS));
|
2928
2928
|
rb_define_singleton_method(rb_cALIAS, "members", node_s_members, 0);
|
2929
|
-
rb_define_method(rb_cALIAS, "second", node_2nd, 0);
|
2930
|
-
rb_ary_push(members, rb_str_new2("second"));
|
2931
2929
|
rb_define_method(rb_cALIAS, "first", node_1st, 0);
|
2932
2930
|
rb_ary_push(members, rb_str_new2("first"));
|
2931
|
+
rb_define_method(rb_cALIAS, "second", node_2nd, 0);
|
2932
|
+
rb_ary_push(members, rb_str_new2("second"));
|
2933
2933
|
}
|
2934
2934
|
|
2935
2935
|
/* Document-class: Node::ALLOCA
|
@@ -2947,18 +2947,18 @@ void define_node_subclass_methods()
|
|
2947
2947
|
rb_iv_set(rb_cALLOCA, "__type__", INT2NUM(NODE_ALLOCA));
|
2948
2948
|
rb_define_singleton_method(rb_cALLOCA, "members", node_s_members, 0);
|
2949
2949
|
|
2950
|
-
/* Document-method: value
|
2951
|
-
* a pointer to the previously allocated temporary node
|
2952
|
-
*/
|
2953
|
-
rb_define_method(rb_cALLOCA, "value", node_value, 0);
|
2954
|
-
rb_ary_push(members, rb_str_new2("value"));
|
2955
|
-
|
2956
2950
|
/* Document-method: cfnc
|
2957
2951
|
* a pointer to the allocated memory
|
2958
2952
|
*/
|
2959
2953
|
rb_define_method(rb_cALLOCA, "cfnc", node_cfnc, 0);
|
2960
2954
|
rb_ary_push(members, rb_str_new2("cfnc"));
|
2961
2955
|
|
2956
|
+
/* Document-method: value
|
2957
|
+
* a pointer to the previously allocated temporary node
|
2958
|
+
*/
|
2959
|
+
rb_define_method(rb_cALLOCA, "value", node_value, 0);
|
2960
|
+
rb_ary_push(members, rb_str_new2("value"));
|
2961
|
+
|
2962
2962
|
/* Document-method: cnt
|
2963
2963
|
* the number of bytes allocated
|
2964
2964
|
*/
|
@@ -3006,12 +3006,6 @@ void define_node_subclass_methods()
|
|
3006
3006
|
rb_iv_set(rb_cARGS, "__type__", INT2NUM(NODE_ARGS));
|
3007
3007
|
rb_define_singleton_method(rb_cARGS, "members", node_s_members, 0);
|
3008
3008
|
|
3009
|
-
/* Document-method: cnt
|
3010
|
-
* the number of required arguments
|
3011
|
-
*/
|
3012
|
-
rb_define_method(rb_cARGS, "cnt", node_cnt, 0);
|
3013
|
-
rb_ary_push(members, rb_str_new2("cnt"));
|
3014
|
-
|
3015
3009
|
/* Document-method: rest
|
3016
3010
|
* an assignment node to assign the rest arg, if it is present
|
3017
3011
|
*/
|
@@ -3024,6 +3018,12 @@ void define_node_subclass_methods()
|
|
3024
3018
|
*/
|
3025
3019
|
rb_define_method(rb_cARGS, "opt", node_opt, 0);
|
3026
3020
|
rb_ary_push(members, rb_str_new2("opt"));
|
3021
|
+
|
3022
|
+
/* Document-method: cnt
|
3023
|
+
* the number of required arguments
|
3024
|
+
*/
|
3025
|
+
rb_define_method(rb_cARGS, "cnt", node_cnt, 0);
|
3026
|
+
rb_ary_push(members, rb_str_new2("cnt"));
|
3027
3027
|
}
|
3028
3028
|
|
3029
3029
|
/* Document-class: Node::ARGSCAT
|
@@ -3043,18 +3043,18 @@ void define_node_subclass_methods()
|
|
3043
3043
|
rb_iv_set(rb_cARGSCAT, "__type__", INT2NUM(NODE_ARGSCAT));
|
3044
3044
|
rb_define_singleton_method(rb_cARGSCAT, "members", node_s_members, 0);
|
3045
3045
|
|
3046
|
+
/* Document-method: head
|
3047
|
+
* a list of fixed arguments
|
3048
|
+
*/
|
3049
|
+
rb_define_method(rb_cARGSCAT, "head", node_head, 0);
|
3050
|
+
rb_ary_push(members, rb_str_new2("head"));
|
3051
|
+
|
3046
3052
|
/* Document-method: body
|
3047
3053
|
* the last argument, which will be splatted onto the end of the
|
3048
3054
|
* fixed arguments
|
3049
3055
|
*/
|
3050
3056
|
rb_define_method(rb_cARGSCAT, "body", node_body, 0);
|
3051
3057
|
rb_ary_push(members, rb_str_new2("body"));
|
3052
|
-
|
3053
|
-
/* Document-method: head
|
3054
|
-
* a list of fixed arguments
|
3055
|
-
*/
|
3056
|
-
rb_define_method(rb_cARGSCAT, "head", node_head, 0);
|
3057
|
-
rb_ary_push(members, rb_str_new2("head"));
|
3058
3058
|
}
|
3059
3059
|
|
3060
3060
|
/* Document-class: Node::ARGSPUSH
|
@@ -3071,10 +3071,10 @@ void define_node_subclass_methods()
|
|
3071
3071
|
rb_iv_set(rb_cARGSPUSH, "__member__", members);
|
3072
3072
|
rb_iv_set(rb_cARGSPUSH, "__type__", INT2NUM(NODE_ARGSPUSH));
|
3073
3073
|
rb_define_singleton_method(rb_cARGSPUSH, "members", node_s_members, 0);
|
3074
|
-
rb_define_method(rb_cARGSPUSH, "body", node_body, 0);
|
3075
|
-
rb_ary_push(members, rb_str_new2("body"));
|
3076
3074
|
rb_define_method(rb_cARGSPUSH, "head", node_head, 0);
|
3077
3075
|
rb_ary_push(members, rb_str_new2("head"));
|
3076
|
+
rb_define_method(rb_cARGSPUSH, "body", node_body, 0);
|
3077
|
+
rb_ary_push(members, rb_str_new2("body"));
|
3078
3078
|
}
|
3079
3079
|
|
3080
3080
|
/* Document-class: Node::ARRAY
|
@@ -3092,17 +3092,17 @@ void define_node_subclass_methods()
|
|
3092
3092
|
rb_define_method(rb_cARRAY, "alen", node_alen, 0);
|
3093
3093
|
rb_ary_push(members, rb_str_new2("alen"));
|
3094
3094
|
|
3095
|
-
/* Document-method: next
|
3096
|
-
* the tail of the array
|
3097
|
-
*/
|
3098
|
-
rb_define_method(rb_cARRAY, "next", node_next, 0);
|
3099
|
-
rb_ary_push(members, rb_str_new2("next"));
|
3100
|
-
|
3101
3095
|
/* Document-method: head
|
3102
3096
|
* the first element of the array
|
3103
3097
|
*/
|
3104
3098
|
rb_define_method(rb_cARRAY, "head", node_head, 0);
|
3105
3099
|
rb_ary_push(members, rb_str_new2("head"));
|
3100
|
+
|
3101
|
+
/* Document-method: next
|
3102
|
+
* the tail of the array
|
3103
|
+
*/
|
3104
|
+
rb_define_method(rb_cARRAY, "next", node_next, 0);
|
3105
|
+
rb_ary_push(members, rb_str_new2("next"));
|
3106
3106
|
}
|
3107
3107
|
|
3108
3108
|
/* Document-class: Node::ATTRASGN
|
@@ -3125,17 +3125,17 @@ void define_node_subclass_methods()
|
|
3125
3125
|
rb_define_method(rb_cATTRASGN, "recv", node_recv, 0);
|
3126
3126
|
rb_ary_push(members, rb_str_new2("recv"));
|
3127
3127
|
|
3128
|
-
/* Document-method: mid
|
3129
|
-
* the id of the attribute, with a trailing '=' sign
|
3130
|
-
*/
|
3131
|
-
rb_define_method(rb_cATTRASGN, "mid", node_mid, 0);
|
3132
|
-
rb_ary_push(members, rb_str_new2("mid"));
|
3133
|
-
|
3134
3128
|
/* Document-method: args
|
3135
3129
|
* the arguments to the method
|
3136
3130
|
*/
|
3137
3131
|
rb_define_method(rb_cATTRASGN, "args", node_args, 0);
|
3138
3132
|
rb_ary_push(members, rb_str_new2("args"));
|
3133
|
+
|
3134
|
+
/* Document-method: mid
|
3135
|
+
* the id of the attribute, with a trailing '=' sign
|
3136
|
+
*/
|
3137
|
+
rb_define_method(rb_cATTRASGN, "mid", node_mid, 0);
|
3138
|
+
rb_ary_push(members, rb_str_new2("mid"));
|
3139
3139
|
}
|
3140
3140
|
|
3141
3141
|
/* Document-class: Node::ATTRSET
|
@@ -3174,19 +3174,19 @@ void define_node_subclass_methods()
|
|
3174
3174
|
rb_iv_set(rb_cBACK_REF, "__type__", INT2NUM(NODE_BACK_REF));
|
3175
3175
|
rb_define_singleton_method(rb_cBACK_REF, "members", node_s_members, 0);
|
3176
3176
|
|
3177
|
-
/* Document-method: cnt
|
3178
|
-
* the index into the local variable table where the match data is
|
3179
|
-
* stored
|
3180
|
-
*/
|
3181
|
-
rb_define_method(rb_cBACK_REF, "cnt", node_cnt, 0);
|
3182
|
-
rb_ary_push(members, rb_str_new2("cnt"));
|
3183
|
-
|
3184
3177
|
/* Document-method: nth
|
3185
3178
|
* the integer representation of the character of the variable to
|
3186
3179
|
* reference, one of '&', '`', '\'', or '+'
|
3187
3180
|
*/
|
3188
3181
|
rb_define_method(rb_cBACK_REF, "nth", node_nth, 0);
|
3189
3182
|
rb_ary_push(members, rb_str_new2("nth"));
|
3183
|
+
|
3184
|
+
/* Document-method: cnt
|
3185
|
+
* the index into the local variable table where the match data is
|
3186
|
+
* stored
|
3187
|
+
*/
|
3188
|
+
rb_define_method(rb_cBACK_REF, "cnt", node_cnt, 0);
|
3189
|
+
rb_ary_push(members, rb_str_new2("cnt"));
|
3190
3190
|
}
|
3191
3191
|
|
3192
3192
|
/* Document-class: Node::BEGIN
|
@@ -3223,17 +3223,17 @@ void define_node_subclass_methods()
|
|
3223
3223
|
rb_iv_set(rb_cBLOCK, "__type__", INT2NUM(NODE_BLOCK));
|
3224
3224
|
rb_define_singleton_method(rb_cBLOCK, "members", node_s_members, 0);
|
3225
3225
|
|
3226
|
-
/* Document-method: next
|
3227
|
-
* the second expression in the block of code
|
3228
|
-
*/
|
3229
|
-
rb_define_method(rb_cBLOCK, "next", node_next, 0);
|
3230
|
-
rb_ary_push(members, rb_str_new2("next"));
|
3231
|
-
|
3232
3226
|
/* Document-method: head
|
3233
3227
|
* the first expression in the block of code
|
3234
3228
|
*/
|
3235
3229
|
rb_define_method(rb_cBLOCK, "head", node_head, 0);
|
3236
3230
|
rb_ary_push(members, rb_str_new2("head"));
|
3231
|
+
|
3232
|
+
/* Document-method: next
|
3233
|
+
* the second expression in the block of code
|
3234
|
+
*/
|
3235
|
+
rb_define_method(rb_cBLOCK, "next", node_next, 0);
|
3236
|
+
rb_ary_push(members, rb_str_new2("next"));
|
3237
3237
|
}
|
3238
3238
|
|
3239
3239
|
/* Document-class: Node::BLOCK_ARG
|
@@ -3341,11 +3341,11 @@ void define_node_subclass_methods()
|
|
3341
3341
|
rb_iv_set(rb_cCALL, "__type__", INT2NUM(NODE_CALL));
|
3342
3342
|
rb_define_singleton_method(rb_cCALL, "members", node_s_members, 0);
|
3343
3343
|
|
3344
|
-
/* Document-method:
|
3345
|
-
* the
|
3344
|
+
/* Document-method: args
|
3345
|
+
* the arguments to the method
|
3346
3346
|
*/
|
3347
|
-
rb_define_method(rb_cCALL, "
|
3348
|
-
rb_ary_push(members, rb_str_new2("
|
3347
|
+
rb_define_method(rb_cCALL, "args", node_args, 0);
|
3348
|
+
rb_ary_push(members, rb_str_new2("args"));
|
3349
3349
|
|
3350
3350
|
/* Document-method: mid
|
3351
3351
|
* the method id
|
@@ -3353,11 +3353,11 @@ void define_node_subclass_methods()
|
|
3353
3353
|
rb_define_method(rb_cCALL, "mid", node_mid, 0);
|
3354
3354
|
rb_ary_push(members, rb_str_new2("mid"));
|
3355
3355
|
|
3356
|
-
/* Document-method:
|
3357
|
-
* the
|
3356
|
+
/* Document-method: recv
|
3357
|
+
* the receiver of the method
|
3358
3358
|
*/
|
3359
|
-
rb_define_method(rb_cCALL, "
|
3360
|
-
rb_ary_push(members, rb_str_new2("
|
3359
|
+
rb_define_method(rb_cCALL, "recv", node_recv, 0);
|
3360
|
+
rb_ary_push(members, rb_str_new2("recv"));
|
3361
3361
|
}
|
3362
3362
|
|
3363
3363
|
/* Document-class: Node::CASE
|
@@ -3375,6 +3375,12 @@ void define_node_subclass_methods()
|
|
3375
3375
|
rb_iv_set(rb_cCASE, "__type__", INT2NUM(NODE_CASE));
|
3376
3376
|
rb_define_singleton_method(rb_cCASE, "members", node_s_members, 0);
|
3377
3377
|
|
3378
|
+
/* Document-method: head
|
3379
|
+
* the value to select on
|
3380
|
+
*/
|
3381
|
+
rb_define_method(rb_cCASE, "head", node_head, 0);
|
3382
|
+
rb_ary_push(members, rb_str_new2("head"));
|
3383
|
+
|
3378
3384
|
/* Document-method: body
|
3379
3385
|
* a linked list of nodes, each node representing a when
|
3380
3386
|
* conditional
|
@@ -3383,12 +3389,6 @@ void define_node_subclass_methods()
|
|
3383
3389
|
rb_ary_push(members, rb_str_new2("body"));
|
3384
3390
|
rb_define_method(rb_cCASE, "next", node_next, 0);
|
3385
3391
|
rb_ary_push(members, rb_str_new2("next"));
|
3386
|
-
|
3387
|
-
/* Document-method: head
|
3388
|
-
* the value to select on
|
3389
|
-
*/
|
3390
|
-
rb_define_method(rb_cCASE, "head", node_head, 0);
|
3391
|
-
rb_ary_push(members, rb_str_new2("head"));
|
3392
3392
|
}
|
3393
3393
|
|
3394
3394
|
/* Document-class: Node::CDECL
|
@@ -3456,12 +3456,6 @@ void define_node_subclass_methods()
|
|
3456
3456
|
rb_iv_set(rb_cCLASS, "__type__", INT2NUM(NODE_CLASS));
|
3457
3457
|
rb_define_singleton_method(rb_cCLASS, "members", node_s_members, 0);
|
3458
3458
|
|
3459
|
-
/* Document-method: body
|
3460
|
-
* the body of the class definition
|
3461
|
-
*/
|
3462
|
-
rb_define_method(rb_cCLASS, "body", node_body, 0);
|
3463
|
-
rb_ary_push(members, rb_str_new2("body"));
|
3464
|
-
|
3465
3459
|
/* Document-method: super
|
3466
3460
|
* an expression returning the base class, or false if there is no
|
3467
3461
|
* base class specified
|
@@ -3474,6 +3468,12 @@ void define_node_subclass_methods()
|
|
3474
3468
|
*/
|
3475
3469
|
rb_define_method(rb_cCLASS, "cpath", node_cpath, 0);
|
3476
3470
|
rb_ary_push(members, rb_str_new2("cpath"));
|
3471
|
+
|
3472
|
+
/* Document-method: body
|
3473
|
+
* the body of the class definition
|
3474
|
+
*/
|
3475
|
+
rb_define_method(rb_cCLASS, "body", node_body, 0);
|
3476
|
+
rb_ary_push(members, rb_str_new2("body"));
|
3477
3477
|
}
|
3478
3478
|
|
3479
3479
|
/* Document-class: Node::COLON2
|
@@ -3492,17 +3492,17 @@ void define_node_subclass_methods()
|
|
3492
3492
|
rb_iv_set(rb_cCOLON2, "__type__", INT2NUM(NODE_COLON2));
|
3493
3493
|
rb_define_singleton_method(rb_cCOLON2, "members", node_s_members, 0);
|
3494
3494
|
|
3495
|
-
/* Document-method: mid
|
3496
|
-
* the name of the method or constant to call/look up
|
3497
|
-
*/
|
3498
|
-
rb_define_method(rb_cCOLON2, "mid", node_mid, 0);
|
3499
|
-
rb_ary_push(members, rb_str_new2("mid"));
|
3500
|
-
|
3501
3495
|
/* Document-method: head
|
3502
3496
|
* an expression specifying the class in which to do the lookup
|
3503
3497
|
*/
|
3504
3498
|
rb_define_method(rb_cCOLON2, "head", node_head, 0);
|
3505
3499
|
rb_ary_push(members, rb_str_new2("head"));
|
3500
|
+
|
3501
|
+
/* Document-method: mid
|
3502
|
+
* the name of the method or constant to call/look up
|
3503
|
+
*/
|
3504
|
+
rb_define_method(rb_cCOLON2, "mid", node_mid, 0);
|
3505
|
+
rb_ary_push(members, rb_str_new2("mid"));
|
3506
3506
|
}
|
3507
3507
|
|
3508
3508
|
/* Document-class: Node::COLON3
|
@@ -3561,18 +3561,18 @@ void define_node_subclass_methods()
|
|
3561
3561
|
rb_iv_set(rb_cCREF, "__type__", INT2NUM(NODE_CREF));
|
3562
3562
|
rb_define_singleton_method(rb_cCREF, "members", node_s_members, 0);
|
3563
3563
|
|
3564
|
-
/* Document-method: body
|
3565
|
-
* always 0 (false)
|
3566
|
-
*/
|
3567
|
-
rb_define_method(rb_cCREF, "body", node_body, 0);
|
3568
|
-
rb_ary_push(members, rb_str_new2("body"));
|
3569
|
-
|
3570
3564
|
/* Document-method: clss
|
3571
3565
|
* the new class to use for the cbase.
|
3572
3566
|
*/
|
3573
3567
|
rb_define_method(rb_cCREF, "clss", node_clss, 0);
|
3574
3568
|
rb_ary_push(members, rb_str_new2("clss"));
|
3575
3569
|
|
3570
|
+
/* Document-method: body
|
3571
|
+
* always 0 (false)
|
3572
|
+
*/
|
3573
|
+
rb_define_method(rb_cCREF, "body", node_body, 0);
|
3574
|
+
rb_ary_push(members, rb_str_new2("body"));
|
3575
|
+
|
3576
3576
|
/* Document-method: next
|
3577
3577
|
* the previous value of ruby_cref or ruby_top_cref
|
3578
3578
|
*/
|
@@ -3742,11 +3742,11 @@ void define_node_subclass_methods()
|
|
3742
3742
|
rb_iv_set(rb_cDEFN, "__type__", INT2NUM(NODE_DEFN));
|
3743
3743
|
rb_define_singleton_method(rb_cDEFN, "members", node_s_members, 0);
|
3744
3744
|
|
3745
|
-
/* Document-method:
|
3746
|
-
* the
|
3745
|
+
/* Document-method: defn
|
3746
|
+
* the body of the method definition
|
3747
3747
|
*/
|
3748
|
-
rb_define_method(rb_cDEFN, "
|
3749
|
-
rb_ary_push(members, rb_str_new2("
|
3748
|
+
rb_define_method(rb_cDEFN, "defn", node_defn, 0);
|
3749
|
+
rb_ary_push(members, rb_str_new2("defn"));
|
3750
3750
|
|
3751
3751
|
/* Document-method: mid
|
3752
3752
|
* the name of the method* defn the body of the method
|
@@ -3754,11 +3754,11 @@ void define_node_subclass_methods()
|
|
3754
3754
|
rb_define_method(rb_cDEFN, "mid", node_mid, 0);
|
3755
3755
|
rb_ary_push(members, rb_str_new2("mid"));
|
3756
3756
|
|
3757
|
-
/* Document-method:
|
3758
|
-
* the
|
3757
|
+
/* Document-method: noex
|
3758
|
+
* the flags which should be used to define the method
|
3759
3759
|
*/
|
3760
|
-
rb_define_method(rb_cDEFN, "
|
3761
|
-
rb_ary_push(members, rb_str_new2("
|
3760
|
+
rb_define_method(rb_cDEFN, "noex", node_noex, 0);
|
3761
|
+
rb_ary_push(members, rb_str_new2("noex"));
|
3762
3762
|
}
|
3763
3763
|
|
3764
3764
|
/* Document-class: Node::DEFS
|
@@ -3774,6 +3774,8 @@ void define_node_subclass_methods()
|
|
3774
3774
|
rb_iv_set(rb_cDEFS, "__member__", members);
|
3775
3775
|
rb_iv_set(rb_cDEFS, "__type__", INT2NUM(NODE_DEFS));
|
3776
3776
|
rb_define_singleton_method(rb_cDEFS, "members", node_s_members, 0);
|
3777
|
+
rb_define_method(rb_cDEFS, "defn", node_defn, 0);
|
3778
|
+
rb_ary_push(members, rb_str_new2("defn"));
|
3777
3779
|
|
3778
3780
|
/* Document-method: recv
|
3779
3781
|
* the object to whose singleton class the new method is to be added
|
@@ -3786,8 +3788,6 @@ void define_node_subclass_methods()
|
|
3786
3788
|
*/
|
3787
3789
|
rb_define_method(rb_cDEFS, "mid", node_mid, 0);
|
3788
3790
|
rb_ary_push(members, rb_str_new2("mid"));
|
3789
|
-
rb_define_method(rb_cDEFS, "defn", node_defn, 0);
|
3790
|
-
rb_ary_push(members, rb_str_new2("defn"));
|
3791
3791
|
}
|
3792
3792
|
|
3793
3793
|
/* Document-class: Node::DMETHOD
|
@@ -3826,17 +3826,17 @@ void define_node_subclass_methods()
|
|
3826
3826
|
rb_iv_set(rb_cDOT2, "__type__", INT2NUM(NODE_DOT2));
|
3827
3827
|
rb_define_singleton_method(rb_cDOT2, "members", node_s_members, 0);
|
3828
3828
|
|
3829
|
-
/* Document-method: end
|
3830
|
-
* the end of the range
|
3831
|
-
*/
|
3832
|
-
rb_define_method(rb_cDOT2, "end", node_end, 0);
|
3833
|
-
rb_ary_push(members, rb_str_new2("end"));
|
3834
|
-
|
3835
3829
|
/* Document-method: beg
|
3836
3830
|
* the beginning of the range
|
3837
3831
|
*/
|
3838
3832
|
rb_define_method(rb_cDOT2, "beg", node_beg, 0);
|
3839
3833
|
rb_ary_push(members, rb_str_new2("beg"));
|
3834
|
+
|
3835
|
+
/* Document-method: end
|
3836
|
+
* the end of the range
|
3837
|
+
*/
|
3838
|
+
rb_define_method(rb_cDOT2, "end", node_end, 0);
|
3839
|
+
rb_ary_push(members, rb_str_new2("end"));
|
3840
3840
|
rb_define_method(rb_cDOT2, "state", node_state, 0);
|
3841
3841
|
rb_ary_push(members, rb_str_new2("state"));
|
3842
3842
|
}
|
@@ -3854,17 +3854,17 @@ void define_node_subclass_methods()
|
|
3854
3854
|
rb_iv_set(rb_cDOT3, "__type__", INT2NUM(NODE_DOT3));
|
3855
3855
|
rb_define_singleton_method(rb_cDOT3, "members", node_s_members, 0);
|
3856
3856
|
|
3857
|
-
/* Document-method: end
|
3858
|
-
* the end of the range
|
3859
|
-
*/
|
3860
|
-
rb_define_method(rb_cDOT3, "end", node_end, 0);
|
3861
|
-
rb_ary_push(members, rb_str_new2("end"));
|
3862
|
-
|
3863
3857
|
/* Document-method: beg
|
3864
3858
|
* the beginning of the range
|
3865
3859
|
*/
|
3866
3860
|
rb_define_method(rb_cDOT3, "beg", node_beg, 0);
|
3867
3861
|
rb_ary_push(members, rb_str_new2("beg"));
|
3862
|
+
|
3863
|
+
/* Document-method: end
|
3864
|
+
* the end of the range
|
3865
|
+
*/
|
3866
|
+
rb_define_method(rb_cDOT3, "end", node_end, 0);
|
3867
|
+
rb_ary_push(members, rb_str_new2("end"));
|
3868
3868
|
rb_define_method(rb_cDOT3, "state", node_state, 0);
|
3869
3869
|
rb_ary_push(members, rb_str_new2("state"));
|
3870
3870
|
}
|
@@ -3891,6 +3891,12 @@ void define_node_subclass_methods()
|
|
3891
3891
|
rb_define_method(rb_cDREGX, "lit", node_lit, 0);
|
3892
3892
|
rb_ary_push(members, rb_str_new2("lit"));
|
3893
3893
|
|
3894
|
+
/* Document-method: next
|
3895
|
+
* a list of expressions to be appended onto the string
|
3896
|
+
*/
|
3897
|
+
rb_define_method(rb_cDREGX, "next", node_next, 0);
|
3898
|
+
rb_ary_push(members, rb_str_new2("next"));
|
3899
|
+
|
3894
3900
|
/* Document-method: cflag
|
3895
3901
|
* a bitfield containing the options used in the regular
|
3896
3902
|
* expression. Valid values include:
|
@@ -3907,12 +3913,6 @@ void define_node_subclass_methods()
|
|
3907
3913
|
*/
|
3908
3914
|
rb_define_method(rb_cDREGX, "cflag", node_cflag, 0);
|
3909
3915
|
rb_ary_push(members, rb_str_new2("cflag"));
|
3910
|
-
|
3911
|
-
/* Document-method: next
|
3912
|
-
* a list of expressions to be appended onto the string
|
3913
|
-
*/
|
3914
|
-
rb_define_method(rb_cDREGX, "next", node_next, 0);
|
3915
|
-
rb_ary_push(members, rb_str_new2("next"));
|
3916
3916
|
}
|
3917
3917
|
|
3918
3918
|
/* Document-class: Node::DREGX_ONCE
|
@@ -3934,18 +3934,18 @@ void define_node_subclass_methods()
|
|
3934
3934
|
rb_define_method(rb_cDREGX_ONCE, "lit", node_lit, 0);
|
3935
3935
|
rb_ary_push(members, rb_str_new2("lit"));
|
3936
3936
|
|
3937
|
+
/* Document-method: next
|
3938
|
+
* a list of expressions to be appended onto the string
|
3939
|
+
*/
|
3940
|
+
rb_define_method(rb_cDREGX_ONCE, "next", node_next, 0);
|
3941
|
+
rb_ary_push(members, rb_str_new2("next"));
|
3942
|
+
|
3937
3943
|
/* Document-method: cflag
|
3938
3944
|
* a bitfield containing the options used in the regular
|
3939
3945
|
* expression. See DREGX for a list of valid values.
|
3940
3946
|
*/
|
3941
3947
|
rb_define_method(rb_cDREGX_ONCE, "cflag", node_cflag, 0);
|
3942
3948
|
rb_ary_push(members, rb_str_new2("cflag"));
|
3943
|
-
|
3944
|
-
/* Document-method: next
|
3945
|
-
* a list of expressions to be appended onto the string
|
3946
|
-
*/
|
3947
|
-
rb_define_method(rb_cDREGX_ONCE, "next", node_next, 0);
|
3948
|
-
rb_ary_push(members, rb_str_new2("next"));
|
3949
3949
|
}
|
3950
3950
|
|
3951
3951
|
/* Document-class: Node::DSTR
|
@@ -4135,18 +4135,18 @@ void define_node_subclass_methods()
|
|
4135
4135
|
rb_iv_set(rb_cFBODY, "__type__", INT2NUM(NODE_FBODY));
|
4136
4136
|
rb_define_singleton_method(rb_cFBODY, "members", node_s_members, 0);
|
4137
4137
|
|
4138
|
-
/* Document-method: mid
|
4139
|
-
* the name of the method
|
4140
|
-
*/
|
4141
|
-
rb_define_method(rb_cFBODY, "mid", node_mid, 0);
|
4142
|
-
rb_ary_push(members, rb_str_new2("mid"));
|
4143
|
-
|
4144
4138
|
/* Document-method: orig
|
4145
4139
|
* the origin class
|
4146
4140
|
*/
|
4147
4141
|
rb_define_method(rb_cFBODY, "orig", node_orig, 0);
|
4148
4142
|
rb_ary_push(members, rb_str_new2("orig"));
|
4149
4143
|
|
4144
|
+
/* Document-method: mid
|
4145
|
+
* the name of the method
|
4146
|
+
*/
|
4147
|
+
rb_define_method(rb_cFBODY, "mid", node_mid, 0);
|
4148
|
+
rb_ary_push(members, rb_str_new2("mid"));
|
4149
|
+
|
4150
4150
|
/* Document-method: head
|
4151
4151
|
* the method body
|
4152
4152
|
*/
|
@@ -4169,17 +4169,17 @@ void define_node_subclass_methods()
|
|
4169
4169
|
rb_iv_set(rb_cFCALL, "__type__", INT2NUM(NODE_FCALL));
|
4170
4170
|
rb_define_singleton_method(rb_cFCALL, "members", node_s_members, 0);
|
4171
4171
|
|
4172
|
-
/* Document-method: mid
|
4173
|
-
* the method id
|
4174
|
-
*/
|
4175
|
-
rb_define_method(rb_cFCALL, "mid", node_mid, 0);
|
4176
|
-
rb_ary_push(members, rb_str_new2("mid"));
|
4177
|
-
|
4178
4172
|
/* Document-method: args
|
4179
4173
|
* the arguments to the method
|
4180
4174
|
*/
|
4181
4175
|
rb_define_method(rb_cFCALL, "args", node_args, 0);
|
4182
4176
|
rb_ary_push(members, rb_str_new2("args"));
|
4177
|
+
|
4178
|
+
/* Document-method: mid
|
4179
|
+
* the method id
|
4180
|
+
*/
|
4181
|
+
rb_define_method(rb_cFCALL, "mid", node_mid, 0);
|
4182
|
+
rb_ary_push(members, rb_str_new2("mid"));
|
4183
4183
|
}
|
4184
4184
|
|
4185
4185
|
/* Document-class: Node::FLIP2
|
@@ -4203,17 +4203,17 @@ void define_node_subclass_methods()
|
|
4203
4203
|
rb_define_method(rb_cFLIP2, "cnt", node_cnt, 0);
|
4204
4204
|
rb_ary_push(members, rb_str_new2("cnt"));
|
4205
4205
|
|
4206
|
-
/* Document-method: end
|
4207
|
-
* the end of the range
|
4208
|
-
*/
|
4209
|
-
rb_define_method(rb_cFLIP2, "end", node_end, 0);
|
4210
|
-
rb_ary_push(members, rb_str_new2("end"));
|
4211
|
-
|
4212
4206
|
/* Document-method: beg
|
4213
4207
|
* the beginning of the range
|
4214
4208
|
*/
|
4215
4209
|
rb_define_method(rb_cFLIP2, "beg", node_beg, 0);
|
4216
4210
|
rb_ary_push(members, rb_str_new2("beg"));
|
4211
|
+
|
4212
|
+
/* Document-method: end
|
4213
|
+
* the end of the range
|
4214
|
+
*/
|
4215
|
+
rb_define_method(rb_cFLIP2, "end", node_end, 0);
|
4216
|
+
rb_ary_push(members, rb_str_new2("end"));
|
4217
4217
|
}
|
4218
4218
|
|
4219
4219
|
/* Document-class: Node::FLIP3
|
@@ -4237,17 +4237,17 @@ void define_node_subclass_methods()
|
|
4237
4237
|
rb_define_method(rb_cFLIP3, "cnt", node_cnt, 0);
|
4238
4238
|
rb_ary_push(members, rb_str_new2("cnt"));
|
4239
4239
|
|
4240
|
-
/* Document-method: end
|
4241
|
-
* the end of the range
|
4242
|
-
*/
|
4243
|
-
rb_define_method(rb_cFLIP3, "end", node_end, 0);
|
4244
|
-
rb_ary_push(members, rb_str_new2("end"));
|
4245
|
-
|
4246
4240
|
/* Document-method: beg
|
4247
4241
|
* the beginning of the range
|
4248
4242
|
*/
|
4249
4243
|
rb_define_method(rb_cFLIP3, "beg", node_beg, 0);
|
4250
4244
|
rb_ary_push(members, rb_str_new2("beg"));
|
4245
|
+
|
4246
|
+
/* Document-method: end
|
4247
|
+
* the end of the range
|
4248
|
+
*/
|
4249
|
+
rb_define_method(rb_cFLIP3, "end", node_end, 0);
|
4250
|
+
rb_ary_push(members, rb_str_new2("end"));
|
4251
4251
|
}
|
4252
4252
|
|
4253
4253
|
/* Document-class: Node::FOR
|
@@ -4402,6 +4402,7 @@ void define_node_subclass_methods()
|
|
4402
4402
|
*
|
4403
4403
|
* A conditional block using elsif has another IF node as the else
|
4404
4404
|
* expression.
|
4405
|
+
*
|
4405
4406
|
*/
|
4406
4407
|
{
|
4407
4408
|
VALUE rb_cIF = rb_define_class_under(rb_cNode, "IF", rb_cNode);
|
@@ -4411,6 +4412,12 @@ void define_node_subclass_methods()
|
|
4411
4412
|
rb_iv_set(rb_cIF, "__type__", INT2NUM(NODE_IF));
|
4412
4413
|
rb_define_singleton_method(rb_cIF, "members", node_s_members, 0);
|
4413
4414
|
|
4415
|
+
/* Document-method: cond
|
4416
|
+
* the condition to evaluate
|
4417
|
+
*/
|
4418
|
+
rb_define_method(rb_cIF, "cond", node_cond, 0);
|
4419
|
+
rb_ary_push(members, rb_str_new2("cond"));
|
4420
|
+
|
4414
4421
|
/* Document-method: body
|
4415
4422
|
* the expression to evaluate if the expression is true, or false
|
4416
4423
|
* if the expression is empty
|
@@ -4418,12 +4425,6 @@ void define_node_subclass_methods()
|
|
4418
4425
|
rb_define_method(rb_cIF, "body", node_body, 0);
|
4419
4426
|
rb_ary_push(members, rb_str_new2("body"));
|
4420
4427
|
|
4421
|
-
/* Document-method: cond
|
4422
|
-
* the condition to evaluate
|
4423
|
-
*/
|
4424
|
-
rb_define_method(rb_cIF, "cond", node_cond, 0);
|
4425
|
-
rb_ary_push(members, rb_str_new2("cond"));
|
4426
|
-
|
4427
4428
|
/* Document-method: else
|
4428
4429
|
* the expression to evaluate if the expression is false, or false
|
4429
4430
|
* if the expression is empty
|
@@ -4449,18 +4450,18 @@ void define_node_subclass_methods()
|
|
4449
4450
|
rb_define_method(rb_cIFUNC, "cfnc", node_cfnc, 0);
|
4450
4451
|
rb_ary_push(members, rb_str_new2("cfnc"));
|
4451
4452
|
|
4452
|
-
/* Document-method: state
|
4453
|
-
* always 0
|
4454
|
-
*/
|
4455
|
-
rb_define_method(rb_cIFUNC, "state", node_state, 0);
|
4456
|
-
rb_ary_push(members, rb_str_new2("state"));
|
4457
|
-
|
4458
4453
|
/* Document-method: tval
|
4459
4454
|
* the user-specified data to be passed as the second argument to
|
4460
4455
|
* cfnc
|
4461
4456
|
*/
|
4462
4457
|
rb_define_method(rb_cIFUNC, "tval", node_tval, 0);
|
4463
4458
|
rb_ary_push(members, rb_str_new2("tval"));
|
4459
|
+
|
4460
|
+
/* Document-method: state
|
4461
|
+
* always 0
|
4462
|
+
*/
|
4463
|
+
rb_define_method(rb_cIFUNC, "state", node_state, 0);
|
4464
|
+
rb_ary_push(members, rb_str_new2("state"));
|
4464
4465
|
}
|
4465
4466
|
|
4466
4467
|
/* Document-class: Node::ITER
|
@@ -4543,14 +4544,14 @@ void define_node_subclass_methods()
|
|
4543
4544
|
*/
|
4544
4545
|
rb_define_method(rb_cLASGN, "value", node_value, 0);
|
4545
4546
|
rb_ary_push(members, rb_str_new2("value"));
|
4546
|
-
rb_define_method(rb_cLASGN, "cnt", node_cnt, 0);
|
4547
|
-
rb_ary_push(members, rb_str_new2("cnt"));
|
4548
4547
|
|
4549
4548
|
/* Document-method: vid
|
4550
4549
|
* the name of the local variable
|
4551
4550
|
*/
|
4552
4551
|
rb_define_method(rb_cLASGN, "vid", node_vid, 0);
|
4553
4552
|
rb_ary_push(members, rb_str_new2("vid"));
|
4553
|
+
rb_define_method(rb_cLASGN, "cnt", node_cnt, 0);
|
4554
|
+
rb_ary_push(members, rb_str_new2("cnt"));
|
4554
4555
|
}
|
4555
4556
|
|
4556
4557
|
/* Document-class: Node::LIT
|
@@ -4582,14 +4583,14 @@ void define_node_subclass_methods()
|
|
4582
4583
|
rb_iv_set(rb_cLVAR, "__member__", members);
|
4583
4584
|
rb_iv_set(rb_cLVAR, "__type__", INT2NUM(NODE_LVAR));
|
4584
4585
|
rb_define_singleton_method(rb_cLVAR, "members", node_s_members, 0);
|
4585
|
-
rb_define_method(rb_cLVAR, "cnt", node_cnt, 0);
|
4586
|
-
rb_ary_push(members, rb_str_new2("cnt"));
|
4587
4586
|
|
4588
4587
|
/* Document-method: vid
|
4589
4588
|
* the name of the local variable to retrieve.
|
4590
4589
|
*/
|
4591
4590
|
rb_define_method(rb_cLVAR, "vid", node_vid, 0);
|
4592
4591
|
rb_ary_push(members, rb_str_new2("vid"));
|
4592
|
+
rb_define_method(rb_cLVAR, "cnt", node_cnt, 0);
|
4593
|
+
rb_ary_push(members, rb_str_new2("cnt"));
|
4593
4594
|
}
|
4594
4595
|
|
4595
4596
|
/* Document-class: Node::MASGN
|
@@ -4603,12 +4604,6 @@ void define_node_subclass_methods()
|
|
4603
4604
|
rb_iv_set(rb_cMASGN, "__type__", INT2NUM(NODE_MASGN));
|
4604
4605
|
rb_define_singleton_method(rb_cMASGN, "members", node_s_members, 0);
|
4605
4606
|
|
4606
|
-
/* Document-method: value
|
4607
|
-
* TODO
|
4608
|
-
*/
|
4609
|
-
rb_define_method(rb_cMASGN, "value", node_value, 0);
|
4610
|
-
rb_ary_push(members, rb_str_new2("value"));
|
4611
|
-
|
4612
4607
|
/* Document-method: args
|
4613
4608
|
* TODO
|
4614
4609
|
*/
|
@@ -4620,6 +4615,12 @@ void define_node_subclass_methods()
|
|
4620
4615
|
*/
|
4621
4616
|
rb_define_method(rb_cMASGN, "head", node_head, 0);
|
4622
4617
|
rb_ary_push(members, rb_str_new2("head"));
|
4618
|
+
|
4619
|
+
/* Document-method: value
|
4620
|
+
* TODO
|
4621
|
+
*/
|
4622
|
+
rb_define_method(rb_cMASGN, "value", node_value, 0);
|
4623
|
+
rb_ary_push(members, rb_str_new2("value"));
|
4623
4624
|
}
|
4624
4625
|
|
4625
4626
|
/* Document-class: Node::MATCH
|
@@ -4644,17 +4645,17 @@ void define_node_subclass_methods()
|
|
4644
4645
|
rb_iv_set(rb_cMATCH, "__type__", INT2NUM(NODE_MATCH));
|
4645
4646
|
rb_define_singleton_method(rb_cMATCH, "members", node_s_members, 0);
|
4646
4647
|
|
4647
|
-
/* Document-method: value
|
4648
|
-
* the value to compare against
|
4649
|
-
*/
|
4650
|
-
rb_define_method(rb_cMATCH, "value", node_value, 0);
|
4651
|
-
rb_ary_push(members, rb_str_new2("value"));
|
4652
|
-
|
4653
4648
|
/* Document-method: lit
|
4654
4649
|
* the regular expression to use in the condition.
|
4655
4650
|
*/
|
4656
4651
|
rb_define_method(rb_cMATCH, "lit", node_lit, 0);
|
4657
4652
|
rb_ary_push(members, rb_str_new2("lit"));
|
4653
|
+
|
4654
|
+
/* Document-method: value
|
4655
|
+
* the value to compare against
|
4656
|
+
*/
|
4657
|
+
rb_define_method(rb_cMATCH, "value", node_value, 0);
|
4658
|
+
rb_ary_push(members, rb_str_new2("value"));
|
4658
4659
|
}
|
4659
4660
|
|
4660
4661
|
/* Document-class: Node::MATCH2
|
@@ -4682,6 +4683,13 @@ void define_node_subclass_methods()
|
|
4682
4683
|
rb_iv_set(rb_cMATCH2, "__type__", INT2NUM(NODE_MATCH2));
|
4683
4684
|
rb_define_singleton_method(rb_cMATCH2, "members", node_s_members, 0);
|
4684
4685
|
|
4686
|
+
/* Document-method: recv
|
4687
|
+
* the regular expression on the left hand side of the match
|
4688
|
+
* operator
|
4689
|
+
*/
|
4690
|
+
rb_define_method(rb_cMATCH2, "recv", node_recv, 0);
|
4691
|
+
rb_ary_push(members, rb_str_new2("recv"));
|
4692
|
+
|
4685
4693
|
/* Document-method: value
|
4686
4694
|
* the expression on the right hand side of the match operator, or
|
4687
4695
|
* an expression returning $_ if there is nothing on the right hand
|
@@ -4689,13 +4697,6 @@ void define_node_subclass_methods()
|
|
4689
4697
|
*/
|
4690
4698
|
rb_define_method(rb_cMATCH2, "value", node_value, 0);
|
4691
4699
|
rb_ary_push(members, rb_str_new2("value"));
|
4692
|
-
|
4693
|
-
/* Document-method: recv
|
4694
|
-
* the regular expression on the left hand side of the match
|
4695
|
-
* operator
|
4696
|
-
*/
|
4697
|
-
rb_define_method(rb_cMATCH2, "recv", node_recv, 0);
|
4698
|
-
rb_ary_push(members, rb_str_new2("recv"));
|
4699
4700
|
}
|
4700
4701
|
|
4701
4702
|
/* Document-class: Node::MATCH3
|
@@ -4713,17 +4714,17 @@ void define_node_subclass_methods()
|
|
4713
4714
|
rb_iv_set(rb_cMATCH3, "__type__", INT2NUM(NODE_MATCH3));
|
4714
4715
|
rb_define_singleton_method(rb_cMATCH3, "members", node_s_members, 0);
|
4715
4716
|
|
4716
|
-
/* Document-method: value
|
4717
|
-
* the right hand side of the match
|
4718
|
-
*/
|
4719
|
-
rb_define_method(rb_cMATCH3, "value", node_value, 0);
|
4720
|
-
rb_ary_push(members, rb_str_new2("value"));
|
4721
|
-
|
4722
4717
|
/* Document-method: recv
|
4723
4718
|
* the left hand side of the match
|
4724
4719
|
*/
|
4725
4720
|
rb_define_method(rb_cMATCH3, "recv", node_recv, 0);
|
4726
4721
|
rb_ary_push(members, rb_str_new2("recv"));
|
4722
|
+
|
4723
|
+
/* Document-method: value
|
4724
|
+
* the right hand side of the match
|
4725
|
+
*/
|
4726
|
+
rb_define_method(rb_cMATCH3, "value", node_value, 0);
|
4727
|
+
rb_ary_push(members, rb_str_new2("value"));
|
4727
4728
|
}
|
4728
4729
|
|
4729
4730
|
/* Document-class: Node::MEMO
|
@@ -4760,17 +4761,17 @@ void define_node_subclass_methods()
|
|
4760
4761
|
rb_iv_set(rb_cMETHOD, "__type__", INT2NUM(NODE_METHOD));
|
4761
4762
|
rb_define_singleton_method(rb_cMETHOD, "members", node_s_members, 0);
|
4762
4763
|
|
4763
|
-
/* Document-method: body
|
4764
|
-
* the body of the method
|
4765
|
-
*/
|
4766
|
-
rb_define_method(rb_cMETHOD, "body", node_body, 0);
|
4767
|
-
rb_ary_push(members, rb_str_new2("body"));
|
4768
|
-
|
4769
4764
|
/* Document-method: noex
|
4770
4765
|
* the method's flags
|
4771
4766
|
*/
|
4772
4767
|
rb_define_method(rb_cMETHOD, "noex", node_noex, 0);
|
4773
4768
|
rb_ary_push(members, rb_str_new2("noex"));
|
4769
|
+
|
4770
|
+
/* Document-method: body
|
4771
|
+
* the body of the method
|
4772
|
+
*/
|
4773
|
+
rb_define_method(rb_cMETHOD, "body", node_body, 0);
|
4774
|
+
rb_ary_push(members, rb_str_new2("body"));
|
4774
4775
|
}
|
4775
4776
|
|
4776
4777
|
/* Document-class: Node::MODULE
|
@@ -4792,17 +4793,17 @@ void define_node_subclass_methods()
|
|
4792
4793
|
rb_iv_set(rb_cMODULE, "__type__", INT2NUM(NODE_MODULE));
|
4793
4794
|
rb_define_singleton_method(rb_cMODULE, "members", node_s_members, 0);
|
4794
4795
|
|
4795
|
-
/* Document-method: body
|
4796
|
-
* the body of the module definition
|
4797
|
-
*/
|
4798
|
-
rb_define_method(rb_cMODULE, "body", node_body, 0);
|
4799
|
-
rb_ary_push(members, rb_str_new2("body"));
|
4800
|
-
|
4801
4796
|
/* Document-method: cpath
|
4802
4797
|
* the name of the module to define
|
4803
4798
|
*/
|
4804
4799
|
rb_define_method(rb_cMODULE, "cpath", node_cpath, 0);
|
4805
4800
|
rb_ary_push(members, rb_str_new2("cpath"));
|
4801
|
+
|
4802
|
+
/* Document-method: body
|
4803
|
+
* the body of the module definition
|
4804
|
+
*/
|
4805
|
+
rb_define_method(rb_cMODULE, "body", node_body, 0);
|
4806
|
+
rb_ary_push(members, rb_str_new2("body"));
|
4806
4807
|
}
|
4807
4808
|
|
4808
4809
|
/* Document-class: Node::NEWLINE
|
@@ -4881,17 +4882,17 @@ void define_node_subclass_methods()
|
|
4881
4882
|
rb_iv_set(rb_cNTH_REF, "__type__", INT2NUM(NODE_NTH_REF));
|
4882
4883
|
rb_define_singleton_method(rb_cNTH_REF, "members", node_s_members, 0);
|
4883
4884
|
|
4884
|
-
/* Document-method: cnt
|
4885
|
-
* the index into the local variable table where the match data is stored
|
4886
|
-
*/
|
4887
|
-
rb_define_method(rb_cNTH_REF, "cnt", node_cnt, 0);
|
4888
|
-
rb_ary_push(members, rb_str_new2("cnt"));
|
4889
|
-
|
4890
4885
|
/* Document-method: nth
|
4891
4886
|
* the index of the match data item to retrieve
|
4892
4887
|
*/
|
4893
4888
|
rb_define_method(rb_cNTH_REF, "nth", node_nth, 0);
|
4894
4889
|
rb_ary_push(members, rb_str_new2("nth"));
|
4890
|
+
|
4891
|
+
/* Document-method: cnt
|
4892
|
+
* the index into the local variable table where the match data is stored
|
4893
|
+
*/
|
4894
|
+
rb_define_method(rb_cNTH_REF, "cnt", node_cnt, 0);
|
4895
|
+
rb_ary_push(members, rb_str_new2("cnt"));
|
4895
4896
|
}
|
4896
4897
|
|
4897
4898
|
/* Document-class: Node::OPT_N
|
@@ -4944,11 +4945,11 @@ void define_node_subclass_methods()
|
|
4944
4945
|
rb_iv_set(rb_cOP_ASGN1, "__type__", INT2NUM(NODE_OP_ASGN1));
|
4945
4946
|
rb_define_singleton_method(rb_cOP_ASGN1, "members", node_s_members, 0);
|
4946
4947
|
|
4947
|
-
/* Document-method:
|
4948
|
-
* the
|
4948
|
+
/* Document-method: args
|
4949
|
+
* the arguments to the assigment
|
4949
4950
|
*/
|
4950
|
-
rb_define_method(rb_cOP_ASGN1, "
|
4951
|
-
rb_ary_push(members, rb_str_new2("
|
4951
|
+
rb_define_method(rb_cOP_ASGN1, "args", node_args, 0);
|
4952
|
+
rb_ary_push(members, rb_str_new2("args"));
|
4952
4953
|
|
4953
4954
|
/* Document-method: mid
|
4954
4955
|
* 0, 1, or the name a method to call to calculate the value of the
|
@@ -4957,11 +4958,11 @@ void define_node_subclass_methods()
|
|
4957
4958
|
rb_define_method(rb_cOP_ASGN1, "mid", node_mid, 0);
|
4958
4959
|
rb_ary_push(members, rb_str_new2("mid"));
|
4959
4960
|
|
4960
|
-
/* Document-method:
|
4961
|
-
* the
|
4961
|
+
/* Document-method: recv
|
4962
|
+
* the receiver of the assignment
|
4962
4963
|
*/
|
4963
|
-
rb_define_method(rb_cOP_ASGN1, "
|
4964
|
-
rb_ary_push(members, rb_str_new2("
|
4964
|
+
rb_define_method(rb_cOP_ASGN1, "recv", node_recv, 0);
|
4965
|
+
rb_ary_push(members, rb_str_new2("recv"));
|
4965
4966
|
}
|
4966
4967
|
|
4967
4968
|
/* Document-class: Node::OP_ASGN2
|
@@ -4984,12 +4985,6 @@ void define_node_subclass_methods()
|
|
4984
4985
|
rb_iv_set(rb_cOP_ASGN2, "__type__", INT2NUM(NODE_OP_ASGN2));
|
4985
4986
|
rb_define_singleton_method(rb_cOP_ASGN2, "members", node_s_members, 0);
|
4986
4987
|
|
4987
|
-
/* Document-method: value
|
4988
|
-
* the value to assign to the attribute
|
4989
|
-
*/
|
4990
|
-
rb_define_method(rb_cOP_ASGN2, "value", node_value, 0);
|
4991
|
-
rb_ary_push(members, rb_str_new2("value"));
|
4992
|
-
|
4993
4988
|
/* Document-method: recv
|
4994
4989
|
* the receiver of the attribute
|
4995
4990
|
*/
|
@@ -5002,6 +4997,12 @@ void define_node_subclass_methods()
|
|
5002
4997
|
*/
|
5003
4998
|
rb_define_method(rb_cOP_ASGN2, "next", node_next, 0);
|
5004
4999
|
rb_ary_push(members, rb_str_new2("next"));
|
5000
|
+
|
5001
|
+
/* Document-method: value
|
5002
|
+
* the value to assign to the attribute
|
5003
|
+
*/
|
5004
|
+
rb_define_method(rb_cOP_ASGN2, "value", node_value, 0);
|
5005
|
+
rb_ary_push(members, rb_str_new2("value"));
|
5005
5006
|
}
|
5006
5007
|
|
5007
5008
|
/* Document-class: Node::OP_ASGN2_ARG
|
@@ -5017,14 +5018,6 @@ void define_node_subclass_methods()
|
|
5017
5018
|
rb_iv_set(rb_cOP_ASGN2_ARG, "__type__", INT2NUM(NODE_OP_ASGN2_ARG));
|
5018
5019
|
rb_define_singleton_method(rb_cOP_ASGN2_ARG, "members", node_s_members, 0);
|
5019
5020
|
|
5020
|
-
/* Document-method: mid
|
5021
|
-
* The operation to apply to the attribute before setting it. May
|
5022
|
-
* be 0 (false) to indicate "logical or" or 1 (nil) to indicate
|
5023
|
-
* "logical and".
|
5024
|
-
*/
|
5025
|
-
rb_define_method(rb_cOP_ASGN2_ARG, "mid", node_mid, 0);
|
5026
|
-
rb_ary_push(members, rb_str_new2("mid"));
|
5027
|
-
|
5028
5021
|
/* Document-method: vid
|
5029
5022
|
* The method to call on the receiver to retrieve the attribute
|
5030
5023
|
*/
|
@@ -5036,6 +5029,14 @@ void define_node_subclass_methods()
|
|
5036
5029
|
*/
|
5037
5030
|
rb_define_method(rb_cOP_ASGN2_ARG, "aid", node_aid, 0);
|
5038
5031
|
rb_ary_push(members, rb_str_new2("aid"));
|
5032
|
+
|
5033
|
+
/* Document-method: mid
|
5034
|
+
* The operation to apply to the attribute before setting it. May
|
5035
|
+
* be 0 (false) to indicate "logical or" or 1 (nil) to indicate
|
5036
|
+
* "logical and".
|
5037
|
+
*/
|
5038
|
+
rb_define_method(rb_cOP_ASGN2_ARG, "mid", node_mid, 0);
|
5039
|
+
rb_ary_push(members, rb_str_new2("mid"));
|
5039
5040
|
}
|
5040
5041
|
|
5041
5042
|
/* Document-class: Node::OP_ASGN_AND
|
@@ -5054,18 +5055,18 @@ void define_node_subclass_methods()
|
|
5054
5055
|
rb_iv_set(rb_cOP_ASGN_AND, "__type__", INT2NUM(NODE_OP_ASGN_AND));
|
5055
5056
|
rb_define_singleton_method(rb_cOP_ASGN_AND, "members", node_s_members, 0);
|
5056
5057
|
|
5058
|
+
/* Document-method: recv
|
5059
|
+
* an expression representing the left hand side of the assignment
|
5060
|
+
*/
|
5061
|
+
rb_define_method(rb_cOP_ASGN_AND, "recv", node_recv, 0);
|
5062
|
+
rb_ary_push(members, rb_str_new2("recv"));
|
5063
|
+
|
5057
5064
|
/* Document-method: value
|
5058
5065
|
* an expression representing the assignment that should be
|
5059
5066
|
* performed if the left hand side is true
|
5060
5067
|
*/
|
5061
5068
|
rb_define_method(rb_cOP_ASGN_AND, "value", node_value, 0);
|
5062
5069
|
rb_ary_push(members, rb_str_new2("value"));
|
5063
|
-
|
5064
|
-
/* Document-method: recv
|
5065
|
-
* an expression representing the left hand side of the assignment
|
5066
|
-
*/
|
5067
|
-
rb_define_method(rb_cOP_ASGN_AND, "recv", node_recv, 0);
|
5068
|
-
rb_ary_push(members, rb_str_new2("recv"));
|
5069
5070
|
}
|
5070
5071
|
|
5071
5072
|
/* Document-class: Node::OP_ASGN_OR
|
@@ -5084,6 +5085,14 @@ void define_node_subclass_methods()
|
|
5084
5085
|
rb_iv_set(rb_cOP_ASGN_OR, "__type__", INT2NUM(NODE_OP_ASGN_OR));
|
5085
5086
|
rb_define_singleton_method(rb_cOP_ASGN_OR, "members", node_s_members, 0);
|
5086
5087
|
|
5088
|
+
/* Document-method: aid
|
5089
|
+
* if this indicator is nonzero, ruby will check to see if the
|
5090
|
+
* provided expression is defined, otherwise it will assume that
|
5091
|
+
* the provided expression is defined.
|
5092
|
+
*/
|
5093
|
+
rb_define_method(rb_cOP_ASGN_OR, "aid", node_aid, 0);
|
5094
|
+
rb_ary_push(members, rb_str_new2("aid"));
|
5095
|
+
|
5087
5096
|
/* Document-method: value
|
5088
5097
|
* the right hand side of the assignment
|
5089
5098
|
*/
|
@@ -5095,14 +5104,6 @@ void define_node_subclass_methods()
|
|
5095
5104
|
*/
|
5096
5105
|
rb_define_method(rb_cOP_ASGN_OR, "recv", node_recv, 0);
|
5097
5106
|
rb_ary_push(members, rb_str_new2("recv"));
|
5098
|
-
|
5099
|
-
/* Document-method: aid
|
5100
|
-
* if this indicator is nonzero, ruby will check to see if the
|
5101
|
-
* provided expression is defined, otherwise it will assume that
|
5102
|
-
* the provided expression is defined.
|
5103
|
-
*/
|
5104
|
-
rb_define_method(rb_cOP_ASGN_OR, "aid", node_aid, 0);
|
5105
|
-
rb_ary_push(members, rb_str_new2("aid"));
|
5106
5107
|
}
|
5107
5108
|
|
5108
5109
|
/* Document-class: Node::OR
|
@@ -5182,6 +5183,12 @@ void define_node_subclass_methods()
|
|
5182
5183
|
rb_iv_set(rb_cRESBODY, "__type__", INT2NUM(NODE_RESBODY));
|
5183
5184
|
rb_define_singleton_method(rb_cRESBODY, "members", node_s_members, 0);
|
5184
5185
|
|
5186
|
+
/* Document-method: head
|
5187
|
+
* the next rescue
|
5188
|
+
*/
|
5189
|
+
rb_define_method(rb_cRESBODY, "head", node_head, 0);
|
5190
|
+
rb_ary_push(members, rb_str_new2("head"));
|
5191
|
+
|
5185
5192
|
/* Document-method: body
|
5186
5193
|
* the expresion to evaluate if the exception type matches
|
5187
5194
|
*/
|
@@ -5193,12 +5200,6 @@ void define_node_subclass_methods()
|
|
5193
5200
|
*/
|
5194
5201
|
rb_define_method(rb_cRESBODY, "args", node_args, 0);
|
5195
5202
|
rb_ary_push(members, rb_str_new2("args"));
|
5196
|
-
|
5197
|
-
/* Document-method: head
|
5198
|
-
* the next rescue
|
5199
|
-
*/
|
5200
|
-
rb_define_method(rb_cRESBODY, "head", node_head, 0);
|
5201
|
-
rb_ary_push(members, rb_str_new2("head"));
|
5202
5203
|
}
|
5203
5204
|
|
5204
5205
|
/* Document-class: Node::RESCUE
|
@@ -5238,6 +5239,12 @@ void define_node_subclass_methods()
|
|
5238
5239
|
rb_iv_set(rb_cRESCUE, "__type__", INT2NUM(NODE_RESCUE));
|
5239
5240
|
rb_define_singleton_method(rb_cRESCUE, "members", node_s_members, 0);
|
5240
5241
|
|
5242
|
+
/* Document-method: head
|
5243
|
+
* the body of the block to evaluate
|
5244
|
+
*/
|
5245
|
+
rb_define_method(rb_cRESCUE, "head", node_head, 0);
|
5246
|
+
rb_ary_push(members, rb_str_new2("head"));
|
5247
|
+
|
5241
5248
|
/* Document-method: resq
|
5242
5249
|
* the expression to be evaluated if an exception is raised
|
5243
5250
|
*/
|
@@ -5249,12 +5256,6 @@ void define_node_subclass_methods()
|
|
5249
5256
|
*/
|
5250
5257
|
rb_define_method(rb_cRESCUE, "else", node_else, 0);
|
5251
5258
|
rb_ary_push(members, rb_str_new2("else"));
|
5252
|
-
|
5253
|
-
/* Document-method: head
|
5254
|
-
* the body of the block to evaluate
|
5255
|
-
*/
|
5256
|
-
rb_define_method(rb_cRESCUE, "head", node_head, 0);
|
5257
|
-
rb_ary_push(members, rb_str_new2("head"));
|
5258
5259
|
}
|
5259
5260
|
|
5260
5261
|
/* Document-class: Node::RETRY
|
@@ -5558,10 +5559,10 @@ void define_node_subclass_methods()
|
|
5558
5559
|
rb_iv_set(rb_cVALIAS, "__member__", members);
|
5559
5560
|
rb_iv_set(rb_cVALIAS, "__type__", INT2NUM(NODE_VALIAS));
|
5560
5561
|
rb_define_singleton_method(rb_cVALIAS, "members", node_s_members, 0);
|
5561
|
-
rb_define_method(rb_cVALIAS, "second", node_2nd, 0);
|
5562
|
-
rb_ary_push(members, rb_str_new2("second"));
|
5563
5562
|
rb_define_method(rb_cVALIAS, "first", node_1st, 0);
|
5564
5563
|
rb_ary_push(members, rb_str_new2("first"));
|
5564
|
+
rb_define_method(rb_cVALIAS, "second", node_2nd, 0);
|
5565
|
+
rb_ary_push(members, rb_str_new2("second"));
|
5565
5566
|
}
|
5566
5567
|
|
5567
5568
|
/* Document-class: Node::VCALL
|
@@ -5621,6 +5622,12 @@ void define_node_subclass_methods()
|
|
5621
5622
|
rb_iv_set(rb_cWHEN, "__type__", INT2NUM(NODE_WHEN));
|
5622
5623
|
rb_define_singleton_method(rb_cWHEN, "members", node_s_members, 0);
|
5623
5624
|
|
5625
|
+
/* Document-method: head
|
5626
|
+
* a value to compare against, or a condition to be tested
|
5627
|
+
*/
|
5628
|
+
rb_define_method(rb_cWHEN, "head", node_head, 0);
|
5629
|
+
rb_ary_push(members, rb_str_new2("head"));
|
5630
|
+
|
5624
5631
|
/* Document-method: body
|
5625
5632
|
* an expression to evaluate if the condition evaluates to true
|
5626
5633
|
*/
|
@@ -5632,12 +5639,6 @@ void define_node_subclass_methods()
|
|
5632
5639
|
*/
|
5633
5640
|
rb_define_method(rb_cWHEN, "next", node_next, 0);
|
5634
5641
|
rb_ary_push(members, rb_str_new2("next"));
|
5635
|
-
|
5636
|
-
/* Document-method: head
|
5637
|
-
* a value to compare against, or a condition to be tested
|
5638
|
-
*/
|
5639
|
-
rb_define_method(rb_cWHEN, "head", node_head, 0);
|
5640
|
-
rb_ary_push(members, rb_str_new2("head"));
|
5641
5642
|
}
|
5642
5643
|
|
5643
5644
|
/* Document-class: Node::WHILE
|
@@ -5703,17 +5704,17 @@ void define_node_subclass_methods()
|
|
5703
5704
|
rb_iv_set(rb_cYIELD, "__type__", INT2NUM(NODE_YIELD));
|
5704
5705
|
rb_define_singleton_method(rb_cYIELD, "members", node_s_members, 0);
|
5705
5706
|
|
5706
|
-
/* Document-method: state
|
5707
|
-
* if nonzero, splats the value before yielding
|
5708
|
-
*/
|
5709
|
-
rb_define_method(rb_cYIELD, "state", node_state, 0);
|
5710
|
-
rb_ary_push(members, rb_str_new2("state"));
|
5711
|
-
|
5712
5707
|
/* Document-method: head
|
5713
5708
|
* the value to yield
|
5714
5709
|
*/
|
5715
5710
|
rb_define_method(rb_cYIELD, "head", node_head, 0);
|
5716
5711
|
rb_ary_push(members, rb_str_new2("head"));
|
5712
|
+
|
5713
|
+
/* Document-method: state
|
5714
|
+
* if nonzero, splats the value before yielding
|
5715
|
+
*/
|
5716
|
+
rb_define_method(rb_cYIELD, "state", node_state, 0);
|
5717
|
+
rb_ary_push(members, rb_str_new2("state"));
|
5717
5718
|
}
|
5718
5719
|
|
5719
5720
|
/* Document-class: Node::ZARRAY
|