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