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 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
|