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 gvar_getter_t rb_gvar_getter_t
|
7
8
|
#define gvar_setter_t rb_gvar_setter_t
|
8
9
|
#define gvar_marker_t rb_gvar_marker_t
|
@@ -28,6 +29,9 @@ struct global_entry {
|
|
28
29
|
#define undef_getter rb_gvar_undef_getter
|
29
30
|
#define undef_setter rb_gvar_undef_setter
|
30
31
|
#define undef_marker rb_gvar_undef_marker
|
32
|
+
#define val_getter rb_gvar_val_getter
|
33
|
+
#define val_setter rb_gvar_val_setter
|
34
|
+
#define val_marker rb_gvar_val_marker
|
31
35
|
struct global_entry*
|
32
36
|
rb_global_entry(ID id)
|
33
37
|
{
|
@@ -2,44 +2,44 @@
|
|
2
2
|
#include "version.h"
|
3
3
|
|
4
4
|
Node_Type_Descrip node_type_descrips_unsorted[] = {
|
5
|
-
{ NODE_ALIAS,
|
5
|
+
{ NODE_ALIAS, NEN_1ST, NEN_2ND, NEN_NONE, "ALIAS" },
|
6
6
|
#ifdef HAVE_NODE_ALLOCA
|
7
|
-
{ NODE_ALLOCA,
|
7
|
+
{ NODE_ALLOCA, NEN_CFNC, NEN_VALUE, NEN_CNT, "ALLOCA" },
|
8
8
|
#endif
|
9
9
|
{ NODE_AND, NEN_2ND, NEN_1ST, NEN_NONE, "AND" },
|
10
|
-
{ NODE_ARGS,
|
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,
|
13
|
+
{ NODE_ARRAY, NEN_ALEN, NEN_HEAD, NEN_NEXT, "ARRAY" },
|
14
|
+
{ NODE_ATTRASGN, NEN_RECV, NEN_ARGS, NEN_MID, "ATTRASGN" },
|
15
15
|
{ NODE_ATTRSET, NEN_VID, NEN_NONE, NEN_NONE, "ATTRSET" },
|
16
|
-
{ NODE_BACK_REF,
|
16
|
+
{ NODE_BACK_REF, NEN_NTH, NEN_CNT, NEN_NONE, "BACK_REF" },
|
17
17
|
{ NODE_BEGIN, NEN_BODY, NEN_NONE, NEN_NONE, "BEGIN" },
|
18
18
|
{ NODE_BLOCK, NEN_HEAD, NEN_NEXT, NEN_NONE, "BLOCK" },
|
19
19
|
{ NODE_BLOCK_ARG, NEN_CNT, NEN_NONE, NEN_NONE, "BLOCK_ARG" },
|
20
|
-
{ NODE_BLOCK_PASS,
|
20
|
+
{ NODE_BLOCK_PASS, NEN_BODY, NEN_ITER, NEN_NONE, "BLOCK_PASS" },
|
21
21
|
{ NODE_BMETHOD, NEN_CVAL, NEN_NONE, NEN_NONE, "BMETHOD" },
|
22
22
|
{ NODE_BREAK, NEN_STTS, NEN_NONE, NEN_NONE, "BREAK" },
|
23
|
-
{ NODE_CALL, NEN_MID, NEN_RECV,
|
23
|
+
{ NODE_CALL, NEN_ARGS, NEN_MID, NEN_RECV, "CALL" },
|
24
24
|
{ NODE_CASE, NEN_HEAD, NEN_BODY, NEN_NEXT, "CASE" },
|
25
|
-
{ NODE_CDECL,
|
25
|
+
{ NODE_CDECL, NEN_VALUE, NEN_VID, NEN_NONE, "CDECL" },
|
26
26
|
{ NODE_CFUNC, NEN_CFNC, NEN_ARGC, NEN_NONE, "CFUNC" },
|
27
|
-
{ NODE_CLASS,
|
27
|
+
{ NODE_CLASS, NEN_SUPER, NEN_CPATH, NEN_BODY, "CLASS" },
|
28
28
|
{ NODE_COLON2, NEN_HEAD, NEN_MID, NEN_NONE, "COLON2" },
|
29
29
|
{ NODE_COLON3, NEN_MID, NEN_NONE, NEN_NONE, "COLON3" },
|
30
30
|
{ NODE_CONST, NEN_VID, NEN_NONE, NEN_NONE, "CONST" },
|
31
31
|
{ NODE_CVAR, NEN_VID, NEN_NONE, NEN_NONE, "CVAR" },
|
32
|
-
{ NODE_CVASGN,
|
33
|
-
{ NODE_CVDECL,
|
34
|
-
{ NODE_DASGN,
|
35
|
-
{ NODE_DASGN_CURR,
|
32
|
+
{ NODE_CVASGN, NEN_VALUE, NEN_VID, NEN_NONE, "CVASGN" },
|
33
|
+
{ NODE_CVDECL, NEN_VALUE, NEN_VID, NEN_NONE, "CVDECL" },
|
34
|
+
{ NODE_DASGN, NEN_VALUE, NEN_VID, NEN_NONE, "DASGN" },
|
35
|
+
{ NODE_DASGN_CURR, NEN_VALUE, NEN_VID, NEN_NONE, "DASGN_CURR" },
|
36
36
|
{ NODE_DEFINED, NEN_HEAD, NEN_NONE, NEN_NONE, "DEFINED" },
|
37
|
-
{ NODE_DEFN,
|
38
|
-
{ NODE_DEFS,
|
39
|
-
{ NODE_DOT2, NEN_END, NEN_STATE,
|
40
|
-
{ NODE_DOT3, NEN_END, NEN_STATE,
|
41
|
-
{ NODE_DREGX, NEN_LIT,
|
42
|
-
{ NODE_DREGX_ONCE, NEN_LIT,
|
37
|
+
{ NODE_DEFN, NEN_DEFN, NEN_MID, NEN_NOEX, "DEFN" },
|
38
|
+
{ NODE_DEFS, NEN_DEFN, NEN_RECV, NEN_MID, "DEFS" },
|
39
|
+
{ NODE_DOT2, NEN_BEG, NEN_END, NEN_STATE, "DOT2" },
|
40
|
+
{ NODE_DOT3, NEN_BEG, NEN_END, NEN_STATE, "DOT3" },
|
41
|
+
{ NODE_DREGX, NEN_LIT, NEN_NEXT, NEN_CFLAG, "DREGX" },
|
42
|
+
{ NODE_DREGX_ONCE, NEN_LIT, NEN_NEXT, NEN_CFLAG, "DREGX_ONCE" },
|
43
43
|
{ NODE_DSTR, NEN_LIT, NEN_NEXT, NEN_NONE, "DSTR" },
|
44
44
|
{ NODE_DSYM, NEN_LIT, NEN_NEXT, NEN_NONE, "DSYM" },
|
45
45
|
{ NODE_DVAR, NEN_VID, NEN_NONE, NEN_NONE, "DVAR" },
|
@@ -47,36 +47,36 @@ Node_Type_Descrip node_type_descrips_unsorted[] = {
|
|
47
47
|
{ NODE_ENSURE, NEN_HEAD, NEN_ENSR, NEN_NONE, "ENSURE" },
|
48
48
|
{ NODE_EVSTR, NEN_BODY, NEN_NONE, NEN_NONE, "EVSTR" },
|
49
49
|
{ NODE_FALSE, NEN_NONE, NEN_NONE, NEN_NONE, "FALSE" },
|
50
|
-
{ NODE_FCALL,
|
51
|
-
{ NODE_FLIP2, NEN_CNT,
|
52
|
-
{ NODE_FLIP3, NEN_CNT,
|
53
|
-
{ NODE_FOR,
|
54
|
-
{ NODE_GASGN, NEN_VID, NEN_ENTRY,
|
50
|
+
{ NODE_FCALL, NEN_ARGS, NEN_MID, NEN_NONE, "FCALL" },
|
51
|
+
{ NODE_FLIP2, NEN_CNT, NEN_BEG, NEN_END, "FLIP2" },
|
52
|
+
{ NODE_FLIP3, NEN_CNT, NEN_BEG, NEN_END, "FLIP3" },
|
53
|
+
{ NODE_FOR, NEN_BODY, NEN_ITER, NEN_VAR, "FOR" },
|
54
|
+
{ NODE_GASGN, NEN_VALUE, NEN_VID, NEN_ENTRY, "GASGN" },
|
55
55
|
{ NODE_GVAR, NEN_VID, NEN_ENTRY, NEN_NONE, "GVAR" },
|
56
56
|
{ NODE_HASH, NEN_HEAD, NEN_NONE, NEN_NONE, "HASH" },
|
57
|
-
{ NODE_IASGN,
|
58
|
-
{ NODE_IF,
|
59
|
-
{ NODE_IFUNC,
|
60
|
-
{ NODE_ITER,
|
57
|
+
{ NODE_IASGN, NEN_VALUE, NEN_VID, NEN_NONE, "IASGN" },
|
58
|
+
{ NODE_IF, NEN_COND, NEN_BODY, NEN_ELSE, "IF" },
|
59
|
+
{ NODE_IFUNC, NEN_CFNC, NEN_TVAL, NEN_STATE, "IFUNC" },
|
60
|
+
{ NODE_ITER, NEN_BODY, NEN_ITER, NEN_VAR, "ITER" },
|
61
61
|
{ NODE_IVAR, NEN_VID, NEN_NONE, NEN_NONE, "IVAR" },
|
62
|
-
{ NODE_LASGN,
|
62
|
+
{ NODE_LASGN, NEN_VALUE, NEN_VID, NEN_CNT, "LASGN" },
|
63
63
|
{ NODE_LIT, NEN_LIT, NEN_NONE, NEN_NONE, "LIT" },
|
64
|
-
{ NODE_LVAR,
|
65
|
-
{ NODE_MASGN,
|
64
|
+
{ NODE_LVAR, NEN_VID, NEN_CNT, NEN_NONE, "LVAR" },
|
65
|
+
{ NODE_MASGN, NEN_ARGS, NEN_HEAD, NEN_VALUE, "MASGN" },
|
66
66
|
{ NODE_MATCH, NEN_LIT, NEN_VALUE, NEN_NONE, "MATCH" },
|
67
67
|
{ NODE_MATCH2, NEN_RECV, NEN_VALUE, NEN_NONE, "MATCH2" },
|
68
68
|
{ NODE_MATCH3, NEN_RECV, NEN_VALUE, NEN_NONE, "MATCH3" },
|
69
69
|
{ NODE_MEMO, NEN_NONE, NEN_NONE, NEN_NONE, "MEMO" },
|
70
|
-
{ NODE_MODULE,
|
70
|
+
{ NODE_MODULE, NEN_CPATH, NEN_BODY, NEN_NONE, "MODULE" },
|
71
71
|
{ NODE_NEXT, NEN_STTS, NEN_NONE, NEN_NONE, "NEXT" },
|
72
72
|
{ NODE_NIL, NEN_NONE, NEN_NONE, NEN_NONE, "NIL" },
|
73
|
-
{ NODE_NTH_REF,
|
73
|
+
{ NODE_NTH_REF, NEN_NTH, NEN_CNT, NEN_NONE, "NTH_REF" },
|
74
74
|
{ NODE_OPT_N, NEN_BODY, NEN_NONE, NEN_NONE, "OPT_N" },
|
75
|
-
{ NODE_OP_ASGN1, NEN_MID, NEN_RECV,
|
75
|
+
{ NODE_OP_ASGN1, NEN_ARGS, NEN_MID, NEN_RECV, "OP_ASGN1" },
|
76
76
|
{ NODE_OP_ASGN2, NEN_RECV, NEN_NEXT, NEN_VALUE, "OP_ASGN2" },
|
77
|
-
{ NODE_OP_ASGN2_ARG,
|
77
|
+
{ NODE_OP_ASGN2_ARG, NEN_VID, NEN_AID, NEN_MID, "OP_ASGN2_ARG" },
|
78
78
|
{ NODE_OP_ASGN_AND, NEN_RECV, NEN_VALUE, NEN_NONE, "OP_ASGN_AND" },
|
79
|
-
{ NODE_OP_ASGN_OR,
|
79
|
+
{ NODE_OP_ASGN_OR, NEN_AID, NEN_VALUE, NEN_RECV, "OP_ASGN_OR" },
|
80
80
|
{ NODE_OR, NEN_2ND, NEN_1ST, NEN_NONE, "OR" },
|
81
81
|
{ NODE_POSTEXE, NEN_NONE, NEN_NONE, NEN_NONE, "POSTEXE" },
|
82
82
|
{ NODE_REDO, NEN_NONE, NEN_NONE, NEN_NONE, "REDO" },
|
@@ -85,7 +85,7 @@ Node_Type_Descrip node_type_descrips_unsorted[] = {
|
|
85
85
|
{ NODE_RETRY, NEN_NONE, NEN_NONE, NEN_NONE, "RETRY" },
|
86
86
|
{ NODE_RETURN, NEN_STTS, NEN_NONE, NEN_NONE, "RETURN" },
|
87
87
|
{ NODE_SCLASS, NEN_BODY, NEN_RECV, NEN_NONE, "SCLASS" },
|
88
|
-
{ NODE_SCOPE,
|
88
|
+
{ NODE_SCOPE, NEN_TBL, NEN_RVAL, NEN_NEXT, "SCOPE" },
|
89
89
|
{ NODE_SELF, NEN_NONE, NEN_NONE, NEN_NONE, "SELF" },
|
90
90
|
{ NODE_SPLAT, NEN_HEAD, NEN_NONE, NEN_NONE, "SPLAT" },
|
91
91
|
{ NODE_STR, NEN_LIT, NEN_NONE, NEN_NONE, "STR" },
|
@@ -93,11 +93,11 @@ Node_Type_Descrip node_type_descrips_unsorted[] = {
|
|
93
93
|
{ NODE_TO_ARY, NEN_HEAD, NEN_NONE, NEN_NONE, "TO_ARY" },
|
94
94
|
{ NODE_TRUE, NEN_NONE, NEN_NONE, NEN_NONE, "TRUE" },
|
95
95
|
{ NODE_UNDEF, NEN_BODY, NEN_NONE, NEN_NONE, "UNDEF" },
|
96
|
-
{ NODE_UNTIL,
|
97
|
-
{ NODE_VALIAS,
|
96
|
+
{ NODE_UNTIL, NEN_BODY, NEN_COND, NEN_STATE, "UNTIL" },
|
97
|
+
{ NODE_VALIAS, NEN_1ST, NEN_2ND, NEN_NONE, "VALIAS" },
|
98
98
|
{ NODE_VCALL, NEN_MID, NEN_NONE, NEN_NONE, "VCALL" },
|
99
99
|
{ NODE_WHEN, NEN_HEAD, NEN_BODY, NEN_NEXT, "WHEN" },
|
100
|
-
{ NODE_WHILE,
|
100
|
+
{ NODE_WHILE, NEN_BODY, NEN_COND, NEN_STATE, "WHILE" },
|
101
101
|
{ NODE_XSTR, NEN_LIT, NEN_NONE, NEN_NONE, "XSTR" },
|
102
102
|
{ NODE_YIELD, NEN_HEAD, NEN_STATE, NEN_NONE, "YIELD" },
|
103
103
|
{ NODE_ZARRAY, NEN_NONE, NEN_NONE, NEN_NONE, "ZARRAY" },
|
@@ -2832,10 +2832,10 @@ void define_node_subclass_methods()
|
|
2832
2832
|
rb_iv_set(rb_cALIAS, "__member__", members);
|
2833
2833
|
rb_iv_set(rb_cALIAS, "__type__", INT2NUM(NODE_ALIAS));
|
2834
2834
|
rb_define_singleton_method(rb_cALIAS, "members", node_s_members, 0);
|
2835
|
-
rb_define_method(rb_cALIAS, "second", node_2nd, 0);
|
2836
|
-
rb_ary_push(members, rb_str_new2("second"));
|
2837
2835
|
rb_define_method(rb_cALIAS, "first", node_1st, 0);
|
2838
2836
|
rb_ary_push(members, rb_str_new2("first"));
|
2837
|
+
rb_define_method(rb_cALIAS, "second", node_2nd, 0);
|
2838
|
+
rb_ary_push(members, rb_str_new2("second"));
|
2839
2839
|
}
|
2840
2840
|
|
2841
2841
|
/* Document-class: Node::ALLOCA
|
@@ -2853,12 +2853,6 @@ void define_node_subclass_methods()
|
|
2853
2853
|
rb_iv_set(rb_cALLOCA, "__type__", INT2NUM(NODE_ALLOCA));
|
2854
2854
|
rb_define_singleton_method(rb_cALLOCA, "members", node_s_members, 0);
|
2855
2855
|
|
2856
|
-
/* Document-method: cnt
|
2857
|
-
* the number of bytes allocated
|
2858
|
-
*/
|
2859
|
-
rb_define_method(rb_cALLOCA, "cnt", node_cnt, 0);
|
2860
|
-
rb_ary_push(members, rb_str_new2("cnt"));
|
2861
|
-
|
2862
2856
|
/* Document-method: cfnc
|
2863
2857
|
* a pointer to the allocated memory
|
2864
2858
|
*/
|
@@ -2870,6 +2864,12 @@ void define_node_subclass_methods()
|
|
2870
2864
|
*/
|
2871
2865
|
rb_define_method(rb_cALLOCA, "value", node_value, 0);
|
2872
2866
|
rb_ary_push(members, rb_str_new2("value"));
|
2867
|
+
|
2868
|
+
/* Document-method: cnt
|
2869
|
+
* the number of bytes allocated
|
2870
|
+
*/
|
2871
|
+
rb_define_method(rb_cALLOCA, "cnt", node_cnt, 0);
|
2872
|
+
rb_ary_push(members, rb_str_new2("cnt"));
|
2873
2873
|
}
|
2874
2874
|
#endif
|
2875
2875
|
|
@@ -2912,11 +2912,11 @@ void define_node_subclass_methods()
|
|
2912
2912
|
rb_iv_set(rb_cARGS, "__type__", INT2NUM(NODE_ARGS));
|
2913
2913
|
rb_define_singleton_method(rb_cARGS, "members", node_s_members, 0);
|
2914
2914
|
|
2915
|
-
/* Document-method:
|
2916
|
-
* the
|
2915
|
+
/* Document-method: rest
|
2916
|
+
* an assignment node to assign the rest arg, if it is present
|
2917
2917
|
*/
|
2918
|
-
rb_define_method(rb_cARGS, "
|
2919
|
-
rb_ary_push(members, rb_str_new2("
|
2918
|
+
rb_define_method(rb_cARGS, "rest", node_rest, 0);
|
2919
|
+
rb_ary_push(members, rb_str_new2("rest"));
|
2920
2920
|
|
2921
2921
|
/* Document-method: opt
|
2922
2922
|
* a list of assignment nodes to assign default values to the
|
@@ -2925,11 +2925,11 @@ void define_node_subclass_methods()
|
|
2925
2925
|
rb_define_method(rb_cARGS, "opt", node_opt, 0);
|
2926
2926
|
rb_ary_push(members, rb_str_new2("opt"));
|
2927
2927
|
|
2928
|
-
/* Document-method:
|
2929
|
-
*
|
2928
|
+
/* Document-method: cnt
|
2929
|
+
* the number of required arguments
|
2930
2930
|
*/
|
2931
|
-
rb_define_method(rb_cARGS, "
|
2932
|
-
rb_ary_push(members, rb_str_new2("
|
2931
|
+
rb_define_method(rb_cARGS, "cnt", node_cnt, 0);
|
2932
|
+
rb_ary_push(members, rb_str_new2("cnt"));
|
2933
2933
|
}
|
2934
2934
|
|
2935
2935
|
/* Document-class: Node::ARGSCAT
|
@@ -2995,14 +2995,14 @@ void define_node_subclass_methods()
|
|
2995
2995
|
rb_iv_set(rb_cARRAY, "__member__", members);
|
2996
2996
|
rb_iv_set(rb_cARRAY, "__type__", INT2NUM(NODE_ARRAY));
|
2997
2997
|
rb_define_singleton_method(rb_cARRAY, "members", node_s_members, 0);
|
2998
|
+
rb_define_method(rb_cARRAY, "alen", node_alen, 0);
|
2999
|
+
rb_ary_push(members, rb_str_new2("alen"));
|
2998
3000
|
|
2999
3001
|
/* Document-method: head
|
3000
3002
|
* the first element of the array
|
3001
3003
|
*/
|
3002
3004
|
rb_define_method(rb_cARRAY, "head", node_head, 0);
|
3003
3005
|
rb_ary_push(members, rb_str_new2("head"));
|
3004
|
-
rb_define_method(rb_cARRAY, "alen", node_alen, 0);
|
3005
|
-
rb_ary_push(members, rb_str_new2("alen"));
|
3006
3006
|
|
3007
3007
|
/* Document-method: next
|
3008
3008
|
* the tail of the array
|
@@ -3025,12 +3025,6 @@ void define_node_subclass_methods()
|
|
3025
3025
|
rb_iv_set(rb_cATTRASGN, "__type__", INT2NUM(NODE_ATTRASGN));
|
3026
3026
|
rb_define_singleton_method(rb_cATTRASGN, "members", node_s_members, 0);
|
3027
3027
|
|
3028
|
-
/* Document-method: mid
|
3029
|
-
* the id of the attribute, with a trailing '=' sign
|
3030
|
-
*/
|
3031
|
-
rb_define_method(rb_cATTRASGN, "mid", node_mid, 0);
|
3032
|
-
rb_ary_push(members, rb_str_new2("mid"));
|
3033
|
-
|
3034
3028
|
/* Document-method: recv
|
3035
3029
|
* the receiver of the method
|
3036
3030
|
*/
|
@@ -3042,6 +3036,12 @@ void define_node_subclass_methods()
|
|
3042
3036
|
*/
|
3043
3037
|
rb_define_method(rb_cATTRASGN, "args", node_args, 0);
|
3044
3038
|
rb_ary_push(members, rb_str_new2("args"));
|
3039
|
+
|
3040
|
+
/* Document-method: mid
|
3041
|
+
* the id of the attribute, with a trailing '=' sign
|
3042
|
+
*/
|
3043
|
+
rb_define_method(rb_cATTRASGN, "mid", node_mid, 0);
|
3044
|
+
rb_ary_push(members, rb_str_new2("mid"));
|
3045
3045
|
}
|
3046
3046
|
|
3047
3047
|
/* Document-class: Node::ATTRSET
|
@@ -3080,19 +3080,19 @@ void define_node_subclass_methods()
|
|
3080
3080
|
rb_iv_set(rb_cBACK_REF, "__type__", INT2NUM(NODE_BACK_REF));
|
3081
3081
|
rb_define_singleton_method(rb_cBACK_REF, "members", node_s_members, 0);
|
3082
3082
|
|
3083
|
-
/* Document-method: cnt
|
3084
|
-
* the index into the local variable table where the match data is
|
3085
|
-
* stored
|
3086
|
-
*/
|
3087
|
-
rb_define_method(rb_cBACK_REF, "cnt", node_cnt, 0);
|
3088
|
-
rb_ary_push(members, rb_str_new2("cnt"));
|
3089
|
-
|
3090
3083
|
/* Document-method: nth
|
3091
3084
|
* the integer representation of the character of the variable to
|
3092
3085
|
* reference, one of '&', '`', '\'', or '+'
|
3093
3086
|
*/
|
3094
3087
|
rb_define_method(rb_cBACK_REF, "nth", node_nth, 0);
|
3095
3088
|
rb_ary_push(members, rb_str_new2("nth"));
|
3089
|
+
|
3090
|
+
/* Document-method: cnt
|
3091
|
+
* the index into the local variable table where the match data is
|
3092
|
+
* stored
|
3093
|
+
*/
|
3094
|
+
rb_define_method(rb_cBACK_REF, "cnt", node_cnt, 0);
|
3095
|
+
rb_ary_push(members, rb_str_new2("cnt"));
|
3096
3096
|
}
|
3097
3097
|
|
3098
3098
|
/* Document-class: Node::BEGIN
|
@@ -3180,17 +3180,17 @@ void define_node_subclass_methods()
|
|
3180
3180
|
rb_iv_set(rb_cBLOCK_PASS, "__type__", INT2NUM(NODE_BLOCK_PASS));
|
3181
3181
|
rb_define_singleton_method(rb_cBLOCK_PASS, "members", node_s_members, 0);
|
3182
3182
|
|
3183
|
-
/* Document-method: iter
|
3184
|
-
* an expression which calls a method
|
3185
|
-
*/
|
3186
|
-
rb_define_method(rb_cBLOCK_PASS, "iter", node_iter, 0);
|
3187
|
-
rb_ary_push(members, rb_str_new2("iter"));
|
3188
|
-
|
3189
3183
|
/* Document-method: body
|
3190
3184
|
* the object to pass as a block
|
3191
3185
|
*/
|
3192
3186
|
rb_define_method(rb_cBLOCK_PASS, "body", node_body, 0);
|
3193
3187
|
rb_ary_push(members, rb_str_new2("body"));
|
3188
|
+
|
3189
|
+
/* Document-method: iter
|
3190
|
+
* an expression which calls a method
|
3191
|
+
*/
|
3192
|
+
rb_define_method(rb_cBLOCK_PASS, "iter", node_iter, 0);
|
3193
|
+
rb_ary_push(members, rb_str_new2("iter"));
|
3194
3194
|
}
|
3195
3195
|
|
3196
3196
|
/* Document-class: Node::BMETHOD
|
@@ -3247,6 +3247,12 @@ void define_node_subclass_methods()
|
|
3247
3247
|
rb_iv_set(rb_cCALL, "__type__", INT2NUM(NODE_CALL));
|
3248
3248
|
rb_define_singleton_method(rb_cCALL, "members", node_s_members, 0);
|
3249
3249
|
|
3250
|
+
/* Document-method: args
|
3251
|
+
* the arguments to the method
|
3252
|
+
*/
|
3253
|
+
rb_define_method(rb_cCALL, "args", node_args, 0);
|
3254
|
+
rb_ary_push(members, rb_str_new2("args"));
|
3255
|
+
|
3250
3256
|
/* Document-method: mid
|
3251
3257
|
* the method id
|
3252
3258
|
*/
|
@@ -3258,12 +3264,6 @@ void define_node_subclass_methods()
|
|
3258
3264
|
*/
|
3259
3265
|
rb_define_method(rb_cCALL, "recv", node_recv, 0);
|
3260
3266
|
rb_ary_push(members, rb_str_new2("recv"));
|
3261
|
-
|
3262
|
-
/* Document-method: args
|
3263
|
-
* the arguments to the method
|
3264
|
-
*/
|
3265
|
-
rb_define_method(rb_cCALL, "args", node_args, 0);
|
3266
|
-
rb_ary_push(members, rb_str_new2("args"));
|
3267
3267
|
}
|
3268
3268
|
|
3269
3269
|
/* Document-class: Node::CASE
|
@@ -3309,17 +3309,17 @@ void define_node_subclass_methods()
|
|
3309
3309
|
rb_iv_set(rb_cCDECL, "__type__", INT2NUM(NODE_CDECL));
|
3310
3310
|
rb_define_singleton_method(rb_cCDECL, "members", node_s_members, 0);
|
3311
3311
|
|
3312
|
-
/* Document-method: vid
|
3313
|
-
* the name of the constant to be assigned, all uppercase
|
3314
|
-
*/
|
3315
|
-
rb_define_method(rb_cCDECL, "vid", node_vid, 0);
|
3316
|
-
rb_ary_push(members, rb_str_new2("vid"));
|
3317
|
-
|
3318
3312
|
/* Document-method: value
|
3319
3313
|
* the value to be assigned to the constant
|
3320
3314
|
*/
|
3321
3315
|
rb_define_method(rb_cCDECL, "value", node_value, 0);
|
3322
3316
|
rb_ary_push(members, rb_str_new2("value"));
|
3317
|
+
|
3318
|
+
/* Document-method: vid
|
3319
|
+
* the name of the constant to be assigned, all uppercase
|
3320
|
+
*/
|
3321
|
+
rb_define_method(rb_cCDECL, "vid", node_vid, 0);
|
3322
|
+
rb_ary_push(members, rb_str_new2("vid"));
|
3323
3323
|
}
|
3324
3324
|
|
3325
3325
|
/* Document-class: Node::CFUNC
|
@@ -3362,12 +3362,6 @@ void define_node_subclass_methods()
|
|
3362
3362
|
rb_iv_set(rb_cCLASS, "__type__", INT2NUM(NODE_CLASS));
|
3363
3363
|
rb_define_singleton_method(rb_cCLASS, "members", node_s_members, 0);
|
3364
3364
|
|
3365
|
-
/* Document-method: body
|
3366
|
-
* the body of the class definition
|
3367
|
-
*/
|
3368
|
-
rb_define_method(rb_cCLASS, "body", node_body, 0);
|
3369
|
-
rb_ary_push(members, rb_str_new2("body"));
|
3370
|
-
|
3371
3365
|
/* Document-method: super
|
3372
3366
|
* an expression returning the base class, or false if there is no
|
3373
3367
|
* base class specified
|
@@ -3380,6 +3374,12 @@ void define_node_subclass_methods()
|
|
3380
3374
|
*/
|
3381
3375
|
rb_define_method(rb_cCLASS, "cpath", node_cpath, 0);
|
3382
3376
|
rb_ary_push(members, rb_str_new2("cpath"));
|
3377
|
+
|
3378
|
+
/* Document-method: body
|
3379
|
+
* the body of the class definition
|
3380
|
+
*/
|
3381
|
+
rb_define_method(rb_cCLASS, "body", node_body, 0);
|
3382
|
+
rb_ary_push(members, rb_str_new2("body"));
|
3383
3383
|
}
|
3384
3384
|
|
3385
3385
|
/* Document-class: Node::COLON2
|
@@ -3481,18 +3481,18 @@ void define_node_subclass_methods()
|
|
3481
3481
|
rb_iv_set(rb_cCVASGN, "__type__", INT2NUM(NODE_CVASGN));
|
3482
3482
|
rb_define_singleton_method(rb_cCVASGN, "members", node_s_members, 0);
|
3483
3483
|
|
3484
|
-
/* Document-method: vid
|
3485
|
-
* the name of the class variable to assign
|
3486
|
-
*/
|
3487
|
-
rb_define_method(rb_cCVASGN, "vid", node_vid, 0);
|
3488
|
-
rb_ary_push(members, rb_str_new2("vid"));
|
3489
|
-
|
3490
3484
|
/* Document-method: value
|
3491
3485
|
* an expression whose result is the new value of the class
|
3492
3486
|
* variable
|
3493
3487
|
*/
|
3494
3488
|
rb_define_method(rb_cCVASGN, "value", node_value, 0);
|
3495
3489
|
rb_ary_push(members, rb_str_new2("value"));
|
3490
|
+
|
3491
|
+
/* Document-method: vid
|
3492
|
+
* the name of the class variable to assign
|
3493
|
+
*/
|
3494
|
+
rb_define_method(rb_cCVASGN, "vid", node_vid, 0);
|
3495
|
+
rb_ary_push(members, rb_str_new2("vid"));
|
3496
3496
|
}
|
3497
3497
|
|
3498
3498
|
/* Document-class: Node::CVDECL
|
@@ -3508,18 +3508,18 @@ void define_node_subclass_methods()
|
|
3508
3508
|
rb_iv_set(rb_cCVDECL, "__type__", INT2NUM(NODE_CVDECL));
|
3509
3509
|
rb_define_singleton_method(rb_cCVDECL, "members", node_s_members, 0);
|
3510
3510
|
|
3511
|
-
/* Document-method: vid
|
3512
|
-
* the name of the class variable to assign
|
3513
|
-
*/
|
3514
|
-
rb_define_method(rb_cCVDECL, "vid", node_vid, 0);
|
3515
|
-
rb_ary_push(members, rb_str_new2("vid"));
|
3516
|
-
|
3517
3511
|
/* Document-method: value
|
3518
3512
|
* an expression whose result is the new value of the class
|
3519
3513
|
* variable
|
3520
3514
|
*/
|
3521
3515
|
rb_define_method(rb_cCVDECL, "value", node_value, 0);
|
3522
3516
|
rb_ary_push(members, rb_str_new2("value"));
|
3517
|
+
|
3518
|
+
/* Document-method: vid
|
3519
|
+
* the name of the class variable to assign
|
3520
|
+
*/
|
3521
|
+
rb_define_method(rb_cCVDECL, "vid", node_vid, 0);
|
3522
|
+
rb_ary_push(members, rb_str_new2("vid"));
|
3523
3523
|
}
|
3524
3524
|
|
3525
3525
|
/* Document-class: Node::DASGN
|
@@ -3542,17 +3542,17 @@ void define_node_subclass_methods()
|
|
3542
3542
|
rb_iv_set(rb_cDASGN, "__type__", INT2NUM(NODE_DASGN));
|
3543
3543
|
rb_define_singleton_method(rb_cDASGN, "members", node_s_members, 0);
|
3544
3544
|
|
3545
|
-
/* Document-method: vid
|
3546
|
-
* the name of the local variable
|
3547
|
-
*/
|
3548
|
-
rb_define_method(rb_cDASGN, "vid", node_vid, 0);
|
3549
|
-
rb_ary_push(members, rb_str_new2("vid"));
|
3550
|
-
|
3551
3545
|
/* Document-method: value
|
3552
3546
|
* the value to assign to the local variable
|
3553
3547
|
*/
|
3554
3548
|
rb_define_method(rb_cDASGN, "value", node_value, 0);
|
3555
3549
|
rb_ary_push(members, rb_str_new2("value"));
|
3550
|
+
|
3551
|
+
/* Document-method: vid
|
3552
|
+
* the name of the local variable
|
3553
|
+
*/
|
3554
|
+
rb_define_method(rb_cDASGN, "vid", node_vid, 0);
|
3555
|
+
rb_ary_push(members, rb_str_new2("vid"));
|
3556
3556
|
}
|
3557
3557
|
|
3558
3558
|
/* Document-class: Node::DASGN_CURR
|
@@ -3567,17 +3567,17 @@ void define_node_subclass_methods()
|
|
3567
3567
|
rb_iv_set(rb_cDASGN_CURR, "__type__", INT2NUM(NODE_DASGN_CURR));
|
3568
3568
|
rb_define_singleton_method(rb_cDASGN_CURR, "members", node_s_members, 0);
|
3569
3569
|
|
3570
|
-
/* Document-method: vid
|
3571
|
-
* the name of the local variable
|
3572
|
-
*/
|
3573
|
-
rb_define_method(rb_cDASGN_CURR, "vid", node_vid, 0);
|
3574
|
-
rb_ary_push(members, rb_str_new2("vid"));
|
3575
|
-
|
3576
3570
|
/* Document-method: value
|
3577
3571
|
* the value to assign to the local variable
|
3578
3572
|
*/
|
3579
3573
|
rb_define_method(rb_cDASGN_CURR, "value", node_value, 0);
|
3580
3574
|
rb_ary_push(members, rb_str_new2("value"));
|
3575
|
+
|
3576
|
+
/* Document-method: vid
|
3577
|
+
* the name of the local variable
|
3578
|
+
*/
|
3579
|
+
rb_define_method(rb_cDASGN_CURR, "vid", node_vid, 0);
|
3580
|
+
rb_ary_push(members, rb_str_new2("vid"));
|
3581
3581
|
}
|
3582
3582
|
|
3583
3583
|
/* Document-class: Node::DEFINED
|
@@ -3613,18 +3613,18 @@ void define_node_subclass_methods()
|
|
3613
3613
|
rb_iv_set(rb_cDEFN, "__type__", INT2NUM(NODE_DEFN));
|
3614
3614
|
rb_define_singleton_method(rb_cDEFN, "members", node_s_members, 0);
|
3615
3615
|
|
3616
|
-
/* Document-method: mid
|
3617
|
-
* the name of the method* defn the body of the method
|
3618
|
-
*/
|
3619
|
-
rb_define_method(rb_cDEFN, "mid", node_mid, 0);
|
3620
|
-
rb_ary_push(members, rb_str_new2("mid"));
|
3621
|
-
|
3622
3616
|
/* Document-method: defn
|
3623
3617
|
* the body of the method definition
|
3624
3618
|
*/
|
3625
3619
|
rb_define_method(rb_cDEFN, "defn", node_defn, 0);
|
3626
3620
|
rb_ary_push(members, rb_str_new2("defn"));
|
3627
3621
|
|
3622
|
+
/* Document-method: mid
|
3623
|
+
* the name of the method* defn the body of the method
|
3624
|
+
*/
|
3625
|
+
rb_define_method(rb_cDEFN, "mid", node_mid, 0);
|
3626
|
+
rb_ary_push(members, rb_str_new2("mid"));
|
3627
|
+
|
3628
3628
|
/* Document-method: noex
|
3629
3629
|
* the flags which should be used to define the method
|
3630
3630
|
*/
|
@@ -3645,12 +3645,6 @@ void define_node_subclass_methods()
|
|
3645
3645
|
rb_iv_set(rb_cDEFS, "__member__", members);
|
3646
3646
|
rb_iv_set(rb_cDEFS, "__type__", INT2NUM(NODE_DEFS));
|
3647
3647
|
rb_define_singleton_method(rb_cDEFS, "members", node_s_members, 0);
|
3648
|
-
|
3649
|
-
/* Document-method: mid
|
3650
|
-
* the name of the method* defn the body of the method
|
3651
|
-
*/
|
3652
|
-
rb_define_method(rb_cDEFS, "mid", node_mid, 0);
|
3653
|
-
rb_ary_push(members, rb_str_new2("mid"));
|
3654
3648
|
rb_define_method(rb_cDEFS, "defn", node_defn, 0);
|
3655
3649
|
rb_ary_push(members, rb_str_new2("defn"));
|
3656
3650
|
|
@@ -3659,6 +3653,12 @@ void define_node_subclass_methods()
|
|
3659
3653
|
*/
|
3660
3654
|
rb_define_method(rb_cDEFS, "recv", node_recv, 0);
|
3661
3655
|
rb_ary_push(members, rb_str_new2("recv"));
|
3656
|
+
|
3657
|
+
/* Document-method: mid
|
3658
|
+
* the name of the method* defn the body of the method
|
3659
|
+
*/
|
3660
|
+
rb_define_method(rb_cDEFS, "mid", node_mid, 0);
|
3661
|
+
rb_ary_push(members, rb_str_new2("mid"));
|
3662
3662
|
}
|
3663
3663
|
|
3664
3664
|
/* Document-class: Node::DOT2
|
@@ -3674,6 +3674,12 @@ void define_node_subclass_methods()
|
|
3674
3674
|
rb_iv_set(rb_cDOT2, "__type__", INT2NUM(NODE_DOT2));
|
3675
3675
|
rb_define_singleton_method(rb_cDOT2, "members", node_s_members, 0);
|
3676
3676
|
|
3677
|
+
/* Document-method: beg
|
3678
|
+
* the beginning of the range
|
3679
|
+
*/
|
3680
|
+
rb_define_method(rb_cDOT2, "beg", node_beg, 0);
|
3681
|
+
rb_ary_push(members, rb_str_new2("beg"));
|
3682
|
+
|
3677
3683
|
/* Document-method: end
|
3678
3684
|
* the end of the range
|
3679
3685
|
*/
|
@@ -3681,12 +3687,6 @@ void define_node_subclass_methods()
|
|
3681
3687
|
rb_ary_push(members, rb_str_new2("end"));
|
3682
3688
|
rb_define_method(rb_cDOT2, "state", node_state, 0);
|
3683
3689
|
rb_ary_push(members, rb_str_new2("state"));
|
3684
|
-
|
3685
|
-
/* Document-method: beg
|
3686
|
-
* the beginning of the range
|
3687
|
-
*/
|
3688
|
-
rb_define_method(rb_cDOT2, "beg", node_beg, 0);
|
3689
|
-
rb_ary_push(members, rb_str_new2("beg"));
|
3690
3690
|
}
|
3691
3691
|
|
3692
3692
|
/* Document-class: Node::DOT3
|
@@ -3702,6 +3702,12 @@ void define_node_subclass_methods()
|
|
3702
3702
|
rb_iv_set(rb_cDOT3, "__type__", INT2NUM(NODE_DOT3));
|
3703
3703
|
rb_define_singleton_method(rb_cDOT3, "members", node_s_members, 0);
|
3704
3704
|
|
3705
|
+
/* Document-method: beg
|
3706
|
+
* the beginning of the range
|
3707
|
+
*/
|
3708
|
+
rb_define_method(rb_cDOT3, "beg", node_beg, 0);
|
3709
|
+
rb_ary_push(members, rb_str_new2("beg"));
|
3710
|
+
|
3705
3711
|
/* Document-method: end
|
3706
3712
|
* the end of the range
|
3707
3713
|
*/
|
@@ -3709,12 +3715,6 @@ void define_node_subclass_methods()
|
|
3709
3715
|
rb_ary_push(members, rb_str_new2("end"));
|
3710
3716
|
rb_define_method(rb_cDOT3, "state", node_state, 0);
|
3711
3717
|
rb_ary_push(members, rb_str_new2("state"));
|
3712
|
-
|
3713
|
-
/* Document-method: beg
|
3714
|
-
* the beginning of the range
|
3715
|
-
*/
|
3716
|
-
rb_define_method(rb_cDOT3, "beg", node_beg, 0);
|
3717
|
-
rb_ary_push(members, rb_str_new2("beg"));
|
3718
3718
|
}
|
3719
3719
|
|
3720
3720
|
/* Document-class: Node::DREGX
|
@@ -3739,6 +3739,12 @@ void define_node_subclass_methods()
|
|
3739
3739
|
rb_define_method(rb_cDREGX, "lit", node_lit, 0);
|
3740
3740
|
rb_ary_push(members, rb_str_new2("lit"));
|
3741
3741
|
|
3742
|
+
/* Document-method: next
|
3743
|
+
* a list of expressions to be appended onto the string
|
3744
|
+
*/
|
3745
|
+
rb_define_method(rb_cDREGX, "next", node_next, 0);
|
3746
|
+
rb_ary_push(members, rb_str_new2("next"));
|
3747
|
+
|
3742
3748
|
/* Document-method: cflag
|
3743
3749
|
* a bitfield containing the options used in the regular
|
3744
3750
|
* expression. Valid values include:
|
@@ -3755,12 +3761,6 @@ void define_node_subclass_methods()
|
|
3755
3761
|
*/
|
3756
3762
|
rb_define_method(rb_cDREGX, "cflag", node_cflag, 0);
|
3757
3763
|
rb_ary_push(members, rb_str_new2("cflag"));
|
3758
|
-
|
3759
|
-
/* Document-method: next
|
3760
|
-
* a list of expressions to be appended onto the string
|
3761
|
-
*/
|
3762
|
-
rb_define_method(rb_cDREGX, "next", node_next, 0);
|
3763
|
-
rb_ary_push(members, rb_str_new2("next"));
|
3764
3764
|
}
|
3765
3765
|
|
3766
3766
|
/* Document-class: Node::DREGX_ONCE
|
@@ -3782,18 +3782,18 @@ void define_node_subclass_methods()
|
|
3782
3782
|
rb_define_method(rb_cDREGX_ONCE, "lit", node_lit, 0);
|
3783
3783
|
rb_ary_push(members, rb_str_new2("lit"));
|
3784
3784
|
|
3785
|
+
/* Document-method: next
|
3786
|
+
* a list of expressions to be appended onto the string
|
3787
|
+
*/
|
3788
|
+
rb_define_method(rb_cDREGX_ONCE, "next", node_next, 0);
|
3789
|
+
rb_ary_push(members, rb_str_new2("next"));
|
3790
|
+
|
3785
3791
|
/* Document-method: cflag
|
3786
3792
|
* a bitfield containing the options used in the regular
|
3787
3793
|
* expression. See DREGX for a list of valid values.
|
3788
3794
|
*/
|
3789
3795
|
rb_define_method(rb_cDREGX_ONCE, "cflag", node_cflag, 0);
|
3790
3796
|
rb_ary_push(members, rb_str_new2("cflag"));
|
3791
|
-
|
3792
|
-
/* Document-method: next
|
3793
|
-
* a list of expressions to be appended onto the string
|
3794
|
-
*/
|
3795
|
-
rb_define_method(rb_cDREGX_ONCE, "next", node_next, 0);
|
3796
|
-
rb_ary_push(members, rb_str_new2("next"));
|
3797
3797
|
}
|
3798
3798
|
|
3799
3799
|
/* Document-class: Node::DSTR
|
@@ -3985,17 +3985,17 @@ void define_node_subclass_methods()
|
|
3985
3985
|
rb_iv_set(rb_cFCALL, "__type__", INT2NUM(NODE_FCALL));
|
3986
3986
|
rb_define_singleton_method(rb_cFCALL, "members", node_s_members, 0);
|
3987
3987
|
|
3988
|
-
/* Document-method: mid
|
3989
|
-
* the method id
|
3990
|
-
*/
|
3991
|
-
rb_define_method(rb_cFCALL, "mid", node_mid, 0);
|
3992
|
-
rb_ary_push(members, rb_str_new2("mid"));
|
3993
|
-
|
3994
3988
|
/* Document-method: args
|
3995
3989
|
* the arguments to the method
|
3996
3990
|
*/
|
3997
3991
|
rb_define_method(rb_cFCALL, "args", node_args, 0);
|
3998
3992
|
rb_ary_push(members, rb_str_new2("args"));
|
3993
|
+
|
3994
|
+
/* Document-method: mid
|
3995
|
+
* the method id
|
3996
|
+
*/
|
3997
|
+
rb_define_method(rb_cFCALL, "mid", node_mid, 0);
|
3998
|
+
rb_ary_push(members, rb_str_new2("mid"));
|
3999
3999
|
}
|
4000
4000
|
|
4001
4001
|
/* Document-class: Node::FLIP2
|
@@ -4019,17 +4019,17 @@ void define_node_subclass_methods()
|
|
4019
4019
|
rb_define_method(rb_cFLIP2, "cnt", node_cnt, 0);
|
4020
4020
|
rb_ary_push(members, rb_str_new2("cnt"));
|
4021
4021
|
|
4022
|
-
/* Document-method: end
|
4023
|
-
* the end of the range
|
4024
|
-
*/
|
4025
|
-
rb_define_method(rb_cFLIP2, "end", node_end, 0);
|
4026
|
-
rb_ary_push(members, rb_str_new2("end"));
|
4027
|
-
|
4028
4022
|
/* Document-method: beg
|
4029
4023
|
* the beginning of the range
|
4030
4024
|
*/
|
4031
4025
|
rb_define_method(rb_cFLIP2, "beg", node_beg, 0);
|
4032
4026
|
rb_ary_push(members, rb_str_new2("beg"));
|
4027
|
+
|
4028
|
+
/* Document-method: end
|
4029
|
+
* the end of the range
|
4030
|
+
*/
|
4031
|
+
rb_define_method(rb_cFLIP2, "end", node_end, 0);
|
4032
|
+
rb_ary_push(members, rb_str_new2("end"));
|
4033
4033
|
}
|
4034
4034
|
|
4035
4035
|
/* Document-class: Node::FLIP3
|
@@ -4053,17 +4053,17 @@ void define_node_subclass_methods()
|
|
4053
4053
|
rb_define_method(rb_cFLIP3, "cnt", node_cnt, 0);
|
4054
4054
|
rb_ary_push(members, rb_str_new2("cnt"));
|
4055
4055
|
|
4056
|
-
/* Document-method: end
|
4057
|
-
* the end of the range
|
4058
|
-
*/
|
4059
|
-
rb_define_method(rb_cFLIP3, "end", node_end, 0);
|
4060
|
-
rb_ary_push(members, rb_str_new2("end"));
|
4061
|
-
|
4062
4056
|
/* Document-method: beg
|
4063
4057
|
* the beginning of the range
|
4064
4058
|
*/
|
4065
4059
|
rb_define_method(rb_cFLIP3, "beg", node_beg, 0);
|
4066
4060
|
rb_ary_push(members, rb_str_new2("beg"));
|
4061
|
+
|
4062
|
+
/* Document-method: end
|
4063
|
+
* the end of the range
|
4064
|
+
*/
|
4065
|
+
rb_define_method(rb_cFLIP3, "end", node_end, 0);
|
4066
|
+
rb_ary_push(members, rb_str_new2("end"));
|
4067
4067
|
}
|
4068
4068
|
|
4069
4069
|
/* Document-class: Node::FOR
|
@@ -4088,18 +4088,18 @@ void define_node_subclass_methods()
|
|
4088
4088
|
rb_iv_set(rb_cFOR, "__type__", INT2NUM(NODE_FOR));
|
4089
4089
|
rb_define_singleton_method(rb_cFOR, "members", node_s_members, 0);
|
4090
4090
|
|
4091
|
-
/* Document-method: iter
|
4092
|
-
* the sequence over which to iterate
|
4093
|
-
*/
|
4094
|
-
rb_define_method(rb_cFOR, "iter", node_iter, 0);
|
4095
|
-
rb_ary_push(members, rb_str_new2("iter"));
|
4096
|
-
|
4097
4091
|
/* Document-method: body
|
4098
4092
|
* the body of the loop
|
4099
4093
|
*/
|
4100
4094
|
rb_define_method(rb_cFOR, "body", node_body, 0);
|
4101
4095
|
rb_ary_push(members, rb_str_new2("body"));
|
4102
4096
|
|
4097
|
+
/* Document-method: iter
|
4098
|
+
* the sequence over which to iterate
|
4099
|
+
*/
|
4100
|
+
rb_define_method(rb_cFOR, "iter", node_iter, 0);
|
4101
|
+
rb_ary_push(members, rb_str_new2("iter"));
|
4102
|
+
|
4103
4103
|
/* Document-method: var
|
4104
4104
|
* an assignment node which assigns the next value in the sequence
|
4105
4105
|
* to a variable, which may or may not be local. May also be a
|
@@ -4120,6 +4120,12 @@ void define_node_subclass_methods()
|
|
4120
4120
|
rb_iv_set(rb_cGASGN, "__type__", INT2NUM(NODE_GASGN));
|
4121
4121
|
rb_define_singleton_method(rb_cGASGN, "members", node_s_members, 0);
|
4122
4122
|
|
4123
|
+
/* Document-method: value
|
4124
|
+
* an expression whose result is the new value of the global variable
|
4125
|
+
*/
|
4126
|
+
rb_define_method(rb_cGASGN, "value", node_value, 0);
|
4127
|
+
rb_ary_push(members, rb_str_new2("value"));
|
4128
|
+
|
4123
4129
|
/* Document-method: vid
|
4124
4130
|
* the name of the global variable, with a leading '$' character.
|
4125
4131
|
*/
|
@@ -4127,12 +4133,6 @@ void define_node_subclass_methods()
|
|
4127
4133
|
rb_ary_push(members, rb_str_new2("vid"));
|
4128
4134
|
rb_define_method(rb_cGASGN, "entry", node_entry, 0);
|
4129
4135
|
rb_ary_push(members, rb_str_new2("entry"));
|
4130
|
-
|
4131
|
-
/* Document-method: value
|
4132
|
-
* an expression whose result is the new value of the global variable
|
4133
|
-
*/
|
4134
|
-
rb_define_method(rb_cGASGN, "value", node_value, 0);
|
4135
|
-
rb_ary_push(members, rb_str_new2("value"));
|
4136
4136
|
}
|
4137
4137
|
|
4138
4138
|
/* Document-class: Node::GVAR
|
@@ -4185,17 +4185,17 @@ void define_node_subclass_methods()
|
|
4185
4185
|
rb_iv_set(rb_cIASGN, "__type__", INT2NUM(NODE_IASGN));
|
4186
4186
|
rb_define_singleton_method(rb_cIASGN, "members", node_s_members, 0);
|
4187
4187
|
|
4188
|
-
/* Document-method: vid
|
4189
|
-
* the name of the instance variable, with a leading '@' sign
|
4190
|
-
*/
|
4191
|
-
rb_define_method(rb_cIASGN, "vid", node_vid, 0);
|
4192
|
-
rb_ary_push(members, rb_str_new2("vid"));
|
4193
|
-
|
4194
4188
|
/* Document-method: value
|
4195
4189
|
* the value to assign to the instance variable
|
4196
4190
|
*/
|
4197
4191
|
rb_define_method(rb_cIASGN, "value", node_value, 0);
|
4198
4192
|
rb_ary_push(members, rb_str_new2("value"));
|
4193
|
+
|
4194
|
+
/* Document-method: vid
|
4195
|
+
* the name of the instance variable, with a leading '@' sign
|
4196
|
+
*/
|
4197
|
+
rb_define_method(rb_cIASGN, "vid", node_vid, 0);
|
4198
|
+
rb_ary_push(members, rb_str_new2("vid"));
|
4199
4199
|
}
|
4200
4200
|
|
4201
4201
|
/* Document-class: Node::IF
|
@@ -4218,6 +4218,7 @@ void define_node_subclass_methods()
|
|
4218
4218
|
*
|
4219
4219
|
* A conditional block using elsif has another IF node as the else
|
4220
4220
|
* expression.
|
4221
|
+
*
|
4221
4222
|
*/
|
4222
4223
|
{
|
4223
4224
|
VALUE rb_cIF = rb_define_class_under(rb_cNode, "IF", rb_cNode);
|
@@ -4227,6 +4228,12 @@ void define_node_subclass_methods()
|
|
4227
4228
|
rb_iv_set(rb_cIF, "__type__", INT2NUM(NODE_IF));
|
4228
4229
|
rb_define_singleton_method(rb_cIF, "members", node_s_members, 0);
|
4229
4230
|
|
4231
|
+
/* Document-method: cond
|
4232
|
+
* the condition to evaluate
|
4233
|
+
*/
|
4234
|
+
rb_define_method(rb_cIF, "cond", node_cond, 0);
|
4235
|
+
rb_ary_push(members, rb_str_new2("cond"));
|
4236
|
+
|
4230
4237
|
/* Document-method: body
|
4231
4238
|
* the expression to evaluate if the expression is true, or false
|
4232
4239
|
* if the expression is empty
|
@@ -4234,12 +4241,6 @@ void define_node_subclass_methods()
|
|
4234
4241
|
rb_define_method(rb_cIF, "body", node_body, 0);
|
4235
4242
|
rb_ary_push(members, rb_str_new2("body"));
|
4236
4243
|
|
4237
|
-
/* Document-method: cond
|
4238
|
-
* the condition to evaluate
|
4239
|
-
*/
|
4240
|
-
rb_define_method(rb_cIF, "cond", node_cond, 0);
|
4241
|
-
rb_ary_push(members, rb_str_new2("cond"));
|
4242
|
-
|
4243
4244
|
/* Document-method: else
|
4244
4245
|
* the expression to evaluate if the expression is false, or false
|
4245
4246
|
* if the expression is empty
|
@@ -4259,12 +4260,6 @@ void define_node_subclass_methods()
|
|
4259
4260
|
rb_iv_set(rb_cIFUNC, "__type__", INT2NUM(NODE_IFUNC));
|
4260
4261
|
rb_define_singleton_method(rb_cIFUNC, "members", node_s_members, 0);
|
4261
4262
|
|
4262
|
-
/* Document-method: state
|
4263
|
-
* always 0
|
4264
|
-
*/
|
4265
|
-
rb_define_method(rb_cIFUNC, "state", node_state, 0);
|
4266
|
-
rb_ary_push(members, rb_str_new2("state"));
|
4267
|
-
|
4268
4263
|
/* Document-method: cfnc
|
4269
4264
|
* a pointer to the C function to which to yield
|
4270
4265
|
*/
|
@@ -4277,6 +4272,12 @@ void define_node_subclass_methods()
|
|
4277
4272
|
*/
|
4278
4273
|
rb_define_method(rb_cIFUNC, "tval", node_tval, 0);
|
4279
4274
|
rb_ary_push(members, rb_str_new2("tval"));
|
4275
|
+
|
4276
|
+
/* Document-method: state
|
4277
|
+
* always 0
|
4278
|
+
*/
|
4279
|
+
rb_define_method(rb_cIFUNC, "state", node_state, 0);
|
4280
|
+
rb_ary_push(members, rb_str_new2("state"));
|
4280
4281
|
}
|
4281
4282
|
|
4282
4283
|
/* Document-class: Node::ITER
|
@@ -4300,6 +4301,12 @@ void define_node_subclass_methods()
|
|
4300
4301
|
rb_iv_set(rb_cITER, "__type__", INT2NUM(NODE_ITER));
|
4301
4302
|
rb_define_singleton_method(rb_cITER, "members", node_s_members, 0);
|
4302
4303
|
|
4304
|
+
/* Document-method: body
|
4305
|
+
* the body of the loop
|
4306
|
+
*/
|
4307
|
+
rb_define_method(rb_cITER, "body", node_body, 0);
|
4308
|
+
rb_ary_push(members, rb_str_new2("body"));
|
4309
|
+
|
4303
4310
|
/* Document-method: iter
|
4304
4311
|
* an expression which calls the desired iteration method, usually
|
4305
4312
|
* recv.each
|
@@ -4307,12 +4314,6 @@ void define_node_subclass_methods()
|
|
4307
4314
|
rb_define_method(rb_cITER, "iter", node_iter, 0);
|
4308
4315
|
rb_ary_push(members, rb_str_new2("iter"));
|
4309
4316
|
|
4310
|
-
/* Document-method: body
|
4311
|
-
* the body of the loop
|
4312
|
-
*/
|
4313
|
-
rb_define_method(rb_cITER, "body", node_body, 0);
|
4314
|
-
rb_ary_push(members, rb_str_new2("body"));
|
4315
|
-
|
4316
4317
|
/* Document-method: var
|
4317
4318
|
* an assignment node which assigns the next value in the sequence
|
4318
4319
|
* to a variable, which may or may not be local. May also be a
|
@@ -4353,20 +4354,20 @@ void define_node_subclass_methods()
|
|
4353
4354
|
rb_iv_set(rb_cLASGN, "__member__", members);
|
4354
4355
|
rb_iv_set(rb_cLASGN, "__type__", INT2NUM(NODE_LASGN));
|
4355
4356
|
rb_define_singleton_method(rb_cLASGN, "members", node_s_members, 0);
|
4356
|
-
rb_define_method(rb_cLASGN, "cnt", node_cnt, 0);
|
4357
|
-
rb_ary_push(members, rb_str_new2("cnt"));
|
4358
|
-
|
4359
|
-
/* Document-method: vid
|
4360
|
-
* the name of the local variable
|
4361
|
-
*/
|
4362
|
-
rb_define_method(rb_cLASGN, "vid", node_vid, 0);
|
4363
|
-
rb_ary_push(members, rb_str_new2("vid"));
|
4364
4357
|
|
4365
4358
|
/* Document-method: value
|
4366
4359
|
* the value to assign to the local variable
|
4367
4360
|
*/
|
4368
4361
|
rb_define_method(rb_cLASGN, "value", node_value, 0);
|
4369
4362
|
rb_ary_push(members, rb_str_new2("value"));
|
4363
|
+
|
4364
|
+
/* Document-method: vid
|
4365
|
+
* the name of the local variable
|
4366
|
+
*/
|
4367
|
+
rb_define_method(rb_cLASGN, "vid", node_vid, 0);
|
4368
|
+
rb_ary_push(members, rb_str_new2("vid"));
|
4369
|
+
rb_define_method(rb_cLASGN, "cnt", node_cnt, 0);
|
4370
|
+
rb_ary_push(members, rb_str_new2("cnt"));
|
4370
4371
|
}
|
4371
4372
|
|
4372
4373
|
/* Document-class: Node::LIT
|
@@ -4398,14 +4399,14 @@ void define_node_subclass_methods()
|
|
4398
4399
|
rb_iv_set(rb_cLVAR, "__member__", members);
|
4399
4400
|
rb_iv_set(rb_cLVAR, "__type__", INT2NUM(NODE_LVAR));
|
4400
4401
|
rb_define_singleton_method(rb_cLVAR, "members", node_s_members, 0);
|
4401
|
-
rb_define_method(rb_cLVAR, "cnt", node_cnt, 0);
|
4402
|
-
rb_ary_push(members, rb_str_new2("cnt"));
|
4403
4402
|
|
4404
4403
|
/* Document-method: vid
|
4405
4404
|
* the name of the local variable to retrieve.
|
4406
4405
|
*/
|
4407
4406
|
rb_define_method(rb_cLVAR, "vid", node_vid, 0);
|
4408
4407
|
rb_ary_push(members, rb_str_new2("vid"));
|
4408
|
+
rb_define_method(rb_cLVAR, "cnt", node_cnt, 0);
|
4409
|
+
rb_ary_push(members, rb_str_new2("cnt"));
|
4409
4410
|
}
|
4410
4411
|
|
4411
4412
|
/* Document-class: Node::MASGN
|
@@ -4419,18 +4420,18 @@ void define_node_subclass_methods()
|
|
4419
4420
|
rb_iv_set(rb_cMASGN, "__type__", INT2NUM(NODE_MASGN));
|
4420
4421
|
rb_define_singleton_method(rb_cMASGN, "members", node_s_members, 0);
|
4421
4422
|
|
4422
|
-
/* Document-method: head
|
4423
|
-
* TODO
|
4424
|
-
*/
|
4425
|
-
rb_define_method(rb_cMASGN, "head", node_head, 0);
|
4426
|
-
rb_ary_push(members, rb_str_new2("head"));
|
4427
|
-
|
4428
4423
|
/* Document-method: args
|
4429
4424
|
* TODO
|
4430
4425
|
*/
|
4431
4426
|
rb_define_method(rb_cMASGN, "args", node_args, 0);
|
4432
4427
|
rb_ary_push(members, rb_str_new2("args"));
|
4433
4428
|
|
4429
|
+
/* Document-method: head
|
4430
|
+
* TODO
|
4431
|
+
*/
|
4432
|
+
rb_define_method(rb_cMASGN, "head", node_head, 0);
|
4433
|
+
rb_ary_push(members, rb_str_new2("head"));
|
4434
|
+
|
4434
4435
|
/* Document-method: value
|
4435
4436
|
* TODO
|
4436
4437
|
*/
|
@@ -4584,17 +4585,17 @@ void define_node_subclass_methods()
|
|
4584
4585
|
rb_iv_set(rb_cMODULE, "__type__", INT2NUM(NODE_MODULE));
|
4585
4586
|
rb_define_singleton_method(rb_cMODULE, "members", node_s_members, 0);
|
4586
4587
|
|
4587
|
-
/* Document-method: body
|
4588
|
-
* the body of the module definition
|
4589
|
-
*/
|
4590
|
-
rb_define_method(rb_cMODULE, "body", node_body, 0);
|
4591
|
-
rb_ary_push(members, rb_str_new2("body"));
|
4592
|
-
|
4593
4588
|
/* Document-method: cpath
|
4594
4589
|
* the name of the module to define
|
4595
4590
|
*/
|
4596
4591
|
rb_define_method(rb_cMODULE, "cpath", node_cpath, 0);
|
4597
4592
|
rb_ary_push(members, rb_str_new2("cpath"));
|
4593
|
+
|
4594
|
+
/* Document-method: body
|
4595
|
+
* the body of the module definition
|
4596
|
+
*/
|
4597
|
+
rb_define_method(rb_cMODULE, "body", node_body, 0);
|
4598
|
+
rb_ary_push(members, rb_str_new2("body"));
|
4598
4599
|
}
|
4599
4600
|
|
4600
4601
|
/* Document-class: Node::NEXT
|
@@ -4636,17 +4637,17 @@ void define_node_subclass_methods()
|
|
4636
4637
|
rb_iv_set(rb_cNTH_REF, "__type__", INT2NUM(NODE_NTH_REF));
|
4637
4638
|
rb_define_singleton_method(rb_cNTH_REF, "members", node_s_members, 0);
|
4638
4639
|
|
4639
|
-
/* Document-method: cnt
|
4640
|
-
* the index into the local variable table where the match data is stored
|
4641
|
-
*/
|
4642
|
-
rb_define_method(rb_cNTH_REF, "cnt", node_cnt, 0);
|
4643
|
-
rb_ary_push(members, rb_str_new2("cnt"));
|
4644
|
-
|
4645
4640
|
/* Document-method: nth
|
4646
4641
|
* the index of the match data item to retrieve
|
4647
4642
|
*/
|
4648
4643
|
rb_define_method(rb_cNTH_REF, "nth", node_nth, 0);
|
4649
4644
|
rb_ary_push(members, rb_str_new2("nth"));
|
4645
|
+
|
4646
|
+
/* Document-method: cnt
|
4647
|
+
* the index into the local variable table where the match data is stored
|
4648
|
+
*/
|
4649
|
+
rb_define_method(rb_cNTH_REF, "cnt", node_cnt, 0);
|
4650
|
+
rb_ary_push(members, rb_str_new2("cnt"));
|
4650
4651
|
}
|
4651
4652
|
|
4652
4653
|
/* Document-class: Node::OPT_N
|
@@ -4699,6 +4700,12 @@ void define_node_subclass_methods()
|
|
4699
4700
|
rb_iv_set(rb_cOP_ASGN1, "__type__", INT2NUM(NODE_OP_ASGN1));
|
4700
4701
|
rb_define_singleton_method(rb_cOP_ASGN1, "members", node_s_members, 0);
|
4701
4702
|
|
4703
|
+
/* Document-method: args
|
4704
|
+
* the arguments to the assigment
|
4705
|
+
*/
|
4706
|
+
rb_define_method(rb_cOP_ASGN1, "args", node_args, 0);
|
4707
|
+
rb_ary_push(members, rb_str_new2("args"));
|
4708
|
+
|
4702
4709
|
/* Document-method: mid
|
4703
4710
|
* 0, 1, or the name a method to call to calculate the value of the
|
4704
4711
|
* rhs
|
@@ -4711,12 +4718,6 @@ void define_node_subclass_methods()
|
|
4711
4718
|
*/
|
4712
4719
|
rb_define_method(rb_cOP_ASGN1, "recv", node_recv, 0);
|
4713
4720
|
rb_ary_push(members, rb_str_new2("recv"));
|
4714
|
-
|
4715
|
-
/* Document-method: args
|
4716
|
-
* the arguments to the assigment
|
4717
|
-
*/
|
4718
|
-
rb_define_method(rb_cOP_ASGN1, "args", node_args, 0);
|
4719
|
-
rb_ary_push(members, rb_str_new2("args"));
|
4720
4721
|
}
|
4721
4722
|
|
4722
4723
|
/* Document-class: Node::OP_ASGN2
|
@@ -4772,14 +4773,6 @@ void define_node_subclass_methods()
|
|
4772
4773
|
rb_iv_set(rb_cOP_ASGN2_ARG, "__type__", INT2NUM(NODE_OP_ASGN2_ARG));
|
4773
4774
|
rb_define_singleton_method(rb_cOP_ASGN2_ARG, "members", node_s_members, 0);
|
4774
4775
|
|
4775
|
-
/* Document-method: mid
|
4776
|
-
* The operation to apply to the attribute before setting it. May
|
4777
|
-
* be 0 (false) to indicate "logical or" or 1 (nil) to indicate
|
4778
|
-
* "logical and".
|
4779
|
-
*/
|
4780
|
-
rb_define_method(rb_cOP_ASGN2_ARG, "mid", node_mid, 0);
|
4781
|
-
rb_ary_push(members, rb_str_new2("mid"));
|
4782
|
-
|
4783
4776
|
/* Document-method: vid
|
4784
4777
|
* The method to call on the receiver to retrieve the attribute
|
4785
4778
|
*/
|
@@ -4791,6 +4784,14 @@ void define_node_subclass_methods()
|
|
4791
4784
|
*/
|
4792
4785
|
rb_define_method(rb_cOP_ASGN2_ARG, "aid", node_aid, 0);
|
4793
4786
|
rb_ary_push(members, rb_str_new2("aid"));
|
4787
|
+
|
4788
|
+
/* Document-method: mid
|
4789
|
+
* The operation to apply to the attribute before setting it. May
|
4790
|
+
* be 0 (false) to indicate "logical or" or 1 (nil) to indicate
|
4791
|
+
* "logical and".
|
4792
|
+
*/
|
4793
|
+
rb_define_method(rb_cOP_ASGN2_ARG, "mid", node_mid, 0);
|
4794
|
+
rb_ary_push(members, rb_str_new2("mid"));
|
4794
4795
|
}
|
4795
4796
|
|
4796
4797
|
/* Document-class: Node::OP_ASGN_AND
|
@@ -4839,12 +4840,6 @@ void define_node_subclass_methods()
|
|
4839
4840
|
rb_iv_set(rb_cOP_ASGN_OR, "__type__", INT2NUM(NODE_OP_ASGN_OR));
|
4840
4841
|
rb_define_singleton_method(rb_cOP_ASGN_OR, "members", node_s_members, 0);
|
4841
4842
|
|
4842
|
-
/* Document-method: recv
|
4843
|
-
* the receiver of the assignment
|
4844
|
-
*/
|
4845
|
-
rb_define_method(rb_cOP_ASGN_OR, "recv", node_recv, 0);
|
4846
|
-
rb_ary_push(members, rb_str_new2("recv"));
|
4847
|
-
|
4848
4843
|
/* Document-method: aid
|
4849
4844
|
* if this indicator is nonzero, ruby will check to see if the
|
4850
4845
|
* provided expression is defined, otherwise it will assume that
|
@@ -4858,6 +4853,12 @@ void define_node_subclass_methods()
|
|
4858
4853
|
*/
|
4859
4854
|
rb_define_method(rb_cOP_ASGN_OR, "value", node_value, 0);
|
4860
4855
|
rb_ary_push(members, rb_str_new2("value"));
|
4856
|
+
|
4857
|
+
/* Document-method: recv
|
4858
|
+
* the receiver of the assignment
|
4859
|
+
*/
|
4860
|
+
rb_define_method(rb_cOP_ASGN_OR, "recv", node_recv, 0);
|
4861
|
+
rb_ary_push(members, rb_str_new2("recv"));
|
4861
4862
|
}
|
4862
4863
|
|
4863
4864
|
/* Document-class: Node::OR
|
@@ -5099,13 +5100,6 @@ void define_node_subclass_methods()
|
|
5099
5100
|
rb_iv_set(rb_cSCOPE, "__type__", INT2NUM(NODE_SCOPE));
|
5100
5101
|
rb_define_singleton_method(rb_cSCOPE, "members", node_s_members, 0);
|
5101
5102
|
|
5102
|
-
/* Document-method: rval
|
5103
|
-
* holds information about which class(es) to search for constants
|
5104
|
-
* in this scope
|
5105
|
-
*/
|
5106
|
-
rb_define_method(rb_cSCOPE, "rval", node_rval, 0);
|
5107
|
-
rb_ary_push(members, rb_str_new2("rval"));
|
5108
|
-
|
5109
5103
|
/* Document-method: tbl
|
5110
5104
|
* the names of the local variables* next the first expression in
|
5111
5105
|
* the scope
|
@@ -5113,6 +5107,13 @@ void define_node_subclass_methods()
|
|
5113
5107
|
rb_define_method(rb_cSCOPE, "tbl", node_tbl, 0);
|
5114
5108
|
rb_ary_push(members, rb_str_new2("tbl"));
|
5115
5109
|
|
5110
|
+
/* Document-method: rval
|
5111
|
+
* holds information about which class(es) to search for constants
|
5112
|
+
* in this scope
|
5113
|
+
*/
|
5114
|
+
rb_define_method(rb_cSCOPE, "rval", node_rval, 0);
|
5115
|
+
rb_ary_push(members, rb_str_new2("rval"));
|
5116
|
+
|
5116
5117
|
/* Document-method: next
|
5117
5118
|
* the body of the lexical scope
|
5118
5119
|
*/
|
@@ -5259,8 +5260,6 @@ void define_node_subclass_methods()
|
|
5259
5260
|
rb_iv_set(rb_cUNTIL, "__member__", members);
|
5260
5261
|
rb_iv_set(rb_cUNTIL, "__type__", INT2NUM(NODE_UNTIL));
|
5261
5262
|
rb_define_singleton_method(rb_cUNTIL, "members", node_s_members, 0);
|
5262
|
-
rb_define_method(rb_cUNTIL, "state", node_state, 0);
|
5263
|
-
rb_ary_push(members, rb_str_new2("state"));
|
5264
5263
|
|
5265
5264
|
/* Document-method: body
|
5266
5265
|
* the body of the loop
|
@@ -5273,6 +5272,8 @@ void define_node_subclass_methods()
|
|
5273
5272
|
*/
|
5274
5273
|
rb_define_method(rb_cUNTIL, "cond", node_cond, 0);
|
5275
5274
|
rb_ary_push(members, rb_str_new2("cond"));
|
5275
|
+
rb_define_method(rb_cUNTIL, "state", node_state, 0);
|
5276
|
+
rb_ary_push(members, rb_str_new2("state"));
|
5276
5277
|
}
|
5277
5278
|
|
5278
5279
|
/* Document-class: Node::VALIAS
|
@@ -5288,10 +5289,10 @@ void define_node_subclass_methods()
|
|
5288
5289
|
rb_iv_set(rb_cVALIAS, "__member__", members);
|
5289
5290
|
rb_iv_set(rb_cVALIAS, "__type__", INT2NUM(NODE_VALIAS));
|
5290
5291
|
rb_define_singleton_method(rb_cVALIAS, "members", node_s_members, 0);
|
5291
|
-
rb_define_method(rb_cVALIAS, "second", node_2nd, 0);
|
5292
|
-
rb_ary_push(members, rb_str_new2("second"));
|
5293
5292
|
rb_define_method(rb_cVALIAS, "first", node_1st, 0);
|
5294
5293
|
rb_ary_push(members, rb_str_new2("first"));
|
5294
|
+
rb_define_method(rb_cVALIAS, "second", node_2nd, 0);
|
5295
|
+
rb_ary_push(members, rb_str_new2("second"));
|
5295
5296
|
}
|
5296
5297
|
|
5297
5298
|
/* Document-class: Node::VCALL
|
@@ -5383,8 +5384,6 @@ void define_node_subclass_methods()
|
|
5383
5384
|
rb_iv_set(rb_cWHILE, "__member__", members);
|
5384
5385
|
rb_iv_set(rb_cWHILE, "__type__", INT2NUM(NODE_WHILE));
|
5385
5386
|
rb_define_singleton_method(rb_cWHILE, "members", node_s_members, 0);
|
5386
|
-
rb_define_method(rb_cWHILE, "state", node_state, 0);
|
5387
|
-
rb_ary_push(members, rb_str_new2("state"));
|
5388
5387
|
|
5389
5388
|
/* Document-method: body
|
5390
5389
|
* the body of the loop
|
@@ -5397,6 +5396,8 @@ void define_node_subclass_methods()
|
|
5397
5396
|
*/
|
5398
5397
|
rb_define_method(rb_cWHILE, "cond", node_cond, 0);
|
5399
5398
|
rb_ary_push(members, rb_str_new2("cond"));
|
5399
|
+
rb_define_method(rb_cWHILE, "state", node_state, 0);
|
5400
|
+
rb_ary_push(members, rb_str_new2("state"));
|
5400
5401
|
}
|
5401
5402
|
|
5402
5403
|
/* Document-class: Node::XSTR
|