ruby-internal 0.8.0 → 0.8.1
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +1 -1
- data/bin/ruby-internal-node-dump +1 -1
- data/bin/ruby-internal-obfuscate +1 -1
- data/ext/cached/ruby-1.8.4/internal/node/node_type_descrip.c +45 -45
- data/ext/cached/ruby-1.8.4/internal/node/nodeinfo.c +259 -258
- data/ext/cached/ruby-1.8.5/internal/node/node_type_descrip.c +43 -43
- data/ext/cached/ruby-1.8.5/internal/node/nodeinfo.c +261 -260
- data/ext/cached/ruby-1.8.6/internal/node/node_type_descrip.c +45 -45
- data/ext/cached/ruby-1.8.6/internal/node/nodeinfo.c +261 -260
- data/ext/cached/ruby-1.8.7/internal/node/node_type_descrip.c +37 -37
- data/ext/cached/ruby-1.8.7/internal/node/nodeinfo.c +219 -218
- data/ext/cached/ruby-1.9.1/internal/node/global_entry.h +4 -0
- data/ext/cached/ruby-1.9.1/internal/node/node_type_descrip.c +41 -41
- data/ext/cached/ruby-1.9.1/internal/node/nodeinfo.c +231 -230
- data/ext/cached/ruby-1.9.2/internal/node/global_entry.h +4 -0
- data/ext/cached/ruby-1.9.2/internal/node/node_type_descrip.c +37 -37
- data/ext/cached/ruby-1.9.2/internal/node/nodeinfo.c +206 -205
- data/ext/cached/ruby-1.9.3/internal/node/global_entry.h +4 -0
- data/ext/cached/ruby-1.9.3/internal/node/node_type_descrip.c +41 -41
- data/ext/cached/ruby-1.9.3/internal/node/nodeinfo.c +230 -229
- data/ext/internal/binding/block.h +0 -20
- data/ext/internal/method/internal_method.h +5 -5
- data/ext/internal/module/classpath.c +13 -18
- data/ext/internal/module/classpath.h +3 -3
- data/ext/internal/module/getcfp.h +12 -0
- data/ext/internal/node/block.h +0 -20
- data/ext/internal/node/global_entry.h +31 -42
- data/ext/internal/node/global_entry.h.rpp +1 -1
- data/ext/internal/node/node_type_descrip.c +38 -47
- data/ext/internal/node/nodeinfo.c +311 -626
- data/ext/internal/node/nodeinfo.h +4 -1
- data/ext/internal/proc/block.h +0 -20
- data/ext/internal/tag/tag.h +0 -10
- data/ext/internal/vm/instruction/insns_info.c +5974 -3
- data/ext/internal/vm/instruction/insns_info.h +878 -0
- metadata +37 -51
@@ -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
|