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
@@ -4,44 +4,44 @@
|
|
4
4
|
Node_Type_Descrip node_type_descrips_unsorted[] = {
|
5
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
|
-
{ NODE_AND,
|
9
|
+
{ NODE_AND, NEN_2ND, NEN_1ST, NEN_NONE, "AND" },
|
10
10
|
{ NODE_ARGS, NEN_REST, NEN_OPT, NEN_CNT, "ARGS" },
|
11
11
|
{ NODE_ARGSCAT, NEN_HEAD, NEN_BODY, NEN_NONE, "ARGSCAT" },
|
12
12
|
{ NODE_ARGSPUSH, NEN_HEAD, NEN_BODY, NEN_NONE, "ARGSPUSH" },
|
13
|
-
{ NODE_ARRAY, NEN_ALEN,
|
14
|
-
{ NODE_ATTRASGN, NEN_RECV,
|
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
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
|
-
{ NODE_BLOCK_PASS,
|
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, NEN_MID, NEN_RECV,
|
24
|
-
{ NODE_CASE,
|
25
|
-
{ NODE_CDECL,
|
26
|
-
{ NODE_CFUNC,
|
27
|
-
{ NODE_CLASS,
|
28
|
-
{ NODE_COLON2,
|
23
|
+
{ NODE_CALL, NEN_ARGS, NEN_MID, NEN_RECV, "CALL" },
|
24
|
+
{ NODE_CASE, NEN_HEAD, NEN_BODY, NEN_NEXT, "CASE" },
|
25
|
+
{ NODE_CDECL, NEN_VALUE, NEN_VID, NEN_NONE, "CDECL" },
|
26
|
+
{ NODE_CFUNC, NEN_CFNC, NEN_ARGC, NEN_NONE, "CFUNC" },
|
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, NEN_CLSS,
|
31
|
+
{ NODE_CREF, NEN_CLSS, NEN_BODY, NEN_NEXT, "CREF" },
|
32
32
|
{ NODE_CVAR, NEN_VID, NEN_NONE, NEN_NONE, "CVAR" },
|
33
|
-
{ NODE_CVASGN,
|
34
|
-
{ NODE_CVDECL,
|
35
|
-
{ NODE_DASGN,
|
36
|
-
{ NODE_DASGN_CURR,
|
33
|
+
{ NODE_CVASGN, NEN_VALUE, NEN_VID, NEN_NONE, "CVASGN" },
|
34
|
+
{ NODE_CVDECL, NEN_VALUE, NEN_VID, NEN_NONE, "CVDECL" },
|
35
|
+
{ NODE_DASGN, NEN_VALUE, NEN_VID, NEN_NONE, "DASGN" },
|
36
|
+
{ NODE_DASGN_CURR, NEN_VALUE, NEN_VID, NEN_NONE, "DASGN_CURR" },
|
37
37
|
{ NODE_DEFINED, NEN_HEAD, NEN_NONE, NEN_NONE, "DEFINED" },
|
38
38
|
{ NODE_DEFN, NEN_DEFN, NEN_MID, NEN_NOEX, "DEFN" },
|
39
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,23 +49,23 @@ 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,
|
55
|
-
{ NODE_FLIP3,
|
56
|
-
{ NODE_FOR, NEN_ITER, NEN_VAR,
|
57
|
-
{ NODE_GASGN, NEN_VID, NEN_ENTRY,
|
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
|
+
{ NODE_FOR, NEN_BODY, NEN_ITER, NEN_VAR, "FOR" },
|
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
|
-
{ NODE_IASGN,
|
60
|
+
{ NODE_IASGN, NEN_VALUE, NEN_VID, NEN_NONE, "IASGN" },
|
61
61
|
{ NODE_IF, NEN_COND, NEN_BODY, NEN_ELSE, "IF" },
|
62
|
-
{ NODE_IFUNC,
|
63
|
-
{ NODE_ITER, NEN_ITER, NEN_VAR,
|
62
|
+
{ NODE_IFUNC, NEN_CFNC, NEN_TVAL, NEN_STATE, "IFUNC" },
|
63
|
+
{ NODE_ITER, NEN_BODY, NEN_ITER, NEN_VAR, "ITER" },
|
64
64
|
{ NODE_IVAR, NEN_VID, NEN_NONE, NEN_NONE, "IVAR" },
|
65
|
-
{ NODE_LASGN,
|
65
|
+
{ NODE_LASGN, NEN_VALUE, NEN_VID, NEN_CNT, "LASGN" },
|
66
66
|
{ NODE_LIT, NEN_LIT, NEN_NONE, NEN_NONE, "LIT" },
|
67
67
|
{ NODE_LVAR, NEN_VID, NEN_CNT, NEN_NONE, "LVAR" },
|
68
|
-
{ NODE_MASGN, NEN_ARGS,
|
68
|
+
{ NODE_MASGN, NEN_ARGS, NEN_HEAD, NEN_VALUE, "MASGN" },
|
69
69
|
{ NODE_MATCH, NEN_LIT, NEN_VALUE, NEN_NONE, "MATCH" },
|
70
70
|
{ NODE_MATCH2, NEN_RECV, NEN_VALUE, NEN_NONE, "MATCH2" },
|
71
71
|
{ NODE_MATCH3, NEN_RECV, NEN_VALUE, NEN_NONE, "MATCH3" },
|
@@ -78,19 +78,19 @@ Node_Type_Descrip node_type_descrips_unsorted[] = {
|
|
78
78
|
{ NODE_NOT, NEN_BODY, NEN_NONE, NEN_NONE, "NOT" },
|
79
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, NEN_MID, NEN_RECV,
|
81
|
+
{ NODE_OP_ASGN1, NEN_ARGS, NEN_MID, NEN_RECV, "OP_ASGN1" },
|
82
82
|
{ NODE_OP_ASGN2, NEN_RECV, NEN_NEXT, NEN_VALUE, "OP_ASGN2" },
|
83
|
-
{ NODE_OP_ASGN2_ARG,
|
83
|
+
{ NODE_OP_ASGN2_ARG, NEN_VID, NEN_AID, NEN_MID, "OP_ASGN2_ARG" },
|
84
84
|
{ NODE_OP_ASGN_AND, NEN_RECV, NEN_VALUE, NEN_NONE, "OP_ASGN_AND" },
|
85
|
-
{ NODE_OP_ASGN_OR,
|
86
|
-
{ NODE_OR,
|
85
|
+
{ NODE_OP_ASGN_OR, NEN_AID, NEN_VALUE, NEN_RECV, "OP_ASGN_OR" },
|
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,
|
90
|
-
{ NODE_RESCUE,
|
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
|
-
{ NODE_SCLASS,
|
93
|
+
{ NODE_SCLASS, NEN_BODY, NEN_RECV, NEN_NONE, "SCLASS" },
|
94
94
|
{ NODE_SCOPE, NEN_TBL, NEN_RVAL, NEN_NEXT, "SCOPE" },
|
95
95
|
{ NODE_SELF, NEN_NONE, NEN_NONE, NEN_NONE, "SELF" },
|
96
96
|
{ NODE_SPLAT, NEN_HEAD, NEN_NONE, NEN_NONE, "SPLAT" },
|
@@ -100,13 +100,13 @@ Node_Type_Descrip node_type_descrips_unsorted[] = {
|
|
100
100
|
{ NODE_TO_ARY, NEN_HEAD, NEN_NONE, NEN_NONE, "TO_ARY" },
|
101
101
|
{ NODE_TRUE, NEN_NONE, NEN_NONE, NEN_NONE, "TRUE" },
|
102
102
|
{ NODE_UNDEF, NEN_BODY, NEN_NONE, NEN_NONE, "UNDEF" },
|
103
|
-
{ NODE_UNTIL, NEN_COND, NEN_STATE,
|
103
|
+
{ NODE_UNTIL, NEN_BODY, NEN_COND, NEN_STATE, "UNTIL" },
|
104
104
|
{ NODE_VALIAS, NEN_1ST, NEN_2ND, NEN_NONE, "VALIAS" },
|
105
105
|
{ NODE_VCALL, NEN_MID, NEN_NONE, NEN_NONE, "VCALL" },
|
106
|
-
{ NODE_WHEN,
|
107
|
-
{ NODE_WHILE, NEN_COND, NEN_STATE,
|
106
|
+
{ NODE_WHEN, NEN_HEAD, NEN_BODY, NEN_NEXT, "WHEN" },
|
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" },
|
@@ -2946,18 +2946,18 @@ void define_node_subclass_methods()
|
|
2946
2946
|
rb_iv_set(rb_cALLOCA, "__type__", INT2NUM(NODE_ALLOCA));
|
2947
2947
|
rb_define_singleton_method(rb_cALLOCA, "members", node_s_members, 0);
|
2948
2948
|
|
2949
|
-
/* Document-method: value
|
2950
|
-
* a pointer to the previously allocated temporary node
|
2951
|
-
*/
|
2952
|
-
rb_define_method(rb_cALLOCA, "value", node_value, 0);
|
2953
|
-
rb_ary_push(members, rb_str_new2("value"));
|
2954
|
-
|
2955
2949
|
/* Document-method: cfnc
|
2956
2950
|
* a pointer to the allocated memory
|
2957
2951
|
*/
|
2958
2952
|
rb_define_method(rb_cALLOCA, "cfnc", node_cfnc, 0);
|
2959
2953
|
rb_ary_push(members, rb_str_new2("cfnc"));
|
2960
2954
|
|
2955
|
+
/* Document-method: value
|
2956
|
+
* a pointer to the previously allocated temporary node
|
2957
|
+
*/
|
2958
|
+
rb_define_method(rb_cALLOCA, "value", node_value, 0);
|
2959
|
+
rb_ary_push(members, rb_str_new2("value"));
|
2960
|
+
|
2961
2961
|
/* Document-method: cnt
|
2962
2962
|
* the number of bytes allocated
|
2963
2963
|
*/
|
@@ -2981,17 +2981,17 @@ void define_node_subclass_methods()
|
|
2981
2981
|
rb_iv_set(rb_cAND, "__type__", INT2NUM(NODE_AND));
|
2982
2982
|
rb_define_singleton_method(rb_cAND, "members", node_s_members, 0);
|
2983
2983
|
|
2984
|
-
/* Document-method: first
|
2985
|
-
* the expression on the left hand side
|
2986
|
-
*/
|
2987
|
-
rb_define_method(rb_cAND, "first", node_1st, 0);
|
2988
|
-
rb_ary_push(members, rb_str_new2("first"));
|
2989
|
-
|
2990
2984
|
/* Document-method: second
|
2991
2985
|
* the expression on the right hand side
|
2992
2986
|
*/
|
2993
2987
|
rb_define_method(rb_cAND, "second", node_2nd, 0);
|
2994
2988
|
rb_ary_push(members, rb_str_new2("second"));
|
2989
|
+
|
2990
|
+
/* Document-method: first
|
2991
|
+
* the expression on the left hand side
|
2992
|
+
*/
|
2993
|
+
rb_define_method(rb_cAND, "first", node_1st, 0);
|
2994
|
+
rb_ary_push(members, rb_str_new2("first"));
|
2995
2995
|
}
|
2996
2996
|
|
2997
2997
|
/* Document-class: Node::ARGS
|
@@ -3091,17 +3091,17 @@ void define_node_subclass_methods()
|
|
3091
3091
|
rb_define_method(rb_cARRAY, "alen", node_alen, 0);
|
3092
3092
|
rb_ary_push(members, rb_str_new2("alen"));
|
3093
3093
|
|
3094
|
-
/* Document-method: next
|
3095
|
-
* the tail of the array
|
3096
|
-
*/
|
3097
|
-
rb_define_method(rb_cARRAY, "next", node_next, 0);
|
3098
|
-
rb_ary_push(members, rb_str_new2("next"));
|
3099
|
-
|
3100
3094
|
/* Document-method: head
|
3101
3095
|
* the first element of the array
|
3102
3096
|
*/
|
3103
3097
|
rb_define_method(rb_cARRAY, "head", node_head, 0);
|
3104
3098
|
rb_ary_push(members, rb_str_new2("head"));
|
3099
|
+
|
3100
|
+
/* Document-method: next
|
3101
|
+
* the tail of the array
|
3102
|
+
*/
|
3103
|
+
rb_define_method(rb_cARRAY, "next", node_next, 0);
|
3104
|
+
rb_ary_push(members, rb_str_new2("next"));
|
3105
3105
|
}
|
3106
3106
|
|
3107
3107
|
/* Document-class: Node::ATTRASGN
|
@@ -3124,17 +3124,17 @@ void define_node_subclass_methods()
|
|
3124
3124
|
rb_define_method(rb_cATTRASGN, "recv", node_recv, 0);
|
3125
3125
|
rb_ary_push(members, rb_str_new2("recv"));
|
3126
3126
|
|
3127
|
-
/* Document-method: mid
|
3128
|
-
* the id of the attribute, with a trailing '=' sign
|
3129
|
-
*/
|
3130
|
-
rb_define_method(rb_cATTRASGN, "mid", node_mid, 0);
|
3131
|
-
rb_ary_push(members, rb_str_new2("mid"));
|
3132
|
-
|
3133
3127
|
/* Document-method: args
|
3134
3128
|
* the arguments to the method
|
3135
3129
|
*/
|
3136
3130
|
rb_define_method(rb_cATTRASGN, "args", node_args, 0);
|
3137
3131
|
rb_ary_push(members, rb_str_new2("args"));
|
3132
|
+
|
3133
|
+
/* Document-method: mid
|
3134
|
+
* the id of the attribute, with a trailing '=' sign
|
3135
|
+
*/
|
3136
|
+
rb_define_method(rb_cATTRASGN, "mid", node_mid, 0);
|
3137
|
+
rb_ary_push(members, rb_str_new2("mid"));
|
3138
3138
|
}
|
3139
3139
|
|
3140
3140
|
/* Document-class: Node::ATTRSET
|
@@ -3222,17 +3222,17 @@ void define_node_subclass_methods()
|
|
3222
3222
|
rb_iv_set(rb_cBLOCK, "__type__", INT2NUM(NODE_BLOCK));
|
3223
3223
|
rb_define_singleton_method(rb_cBLOCK, "members", node_s_members, 0);
|
3224
3224
|
|
3225
|
-
/* Document-method: next
|
3226
|
-
* the second expression in the block of code
|
3227
|
-
*/
|
3228
|
-
rb_define_method(rb_cBLOCK, "next", node_next, 0);
|
3229
|
-
rb_ary_push(members, rb_str_new2("next"));
|
3230
|
-
|
3231
3225
|
/* Document-method: head
|
3232
3226
|
* the first expression in the block of code
|
3233
3227
|
*/
|
3234
3228
|
rb_define_method(rb_cBLOCK, "head", node_head, 0);
|
3235
3229
|
rb_ary_push(members, rb_str_new2("head"));
|
3230
|
+
|
3231
|
+
/* Document-method: next
|
3232
|
+
* the second expression in the block of code
|
3233
|
+
*/
|
3234
|
+
rb_define_method(rb_cBLOCK, "next", node_next, 0);
|
3235
|
+
rb_ary_push(members, rb_str_new2("next"));
|
3236
3236
|
}
|
3237
3237
|
|
3238
3238
|
/* Document-class: Node::BLOCK_ARG
|
@@ -3273,17 +3273,17 @@ void define_node_subclass_methods()
|
|
3273
3273
|
rb_iv_set(rb_cBLOCK_PASS, "__type__", INT2NUM(NODE_BLOCK_PASS));
|
3274
3274
|
rb_define_singleton_method(rb_cBLOCK_PASS, "members", node_s_members, 0);
|
3275
3275
|
|
3276
|
-
/* Document-method: iter
|
3277
|
-
* an expression which calls a method
|
3278
|
-
*/
|
3279
|
-
rb_define_method(rb_cBLOCK_PASS, "iter", node_iter, 0);
|
3280
|
-
rb_ary_push(members, rb_str_new2("iter"));
|
3281
|
-
|
3282
3276
|
/* Document-method: body
|
3283
3277
|
* the object to pass as a block
|
3284
3278
|
*/
|
3285
3279
|
rb_define_method(rb_cBLOCK_PASS, "body", node_body, 0);
|
3286
3280
|
rb_ary_push(members, rb_str_new2("body"));
|
3281
|
+
|
3282
|
+
/* Document-method: iter
|
3283
|
+
* an expression which calls a method
|
3284
|
+
*/
|
3285
|
+
rb_define_method(rb_cBLOCK_PASS, "iter", node_iter, 0);
|
3286
|
+
rb_ary_push(members, rb_str_new2("iter"));
|
3287
3287
|
}
|
3288
3288
|
|
3289
3289
|
/* Document-class: Node::BMETHOD
|
@@ -3340,6 +3340,12 @@ void define_node_subclass_methods()
|
|
3340
3340
|
rb_iv_set(rb_cCALL, "__type__", INT2NUM(NODE_CALL));
|
3341
3341
|
rb_define_singleton_method(rb_cCALL, "members", node_s_members, 0);
|
3342
3342
|
|
3343
|
+
/* Document-method: args
|
3344
|
+
* the arguments to the method
|
3345
|
+
*/
|
3346
|
+
rb_define_method(rb_cCALL, "args", node_args, 0);
|
3347
|
+
rb_ary_push(members, rb_str_new2("args"));
|
3348
|
+
|
3343
3349
|
/* Document-method: mid
|
3344
3350
|
* the method id
|
3345
3351
|
*/
|
@@ -3351,12 +3357,6 @@ void define_node_subclass_methods()
|
|
3351
3357
|
*/
|
3352
3358
|
rb_define_method(rb_cCALL, "recv", node_recv, 0);
|
3353
3359
|
rb_ary_push(members, rb_str_new2("recv"));
|
3354
|
-
|
3355
|
-
/* Document-method: args
|
3356
|
-
* the arguments to the method
|
3357
|
-
*/
|
3358
|
-
rb_define_method(rb_cCALL, "args", node_args, 0);
|
3359
|
-
rb_ary_push(members, rb_str_new2("args"));
|
3360
3360
|
}
|
3361
3361
|
|
3362
3362
|
/* Document-class: Node::CASE
|
@@ -3373,8 +3373,6 @@ void define_node_subclass_methods()
|
|
3373
3373
|
rb_iv_set(rb_cCASE, "__member__", members);
|
3374
3374
|
rb_iv_set(rb_cCASE, "__type__", INT2NUM(NODE_CASE));
|
3375
3375
|
rb_define_singleton_method(rb_cCASE, "members", node_s_members, 0);
|
3376
|
-
rb_define_method(rb_cCASE, "next", node_next, 0);
|
3377
|
-
rb_ary_push(members, rb_str_new2("next"));
|
3378
3376
|
|
3379
3377
|
/* Document-method: head
|
3380
3378
|
* the value to select on
|
@@ -3388,6 +3386,8 @@ void define_node_subclass_methods()
|
|
3388
3386
|
*/
|
3389
3387
|
rb_define_method(rb_cCASE, "body", node_body, 0);
|
3390
3388
|
rb_ary_push(members, rb_str_new2("body"));
|
3389
|
+
rb_define_method(rb_cCASE, "next", node_next, 0);
|
3390
|
+
rb_ary_push(members, rb_str_new2("next"));
|
3391
3391
|
}
|
3392
3392
|
|
3393
3393
|
/* Document-class: Node::CDECL
|
@@ -3402,17 +3402,17 @@ void define_node_subclass_methods()
|
|
3402
3402
|
rb_iv_set(rb_cCDECL, "__type__", INT2NUM(NODE_CDECL));
|
3403
3403
|
rb_define_singleton_method(rb_cCDECL, "members", node_s_members, 0);
|
3404
3404
|
|
3405
|
-
/* Document-method: vid
|
3406
|
-
* the name of the constant to be assigned, all uppercase
|
3407
|
-
*/
|
3408
|
-
rb_define_method(rb_cCDECL, "vid", node_vid, 0);
|
3409
|
-
rb_ary_push(members, rb_str_new2("vid"));
|
3410
|
-
|
3411
3405
|
/* Document-method: value
|
3412
3406
|
* the value to be assigned to the constant
|
3413
3407
|
*/
|
3414
3408
|
rb_define_method(rb_cCDECL, "value", node_value, 0);
|
3415
3409
|
rb_ary_push(members, rb_str_new2("value"));
|
3410
|
+
|
3411
|
+
/* Document-method: vid
|
3412
|
+
* the name of the constant to be assigned, all uppercase
|
3413
|
+
*/
|
3414
|
+
rb_define_method(rb_cCDECL, "vid", node_vid, 0);
|
3415
|
+
rb_ary_push(members, rb_str_new2("vid"));
|
3416
3416
|
}
|
3417
3417
|
|
3418
3418
|
/* Document-class: Node::CFUNC
|
@@ -3425,10 +3425,10 @@ void define_node_subclass_methods()
|
|
3425
3425
|
rb_iv_set(rb_cCFUNC, "__member__", members);
|
3426
3426
|
rb_iv_set(rb_cCFUNC, "__type__", INT2NUM(NODE_CFUNC));
|
3427
3427
|
rb_define_singleton_method(rb_cCFUNC, "members", node_s_members, 0);
|
3428
|
-
rb_define_method(rb_cCFUNC, "argc", node_argc, 0);
|
3429
|
-
rb_ary_push(members, rb_str_new2("argc"));
|
3430
3428
|
rb_define_method(rb_cCFUNC, "cfnc", node_cfnc, 0);
|
3431
3429
|
rb_ary_push(members, rb_str_new2("cfnc"));
|
3430
|
+
rb_define_method(rb_cCFUNC, "argc", node_argc, 0);
|
3431
|
+
rb_ary_push(members, rb_str_new2("argc"));
|
3432
3432
|
}
|
3433
3433
|
|
3434
3434
|
/* Document-class: Node::CLASS
|
@@ -3455,12 +3455,6 @@ void define_node_subclass_methods()
|
|
3455
3455
|
rb_iv_set(rb_cCLASS, "__type__", INT2NUM(NODE_CLASS));
|
3456
3456
|
rb_define_singleton_method(rb_cCLASS, "members", node_s_members, 0);
|
3457
3457
|
|
3458
|
-
/* Document-method: cpath
|
3459
|
-
* the name of the class to define
|
3460
|
-
*/
|
3461
|
-
rb_define_method(rb_cCLASS, "cpath", node_cpath, 0);
|
3462
|
-
rb_ary_push(members, rb_str_new2("cpath"));
|
3463
|
-
|
3464
3458
|
/* Document-method: super
|
3465
3459
|
* an expression returning the base class, or false if there is no
|
3466
3460
|
* base class specified
|
@@ -3468,6 +3462,12 @@ void define_node_subclass_methods()
|
|
3468
3462
|
rb_define_method(rb_cCLASS, "super", node_super, 0);
|
3469
3463
|
rb_ary_push(members, rb_str_new2("super"));
|
3470
3464
|
|
3465
|
+
/* Document-method: cpath
|
3466
|
+
* the name of the class to define
|
3467
|
+
*/
|
3468
|
+
rb_define_method(rb_cCLASS, "cpath", node_cpath, 0);
|
3469
|
+
rb_ary_push(members, rb_str_new2("cpath"));
|
3470
|
+
|
3471
3471
|
/* Document-method: body
|
3472
3472
|
* the body of the class definition
|
3473
3473
|
*/
|
@@ -3491,17 +3491,17 @@ void define_node_subclass_methods()
|
|
3491
3491
|
rb_iv_set(rb_cCOLON2, "__type__", INT2NUM(NODE_COLON2));
|
3492
3492
|
rb_define_singleton_method(rb_cCOLON2, "members", node_s_members, 0);
|
3493
3493
|
|
3494
|
-
/* Document-method: mid
|
3495
|
-
* the name of the method or constant to call/look up
|
3496
|
-
*/
|
3497
|
-
rb_define_method(rb_cCOLON2, "mid", node_mid, 0);
|
3498
|
-
rb_ary_push(members, rb_str_new2("mid"));
|
3499
|
-
|
3500
3494
|
/* Document-method: head
|
3501
3495
|
* an expression specifying the class in which to do the lookup
|
3502
3496
|
*/
|
3503
3497
|
rb_define_method(rb_cCOLON2, "head", node_head, 0);
|
3504
3498
|
rb_ary_push(members, rb_str_new2("head"));
|
3499
|
+
|
3500
|
+
/* Document-method: mid
|
3501
|
+
* the name of the method or constant to call/look up
|
3502
|
+
*/
|
3503
|
+
rb_define_method(rb_cCOLON2, "mid", node_mid, 0);
|
3504
|
+
rb_ary_push(members, rb_str_new2("mid"));
|
3505
3505
|
}
|
3506
3506
|
|
3507
3507
|
/* Document-class: Node::COLON3
|
@@ -3566,17 +3566,17 @@ void define_node_subclass_methods()
|
|
3566
3566
|
rb_define_method(rb_cCREF, "clss", node_clss, 0);
|
3567
3567
|
rb_ary_push(members, rb_str_new2("clss"));
|
3568
3568
|
|
3569
|
-
/* Document-method: next
|
3570
|
-
* the previous value of ruby_cref or ruby_top_cref
|
3571
|
-
*/
|
3572
|
-
rb_define_method(rb_cCREF, "next", node_next, 0);
|
3573
|
-
rb_ary_push(members, rb_str_new2("next"));
|
3574
|
-
|
3575
3569
|
/* Document-method: body
|
3576
3570
|
* always 0 (false)
|
3577
3571
|
*/
|
3578
3572
|
rb_define_method(rb_cCREF, "body", node_body, 0);
|
3579
3573
|
rb_ary_push(members, rb_str_new2("body"));
|
3574
|
+
|
3575
|
+
/* Document-method: next
|
3576
|
+
* the previous value of ruby_cref or ruby_top_cref
|
3577
|
+
*/
|
3578
|
+
rb_define_method(rb_cCREF, "next", node_next, 0);
|
3579
|
+
rb_ary_push(members, rb_str_new2("next"));
|
3580
3580
|
}
|
3581
3581
|
|
3582
3582
|
/* Document-class: Node::CVAR
|
@@ -3609,18 +3609,18 @@ void define_node_subclass_methods()
|
|
3609
3609
|
rb_iv_set(rb_cCVASGN, "__type__", INT2NUM(NODE_CVASGN));
|
3610
3610
|
rb_define_singleton_method(rb_cCVASGN, "members", node_s_members, 0);
|
3611
3611
|
|
3612
|
-
/* Document-method: vid
|
3613
|
-
* the name of the class variable to assign
|
3614
|
-
*/
|
3615
|
-
rb_define_method(rb_cCVASGN, "vid", node_vid, 0);
|
3616
|
-
rb_ary_push(members, rb_str_new2("vid"));
|
3617
|
-
|
3618
3612
|
/* Document-method: value
|
3619
3613
|
* an expression whose result is the new value of the class
|
3620
3614
|
* variable
|
3621
3615
|
*/
|
3622
3616
|
rb_define_method(rb_cCVASGN, "value", node_value, 0);
|
3623
3617
|
rb_ary_push(members, rb_str_new2("value"));
|
3618
|
+
|
3619
|
+
/* Document-method: vid
|
3620
|
+
* the name of the class variable to assign
|
3621
|
+
*/
|
3622
|
+
rb_define_method(rb_cCVASGN, "vid", node_vid, 0);
|
3623
|
+
rb_ary_push(members, rb_str_new2("vid"));
|
3624
3624
|
}
|
3625
3625
|
|
3626
3626
|
/* Document-class: Node::CVDECL
|
@@ -3636,18 +3636,18 @@ void define_node_subclass_methods()
|
|
3636
3636
|
rb_iv_set(rb_cCVDECL, "__type__", INT2NUM(NODE_CVDECL));
|
3637
3637
|
rb_define_singleton_method(rb_cCVDECL, "members", node_s_members, 0);
|
3638
3638
|
|
3639
|
-
/* Document-method: vid
|
3640
|
-
* the name of the class variable to assign
|
3641
|
-
*/
|
3642
|
-
rb_define_method(rb_cCVDECL, "vid", node_vid, 0);
|
3643
|
-
rb_ary_push(members, rb_str_new2("vid"));
|
3644
|
-
|
3645
3639
|
/* Document-method: value
|
3646
3640
|
* an expression whose result is the new value of the class
|
3647
3641
|
* variable
|
3648
3642
|
*/
|
3649
3643
|
rb_define_method(rb_cCVDECL, "value", node_value, 0);
|
3650
3644
|
rb_ary_push(members, rb_str_new2("value"));
|
3645
|
+
|
3646
|
+
/* Document-method: vid
|
3647
|
+
* the name of the class variable to assign
|
3648
|
+
*/
|
3649
|
+
rb_define_method(rb_cCVDECL, "vid", node_vid, 0);
|
3650
|
+
rb_ary_push(members, rb_str_new2("vid"));
|
3651
3651
|
}
|
3652
3652
|
|
3653
3653
|
/* Document-class: Node::DASGN
|
@@ -3670,17 +3670,17 @@ void define_node_subclass_methods()
|
|
3670
3670
|
rb_iv_set(rb_cDASGN, "__type__", INT2NUM(NODE_DASGN));
|
3671
3671
|
rb_define_singleton_method(rb_cDASGN, "members", node_s_members, 0);
|
3672
3672
|
|
3673
|
-
/* Document-method: vid
|
3674
|
-
* the name of the local variable
|
3675
|
-
*/
|
3676
|
-
rb_define_method(rb_cDASGN, "vid", node_vid, 0);
|
3677
|
-
rb_ary_push(members, rb_str_new2("vid"));
|
3678
|
-
|
3679
3673
|
/* Document-method: value
|
3680
3674
|
* the value to assign to the local variable
|
3681
3675
|
*/
|
3682
3676
|
rb_define_method(rb_cDASGN, "value", node_value, 0);
|
3683
3677
|
rb_ary_push(members, rb_str_new2("value"));
|
3678
|
+
|
3679
|
+
/* Document-method: vid
|
3680
|
+
* the name of the local variable
|
3681
|
+
*/
|
3682
|
+
rb_define_method(rb_cDASGN, "vid", node_vid, 0);
|
3683
|
+
rb_ary_push(members, rb_str_new2("vid"));
|
3684
3684
|
}
|
3685
3685
|
|
3686
3686
|
/* Document-class: Node::DASGN_CURR
|
@@ -3695,17 +3695,17 @@ void define_node_subclass_methods()
|
|
3695
3695
|
rb_iv_set(rb_cDASGN_CURR, "__type__", INT2NUM(NODE_DASGN_CURR));
|
3696
3696
|
rb_define_singleton_method(rb_cDASGN_CURR, "members", node_s_members, 0);
|
3697
3697
|
|
3698
|
-
/* Document-method: vid
|
3699
|
-
* the name of the local variable
|
3700
|
-
*/
|
3701
|
-
rb_define_method(rb_cDASGN_CURR, "vid", node_vid, 0);
|
3702
|
-
rb_ary_push(members, rb_str_new2("vid"));
|
3703
|
-
|
3704
3698
|
/* Document-method: value
|
3705
3699
|
* the value to assign to the local variable
|
3706
3700
|
*/
|
3707
3701
|
rb_define_method(rb_cDASGN_CURR, "value", node_value, 0);
|
3708
3702
|
rb_ary_push(members, rb_str_new2("value"));
|
3703
|
+
|
3704
|
+
/* Document-method: vid
|
3705
|
+
* the name of the local variable
|
3706
|
+
*/
|
3707
|
+
rb_define_method(rb_cDASGN_CURR, "vid", node_vid, 0);
|
3708
|
+
rb_ary_push(members, rb_str_new2("vid"));
|
3709
3709
|
}
|
3710
3710
|
|
3711
3711
|
/* Document-class: Node::DEFINED
|
@@ -3825,17 +3825,17 @@ void define_node_subclass_methods()
|
|
3825
3825
|
rb_iv_set(rb_cDOT2, "__type__", INT2NUM(NODE_DOT2));
|
3826
3826
|
rb_define_singleton_method(rb_cDOT2, "members", node_s_members, 0);
|
3827
3827
|
|
3828
|
-
/* Document-method: end
|
3829
|
-
* the end of the range
|
3830
|
-
*/
|
3831
|
-
rb_define_method(rb_cDOT2, "end", node_end, 0);
|
3832
|
-
rb_ary_push(members, rb_str_new2("end"));
|
3833
|
-
|
3834
3828
|
/* Document-method: beg
|
3835
3829
|
* the beginning of the range
|
3836
3830
|
*/
|
3837
3831
|
rb_define_method(rb_cDOT2, "beg", node_beg, 0);
|
3838
3832
|
rb_ary_push(members, rb_str_new2("beg"));
|
3833
|
+
|
3834
|
+
/* Document-method: end
|
3835
|
+
* the end of the range
|
3836
|
+
*/
|
3837
|
+
rb_define_method(rb_cDOT2, "end", node_end, 0);
|
3838
|
+
rb_ary_push(members, rb_str_new2("end"));
|
3839
3839
|
rb_define_method(rb_cDOT2, "state", node_state, 0);
|
3840
3840
|
rb_ary_push(members, rb_str_new2("state"));
|
3841
3841
|
}
|
@@ -3853,17 +3853,17 @@ void define_node_subclass_methods()
|
|
3853
3853
|
rb_iv_set(rb_cDOT3, "__type__", INT2NUM(NODE_DOT3));
|
3854
3854
|
rb_define_singleton_method(rb_cDOT3, "members", node_s_members, 0);
|
3855
3855
|
|
3856
|
-
/* Document-method: end
|
3857
|
-
* the end of the range
|
3858
|
-
*/
|
3859
|
-
rb_define_method(rb_cDOT3, "end", node_end, 0);
|
3860
|
-
rb_ary_push(members, rb_str_new2("end"));
|
3861
|
-
|
3862
3856
|
/* Document-method: beg
|
3863
3857
|
* the beginning of the range
|
3864
3858
|
*/
|
3865
3859
|
rb_define_method(rb_cDOT3, "beg", node_beg, 0);
|
3866
3860
|
rb_ary_push(members, rb_str_new2("beg"));
|
3861
|
+
|
3862
|
+
/* Document-method: end
|
3863
|
+
* the end of the range
|
3864
|
+
*/
|
3865
|
+
rb_define_method(rb_cDOT3, "end", node_end, 0);
|
3866
|
+
rb_ary_push(members, rb_str_new2("end"));
|
3867
3867
|
rb_define_method(rb_cDOT3, "state", node_state, 0);
|
3868
3868
|
rb_ary_push(members, rb_str_new2("state"));
|
3869
3869
|
}
|
@@ -3890,6 +3890,12 @@ void define_node_subclass_methods()
|
|
3890
3890
|
rb_define_method(rb_cDREGX, "lit", node_lit, 0);
|
3891
3891
|
rb_ary_push(members, rb_str_new2("lit"));
|
3892
3892
|
|
3893
|
+
/* Document-method: next
|
3894
|
+
* a list of expressions to be appended onto the string
|
3895
|
+
*/
|
3896
|
+
rb_define_method(rb_cDREGX, "next", node_next, 0);
|
3897
|
+
rb_ary_push(members, rb_str_new2("next"));
|
3898
|
+
|
3893
3899
|
/* Document-method: cflag
|
3894
3900
|
* a bitfield containing the options used in the regular
|
3895
3901
|
* expression. Valid values include:
|
@@ -3906,12 +3912,6 @@ void define_node_subclass_methods()
|
|
3906
3912
|
*/
|
3907
3913
|
rb_define_method(rb_cDREGX, "cflag", node_cflag, 0);
|
3908
3914
|
rb_ary_push(members, rb_str_new2("cflag"));
|
3909
|
-
|
3910
|
-
/* Document-method: next
|
3911
|
-
* a list of expressions to be appended onto the string
|
3912
|
-
*/
|
3913
|
-
rb_define_method(rb_cDREGX, "next", node_next, 0);
|
3914
|
-
rb_ary_push(members, rb_str_new2("next"));
|
3915
3915
|
}
|
3916
3916
|
|
3917
3917
|
/* Document-class: Node::DREGX_ONCE
|
@@ -3933,18 +3933,18 @@ void define_node_subclass_methods()
|
|
3933
3933
|
rb_define_method(rb_cDREGX_ONCE, "lit", node_lit, 0);
|
3934
3934
|
rb_ary_push(members, rb_str_new2("lit"));
|
3935
3935
|
|
3936
|
+
/* Document-method: next
|
3937
|
+
* a list of expressions to be appended onto the string
|
3938
|
+
*/
|
3939
|
+
rb_define_method(rb_cDREGX_ONCE, "next", node_next, 0);
|
3940
|
+
rb_ary_push(members, rb_str_new2("next"));
|
3941
|
+
|
3936
3942
|
/* Document-method: cflag
|
3937
3943
|
* a bitfield containing the options used in the regular
|
3938
3944
|
* expression. See DREGX for a list of valid values.
|
3939
3945
|
*/
|
3940
3946
|
rb_define_method(rb_cDREGX_ONCE, "cflag", node_cflag, 0);
|
3941
3947
|
rb_ary_push(members, rb_str_new2("cflag"));
|
3942
|
-
|
3943
|
-
/* Document-method: next
|
3944
|
-
* a list of expressions to be appended onto the string
|
3945
|
-
*/
|
3946
|
-
rb_define_method(rb_cDREGX_ONCE, "next", node_next, 0);
|
3947
|
-
rb_ary_push(members, rb_str_new2("next"));
|
3948
3948
|
}
|
3949
3949
|
|
3950
3950
|
/* Document-class: Node::DSTR
|
@@ -4134,18 +4134,18 @@ void define_node_subclass_methods()
|
|
4134
4134
|
rb_iv_set(rb_cFBODY, "__type__", INT2NUM(NODE_FBODY));
|
4135
4135
|
rb_define_singleton_method(rb_cFBODY, "members", node_s_members, 0);
|
4136
4136
|
|
4137
|
-
/* Document-method: mid
|
4138
|
-
* the name of the method
|
4139
|
-
*/
|
4140
|
-
rb_define_method(rb_cFBODY, "mid", node_mid, 0);
|
4141
|
-
rb_ary_push(members, rb_str_new2("mid"));
|
4142
|
-
|
4143
4137
|
/* Document-method: orig
|
4144
4138
|
* the origin class
|
4145
4139
|
*/
|
4146
4140
|
rb_define_method(rb_cFBODY, "orig", node_orig, 0);
|
4147
4141
|
rb_ary_push(members, rb_str_new2("orig"));
|
4148
4142
|
|
4143
|
+
/* Document-method: mid
|
4144
|
+
* the name of the method
|
4145
|
+
*/
|
4146
|
+
rb_define_method(rb_cFBODY, "mid", node_mid, 0);
|
4147
|
+
rb_ary_push(members, rb_str_new2("mid"));
|
4148
|
+
|
4149
4149
|
/* Document-method: head
|
4150
4150
|
* the method body
|
4151
4151
|
*/
|
@@ -4168,17 +4168,17 @@ void define_node_subclass_methods()
|
|
4168
4168
|
rb_iv_set(rb_cFCALL, "__type__", INT2NUM(NODE_FCALL));
|
4169
4169
|
rb_define_singleton_method(rb_cFCALL, "members", node_s_members, 0);
|
4170
4170
|
|
4171
|
-
/* Document-method: mid
|
4172
|
-
* the method id
|
4173
|
-
*/
|
4174
|
-
rb_define_method(rb_cFCALL, "mid", node_mid, 0);
|
4175
|
-
rb_ary_push(members, rb_str_new2("mid"));
|
4176
|
-
|
4177
4171
|
/* Document-method: args
|
4178
4172
|
* the arguments to the method
|
4179
4173
|
*/
|
4180
4174
|
rb_define_method(rb_cFCALL, "args", node_args, 0);
|
4181
4175
|
rb_ary_push(members, rb_str_new2("args"));
|
4176
|
+
|
4177
|
+
/* Document-method: mid
|
4178
|
+
* the method id
|
4179
|
+
*/
|
4180
|
+
rb_define_method(rb_cFCALL, "mid", node_mid, 0);
|
4181
|
+
rb_ary_push(members, rb_str_new2("mid"));
|
4182
4182
|
}
|
4183
4183
|
|
4184
4184
|
/* Document-class: Node::FLIP2
|
@@ -4195,11 +4195,12 @@ void define_node_subclass_methods()
|
|
4195
4195
|
rb_iv_set(rb_cFLIP2, "__type__", INT2NUM(NODE_FLIP2));
|
4196
4196
|
rb_define_singleton_method(rb_cFLIP2, "members", node_s_members, 0);
|
4197
4197
|
|
4198
|
-
/* Document-method:
|
4199
|
-
* the
|
4198
|
+
/* Document-method: cnt
|
4199
|
+
* the index into the local variable table of the special variable
|
4200
|
+
* to use in the flip-flop expression (usually 2 for $_)
|
4200
4201
|
*/
|
4201
|
-
rb_define_method(rb_cFLIP2, "
|
4202
|
-
rb_ary_push(members, rb_str_new2("
|
4202
|
+
rb_define_method(rb_cFLIP2, "cnt", node_cnt, 0);
|
4203
|
+
rb_ary_push(members, rb_str_new2("cnt"));
|
4203
4204
|
|
4204
4205
|
/* Document-method: beg
|
4205
4206
|
* the beginning of the range
|
@@ -4207,12 +4208,11 @@ void define_node_subclass_methods()
|
|
4207
4208
|
rb_define_method(rb_cFLIP2, "beg", node_beg, 0);
|
4208
4209
|
rb_ary_push(members, rb_str_new2("beg"));
|
4209
4210
|
|
4210
|
-
/* Document-method:
|
4211
|
-
* the
|
4212
|
-
* to use in the flip-flop expression (usually 2 for $_)
|
4211
|
+
/* Document-method: end
|
4212
|
+
* the end of the range
|
4213
4213
|
*/
|
4214
|
-
rb_define_method(rb_cFLIP2, "
|
4215
|
-
rb_ary_push(members, rb_str_new2("
|
4214
|
+
rb_define_method(rb_cFLIP2, "end", node_end, 0);
|
4215
|
+
rb_ary_push(members, rb_str_new2("end"));
|
4216
4216
|
}
|
4217
4217
|
|
4218
4218
|
/* Document-class: Node::FLIP3
|
@@ -4229,11 +4229,12 @@ void define_node_subclass_methods()
|
|
4229
4229
|
rb_iv_set(rb_cFLIP3, "__type__", INT2NUM(NODE_FLIP3));
|
4230
4230
|
rb_define_singleton_method(rb_cFLIP3, "members", node_s_members, 0);
|
4231
4231
|
|
4232
|
-
/* Document-method:
|
4233
|
-
* the
|
4232
|
+
/* Document-method: cnt
|
4233
|
+
* the index into the local variable table of the special variable
|
4234
|
+
* to use in the flip-flop expression (usually 2 for $_)
|
4234
4235
|
*/
|
4235
|
-
rb_define_method(rb_cFLIP3, "
|
4236
|
-
rb_ary_push(members, rb_str_new2("
|
4236
|
+
rb_define_method(rb_cFLIP3, "cnt", node_cnt, 0);
|
4237
|
+
rb_ary_push(members, rb_str_new2("cnt"));
|
4237
4238
|
|
4238
4239
|
/* Document-method: beg
|
4239
4240
|
* the beginning of the range
|
@@ -4241,12 +4242,11 @@ void define_node_subclass_methods()
|
|
4241
4242
|
rb_define_method(rb_cFLIP3, "beg", node_beg, 0);
|
4242
4243
|
rb_ary_push(members, rb_str_new2("beg"));
|
4243
4244
|
|
4244
|
-
/* Document-method:
|
4245
|
-
* the
|
4246
|
-
* to use in the flip-flop expression (usually 2 for $_)
|
4245
|
+
/* Document-method: end
|
4246
|
+
* the end of the range
|
4247
4247
|
*/
|
4248
|
-
rb_define_method(rb_cFLIP3, "
|
4249
|
-
rb_ary_push(members, rb_str_new2("
|
4248
|
+
rb_define_method(rb_cFLIP3, "end", node_end, 0);
|
4249
|
+
rb_ary_push(members, rb_str_new2("end"));
|
4250
4250
|
}
|
4251
4251
|
|
4252
4252
|
/* Document-class: Node::FOR
|
@@ -4271,6 +4271,12 @@ void define_node_subclass_methods()
|
|
4271
4271
|
rb_iv_set(rb_cFOR, "__type__", INT2NUM(NODE_FOR));
|
4272
4272
|
rb_define_singleton_method(rb_cFOR, "members", node_s_members, 0);
|
4273
4273
|
|
4274
|
+
/* Document-method: body
|
4275
|
+
* the body of the loop
|
4276
|
+
*/
|
4277
|
+
rb_define_method(rb_cFOR, "body", node_body, 0);
|
4278
|
+
rb_ary_push(members, rb_str_new2("body"));
|
4279
|
+
|
4274
4280
|
/* Document-method: iter
|
4275
4281
|
* the sequence over which to iterate
|
4276
4282
|
*/
|
@@ -4284,12 +4290,6 @@ void define_node_subclass_methods()
|
|
4284
4290
|
*/
|
4285
4291
|
rb_define_method(rb_cFOR, "var", node_var, 0);
|
4286
4292
|
rb_ary_push(members, rb_str_new2("var"));
|
4287
|
-
|
4288
|
-
/* Document-method: body
|
4289
|
-
* the body of the loop
|
4290
|
-
*/
|
4291
|
-
rb_define_method(rb_cFOR, "body", node_body, 0);
|
4292
|
-
rb_ary_push(members, rb_str_new2("body"));
|
4293
4293
|
}
|
4294
4294
|
|
4295
4295
|
/* Document-class: Node::GASGN
|
@@ -4303,6 +4303,12 @@ void define_node_subclass_methods()
|
|
4303
4303
|
rb_iv_set(rb_cGASGN, "__type__", INT2NUM(NODE_GASGN));
|
4304
4304
|
rb_define_singleton_method(rb_cGASGN, "members", node_s_members, 0);
|
4305
4305
|
|
4306
|
+
/* Document-method: value
|
4307
|
+
* an expression whose result is the new value of the global variable
|
4308
|
+
*/
|
4309
|
+
rb_define_method(rb_cGASGN, "value", node_value, 0);
|
4310
|
+
rb_ary_push(members, rb_str_new2("value"));
|
4311
|
+
|
4306
4312
|
/* Document-method: vid
|
4307
4313
|
* the name of the global variable, with a leading '$' character.
|
4308
4314
|
*/
|
@@ -4310,12 +4316,6 @@ void define_node_subclass_methods()
|
|
4310
4316
|
rb_ary_push(members, rb_str_new2("vid"));
|
4311
4317
|
rb_define_method(rb_cGASGN, "entry", node_entry, 0);
|
4312
4318
|
rb_ary_push(members, rb_str_new2("entry"));
|
4313
|
-
|
4314
|
-
/* Document-method: value
|
4315
|
-
* an expression whose result is the new value of the global variable
|
4316
|
-
*/
|
4317
|
-
rb_define_method(rb_cGASGN, "value", node_value, 0);
|
4318
|
-
rb_ary_push(members, rb_str_new2("value"));
|
4319
4319
|
}
|
4320
4320
|
|
4321
4321
|
/* Document-class: Node::GVAR
|
@@ -4368,17 +4368,17 @@ void define_node_subclass_methods()
|
|
4368
4368
|
rb_iv_set(rb_cIASGN, "__type__", INT2NUM(NODE_IASGN));
|
4369
4369
|
rb_define_singleton_method(rb_cIASGN, "members", node_s_members, 0);
|
4370
4370
|
|
4371
|
-
/* Document-method: vid
|
4372
|
-
* the name of the instance variable, with a leading '@' sign
|
4373
|
-
*/
|
4374
|
-
rb_define_method(rb_cIASGN, "vid", node_vid, 0);
|
4375
|
-
rb_ary_push(members, rb_str_new2("vid"));
|
4376
|
-
|
4377
4371
|
/* Document-method: value
|
4378
4372
|
* the value to assign to the instance variable
|
4379
4373
|
*/
|
4380
4374
|
rb_define_method(rb_cIASGN, "value", node_value, 0);
|
4381
4375
|
rb_ary_push(members, rb_str_new2("value"));
|
4376
|
+
|
4377
|
+
/* Document-method: vid
|
4378
|
+
* the name of the instance variable, with a leading '@' sign
|
4379
|
+
*/
|
4380
|
+
rb_define_method(rb_cIASGN, "vid", node_vid, 0);
|
4381
|
+
rb_ary_push(members, rb_str_new2("vid"));
|
4382
4382
|
}
|
4383
4383
|
|
4384
4384
|
/* Document-class: Node::IF
|
@@ -4401,6 +4401,7 @@ void define_node_subclass_methods()
|
|
4401
4401
|
*
|
4402
4402
|
* A conditional block using elsif has another IF node as the else
|
4403
4403
|
* expression.
|
4404
|
+
*
|
4404
4405
|
*/
|
4405
4406
|
{
|
4406
4407
|
VALUE rb_cIF = rb_define_class_under(rb_cNode, "IF", rb_cNode);
|
@@ -4442,11 +4443,11 @@ void define_node_subclass_methods()
|
|
4442
4443
|
rb_iv_set(rb_cIFUNC, "__type__", INT2NUM(NODE_IFUNC));
|
4443
4444
|
rb_define_singleton_method(rb_cIFUNC, "members", node_s_members, 0);
|
4444
4445
|
|
4445
|
-
/* Document-method:
|
4446
|
-
*
|
4446
|
+
/* Document-method: cfnc
|
4447
|
+
* a pointer to the C function to which to yield
|
4447
4448
|
*/
|
4448
|
-
rb_define_method(rb_cIFUNC, "
|
4449
|
-
rb_ary_push(members, rb_str_new2("
|
4449
|
+
rb_define_method(rb_cIFUNC, "cfnc", node_cfnc, 0);
|
4450
|
+
rb_ary_push(members, rb_str_new2("cfnc"));
|
4450
4451
|
|
4451
4452
|
/* Document-method: tval
|
4452
4453
|
* the user-specified data to be passed as the second argument to
|
@@ -4455,11 +4456,11 @@ void define_node_subclass_methods()
|
|
4455
4456
|
rb_define_method(rb_cIFUNC, "tval", node_tval, 0);
|
4456
4457
|
rb_ary_push(members, rb_str_new2("tval"));
|
4457
4458
|
|
4458
|
-
/* Document-method:
|
4459
|
-
*
|
4459
|
+
/* Document-method: state
|
4460
|
+
* always 0
|
4460
4461
|
*/
|
4461
|
-
rb_define_method(rb_cIFUNC, "
|
4462
|
-
rb_ary_push(members, rb_str_new2("
|
4462
|
+
rb_define_method(rb_cIFUNC, "state", node_state, 0);
|
4463
|
+
rb_ary_push(members, rb_str_new2("state"));
|
4463
4464
|
}
|
4464
4465
|
|
4465
4466
|
/* Document-class: Node::ITER
|
@@ -4483,6 +4484,12 @@ void define_node_subclass_methods()
|
|
4483
4484
|
rb_iv_set(rb_cITER, "__type__", INT2NUM(NODE_ITER));
|
4484
4485
|
rb_define_singleton_method(rb_cITER, "members", node_s_members, 0);
|
4485
4486
|
|
4487
|
+
/* Document-method: body
|
4488
|
+
* the body of the loop
|
4489
|
+
*/
|
4490
|
+
rb_define_method(rb_cITER, "body", node_body, 0);
|
4491
|
+
rb_ary_push(members, rb_str_new2("body"));
|
4492
|
+
|
4486
4493
|
/* Document-method: iter
|
4487
4494
|
* an expression which calls the desired iteration method, usually
|
4488
4495
|
* recv.each
|
@@ -4497,12 +4504,6 @@ void define_node_subclass_methods()
|
|
4497
4504
|
*/
|
4498
4505
|
rb_define_method(rb_cITER, "var", node_var, 0);
|
4499
4506
|
rb_ary_push(members, rb_str_new2("var"));
|
4500
|
-
|
4501
|
-
/* Document-method: body
|
4502
|
-
* the body of the loop
|
4503
|
-
*/
|
4504
|
-
rb_define_method(rb_cITER, "body", node_body, 0);
|
4505
|
-
rb_ary_push(members, rb_str_new2("body"));
|
4506
4507
|
}
|
4507
4508
|
|
4508
4509
|
/* Document-class: Node::IVAR
|
@@ -4537,17 +4538,17 @@ void define_node_subclass_methods()
|
|
4537
4538
|
rb_iv_set(rb_cLASGN, "__type__", INT2NUM(NODE_LASGN));
|
4538
4539
|
rb_define_singleton_method(rb_cLASGN, "members", node_s_members, 0);
|
4539
4540
|
|
4540
|
-
/* Document-method: vid
|
4541
|
-
* the name of the local variable
|
4542
|
-
*/
|
4543
|
-
rb_define_method(rb_cLASGN, "vid", node_vid, 0);
|
4544
|
-
rb_ary_push(members, rb_str_new2("vid"));
|
4545
|
-
|
4546
4541
|
/* Document-method: value
|
4547
4542
|
* the value to assign to the local variable
|
4548
4543
|
*/
|
4549
4544
|
rb_define_method(rb_cLASGN, "value", node_value, 0);
|
4550
4545
|
rb_ary_push(members, rb_str_new2("value"));
|
4546
|
+
|
4547
|
+
/* Document-method: vid
|
4548
|
+
* the name of the local variable
|
4549
|
+
*/
|
4550
|
+
rb_define_method(rb_cLASGN, "vid", node_vid, 0);
|
4551
|
+
rb_ary_push(members, rb_str_new2("vid"));
|
4551
4552
|
rb_define_method(rb_cLASGN, "cnt", node_cnt, 0);
|
4552
4553
|
rb_ary_push(members, rb_str_new2("cnt"));
|
4553
4554
|
}
|
@@ -4608,17 +4609,17 @@ void define_node_subclass_methods()
|
|
4608
4609
|
rb_define_method(rb_cMASGN, "args", node_args, 0);
|
4609
4610
|
rb_ary_push(members, rb_str_new2("args"));
|
4610
4611
|
|
4611
|
-
/* Document-method: value
|
4612
|
-
* TODO
|
4613
|
-
*/
|
4614
|
-
rb_define_method(rb_cMASGN, "value", node_value, 0);
|
4615
|
-
rb_ary_push(members, rb_str_new2("value"));
|
4616
|
-
|
4617
4612
|
/* Document-method: head
|
4618
4613
|
* TODO
|
4619
4614
|
*/
|
4620
4615
|
rb_define_method(rb_cMASGN, "head", node_head, 0);
|
4621
4616
|
rb_ary_push(members, rb_str_new2("head"));
|
4617
|
+
|
4618
|
+
/* Document-method: value
|
4619
|
+
* TODO
|
4620
|
+
*/
|
4621
|
+
rb_define_method(rb_cMASGN, "value", node_value, 0);
|
4622
|
+
rb_ary_push(members, rb_str_new2("value"));
|
4622
4623
|
}
|
4623
4624
|
|
4624
4625
|
/* Document-class: Node::MATCH
|
@@ -4943,6 +4944,12 @@ void define_node_subclass_methods()
|
|
4943
4944
|
rb_iv_set(rb_cOP_ASGN1, "__type__", INT2NUM(NODE_OP_ASGN1));
|
4944
4945
|
rb_define_singleton_method(rb_cOP_ASGN1, "members", node_s_members, 0);
|
4945
4946
|
|
4947
|
+
/* Document-method: args
|
4948
|
+
* the arguments to the assigment
|
4949
|
+
*/
|
4950
|
+
rb_define_method(rb_cOP_ASGN1, "args", node_args, 0);
|
4951
|
+
rb_ary_push(members, rb_str_new2("args"));
|
4952
|
+
|
4946
4953
|
/* Document-method: mid
|
4947
4954
|
* 0, 1, or the name a method to call to calculate the value of the
|
4948
4955
|
* rhs
|
@@ -4955,12 +4962,6 @@ void define_node_subclass_methods()
|
|
4955
4962
|
*/
|
4956
4963
|
rb_define_method(rb_cOP_ASGN1, "recv", node_recv, 0);
|
4957
4964
|
rb_ary_push(members, rb_str_new2("recv"));
|
4958
|
-
|
4959
|
-
/* Document-method: args
|
4960
|
-
* the arguments to the assigment
|
4961
|
-
*/
|
4962
|
-
rb_define_method(rb_cOP_ASGN1, "args", node_args, 0);
|
4963
|
-
rb_ary_push(members, rb_str_new2("args"));
|
4964
4965
|
}
|
4965
4966
|
|
4966
4967
|
/* Document-class: Node::OP_ASGN2
|
@@ -5016,14 +5017,6 @@ void define_node_subclass_methods()
|
|
5016
5017
|
rb_iv_set(rb_cOP_ASGN2_ARG, "__type__", INT2NUM(NODE_OP_ASGN2_ARG));
|
5017
5018
|
rb_define_singleton_method(rb_cOP_ASGN2_ARG, "members", node_s_members, 0);
|
5018
5019
|
|
5019
|
-
/* Document-method: mid
|
5020
|
-
* The operation to apply to the attribute before setting it. May
|
5021
|
-
* be 0 (false) to indicate "logical or" or 1 (nil) to indicate
|
5022
|
-
* "logical and".
|
5023
|
-
*/
|
5024
|
-
rb_define_method(rb_cOP_ASGN2_ARG, "mid", node_mid, 0);
|
5025
|
-
rb_ary_push(members, rb_str_new2("mid"));
|
5026
|
-
|
5027
5020
|
/* Document-method: vid
|
5028
5021
|
* The method to call on the receiver to retrieve the attribute
|
5029
5022
|
*/
|
@@ -5035,6 +5028,14 @@ void define_node_subclass_methods()
|
|
5035
5028
|
*/
|
5036
5029
|
rb_define_method(rb_cOP_ASGN2_ARG, "aid", node_aid, 0);
|
5037
5030
|
rb_ary_push(members, rb_str_new2("aid"));
|
5031
|
+
|
5032
|
+
/* Document-method: mid
|
5033
|
+
* The operation to apply to the attribute before setting it. May
|
5034
|
+
* be 0 (false) to indicate "logical or" or 1 (nil) to indicate
|
5035
|
+
* "logical and".
|
5036
|
+
*/
|
5037
|
+
rb_define_method(rb_cOP_ASGN2_ARG, "mid", node_mid, 0);
|
5038
|
+
rb_ary_push(members, rb_str_new2("mid"));
|
5038
5039
|
}
|
5039
5040
|
|
5040
5041
|
/* Document-class: Node::OP_ASGN_AND
|
@@ -5083,12 +5084,6 @@ void define_node_subclass_methods()
|
|
5083
5084
|
rb_iv_set(rb_cOP_ASGN_OR, "__type__", INT2NUM(NODE_OP_ASGN_OR));
|
5084
5085
|
rb_define_singleton_method(rb_cOP_ASGN_OR, "members", node_s_members, 0);
|
5085
5086
|
|
5086
|
-
/* Document-method: recv
|
5087
|
-
* the receiver of the assignment
|
5088
|
-
*/
|
5089
|
-
rb_define_method(rb_cOP_ASGN_OR, "recv", node_recv, 0);
|
5090
|
-
rb_ary_push(members, rb_str_new2("recv"));
|
5091
|
-
|
5092
5087
|
/* Document-method: aid
|
5093
5088
|
* if this indicator is nonzero, ruby will check to see if the
|
5094
5089
|
* provided expression is defined, otherwise it will assume that
|
@@ -5102,6 +5097,12 @@ void define_node_subclass_methods()
|
|
5102
5097
|
*/
|
5103
5098
|
rb_define_method(rb_cOP_ASGN_OR, "value", node_value, 0);
|
5104
5099
|
rb_ary_push(members, rb_str_new2("value"));
|
5100
|
+
|
5101
|
+
/* Document-method: recv
|
5102
|
+
* the receiver of the assignment
|
5103
|
+
*/
|
5104
|
+
rb_define_method(rb_cOP_ASGN_OR, "recv", node_recv, 0);
|
5105
|
+
rb_ary_push(members, rb_str_new2("recv"));
|
5105
5106
|
}
|
5106
5107
|
|
5107
5108
|
/* Document-class: Node::OR
|
@@ -5119,17 +5120,17 @@ void define_node_subclass_methods()
|
|
5119
5120
|
rb_iv_set(rb_cOR, "__type__", INT2NUM(NODE_OR));
|
5120
5121
|
rb_define_singleton_method(rb_cOR, "members", node_s_members, 0);
|
5121
5122
|
|
5122
|
-
/* Document-method: first
|
5123
|
-
* the expression on the left hand side
|
5124
|
-
*/
|
5125
|
-
rb_define_method(rb_cOR, "first", node_1st, 0);
|
5126
|
-
rb_ary_push(members, rb_str_new2("first"));
|
5127
|
-
|
5128
5123
|
/* Document-method: second
|
5129
5124
|
* the expression on the right hand side
|
5130
5125
|
*/
|
5131
5126
|
rb_define_method(rb_cOR, "second", node_2nd, 0);
|
5132
5127
|
rb_ary_push(members, rb_str_new2("second"));
|
5128
|
+
|
5129
|
+
/* Document-method: first
|
5130
|
+
* the expression on the left hand side
|
5131
|
+
*/
|
5132
|
+
rb_define_method(rb_cOR, "first", node_1st, 0);
|
5133
|
+
rb_ary_push(members, rb_str_new2("first"));
|
5133
5134
|
}
|
5134
5135
|
|
5135
5136
|
/* Document-class: Node::POSTEXE
|
@@ -5181,12 +5182,6 @@ void define_node_subclass_methods()
|
|
5181
5182
|
rb_iv_set(rb_cRESBODY, "__type__", INT2NUM(NODE_RESBODY));
|
5182
5183
|
rb_define_singleton_method(rb_cRESBODY, "members", node_s_members, 0);
|
5183
5184
|
|
5184
|
-
/* Document-method: args
|
5185
|
-
* the expression type to match against
|
5186
|
-
*/
|
5187
|
-
rb_define_method(rb_cRESBODY, "args", node_args, 0);
|
5188
|
-
rb_ary_push(members, rb_str_new2("args"));
|
5189
|
-
|
5190
5185
|
/* Document-method: head
|
5191
5186
|
* the next rescue
|
5192
5187
|
*/
|
@@ -5198,6 +5193,12 @@ void define_node_subclass_methods()
|
|
5198
5193
|
*/
|
5199
5194
|
rb_define_method(rb_cRESBODY, "body", node_body, 0);
|
5200
5195
|
rb_ary_push(members, rb_str_new2("body"));
|
5196
|
+
|
5197
|
+
/* Document-method: args
|
5198
|
+
* the expression type to match against
|
5199
|
+
*/
|
5200
|
+
rb_define_method(rb_cRESBODY, "args", node_args, 0);
|
5201
|
+
rb_ary_push(members, rb_str_new2("args"));
|
5201
5202
|
}
|
5202
5203
|
|
5203
5204
|
/* Document-class: Node::RESCUE
|
@@ -5237,18 +5238,18 @@ void define_node_subclass_methods()
|
|
5237
5238
|
rb_iv_set(rb_cRESCUE, "__type__", INT2NUM(NODE_RESCUE));
|
5238
5239
|
rb_define_singleton_method(rb_cRESCUE, "members", node_s_members, 0);
|
5239
5240
|
|
5240
|
-
/* Document-method: resq
|
5241
|
-
* the expression to be evaluated if an exception is raised
|
5242
|
-
*/
|
5243
|
-
rb_define_method(rb_cRESCUE, "resq", node_resq, 0);
|
5244
|
-
rb_ary_push(members, rb_str_new2("resq"));
|
5245
|
-
|
5246
5241
|
/* Document-method: head
|
5247
5242
|
* the body of the block to evaluate
|
5248
5243
|
*/
|
5249
5244
|
rb_define_method(rb_cRESCUE, "head", node_head, 0);
|
5250
5245
|
rb_ary_push(members, rb_str_new2("head"));
|
5251
5246
|
|
5247
|
+
/* Document-method: resq
|
5248
|
+
* the expression to be evaluated if an exception is raised
|
5249
|
+
*/
|
5250
|
+
rb_define_method(rb_cRESCUE, "resq", node_resq, 0);
|
5251
|
+
rb_ary_push(members, rb_str_new2("resq"));
|
5252
|
+
|
5252
5253
|
/* Document-method: else
|
5253
5254
|
* the expression to be evaluated if no exception is raised
|
5254
5255
|
*/
|
@@ -5308,17 +5309,17 @@ void define_node_subclass_methods()
|
|
5308
5309
|
rb_iv_set(rb_cSCLASS, "__type__", INT2NUM(NODE_SCLASS));
|
5309
5310
|
rb_define_singleton_method(rb_cSCLASS, "members", node_s_members, 0);
|
5310
5311
|
|
5311
|
-
/* Document-method: recv
|
5312
|
-
* the object whose singleton class is to be modified
|
5313
|
-
*/
|
5314
|
-
rb_define_method(rb_cSCLASS, "recv", node_recv, 0);
|
5315
|
-
rb_ary_push(members, rb_str_new2("recv"));
|
5316
|
-
|
5317
5312
|
/* Document-method: body
|
5318
5313
|
* the body of the class definition
|
5319
5314
|
*/
|
5320
5315
|
rb_define_method(rb_cSCLASS, "body", node_body, 0);
|
5321
5316
|
rb_ary_push(members, rb_str_new2("body"));
|
5317
|
+
|
5318
|
+
/* Document-method: recv
|
5319
|
+
* the object whose singleton class is to be modified
|
5320
|
+
*/
|
5321
|
+
rb_define_method(rb_cSCLASS, "recv", node_recv, 0);
|
5322
|
+
rb_ary_push(members, rb_str_new2("recv"));
|
5322
5323
|
}
|
5323
5324
|
|
5324
5325
|
/* Document-class: Node::SCOPE
|
@@ -5529,6 +5530,12 @@ void define_node_subclass_methods()
|
|
5529
5530
|
rb_iv_set(rb_cUNTIL, "__type__", INT2NUM(NODE_UNTIL));
|
5530
5531
|
rb_define_singleton_method(rb_cUNTIL, "members", node_s_members, 0);
|
5531
5532
|
|
5533
|
+
/* Document-method: body
|
5534
|
+
* the body of the loop
|
5535
|
+
*/
|
5536
|
+
rb_define_method(rb_cUNTIL, "body", node_body, 0);
|
5537
|
+
rb_ary_push(members, rb_str_new2("body"));
|
5538
|
+
|
5532
5539
|
/* Document-method: cond
|
5533
5540
|
* a condition to terminate the loop when it becomes true
|
5534
5541
|
*/
|
@@ -5536,12 +5543,6 @@ void define_node_subclass_methods()
|
|
5536
5543
|
rb_ary_push(members, rb_str_new2("cond"));
|
5537
5544
|
rb_define_method(rb_cUNTIL, "state", node_state, 0);
|
5538
5545
|
rb_ary_push(members, rb_str_new2("state"));
|
5539
|
-
|
5540
|
-
/* Document-method: body
|
5541
|
-
* the body of the loop
|
5542
|
-
*/
|
5543
|
-
rb_define_method(rb_cUNTIL, "body", node_body, 0);
|
5544
|
-
rb_ary_push(members, rb_str_new2("body"));
|
5545
5546
|
}
|
5546
5547
|
|
5547
5548
|
/* Document-class: Node::VALIAS
|
@@ -5620,12 +5621,6 @@ void define_node_subclass_methods()
|
|
5620
5621
|
rb_iv_set(rb_cWHEN, "__type__", INT2NUM(NODE_WHEN));
|
5621
5622
|
rb_define_singleton_method(rb_cWHEN, "members", node_s_members, 0);
|
5622
5623
|
|
5623
|
-
/* Document-method: next
|
5624
|
-
* the next expression to be evaluated if the condition is false
|
5625
|
-
*/
|
5626
|
-
rb_define_method(rb_cWHEN, "next", node_next, 0);
|
5627
|
-
rb_ary_push(members, rb_str_new2("next"));
|
5628
|
-
|
5629
5624
|
/* Document-method: head
|
5630
5625
|
* a value to compare against, or a condition to be tested
|
5631
5626
|
*/
|
@@ -5637,6 +5632,12 @@ void define_node_subclass_methods()
|
|
5637
5632
|
*/
|
5638
5633
|
rb_define_method(rb_cWHEN, "body", node_body, 0);
|
5639
5634
|
rb_ary_push(members, rb_str_new2("body"));
|
5635
|
+
|
5636
|
+
/* Document-method: next
|
5637
|
+
* the next expression to be evaluated if the condition is false
|
5638
|
+
*/
|
5639
|
+
rb_define_method(rb_cWHEN, "next", node_next, 0);
|
5640
|
+
rb_ary_push(members, rb_str_new2("next"));
|
5640
5641
|
}
|
5641
5642
|
|
5642
5643
|
/* Document-class: Node::WHILE
|
@@ -5653,6 +5654,12 @@ void define_node_subclass_methods()
|
|
5653
5654
|
rb_iv_set(rb_cWHILE, "__type__", INT2NUM(NODE_WHILE));
|
5654
5655
|
rb_define_singleton_method(rb_cWHILE, "members", node_s_members, 0);
|
5655
5656
|
|
5657
|
+
/* Document-method: body
|
5658
|
+
* the body of the loop
|
5659
|
+
*/
|
5660
|
+
rb_define_method(rb_cWHILE, "body", node_body, 0);
|
5661
|
+
rb_ary_push(members, rb_str_new2("body"));
|
5662
|
+
|
5656
5663
|
/* Document-method: cond
|
5657
5664
|
* a condition to terminate the loop when it becomes false
|
5658
5665
|
*/
|
@@ -5660,12 +5667,6 @@ void define_node_subclass_methods()
|
|
5660
5667
|
rb_ary_push(members, rb_str_new2("cond"));
|
5661
5668
|
rb_define_method(rb_cWHILE, "state", node_state, 0);
|
5662
5669
|
rb_ary_push(members, rb_str_new2("state"));
|
5663
|
-
|
5664
|
-
/* Document-method: body
|
5665
|
-
* the body of the loop
|
5666
|
-
*/
|
5667
|
-
rb_define_method(rb_cWHILE, "body", node_body, 0);
|
5668
|
-
rb_ary_push(members, rb_str_new2("body"));
|
5669
5670
|
}
|
5670
5671
|
|
5671
5672
|
/* Document-class: Node::XSTR
|
@@ -5702,17 +5703,17 @@ void define_node_subclass_methods()
|
|
5702
5703
|
rb_iv_set(rb_cYIELD, "__type__", INT2NUM(NODE_YIELD));
|
5703
5704
|
rb_define_singleton_method(rb_cYIELD, "members", node_s_members, 0);
|
5704
5705
|
|
5705
|
-
/* Document-method: state
|
5706
|
-
* if nonzero, splats the value before yielding
|
5707
|
-
*/
|
5708
|
-
rb_define_method(rb_cYIELD, "state", node_state, 0);
|
5709
|
-
rb_ary_push(members, rb_str_new2("state"));
|
5710
|
-
|
5711
5706
|
/* Document-method: head
|
5712
5707
|
* the value to yield
|
5713
5708
|
*/
|
5714
5709
|
rb_define_method(rb_cYIELD, "head", node_head, 0);
|
5715
5710
|
rb_ary_push(members, rb_str_new2("head"));
|
5711
|
+
|
5712
|
+
/* Document-method: state
|
5713
|
+
* if nonzero, splats the value before yielding
|
5714
|
+
*/
|
5715
|
+
rb_define_method(rb_cYIELD, "state", node_state, 0);
|
5716
|
+
rb_ary_push(members, rb_str_new2("state"));
|
5716
5717
|
}
|
5717
5718
|
|
5718
5719
|
/* Document-class: Node::ZARRAY
|