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
@@ -3,6 +3,7 @@
|
|
3
3
|
|
4
4
|
st_table * rb_global_tbl;
|
5
5
|
|
6
|
+
#define global_variable rb_global_variable
|
6
7
|
#define global_entry rb_global_entry
|
7
8
|
#define gvar_getter_t rb_gvar_getter_t
|
8
9
|
#define gvar_setter_t rb_gvar_setter_t
|
@@ -25,6 +26,9 @@ struct global_variable {
|
|
25
26
|
#define undef_getter rb_gvar_undef_getter
|
26
27
|
#define undef_setter rb_gvar_undef_setter
|
27
28
|
#define undef_marker rb_gvar_undef_marker
|
29
|
+
#define val_getter rb_gvar_val_getter
|
30
|
+
#define val_setter rb_gvar_val_setter
|
31
|
+
#define val_marker rb_gvar_val_marker
|
28
32
|
struct global_entry*
|
29
33
|
rb_global_entry(ID id)
|
30
34
|
{
|
@@ -2,62 +2,62 @@
|
|
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, NEN_CFNC,
|
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,
|
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,
|
14
|
-
{ NODE_ATTRASGN, NEN_ARGS, NEN_MID,
|
13
|
+
{ NODE_ARRAY, NEN_ALEN, NEN_HEAD, NEN_NEXT, "ARRAY" },
|
14
|
+
{ NODE_ATTRASGN, NEN_RECV, NEN_ARGS, NEN_MID, "ATTRASGN" },
|
15
15
|
{ NODE_BACK_REF, NEN_NTH, NEN_CNT, NEN_NONE, "BACK_REF" },
|
16
16
|
{ NODE_BEGIN, NEN_BODY, NEN_NONE, NEN_NONE, "BEGIN" },
|
17
|
-
{ NODE_BLOCK,
|
17
|
+
{ NODE_BLOCK, NEN_HEAD, NEN_NEXT, NEN_NONE, "BLOCK" },
|
18
18
|
{ NODE_BLOCK_ARG, NEN_CNT, NEN_NONE, NEN_NONE, "BLOCK_ARG" },
|
19
|
-
{ NODE_BLOCK_PASS,
|
19
|
+
{ NODE_BLOCK_PASS, NEN_BODY, NEN_ITER, NEN_NONE, "BLOCK_PASS" },
|
20
20
|
{ NODE_BMETHOD, NEN_CVAL, NEN_NONE, NEN_NONE, "BMETHOD" },
|
21
21
|
{ NODE_BREAK, NEN_STTS, NEN_NONE, NEN_NONE, "BREAK" },
|
22
22
|
{ NODE_CALL, NEN_ARGS, NEN_MID, NEN_RECV, "CALL" },
|
23
|
-
{ NODE_CASE,
|
24
|
-
{ NODE_CDECL,
|
23
|
+
{ NODE_CASE, NEN_HEAD, NEN_BODY, NEN_NEXT, "CASE" },
|
24
|
+
{ NODE_CDECL, NEN_VALUE, NEN_VID, NEN_NONE, "CDECL" },
|
25
25
|
{ NODE_CLASS, NEN_SUPER, NEN_CPATH, NEN_BODY, "CLASS" },
|
26
26
|
{ NODE_COLON2, NEN_HEAD, NEN_MID, NEN_NONE, "COLON2" },
|
27
27
|
{ NODE_COLON3, NEN_MID, NEN_NONE, NEN_NONE, "COLON3" },
|
28
28
|
{ NODE_CONST, NEN_VID, NEN_NONE, NEN_NONE, "CONST" },
|
29
29
|
{ NODE_CVAR, NEN_VID, NEN_NONE, NEN_NONE, "CVAR" },
|
30
|
-
{ NODE_CVASGN,
|
31
|
-
{ NODE_CVDECL,
|
32
|
-
{ NODE_DASGN,
|
33
|
-
{ NODE_DASGN_CURR,
|
30
|
+
{ NODE_CVASGN, NEN_VALUE, NEN_VID, NEN_NONE, "CVASGN" },
|
31
|
+
{ NODE_CVDECL, NEN_VALUE, NEN_VID, NEN_NONE, "CVDECL" },
|
32
|
+
{ NODE_DASGN, NEN_VALUE, NEN_VID, NEN_NONE, "DASGN" },
|
33
|
+
{ NODE_DASGN_CURR, NEN_VALUE, NEN_VID, NEN_NONE, "DASGN_CURR" },
|
34
34
|
{ NODE_DEFINED, NEN_HEAD, NEN_NONE, NEN_NONE, "DEFINED" },
|
35
|
-
{ NODE_DEFN,
|
36
|
-
{ NODE_DEFS, NEN_DEFN,
|
37
|
-
{ NODE_DOT2,
|
38
|
-
{ NODE_DOT3,
|
39
|
-
{ NODE_DREGX, NEN_NEXT, NEN_CFLAG,
|
40
|
-
{ NODE_DREGX_ONCE, NEN_NEXT, NEN_CFLAG,
|
41
|
-
{ NODE_DSTR,
|
42
|
-
{ NODE_DSYM,
|
35
|
+
{ NODE_DEFN, NEN_DEFN, NEN_MID, NEN_NOEX, "DEFN" },
|
36
|
+
{ NODE_DEFS, NEN_DEFN, NEN_RECV, NEN_MID, "DEFS" },
|
37
|
+
{ NODE_DOT2, NEN_BEG, NEN_END, NEN_STATE, "DOT2" },
|
38
|
+
{ NODE_DOT3, NEN_BEG, NEN_END, NEN_STATE, "DOT3" },
|
39
|
+
{ NODE_DREGX, NEN_LIT, NEN_NEXT, NEN_CFLAG, "DREGX" },
|
40
|
+
{ NODE_DREGX_ONCE, NEN_LIT, NEN_NEXT, NEN_CFLAG, "DREGX_ONCE" },
|
41
|
+
{ NODE_DSTR, NEN_LIT, NEN_NEXT, NEN_NONE, "DSTR" },
|
42
|
+
{ NODE_DSYM, NEN_LIT, NEN_NEXT, NEN_NONE, "DSYM" },
|
43
43
|
{ NODE_DVAR, NEN_VID, NEN_NONE, NEN_NONE, "DVAR" },
|
44
|
-
{ NODE_DXSTR,
|
44
|
+
{ NODE_DXSTR, NEN_LIT, NEN_NEXT, NEN_NONE, "DXSTR" },
|
45
45
|
{ NODE_ENSURE, NEN_HEAD, NEN_ENSR, NEN_NONE, "ENSURE" },
|
46
46
|
{ NODE_EVSTR, NEN_BODY, NEN_NONE, NEN_NONE, "EVSTR" },
|
47
47
|
{ NODE_FALSE, NEN_NONE, NEN_NONE, NEN_NONE, "FALSE" },
|
48
48
|
{ NODE_FCALL, NEN_ARGS, NEN_MID, NEN_NONE, "FCALL" },
|
49
49
|
{ NODE_FLIP2, NEN_CNT, NEN_BEG, NEN_END, "FLIP2" },
|
50
50
|
{ NODE_FLIP3, NEN_CNT, NEN_BEG, NEN_END, "FLIP3" },
|
51
|
-
{ NODE_FOR, NEN_ITER, NEN_VAR,
|
52
|
-
{ NODE_GASGN, NEN_VID, NEN_ENTRY,
|
51
|
+
{ NODE_FOR, NEN_BODY, NEN_ITER, NEN_VAR, "FOR" },
|
52
|
+
{ NODE_GASGN, NEN_VALUE, NEN_VID, NEN_ENTRY, "GASGN" },
|
53
53
|
{ NODE_GVAR, NEN_VID, NEN_ENTRY, NEN_NONE, "GVAR" },
|
54
54
|
{ NODE_HASH, NEN_HEAD, NEN_NONE, NEN_NONE, "HASH" },
|
55
|
-
{ NODE_IASGN,
|
56
|
-
{ NODE_IF,
|
57
|
-
{ NODE_IFUNC, NEN_TVAL, NEN_STATE,
|
58
|
-
{ NODE_ITER, NEN_ITER, NEN_VAR,
|
55
|
+
{ NODE_IASGN, NEN_VALUE, NEN_VID, NEN_NONE, "IASGN" },
|
56
|
+
{ NODE_IF, NEN_COND, NEN_BODY, NEN_ELSE, "IF" },
|
57
|
+
{ NODE_IFUNC, NEN_CFNC, NEN_TVAL, NEN_STATE, "IFUNC" },
|
58
|
+
{ NODE_ITER, NEN_BODY, NEN_ITER, NEN_VAR, "ITER" },
|
59
59
|
{ NODE_IVAR, NEN_VID, NEN_NONE, NEN_NONE, "IVAR" },
|
60
|
-
{ NODE_LASGN, NEN_VID, NEN_CNT,
|
60
|
+
{ NODE_LASGN, NEN_VALUE, NEN_VID, NEN_CNT, "LASGN" },
|
61
61
|
{ NODE_LIT, NEN_LIT, NEN_NONE, NEN_NONE, "LIT" },
|
62
62
|
{ NODE_LVAR, NEN_VID, NEN_CNT, NEN_NONE, "LVAR" },
|
63
63
|
{ NODE_MASGN, NEN_ARGS, NEN_HEAD, NEN_VALUE, "MASGN" },
|
@@ -71,19 +71,19 @@ Node_Type_Descrip node_type_descrips_unsorted[] = {
|
|
71
71
|
{ NODE_NTH_REF, NEN_NTH, NEN_CNT, NEN_NONE, "NTH_REF" },
|
72
72
|
{ NODE_OPT_N, NEN_BODY, NEN_NONE, NEN_NONE, "OPT_N" },
|
73
73
|
{ NODE_OP_ASGN1, NEN_ARGS, NEN_MID, NEN_RECV, "OP_ASGN1" },
|
74
|
-
{ NODE_OP_ASGN2,
|
75
|
-
{ NODE_OP_ASGN2_ARG, NEN_AID, NEN_MID,
|
74
|
+
{ NODE_OP_ASGN2, NEN_RECV, NEN_NEXT, NEN_VALUE, "OP_ASGN2" },
|
75
|
+
{ NODE_OP_ASGN2_ARG, NEN_VID, NEN_AID, NEN_MID, "OP_ASGN2_ARG" },
|
76
76
|
{ NODE_OP_ASGN_AND, NEN_RECV, NEN_VALUE, NEN_NONE, "OP_ASGN_AND" },
|
77
|
-
{ NODE_OP_ASGN_OR, NEN_AID,
|
77
|
+
{ NODE_OP_ASGN_OR, NEN_AID, NEN_VALUE, NEN_RECV, "OP_ASGN_OR" },
|
78
78
|
{ NODE_OR, NEN_2ND, NEN_1ST, NEN_NONE, "OR" },
|
79
79
|
{ NODE_POSTEXE, NEN_NONE, NEN_NONE, NEN_NONE, "POSTEXE" },
|
80
80
|
{ NODE_REDO, NEN_NONE, NEN_NONE, NEN_NONE, "REDO" },
|
81
|
-
{ NODE_RESBODY,
|
82
|
-
{ NODE_RESCUE,
|
81
|
+
{ NODE_RESBODY, NEN_HEAD, NEN_BODY, NEN_ARGS, "RESBODY" },
|
82
|
+
{ NODE_RESCUE, NEN_HEAD, NEN_RESQ, NEN_ELSE, "RESCUE" },
|
83
83
|
{ NODE_RETRY, NEN_NONE, NEN_NONE, NEN_NONE, "RETRY" },
|
84
84
|
{ NODE_RETURN, NEN_STTS, NEN_NONE, NEN_NONE, "RETURN" },
|
85
|
-
{ NODE_SCLASS,
|
86
|
-
{ NODE_SCOPE,
|
85
|
+
{ NODE_SCLASS, NEN_BODY, NEN_RECV, NEN_NONE, "SCLASS" },
|
86
|
+
{ NODE_SCOPE, NEN_TBL, NEN_RVAL, NEN_NEXT, "SCOPE" },
|
87
87
|
{ NODE_SELF, NEN_NONE, NEN_NONE, NEN_NONE, "SELF" },
|
88
88
|
{ NODE_SPLAT, NEN_HEAD, NEN_NONE, NEN_NONE, "SPLAT" },
|
89
89
|
{ NODE_STR, NEN_LIT, NEN_NONE, NEN_NONE, "STR" },
|
@@ -91,13 +91,13 @@ Node_Type_Descrip node_type_descrips_unsorted[] = {
|
|
91
91
|
{ NODE_TO_ARY, NEN_HEAD, NEN_NONE, NEN_NONE, "TO_ARY" },
|
92
92
|
{ NODE_TRUE, NEN_NONE, NEN_NONE, NEN_NONE, "TRUE" },
|
93
93
|
{ NODE_UNDEF, NEN_BODY, NEN_NONE, NEN_NONE, "UNDEF" },
|
94
|
-
{ NODE_UNTIL,
|
95
|
-
{ NODE_VALIAS,
|
94
|
+
{ NODE_UNTIL, NEN_BODY, NEN_COND, NEN_STATE, "UNTIL" },
|
95
|
+
{ NODE_VALIAS, NEN_1ST, NEN_2ND, NEN_NONE, "VALIAS" },
|
96
96
|
{ NODE_VCALL, NEN_MID, NEN_NONE, NEN_NONE, "VCALL" },
|
97
|
-
{ NODE_WHEN,
|
98
|
-
{ NODE_WHILE,
|
97
|
+
{ NODE_WHEN, NEN_HEAD, NEN_BODY, NEN_NEXT, "WHEN" },
|
98
|
+
{ NODE_WHILE, NEN_BODY, NEN_COND, NEN_STATE, "WHILE" },
|
99
99
|
{ NODE_XSTR, NEN_LIT, NEN_NONE, NEN_NONE, "XSTR" },
|
100
|
-
{ NODE_YIELD,
|
100
|
+
{ NODE_YIELD, NEN_HEAD, NEN_STATE, NEN_NONE, "YIELD" },
|
101
101
|
{ NODE_ZARRAY, NEN_NONE, NEN_NONE, NEN_NONE, "ZARRAY" },
|
102
102
|
{ NODE_ZSUPER, NEN_NONE, NEN_NONE, NEN_NONE, "ZSUPER" },
|
103
103
|
{ NODE_LAST, NEN_NONE, NEN_NONE, NEN_NONE, "LAST" },
|
@@ -2822,10 +2822,10 @@ void define_node_subclass_methods()
|
|
2822
2822
|
rb_iv_set(rb_cALIAS, "__member__", members);
|
2823
2823
|
rb_iv_set(rb_cALIAS, "__type__", INT2NUM(NODE_ALIAS));
|
2824
2824
|
rb_define_singleton_method(rb_cALIAS, "members", node_s_members, 0);
|
2825
|
-
rb_define_method(rb_cALIAS, "second", node_2nd, 0);
|
2826
|
-
rb_ary_push(members, rb_str_new2("second"));
|
2827
2825
|
rb_define_method(rb_cALIAS, "first", node_1st, 0);
|
2828
2826
|
rb_ary_push(members, rb_str_new2("first"));
|
2827
|
+
rb_define_method(rb_cALIAS, "second", node_2nd, 0);
|
2828
|
+
rb_ary_push(members, rb_str_new2("second"));
|
2829
2829
|
}
|
2830
2830
|
|
2831
2831
|
/* Document-class: Node::ALLOCA
|
@@ -2849,17 +2849,17 @@ void define_node_subclass_methods()
|
|
2849
2849
|
rb_define_method(rb_cALLOCA, "cfnc", node_cfnc, 0);
|
2850
2850
|
rb_ary_push(members, rb_str_new2("cfnc"));
|
2851
2851
|
|
2852
|
-
/* Document-method: cnt
|
2853
|
-
* the number of bytes allocated
|
2854
|
-
*/
|
2855
|
-
rb_define_method(rb_cALLOCA, "cnt", node_cnt, 0);
|
2856
|
-
rb_ary_push(members, rb_str_new2("cnt"));
|
2857
|
-
|
2858
2852
|
/* Document-method: value
|
2859
2853
|
* a pointer to the previously allocated temporary node
|
2860
2854
|
*/
|
2861
2855
|
rb_define_method(rb_cALLOCA, "value", node_value, 0);
|
2862
2856
|
rb_ary_push(members, rb_str_new2("value"));
|
2857
|
+
|
2858
|
+
/* Document-method: cnt
|
2859
|
+
* the number of bytes allocated
|
2860
|
+
*/
|
2861
|
+
rb_define_method(rb_cALLOCA, "cnt", node_cnt, 0);
|
2862
|
+
rb_ary_push(members, rb_str_new2("cnt"));
|
2863
2863
|
}
|
2864
2864
|
#endif
|
2865
2865
|
|
@@ -2902,6 +2902,12 @@ void define_node_subclass_methods()
|
|
2902
2902
|
rb_iv_set(rb_cARGS, "__type__", INT2NUM(NODE_ARGS));
|
2903
2903
|
rb_define_singleton_method(rb_cARGS, "members", node_s_members, 0);
|
2904
2904
|
|
2905
|
+
/* Document-method: rest
|
2906
|
+
* an assignment node to assign the rest arg, if it is present
|
2907
|
+
*/
|
2908
|
+
rb_define_method(rb_cARGS, "rest", node_rest, 0);
|
2909
|
+
rb_ary_push(members, rb_str_new2("rest"));
|
2910
|
+
|
2905
2911
|
/* Document-method: opt
|
2906
2912
|
* a list of assignment nodes to assign default values to the
|
2907
2913
|
* optional arguments if no argument is specified
|
@@ -2909,12 +2915,6 @@ void define_node_subclass_methods()
|
|
2909
2915
|
rb_define_method(rb_cARGS, "opt", node_opt, 0);
|
2910
2916
|
rb_ary_push(members, rb_str_new2("opt"));
|
2911
2917
|
|
2912
|
-
/* Document-method: rest
|
2913
|
-
* an assignment node to assign the rest arg, if it is present
|
2914
|
-
*/
|
2915
|
-
rb_define_method(rb_cARGS, "rest", node_rest, 0);
|
2916
|
-
rb_ary_push(members, rb_str_new2("rest"));
|
2917
|
-
|
2918
2918
|
/* Document-method: cnt
|
2919
2919
|
* the number of required arguments
|
2920
2920
|
*/
|
@@ -2985,20 +2985,20 @@ void define_node_subclass_methods()
|
|
2985
2985
|
rb_iv_set(rb_cARRAY, "__member__", members);
|
2986
2986
|
rb_iv_set(rb_cARRAY, "__type__", INT2NUM(NODE_ARRAY));
|
2987
2987
|
rb_define_singleton_method(rb_cARRAY, "members", node_s_members, 0);
|
2988
|
-
|
2989
|
-
|
2990
|
-
* the tail of the array
|
2991
|
-
*/
|
2992
|
-
rb_define_method(rb_cARRAY, "next", node_next, 0);
|
2993
|
-
rb_ary_push(members, rb_str_new2("next"));
|
2988
|
+
rb_define_method(rb_cARRAY, "alen", node_alen, 0);
|
2989
|
+
rb_ary_push(members, rb_str_new2("alen"));
|
2994
2990
|
|
2995
2991
|
/* Document-method: head
|
2996
2992
|
* the first element of the array
|
2997
2993
|
*/
|
2998
2994
|
rb_define_method(rb_cARRAY, "head", node_head, 0);
|
2999
2995
|
rb_ary_push(members, rb_str_new2("head"));
|
3000
|
-
|
3001
|
-
|
2996
|
+
|
2997
|
+
/* Document-method: next
|
2998
|
+
* the tail of the array
|
2999
|
+
*/
|
3000
|
+
rb_define_method(rb_cARRAY, "next", node_next, 0);
|
3001
|
+
rb_ary_push(members, rb_str_new2("next"));
|
3002
3002
|
}
|
3003
3003
|
|
3004
3004
|
/* Document-class: Node::ATTRASGN
|
@@ -3015,6 +3015,12 @@ void define_node_subclass_methods()
|
|
3015
3015
|
rb_iv_set(rb_cATTRASGN, "__type__", INT2NUM(NODE_ATTRASGN));
|
3016
3016
|
rb_define_singleton_method(rb_cATTRASGN, "members", node_s_members, 0);
|
3017
3017
|
|
3018
|
+
/* Document-method: recv
|
3019
|
+
* the receiver of the method
|
3020
|
+
*/
|
3021
|
+
rb_define_method(rb_cATTRASGN, "recv", node_recv, 0);
|
3022
|
+
rb_ary_push(members, rb_str_new2("recv"));
|
3023
|
+
|
3018
3024
|
/* Document-method: args
|
3019
3025
|
* the arguments to the method
|
3020
3026
|
*/
|
@@ -3026,12 +3032,6 @@ void define_node_subclass_methods()
|
|
3026
3032
|
*/
|
3027
3033
|
rb_define_method(rb_cATTRASGN, "mid", node_mid, 0);
|
3028
3034
|
rb_ary_push(members, rb_str_new2("mid"));
|
3029
|
-
|
3030
|
-
/* Document-method: recv
|
3031
|
-
* the receiver of the method
|
3032
|
-
*/
|
3033
|
-
rb_define_method(rb_cATTRASGN, "recv", node_recv, 0);
|
3034
|
-
rb_ary_push(members, rb_str_new2("recv"));
|
3035
3035
|
}
|
3036
3036
|
|
3037
3037
|
/* Document-class: Node::BACK_REF
|
@@ -3098,17 +3098,17 @@ void define_node_subclass_methods()
|
|
3098
3098
|
rb_iv_set(rb_cBLOCK, "__type__", INT2NUM(NODE_BLOCK));
|
3099
3099
|
rb_define_singleton_method(rb_cBLOCK, "members", node_s_members, 0);
|
3100
3100
|
|
3101
|
-
/* Document-method: next
|
3102
|
-
* the second expression in the block of code
|
3103
|
-
*/
|
3104
|
-
rb_define_method(rb_cBLOCK, "next", node_next, 0);
|
3105
|
-
rb_ary_push(members, rb_str_new2("next"));
|
3106
|
-
|
3107
3101
|
/* Document-method: head
|
3108
3102
|
* the first expression in the block of code
|
3109
3103
|
*/
|
3110
3104
|
rb_define_method(rb_cBLOCK, "head", node_head, 0);
|
3111
3105
|
rb_ary_push(members, rb_str_new2("head"));
|
3106
|
+
|
3107
|
+
/* Document-method: next
|
3108
|
+
* the second expression in the block of code
|
3109
|
+
*/
|
3110
|
+
rb_define_method(rb_cBLOCK, "next", node_next, 0);
|
3111
|
+
rb_ary_push(members, rb_str_new2("next"));
|
3112
3112
|
}
|
3113
3113
|
|
3114
3114
|
/* Document-class: Node::BLOCK_ARG
|
@@ -3149,17 +3149,17 @@ void define_node_subclass_methods()
|
|
3149
3149
|
rb_iv_set(rb_cBLOCK_PASS, "__type__", INT2NUM(NODE_BLOCK_PASS));
|
3150
3150
|
rb_define_singleton_method(rb_cBLOCK_PASS, "members", node_s_members, 0);
|
3151
3151
|
|
3152
|
-
/* Document-method: iter
|
3153
|
-
* an expression which calls a method
|
3154
|
-
*/
|
3155
|
-
rb_define_method(rb_cBLOCK_PASS, "iter", node_iter, 0);
|
3156
|
-
rb_ary_push(members, rb_str_new2("iter"));
|
3157
|
-
|
3158
3152
|
/* Document-method: body
|
3159
3153
|
* the object to pass as a block
|
3160
3154
|
*/
|
3161
3155
|
rb_define_method(rb_cBLOCK_PASS, "body", node_body, 0);
|
3162
3156
|
rb_ary_push(members, rb_str_new2("body"));
|
3157
|
+
|
3158
|
+
/* Document-method: iter
|
3159
|
+
* an expression which calls a method
|
3160
|
+
*/
|
3161
|
+
rb_define_method(rb_cBLOCK_PASS, "iter", node_iter, 0);
|
3162
|
+
rb_ary_push(members, rb_str_new2("iter"));
|
3163
3163
|
}
|
3164
3164
|
|
3165
3165
|
/* Document-class: Node::BMETHOD
|
@@ -3249,8 +3249,6 @@ void define_node_subclass_methods()
|
|
3249
3249
|
rb_iv_set(rb_cCASE, "__member__", members);
|
3250
3250
|
rb_iv_set(rb_cCASE, "__type__", INT2NUM(NODE_CASE));
|
3251
3251
|
rb_define_singleton_method(rb_cCASE, "members", node_s_members, 0);
|
3252
|
-
rb_define_method(rb_cCASE, "next", node_next, 0);
|
3253
|
-
rb_ary_push(members, rb_str_new2("next"));
|
3254
3252
|
|
3255
3253
|
/* Document-method: head
|
3256
3254
|
* the value to select on
|
@@ -3264,6 +3262,8 @@ void define_node_subclass_methods()
|
|
3264
3262
|
*/
|
3265
3263
|
rb_define_method(rb_cCASE, "body", node_body, 0);
|
3266
3264
|
rb_ary_push(members, rb_str_new2("body"));
|
3265
|
+
rb_define_method(rb_cCASE, "next", node_next, 0);
|
3266
|
+
rb_ary_push(members, rb_str_new2("next"));
|
3267
3267
|
}
|
3268
3268
|
|
3269
3269
|
/* Document-class: Node::CDECL
|
@@ -3278,17 +3278,17 @@ void define_node_subclass_methods()
|
|
3278
3278
|
rb_iv_set(rb_cCDECL, "__type__", INT2NUM(NODE_CDECL));
|
3279
3279
|
rb_define_singleton_method(rb_cCDECL, "members", node_s_members, 0);
|
3280
3280
|
|
3281
|
-
/* Document-method: vid
|
3282
|
-
* the name of the constant to be assigned, all uppercase
|
3283
|
-
*/
|
3284
|
-
rb_define_method(rb_cCDECL, "vid", node_vid, 0);
|
3285
|
-
rb_ary_push(members, rb_str_new2("vid"));
|
3286
|
-
|
3287
3281
|
/* Document-method: value
|
3288
3282
|
* the value to be assigned to the constant
|
3289
3283
|
*/
|
3290
3284
|
rb_define_method(rb_cCDECL, "value", node_value, 0);
|
3291
3285
|
rb_ary_push(members, rb_str_new2("value"));
|
3286
|
+
|
3287
|
+
/* Document-method: vid
|
3288
|
+
* the name of the constant to be assigned, all uppercase
|
3289
|
+
*/
|
3290
|
+
rb_define_method(rb_cCDECL, "vid", node_vid, 0);
|
3291
|
+
rb_ary_push(members, rb_str_new2("vid"));
|
3292
3292
|
}
|
3293
3293
|
|
3294
3294
|
/* Document-class: Node::CLASS
|
@@ -3434,18 +3434,18 @@ void define_node_subclass_methods()
|
|
3434
3434
|
rb_iv_set(rb_cCVASGN, "__type__", INT2NUM(NODE_CVASGN));
|
3435
3435
|
rb_define_singleton_method(rb_cCVASGN, "members", node_s_members, 0);
|
3436
3436
|
|
3437
|
-
/* Document-method: vid
|
3438
|
-
* the name of the class variable to assign
|
3439
|
-
*/
|
3440
|
-
rb_define_method(rb_cCVASGN, "vid", node_vid, 0);
|
3441
|
-
rb_ary_push(members, rb_str_new2("vid"));
|
3442
|
-
|
3443
3437
|
/* Document-method: value
|
3444
3438
|
* an expression whose result is the new value of the class
|
3445
3439
|
* variable
|
3446
3440
|
*/
|
3447
3441
|
rb_define_method(rb_cCVASGN, "value", node_value, 0);
|
3448
3442
|
rb_ary_push(members, rb_str_new2("value"));
|
3443
|
+
|
3444
|
+
/* Document-method: vid
|
3445
|
+
* the name of the class variable to assign
|
3446
|
+
*/
|
3447
|
+
rb_define_method(rb_cCVASGN, "vid", node_vid, 0);
|
3448
|
+
rb_ary_push(members, rb_str_new2("vid"));
|
3449
3449
|
}
|
3450
3450
|
|
3451
3451
|
/* Document-class: Node::CVDECL
|
@@ -3461,18 +3461,18 @@ void define_node_subclass_methods()
|
|
3461
3461
|
rb_iv_set(rb_cCVDECL, "__type__", INT2NUM(NODE_CVDECL));
|
3462
3462
|
rb_define_singleton_method(rb_cCVDECL, "members", node_s_members, 0);
|
3463
3463
|
|
3464
|
-
/* Document-method: vid
|
3465
|
-
* the name of the class variable to assign
|
3466
|
-
*/
|
3467
|
-
rb_define_method(rb_cCVDECL, "vid", node_vid, 0);
|
3468
|
-
rb_ary_push(members, rb_str_new2("vid"));
|
3469
|
-
|
3470
3464
|
/* Document-method: value
|
3471
3465
|
* an expression whose result is the new value of the class
|
3472
3466
|
* variable
|
3473
3467
|
*/
|
3474
3468
|
rb_define_method(rb_cCVDECL, "value", node_value, 0);
|
3475
3469
|
rb_ary_push(members, rb_str_new2("value"));
|
3470
|
+
|
3471
|
+
/* Document-method: vid
|
3472
|
+
* the name of the class variable to assign
|
3473
|
+
*/
|
3474
|
+
rb_define_method(rb_cCVDECL, "vid", node_vid, 0);
|
3475
|
+
rb_ary_push(members, rb_str_new2("vid"));
|
3476
3476
|
}
|
3477
3477
|
|
3478
3478
|
/* Document-class: Node::DASGN
|
@@ -3495,17 +3495,17 @@ void define_node_subclass_methods()
|
|
3495
3495
|
rb_iv_set(rb_cDASGN, "__type__", INT2NUM(NODE_DASGN));
|
3496
3496
|
rb_define_singleton_method(rb_cDASGN, "members", node_s_members, 0);
|
3497
3497
|
|
3498
|
-
/* Document-method: vid
|
3499
|
-
* the name of the local variable
|
3500
|
-
*/
|
3501
|
-
rb_define_method(rb_cDASGN, "vid", node_vid, 0);
|
3502
|
-
rb_ary_push(members, rb_str_new2("vid"));
|
3503
|
-
|
3504
3498
|
/* Document-method: value
|
3505
3499
|
* the value to assign to the local variable
|
3506
3500
|
*/
|
3507
3501
|
rb_define_method(rb_cDASGN, "value", node_value, 0);
|
3508
3502
|
rb_ary_push(members, rb_str_new2("value"));
|
3503
|
+
|
3504
|
+
/* Document-method: vid
|
3505
|
+
* the name of the local variable
|
3506
|
+
*/
|
3507
|
+
rb_define_method(rb_cDASGN, "vid", node_vid, 0);
|
3508
|
+
rb_ary_push(members, rb_str_new2("vid"));
|
3509
3509
|
}
|
3510
3510
|
|
3511
3511
|
/* Document-class: Node::DASGN_CURR
|
@@ -3520,17 +3520,17 @@ void define_node_subclass_methods()
|
|
3520
3520
|
rb_iv_set(rb_cDASGN_CURR, "__type__", INT2NUM(NODE_DASGN_CURR));
|
3521
3521
|
rb_define_singleton_method(rb_cDASGN_CURR, "members", node_s_members, 0);
|
3522
3522
|
|
3523
|
-
/* Document-method: vid
|
3524
|
-
* the name of the local variable
|
3525
|
-
*/
|
3526
|
-
rb_define_method(rb_cDASGN_CURR, "vid", node_vid, 0);
|
3527
|
-
rb_ary_push(members, rb_str_new2("vid"));
|
3528
|
-
|
3529
3523
|
/* Document-method: value
|
3530
3524
|
* the value to assign to the local variable
|
3531
3525
|
*/
|
3532
3526
|
rb_define_method(rb_cDASGN_CURR, "value", node_value, 0);
|
3533
3527
|
rb_ary_push(members, rb_str_new2("value"));
|
3528
|
+
|
3529
|
+
/* Document-method: vid
|
3530
|
+
* the name of the local variable
|
3531
|
+
*/
|
3532
|
+
rb_define_method(rb_cDASGN_CURR, "vid", node_vid, 0);
|
3533
|
+
rb_ary_push(members, rb_str_new2("vid"));
|
3534
3534
|
}
|
3535
3535
|
|
3536
3536
|
/* Document-class: Node::DEFINED
|
@@ -3566,12 +3566,6 @@ void define_node_subclass_methods()
|
|
3566
3566
|
rb_iv_set(rb_cDEFN, "__type__", INT2NUM(NODE_DEFN));
|
3567
3567
|
rb_define_singleton_method(rb_cDEFN, "members", node_s_members, 0);
|
3568
3568
|
|
3569
|
-
/* Document-method: noex
|
3570
|
-
* the flags which should be used to define the method
|
3571
|
-
*/
|
3572
|
-
rb_define_method(rb_cDEFN, "noex", node_noex, 0);
|
3573
|
-
rb_ary_push(members, rb_str_new2("noex"));
|
3574
|
-
|
3575
3569
|
/* Document-method: defn
|
3576
3570
|
* the body of the method definition
|
3577
3571
|
*/
|
@@ -3583,6 +3577,12 @@ void define_node_subclass_methods()
|
|
3583
3577
|
*/
|
3584
3578
|
rb_define_method(rb_cDEFN, "mid", node_mid, 0);
|
3585
3579
|
rb_ary_push(members, rb_str_new2("mid"));
|
3580
|
+
|
3581
|
+
/* Document-method: noex
|
3582
|
+
* the flags which should be used to define the method
|
3583
|
+
*/
|
3584
|
+
rb_define_method(rb_cDEFN, "noex", node_noex, 0);
|
3585
|
+
rb_ary_push(members, rb_str_new2("noex"));
|
3586
3586
|
}
|
3587
3587
|
|
3588
3588
|
/* Document-class: Node::DEFS
|
@@ -3601,17 +3601,17 @@ void define_node_subclass_methods()
|
|
3601
3601
|
rb_define_method(rb_cDEFS, "defn", node_defn, 0);
|
3602
3602
|
rb_ary_push(members, rb_str_new2("defn"));
|
3603
3603
|
|
3604
|
-
/* Document-method: mid
|
3605
|
-
* the name of the method* defn the body of the method
|
3606
|
-
*/
|
3607
|
-
rb_define_method(rb_cDEFS, "mid", node_mid, 0);
|
3608
|
-
rb_ary_push(members, rb_str_new2("mid"));
|
3609
|
-
|
3610
3604
|
/* Document-method: recv
|
3611
3605
|
* the object to whose singleton class the new method is to be added
|
3612
3606
|
*/
|
3613
3607
|
rb_define_method(rb_cDEFS, "recv", node_recv, 0);
|
3614
3608
|
rb_ary_push(members, rb_str_new2("recv"));
|
3609
|
+
|
3610
|
+
/* Document-method: mid
|
3611
|
+
* the name of the method* defn the body of the method
|
3612
|
+
*/
|
3613
|
+
rb_define_method(rb_cDEFS, "mid", node_mid, 0);
|
3614
|
+
rb_ary_push(members, rb_str_new2("mid"));
|
3615
3615
|
}
|
3616
3616
|
|
3617
3617
|
/* Document-class: Node::DOT2
|
@@ -3626,8 +3626,6 @@ void define_node_subclass_methods()
|
|
3626
3626
|
rb_iv_set(rb_cDOT2, "__member__", members);
|
3627
3627
|
rb_iv_set(rb_cDOT2, "__type__", INT2NUM(NODE_DOT2));
|
3628
3628
|
rb_define_singleton_method(rb_cDOT2, "members", node_s_members, 0);
|
3629
|
-
rb_define_method(rb_cDOT2, "state", node_state, 0);
|
3630
|
-
rb_ary_push(members, rb_str_new2("state"));
|
3631
3629
|
|
3632
3630
|
/* Document-method: beg
|
3633
3631
|
* the beginning of the range
|
@@ -3640,6 +3638,8 @@ void define_node_subclass_methods()
|
|
3640
3638
|
*/
|
3641
3639
|
rb_define_method(rb_cDOT2, "end", node_end, 0);
|
3642
3640
|
rb_ary_push(members, rb_str_new2("end"));
|
3641
|
+
rb_define_method(rb_cDOT2, "state", node_state, 0);
|
3642
|
+
rb_ary_push(members, rb_str_new2("state"));
|
3643
3643
|
}
|
3644
3644
|
|
3645
3645
|
/* Document-class: Node::DOT3
|
@@ -3654,8 +3654,6 @@ void define_node_subclass_methods()
|
|
3654
3654
|
rb_iv_set(rb_cDOT3, "__member__", members);
|
3655
3655
|
rb_iv_set(rb_cDOT3, "__type__", INT2NUM(NODE_DOT3));
|
3656
3656
|
rb_define_singleton_method(rb_cDOT3, "members", node_s_members, 0);
|
3657
|
-
rb_define_method(rb_cDOT3, "state", node_state, 0);
|
3658
|
-
rb_ary_push(members, rb_str_new2("state"));
|
3659
3657
|
|
3660
3658
|
/* Document-method: beg
|
3661
3659
|
* the beginning of the range
|
@@ -3668,6 +3666,8 @@ void define_node_subclass_methods()
|
|
3668
3666
|
*/
|
3669
3667
|
rb_define_method(rb_cDOT3, "end", node_end, 0);
|
3670
3668
|
rb_ary_push(members, rb_str_new2("end"));
|
3669
|
+
rb_define_method(rb_cDOT3, "state", node_state, 0);
|
3670
|
+
rb_ary_push(members, rb_str_new2("state"));
|
3671
3671
|
}
|
3672
3672
|
|
3673
3673
|
/* Document-class: Node::DREGX
|
@@ -3686,6 +3686,12 @@ void define_node_subclass_methods()
|
|
3686
3686
|
rb_iv_set(rb_cDREGX, "__type__", INT2NUM(NODE_DREGX));
|
3687
3687
|
rb_define_singleton_method(rb_cDREGX, "members", node_s_members, 0);
|
3688
3688
|
|
3689
|
+
/* Document-method: lit
|
3690
|
+
* a string
|
3691
|
+
*/
|
3692
|
+
rb_define_method(rb_cDREGX, "lit", node_lit, 0);
|
3693
|
+
rb_ary_push(members, rb_str_new2("lit"));
|
3694
|
+
|
3689
3695
|
/* Document-method: next
|
3690
3696
|
* a list of expressions to be appended onto the string
|
3691
3697
|
*/
|
@@ -3708,12 +3714,6 @@ void define_node_subclass_methods()
|
|
3708
3714
|
*/
|
3709
3715
|
rb_define_method(rb_cDREGX, "cflag", node_cflag, 0);
|
3710
3716
|
rb_ary_push(members, rb_str_new2("cflag"));
|
3711
|
-
|
3712
|
-
/* Document-method: lit
|
3713
|
-
* a string
|
3714
|
-
*/
|
3715
|
-
rb_define_method(rb_cDREGX, "lit", node_lit, 0);
|
3716
|
-
rb_ary_push(members, rb_str_new2("lit"));
|
3717
3717
|
}
|
3718
3718
|
|
3719
3719
|
/* Document-class: Node::DREGX_ONCE
|
@@ -3729,6 +3729,12 @@ void define_node_subclass_methods()
|
|
3729
3729
|
rb_iv_set(rb_cDREGX_ONCE, "__type__", INT2NUM(NODE_DREGX_ONCE));
|
3730
3730
|
rb_define_singleton_method(rb_cDREGX_ONCE, "members", node_s_members, 0);
|
3731
3731
|
|
3732
|
+
/* Document-method: lit
|
3733
|
+
* a string
|
3734
|
+
*/
|
3735
|
+
rb_define_method(rb_cDREGX_ONCE, "lit", node_lit, 0);
|
3736
|
+
rb_ary_push(members, rb_str_new2("lit"));
|
3737
|
+
|
3732
3738
|
/* Document-method: next
|
3733
3739
|
* a list of expressions to be appended onto the string
|
3734
3740
|
*/
|
@@ -3741,12 +3747,6 @@ void define_node_subclass_methods()
|
|
3741
3747
|
*/
|
3742
3748
|
rb_define_method(rb_cDREGX_ONCE, "cflag", node_cflag, 0);
|
3743
3749
|
rb_ary_push(members, rb_str_new2("cflag"));
|
3744
|
-
|
3745
|
-
/* Document-method: lit
|
3746
|
-
* a string
|
3747
|
-
*/
|
3748
|
-
rb_define_method(rb_cDREGX_ONCE, "lit", node_lit, 0);
|
3749
|
-
rb_ary_push(members, rb_str_new2("lit"));
|
3750
3750
|
}
|
3751
3751
|
|
3752
3752
|
/* Document-class: Node::DSTR
|
@@ -3765,17 +3765,17 @@ void define_node_subclass_methods()
|
|
3765
3765
|
rb_iv_set(rb_cDSTR, "__type__", INT2NUM(NODE_DSTR));
|
3766
3766
|
rb_define_singleton_method(rb_cDSTR, "members", node_s_members, 0);
|
3767
3767
|
|
3768
|
-
/* Document-method: next
|
3769
|
-
* a list of expressions to be appended onto the string
|
3770
|
-
*/
|
3771
|
-
rb_define_method(rb_cDSTR, "next", node_next, 0);
|
3772
|
-
rb_ary_push(members, rb_str_new2("next"));
|
3773
|
-
|
3774
3768
|
/* Document-method: lit
|
3775
3769
|
* a string
|
3776
3770
|
*/
|
3777
3771
|
rb_define_method(rb_cDSTR, "lit", node_lit, 0);
|
3778
3772
|
rb_ary_push(members, rb_str_new2("lit"));
|
3773
|
+
|
3774
|
+
/* Document-method: next
|
3775
|
+
* a list of expressions to be appended onto the string
|
3776
|
+
*/
|
3777
|
+
rb_define_method(rb_cDSTR, "next", node_next, 0);
|
3778
|
+
rb_ary_push(members, rb_str_new2("next"));
|
3779
3779
|
}
|
3780
3780
|
|
3781
3781
|
/* Document-class: Node::DSYM
|
@@ -3796,10 +3796,10 @@ void define_node_subclass_methods()
|
|
3796
3796
|
rb_iv_set(rb_cDSYM, "__member__", members);
|
3797
3797
|
rb_iv_set(rb_cDSYM, "__type__", INT2NUM(NODE_DSYM));
|
3798
3798
|
rb_define_singleton_method(rb_cDSYM, "members", node_s_members, 0);
|
3799
|
-
rb_define_method(rb_cDSYM, "next", node_next, 0);
|
3800
|
-
rb_ary_push(members, rb_str_new2("next"));
|
3801
3799
|
rb_define_method(rb_cDSYM, "lit", node_lit, 0);
|
3802
3800
|
rb_ary_push(members, rb_str_new2("lit"));
|
3801
|
+
rb_define_method(rb_cDSYM, "next", node_next, 0);
|
3802
|
+
rb_ary_push(members, rb_str_new2("next"));
|
3803
3803
|
}
|
3804
3804
|
|
3805
3805
|
/* Document-class: Node::DVAR
|
@@ -3842,17 +3842,17 @@ void define_node_subclass_methods()
|
|
3842
3842
|
rb_iv_set(rb_cDXSTR, "__type__", INT2NUM(NODE_DXSTR));
|
3843
3843
|
rb_define_singleton_method(rb_cDXSTR, "members", node_s_members, 0);
|
3844
3844
|
|
3845
|
-
/* Document-method: next
|
3846
|
-
* a list of expressions to be appended onto the string
|
3847
|
-
*/
|
3848
|
-
rb_define_method(rb_cDXSTR, "next", node_next, 0);
|
3849
|
-
rb_ary_push(members, rb_str_new2("next"));
|
3850
|
-
|
3851
3845
|
/* Document-method: lit
|
3852
3846
|
* a string
|
3853
3847
|
*/
|
3854
3848
|
rb_define_method(rb_cDXSTR, "lit", node_lit, 0);
|
3855
3849
|
rb_ary_push(members, rb_str_new2("lit"));
|
3850
|
+
|
3851
|
+
/* Document-method: next
|
3852
|
+
* a list of expressions to be appended onto the string
|
3853
|
+
*/
|
3854
|
+
rb_define_method(rb_cDXSTR, "next", node_next, 0);
|
3855
|
+
rb_ary_push(members, rb_str_new2("next"));
|
3856
3856
|
}
|
3857
3857
|
|
3858
3858
|
/* Document-class: Node::ENSURE
|
@@ -4041,6 +4041,12 @@ void define_node_subclass_methods()
|
|
4041
4041
|
rb_iv_set(rb_cFOR, "__type__", INT2NUM(NODE_FOR));
|
4042
4042
|
rb_define_singleton_method(rb_cFOR, "members", node_s_members, 0);
|
4043
4043
|
|
4044
|
+
/* Document-method: body
|
4045
|
+
* the body of the loop
|
4046
|
+
*/
|
4047
|
+
rb_define_method(rb_cFOR, "body", node_body, 0);
|
4048
|
+
rb_ary_push(members, rb_str_new2("body"));
|
4049
|
+
|
4044
4050
|
/* Document-method: iter
|
4045
4051
|
* the sequence over which to iterate
|
4046
4052
|
*/
|
@@ -4054,12 +4060,6 @@ void define_node_subclass_methods()
|
|
4054
4060
|
*/
|
4055
4061
|
rb_define_method(rb_cFOR, "var", node_var, 0);
|
4056
4062
|
rb_ary_push(members, rb_str_new2("var"));
|
4057
|
-
|
4058
|
-
/* Document-method: body
|
4059
|
-
* the body of the loop
|
4060
|
-
*/
|
4061
|
-
rb_define_method(rb_cFOR, "body", node_body, 0);
|
4062
|
-
rb_ary_push(members, rb_str_new2("body"));
|
4063
4063
|
}
|
4064
4064
|
|
4065
4065
|
/* Document-class: Node::GASGN
|
@@ -4073,6 +4073,12 @@ void define_node_subclass_methods()
|
|
4073
4073
|
rb_iv_set(rb_cGASGN, "__type__", INT2NUM(NODE_GASGN));
|
4074
4074
|
rb_define_singleton_method(rb_cGASGN, "members", node_s_members, 0);
|
4075
4075
|
|
4076
|
+
/* Document-method: value
|
4077
|
+
* an expression whose result is the new value of the global variable
|
4078
|
+
*/
|
4079
|
+
rb_define_method(rb_cGASGN, "value", node_value, 0);
|
4080
|
+
rb_ary_push(members, rb_str_new2("value"));
|
4081
|
+
|
4076
4082
|
/* Document-method: vid
|
4077
4083
|
* the name of the global variable, with a leading '$' character.
|
4078
4084
|
*/
|
@@ -4080,12 +4086,6 @@ void define_node_subclass_methods()
|
|
4080
4086
|
rb_ary_push(members, rb_str_new2("vid"));
|
4081
4087
|
rb_define_method(rb_cGASGN, "entry", node_entry, 0);
|
4082
4088
|
rb_ary_push(members, rb_str_new2("entry"));
|
4083
|
-
|
4084
|
-
/* Document-method: value
|
4085
|
-
* an expression whose result is the new value of the global variable
|
4086
|
-
*/
|
4087
|
-
rb_define_method(rb_cGASGN, "value", node_value, 0);
|
4088
|
-
rb_ary_push(members, rb_str_new2("value"));
|
4089
4089
|
}
|
4090
4090
|
|
4091
4091
|
/* Document-class: Node::GVAR
|
@@ -4138,17 +4138,17 @@ void define_node_subclass_methods()
|
|
4138
4138
|
rb_iv_set(rb_cIASGN, "__type__", INT2NUM(NODE_IASGN));
|
4139
4139
|
rb_define_singleton_method(rb_cIASGN, "members", node_s_members, 0);
|
4140
4140
|
|
4141
|
-
/* Document-method: vid
|
4142
|
-
* the name of the instance variable, with a leading '@' sign
|
4143
|
-
*/
|
4144
|
-
rb_define_method(rb_cIASGN, "vid", node_vid, 0);
|
4145
|
-
rb_ary_push(members, rb_str_new2("vid"));
|
4146
|
-
|
4147
4141
|
/* Document-method: value
|
4148
4142
|
* the value to assign to the instance variable
|
4149
4143
|
*/
|
4150
4144
|
rb_define_method(rb_cIASGN, "value", node_value, 0);
|
4151
4145
|
rb_ary_push(members, rb_str_new2("value"));
|
4146
|
+
|
4147
|
+
/* Document-method: vid
|
4148
|
+
* the name of the instance variable, with a leading '@' sign
|
4149
|
+
*/
|
4150
|
+
rb_define_method(rb_cIASGN, "vid", node_vid, 0);
|
4151
|
+
rb_ary_push(members, rb_str_new2("vid"));
|
4152
4152
|
}
|
4153
4153
|
|
4154
4154
|
/* Document-class: Node::IF
|
@@ -4171,6 +4171,7 @@ void define_node_subclass_methods()
|
|
4171
4171
|
*
|
4172
4172
|
* A conditional block using elsif has another IF node as the else
|
4173
4173
|
* expression.
|
4174
|
+
*
|
4174
4175
|
*/
|
4175
4176
|
{
|
4176
4177
|
VALUE rb_cIF = rb_define_class_under(rb_cNode, "IF", rb_cNode);
|
@@ -4180,13 +4181,6 @@ void define_node_subclass_methods()
|
|
4180
4181
|
rb_iv_set(rb_cIF, "__type__", INT2NUM(NODE_IF));
|
4181
4182
|
rb_define_singleton_method(rb_cIF, "members", node_s_members, 0);
|
4182
4183
|
|
4183
|
-
/* Document-method: else
|
4184
|
-
* the expression to evaluate if the expression is false, or false
|
4185
|
-
* if the expression is empty
|
4186
|
-
*/
|
4187
|
-
rb_define_method(rb_cIF, "else", node_else, 0);
|
4188
|
-
rb_ary_push(members, rb_str_new2("else"));
|
4189
|
-
|
4190
4184
|
/* Document-method: cond
|
4191
4185
|
* the condition to evaluate
|
4192
4186
|
*/
|
@@ -4199,6 +4193,13 @@ void define_node_subclass_methods()
|
|
4199
4193
|
*/
|
4200
4194
|
rb_define_method(rb_cIF, "body", node_body, 0);
|
4201
4195
|
rb_ary_push(members, rb_str_new2("body"));
|
4196
|
+
|
4197
|
+
/* Document-method: else
|
4198
|
+
* the expression to evaluate if the expression is false, or false
|
4199
|
+
* if the expression is empty
|
4200
|
+
*/
|
4201
|
+
rb_define_method(rb_cIF, "else", node_else, 0);
|
4202
|
+
rb_ary_push(members, rb_str_new2("else"));
|
4202
4203
|
}
|
4203
4204
|
|
4204
4205
|
/* Document-class: Node::IFUNC
|
@@ -4212,6 +4213,12 @@ void define_node_subclass_methods()
|
|
4212
4213
|
rb_iv_set(rb_cIFUNC, "__type__", INT2NUM(NODE_IFUNC));
|
4213
4214
|
rb_define_singleton_method(rb_cIFUNC, "members", node_s_members, 0);
|
4214
4215
|
|
4216
|
+
/* Document-method: cfnc
|
4217
|
+
* a pointer to the C function to which to yield
|
4218
|
+
*/
|
4219
|
+
rb_define_method(rb_cIFUNC, "cfnc", node_cfnc, 0);
|
4220
|
+
rb_ary_push(members, rb_str_new2("cfnc"));
|
4221
|
+
|
4215
4222
|
/* Document-method: tval
|
4216
4223
|
* the user-specified data to be passed as the second argument to
|
4217
4224
|
* cfnc
|
@@ -4224,12 +4231,6 @@ void define_node_subclass_methods()
|
|
4224
4231
|
*/
|
4225
4232
|
rb_define_method(rb_cIFUNC, "state", node_state, 0);
|
4226
4233
|
rb_ary_push(members, rb_str_new2("state"));
|
4227
|
-
|
4228
|
-
/* Document-method: cfnc
|
4229
|
-
* a pointer to the C function to which to yield
|
4230
|
-
*/
|
4231
|
-
rb_define_method(rb_cIFUNC, "cfnc", node_cfnc, 0);
|
4232
|
-
rb_ary_push(members, rb_str_new2("cfnc"));
|
4233
4234
|
}
|
4234
4235
|
|
4235
4236
|
/* Document-class: Node::ITER
|
@@ -4253,6 +4254,12 @@ void define_node_subclass_methods()
|
|
4253
4254
|
rb_iv_set(rb_cITER, "__type__", INT2NUM(NODE_ITER));
|
4254
4255
|
rb_define_singleton_method(rb_cITER, "members", node_s_members, 0);
|
4255
4256
|
|
4257
|
+
/* Document-method: body
|
4258
|
+
* the body of the loop
|
4259
|
+
*/
|
4260
|
+
rb_define_method(rb_cITER, "body", node_body, 0);
|
4261
|
+
rb_ary_push(members, rb_str_new2("body"));
|
4262
|
+
|
4256
4263
|
/* Document-method: iter
|
4257
4264
|
* an expression which calls the desired iteration method, usually
|
4258
4265
|
* recv.each
|
@@ -4267,12 +4274,6 @@ void define_node_subclass_methods()
|
|
4267
4274
|
*/
|
4268
4275
|
rb_define_method(rb_cITER, "var", node_var, 0);
|
4269
4276
|
rb_ary_push(members, rb_str_new2("var"));
|
4270
|
-
|
4271
|
-
/* Document-method: body
|
4272
|
-
* the body of the loop
|
4273
|
-
*/
|
4274
|
-
rb_define_method(rb_cITER, "body", node_body, 0);
|
4275
|
-
rb_ary_push(members, rb_str_new2("body"));
|
4276
4277
|
}
|
4277
4278
|
|
4278
4279
|
/* Document-class: Node::IVAR
|
@@ -4307,6 +4308,12 @@ void define_node_subclass_methods()
|
|
4307
4308
|
rb_iv_set(rb_cLASGN, "__type__", INT2NUM(NODE_LASGN));
|
4308
4309
|
rb_define_singleton_method(rb_cLASGN, "members", node_s_members, 0);
|
4309
4310
|
|
4311
|
+
/* Document-method: value
|
4312
|
+
* the value to assign to the local variable
|
4313
|
+
*/
|
4314
|
+
rb_define_method(rb_cLASGN, "value", node_value, 0);
|
4315
|
+
rb_ary_push(members, rb_str_new2("value"));
|
4316
|
+
|
4310
4317
|
/* Document-method: vid
|
4311
4318
|
* the name of the local variable
|
4312
4319
|
*/
|
@@ -4314,12 +4321,6 @@ void define_node_subclass_methods()
|
|
4314
4321
|
rb_ary_push(members, rb_str_new2("vid"));
|
4315
4322
|
rb_define_method(rb_cLASGN, "cnt", node_cnt, 0);
|
4316
4323
|
rb_ary_push(members, rb_str_new2("cnt"));
|
4317
|
-
|
4318
|
-
/* Document-method: value
|
4319
|
-
* the value to assign to the local variable
|
4320
|
-
*/
|
4321
|
-
rb_define_method(rb_cLASGN, "value", node_value, 0);
|
4322
|
-
rb_ary_push(members, rb_str_new2("value"));
|
4323
4324
|
}
|
4324
4325
|
|
4325
4326
|
/* Document-class: Node::LIT
|
@@ -4692,6 +4693,12 @@ void define_node_subclass_methods()
|
|
4692
4693
|
rb_iv_set(rb_cOP_ASGN2, "__type__", INT2NUM(NODE_OP_ASGN2));
|
4693
4694
|
rb_define_singleton_method(rb_cOP_ASGN2, "members", node_s_members, 0);
|
4694
4695
|
|
4696
|
+
/* Document-method: recv
|
4697
|
+
* the receiver of the attribute
|
4698
|
+
*/
|
4699
|
+
rb_define_method(rb_cOP_ASGN2, "recv", node_recv, 0);
|
4700
|
+
rb_ary_push(members, rb_str_new2("recv"));
|
4701
|
+
|
4695
4702
|
/* Document-method: next
|
4696
4703
|
* another node of type OP_ASGN2 which contains more information
|
4697
4704
|
* about the assignment operation than can fit in this node alone
|
@@ -4699,12 +4706,6 @@ void define_node_subclass_methods()
|
|
4699
4706
|
rb_define_method(rb_cOP_ASGN2, "next", node_next, 0);
|
4700
4707
|
rb_ary_push(members, rb_str_new2("next"));
|
4701
4708
|
|
4702
|
-
/* Document-method: recv
|
4703
|
-
* the receiver of the attribute
|
4704
|
-
*/
|
4705
|
-
rb_define_method(rb_cOP_ASGN2, "recv", node_recv, 0);
|
4706
|
-
rb_ary_push(members, rb_str_new2("recv"));
|
4707
|
-
|
4708
4709
|
/* Document-method: value
|
4709
4710
|
* the value to assign to the attribute
|
4710
4711
|
*/
|
@@ -4725,6 +4726,12 @@ void define_node_subclass_methods()
|
|
4725
4726
|
rb_iv_set(rb_cOP_ASGN2_ARG, "__type__", INT2NUM(NODE_OP_ASGN2_ARG));
|
4726
4727
|
rb_define_singleton_method(rb_cOP_ASGN2_ARG, "members", node_s_members, 0);
|
4727
4728
|
|
4729
|
+
/* Document-method: vid
|
4730
|
+
* The method to call on the receiver to retrieve the attribute
|
4731
|
+
*/
|
4732
|
+
rb_define_method(rb_cOP_ASGN2_ARG, "vid", node_vid, 0);
|
4733
|
+
rb_ary_push(members, rb_str_new2("vid"));
|
4734
|
+
|
4728
4735
|
/* Document-method: aid
|
4729
4736
|
* The method to call on the receiver to set the attribute
|
4730
4737
|
*/
|
@@ -4738,12 +4745,6 @@ void define_node_subclass_methods()
|
|
4738
4745
|
*/
|
4739
4746
|
rb_define_method(rb_cOP_ASGN2_ARG, "mid", node_mid, 0);
|
4740
4747
|
rb_ary_push(members, rb_str_new2("mid"));
|
4741
|
-
|
4742
|
-
/* Document-method: vid
|
4743
|
-
* The method to call on the receiver to retrieve the attribute
|
4744
|
-
*/
|
4745
|
-
rb_define_method(rb_cOP_ASGN2_ARG, "vid", node_vid, 0);
|
4746
|
-
rb_ary_push(members, rb_str_new2("vid"));
|
4747
4748
|
}
|
4748
4749
|
|
4749
4750
|
/* Document-class: Node::OP_ASGN_AND
|
@@ -4800,17 +4801,17 @@ void define_node_subclass_methods()
|
|
4800
4801
|
rb_define_method(rb_cOP_ASGN_OR, "aid", node_aid, 0);
|
4801
4802
|
rb_ary_push(members, rb_str_new2("aid"));
|
4802
4803
|
|
4803
|
-
/* Document-method: recv
|
4804
|
-
* the receiver of the assignment
|
4805
|
-
*/
|
4806
|
-
rb_define_method(rb_cOP_ASGN_OR, "recv", node_recv, 0);
|
4807
|
-
rb_ary_push(members, rb_str_new2("recv"));
|
4808
|
-
|
4809
4804
|
/* Document-method: value
|
4810
4805
|
* the right hand side of the assignment
|
4811
4806
|
*/
|
4812
4807
|
rb_define_method(rb_cOP_ASGN_OR, "value", node_value, 0);
|
4813
4808
|
rb_ary_push(members, rb_str_new2("value"));
|
4809
|
+
|
4810
|
+
/* Document-method: recv
|
4811
|
+
* the receiver of the assignment
|
4812
|
+
*/
|
4813
|
+
rb_define_method(rb_cOP_ASGN_OR, "recv", node_recv, 0);
|
4814
|
+
rb_ary_push(members, rb_str_new2("recv"));
|
4814
4815
|
}
|
4815
4816
|
|
4816
4817
|
/* Document-class: Node::OR
|
@@ -4890,12 +4891,6 @@ void define_node_subclass_methods()
|
|
4890
4891
|
rb_iv_set(rb_cRESBODY, "__type__", INT2NUM(NODE_RESBODY));
|
4891
4892
|
rb_define_singleton_method(rb_cRESBODY, "members", node_s_members, 0);
|
4892
4893
|
|
4893
|
-
/* Document-method: args
|
4894
|
-
* the expression type to match against
|
4895
|
-
*/
|
4896
|
-
rb_define_method(rb_cRESBODY, "args", node_args, 0);
|
4897
|
-
rb_ary_push(members, rb_str_new2("args"));
|
4898
|
-
|
4899
4894
|
/* Document-method: head
|
4900
4895
|
* the next rescue
|
4901
4896
|
*/
|
@@ -4907,6 +4902,12 @@ void define_node_subclass_methods()
|
|
4907
4902
|
*/
|
4908
4903
|
rb_define_method(rb_cRESBODY, "body", node_body, 0);
|
4909
4904
|
rb_ary_push(members, rb_str_new2("body"));
|
4905
|
+
|
4906
|
+
/* Document-method: args
|
4907
|
+
* the expression type to match against
|
4908
|
+
*/
|
4909
|
+
rb_define_method(rb_cRESBODY, "args", node_args, 0);
|
4910
|
+
rb_ary_push(members, rb_str_new2("args"));
|
4910
4911
|
}
|
4911
4912
|
|
4912
4913
|
/* Document-class: Node::RESCUE
|
@@ -4946,12 +4947,6 @@ void define_node_subclass_methods()
|
|
4946
4947
|
rb_iv_set(rb_cRESCUE, "__type__", INT2NUM(NODE_RESCUE));
|
4947
4948
|
rb_define_singleton_method(rb_cRESCUE, "members", node_s_members, 0);
|
4948
4949
|
|
4949
|
-
/* Document-method: else
|
4950
|
-
* the expression to be evaluated if no exception is raised
|
4951
|
-
*/
|
4952
|
-
rb_define_method(rb_cRESCUE, "else", node_else, 0);
|
4953
|
-
rb_ary_push(members, rb_str_new2("else"));
|
4954
|
-
|
4955
4950
|
/* Document-method: head
|
4956
4951
|
* the body of the block to evaluate
|
4957
4952
|
*/
|
@@ -4963,6 +4958,12 @@ void define_node_subclass_methods()
|
|
4963
4958
|
*/
|
4964
4959
|
rb_define_method(rb_cRESCUE, "resq", node_resq, 0);
|
4965
4960
|
rb_ary_push(members, rb_str_new2("resq"));
|
4961
|
+
|
4962
|
+
/* Document-method: else
|
4963
|
+
* the expression to be evaluated if no exception is raised
|
4964
|
+
*/
|
4965
|
+
rb_define_method(rb_cRESCUE, "else", node_else, 0);
|
4966
|
+
rb_ary_push(members, rb_str_new2("else"));
|
4966
4967
|
}
|
4967
4968
|
|
4968
4969
|
/* Document-class: Node::RETRY
|
@@ -5017,17 +5018,17 @@ void define_node_subclass_methods()
|
|
5017
5018
|
rb_iv_set(rb_cSCLASS, "__type__", INT2NUM(NODE_SCLASS));
|
5018
5019
|
rb_define_singleton_method(rb_cSCLASS, "members", node_s_members, 0);
|
5019
5020
|
|
5020
|
-
/* Document-method: recv
|
5021
|
-
* the object whose singleton class is to be modified
|
5022
|
-
*/
|
5023
|
-
rb_define_method(rb_cSCLASS, "recv", node_recv, 0);
|
5024
|
-
rb_ary_push(members, rb_str_new2("recv"));
|
5025
|
-
|
5026
5021
|
/* Document-method: body
|
5027
5022
|
* the body of the class definition
|
5028
5023
|
*/
|
5029
5024
|
rb_define_method(rb_cSCLASS, "body", node_body, 0);
|
5030
5025
|
rb_ary_push(members, rb_str_new2("body"));
|
5026
|
+
|
5027
|
+
/* Document-method: recv
|
5028
|
+
* the object whose singleton class is to be modified
|
5029
|
+
*/
|
5030
|
+
rb_define_method(rb_cSCLASS, "recv", node_recv, 0);
|
5031
|
+
rb_ary_push(members, rb_str_new2("recv"));
|
5031
5032
|
}
|
5032
5033
|
|
5033
5034
|
/* Document-class: Node::SCOPE
|
@@ -5052,12 +5053,6 @@ void define_node_subclass_methods()
|
|
5052
5053
|
rb_iv_set(rb_cSCOPE, "__type__", INT2NUM(NODE_SCOPE));
|
5053
5054
|
rb_define_singleton_method(rb_cSCOPE, "members", node_s_members, 0);
|
5054
5055
|
|
5055
|
-
/* Document-method: next
|
5056
|
-
* the body of the lexical scope
|
5057
|
-
*/
|
5058
|
-
rb_define_method(rb_cSCOPE, "next", node_next, 0);
|
5059
|
-
rb_ary_push(members, rb_str_new2("next"));
|
5060
|
-
|
5061
5056
|
/* Document-method: tbl
|
5062
5057
|
* the names of the local variables* next the first expression in
|
5063
5058
|
* the scope
|
@@ -5071,6 +5066,12 @@ void define_node_subclass_methods()
|
|
5071
5066
|
*/
|
5072
5067
|
rb_define_method(rb_cSCOPE, "rval", node_rval, 0);
|
5073
5068
|
rb_ary_push(members, rb_str_new2("rval"));
|
5069
|
+
|
5070
|
+
/* Document-method: next
|
5071
|
+
* the body of the lexical scope
|
5072
|
+
*/
|
5073
|
+
rb_define_method(rb_cSCOPE, "next", node_next, 0);
|
5074
|
+
rb_ary_push(members, rb_str_new2("next"));
|
5074
5075
|
}
|
5075
5076
|
|
5076
5077
|
/* Document-class: Node::SELF
|
@@ -5212,20 +5213,20 @@ void define_node_subclass_methods()
|
|
5212
5213
|
rb_iv_set(rb_cUNTIL, "__member__", members);
|
5213
5214
|
rb_iv_set(rb_cUNTIL, "__type__", INT2NUM(NODE_UNTIL));
|
5214
5215
|
rb_define_singleton_method(rb_cUNTIL, "members", node_s_members, 0);
|
5215
|
-
rb_define_method(rb_cUNTIL, "state", node_state, 0);
|
5216
|
-
rb_ary_push(members, rb_str_new2("state"));
|
5217
|
-
|
5218
|
-
/* Document-method: cond
|
5219
|
-
* a condition to terminate the loop when it becomes true
|
5220
|
-
*/
|
5221
|
-
rb_define_method(rb_cUNTIL, "cond", node_cond, 0);
|
5222
|
-
rb_ary_push(members, rb_str_new2("cond"));
|
5223
5216
|
|
5224
5217
|
/* Document-method: body
|
5225
5218
|
* the body of the loop
|
5226
5219
|
*/
|
5227
5220
|
rb_define_method(rb_cUNTIL, "body", node_body, 0);
|
5228
5221
|
rb_ary_push(members, rb_str_new2("body"));
|
5222
|
+
|
5223
|
+
/* Document-method: cond
|
5224
|
+
* a condition to terminate the loop when it becomes true
|
5225
|
+
*/
|
5226
|
+
rb_define_method(rb_cUNTIL, "cond", node_cond, 0);
|
5227
|
+
rb_ary_push(members, rb_str_new2("cond"));
|
5228
|
+
rb_define_method(rb_cUNTIL, "state", node_state, 0);
|
5229
|
+
rb_ary_push(members, rb_str_new2("state"));
|
5229
5230
|
}
|
5230
5231
|
|
5231
5232
|
/* Document-class: Node::VALIAS
|
@@ -5241,10 +5242,10 @@ void define_node_subclass_methods()
|
|
5241
5242
|
rb_iv_set(rb_cVALIAS, "__member__", members);
|
5242
5243
|
rb_iv_set(rb_cVALIAS, "__type__", INT2NUM(NODE_VALIAS));
|
5243
5244
|
rb_define_singleton_method(rb_cVALIAS, "members", node_s_members, 0);
|
5244
|
-
rb_define_method(rb_cVALIAS, "second", node_2nd, 0);
|
5245
|
-
rb_ary_push(members, rb_str_new2("second"));
|
5246
5245
|
rb_define_method(rb_cVALIAS, "first", node_1st, 0);
|
5247
5246
|
rb_ary_push(members, rb_str_new2("first"));
|
5247
|
+
rb_define_method(rb_cVALIAS, "second", node_2nd, 0);
|
5248
|
+
rb_ary_push(members, rb_str_new2("second"));
|
5248
5249
|
}
|
5249
5250
|
|
5250
5251
|
/* Document-class: Node::VCALL
|
@@ -5304,12 +5305,6 @@ void define_node_subclass_methods()
|
|
5304
5305
|
rb_iv_set(rb_cWHEN, "__type__", INT2NUM(NODE_WHEN));
|
5305
5306
|
rb_define_singleton_method(rb_cWHEN, "members", node_s_members, 0);
|
5306
5307
|
|
5307
|
-
/* Document-method: next
|
5308
|
-
* the next expression to be evaluated if the condition is false
|
5309
|
-
*/
|
5310
|
-
rb_define_method(rb_cWHEN, "next", node_next, 0);
|
5311
|
-
rb_ary_push(members, rb_str_new2("next"));
|
5312
|
-
|
5313
5308
|
/* Document-method: head
|
5314
5309
|
* a value to compare against, or a condition to be tested
|
5315
5310
|
*/
|
@@ -5321,6 +5316,12 @@ void define_node_subclass_methods()
|
|
5321
5316
|
*/
|
5322
5317
|
rb_define_method(rb_cWHEN, "body", node_body, 0);
|
5323
5318
|
rb_ary_push(members, rb_str_new2("body"));
|
5319
|
+
|
5320
|
+
/* Document-method: next
|
5321
|
+
* the next expression to be evaluated if the condition is false
|
5322
|
+
*/
|
5323
|
+
rb_define_method(rb_cWHEN, "next", node_next, 0);
|
5324
|
+
rb_ary_push(members, rb_str_new2("next"));
|
5324
5325
|
}
|
5325
5326
|
|
5326
5327
|
/* Document-class: Node::WHILE
|
@@ -5336,20 +5337,20 @@ void define_node_subclass_methods()
|
|
5336
5337
|
rb_iv_set(rb_cWHILE, "__member__", members);
|
5337
5338
|
rb_iv_set(rb_cWHILE, "__type__", INT2NUM(NODE_WHILE));
|
5338
5339
|
rb_define_singleton_method(rb_cWHILE, "members", node_s_members, 0);
|
5339
|
-
rb_define_method(rb_cWHILE, "state", node_state, 0);
|
5340
|
-
rb_ary_push(members, rb_str_new2("state"));
|
5341
|
-
|
5342
|
-
/* Document-method: cond
|
5343
|
-
* a condition to terminate the loop when it becomes false
|
5344
|
-
*/
|
5345
|
-
rb_define_method(rb_cWHILE, "cond", node_cond, 0);
|
5346
|
-
rb_ary_push(members, rb_str_new2("cond"));
|
5347
5340
|
|
5348
5341
|
/* Document-method: body
|
5349
5342
|
* the body of the loop
|
5350
5343
|
*/
|
5351
5344
|
rb_define_method(rb_cWHILE, "body", node_body, 0);
|
5352
5345
|
rb_ary_push(members, rb_str_new2("body"));
|
5346
|
+
|
5347
|
+
/* Document-method: cond
|
5348
|
+
* a condition to terminate the loop when it becomes false
|
5349
|
+
*/
|
5350
|
+
rb_define_method(rb_cWHILE, "cond", node_cond, 0);
|
5351
|
+
rb_ary_push(members, rb_str_new2("cond"));
|
5352
|
+
rb_define_method(rb_cWHILE, "state", node_state, 0);
|
5353
|
+
rb_ary_push(members, rb_str_new2("state"));
|
5353
5354
|
}
|
5354
5355
|
|
5355
5356
|
/* Document-class: Node::XSTR
|
@@ -5386,17 +5387,17 @@ void define_node_subclass_methods()
|
|
5386
5387
|
rb_iv_set(rb_cYIELD, "__type__", INT2NUM(NODE_YIELD));
|
5387
5388
|
rb_define_singleton_method(rb_cYIELD, "members", node_s_members, 0);
|
5388
5389
|
|
5389
|
-
/* Document-method: state
|
5390
|
-
* if nonzero, splats the value before yielding
|
5391
|
-
*/
|
5392
|
-
rb_define_method(rb_cYIELD, "state", node_state, 0);
|
5393
|
-
rb_ary_push(members, rb_str_new2("state"));
|
5394
|
-
|
5395
5390
|
/* Document-method: head
|
5396
5391
|
* the value to yield
|
5397
5392
|
*/
|
5398
5393
|
rb_define_method(rb_cYIELD, "head", node_head, 0);
|
5399
5394
|
rb_ary_push(members, rb_str_new2("head"));
|
5395
|
+
|
5396
|
+
/* Document-method: state
|
5397
|
+
* if nonzero, splats the value before yielding
|
5398
|
+
*/
|
5399
|
+
rb_define_method(rb_cYIELD, "state", node_state, 0);
|
5400
|
+
rb_ary_push(members, rb_str_new2("state"));
|
5400
5401
|
}
|
5401
5402
|
|
5402
5403
|
/* Document-class: Node::ZARRAY
|