rice 1.0.2 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (92) hide show
  1. data/COPYING +2 -2
  2. data/Doxyfile +1 -1
  3. data/Makefile.in +8 -3
  4. data/Rakefile +3 -3
  5. data/config.guess +30 -49
  6. data/config.sub +4 -22
  7. data/configure +319 -104
  8. data/configure.ac +6 -2
  9. data/doxygen.ac +2 -2
  10. data/extconf.rb +22 -0
  11. data/post-autoconf.rb +3 -3
  12. data/post-automake.rb +2 -2
  13. data/rice/Array.ipp +7 -6
  14. data/rice/Critical_Guard.hpp +6 -0
  15. data/rice/Critical_Guard.ipp +6 -0
  16. data/rice/Data_Object.hpp +1 -120
  17. data/rice/Data_Object.ipp +5 -1
  18. data/rice/Data_Object_defn.hpp +132 -0
  19. data/rice/Data_Type.ipp +18 -2
  20. data/rice/Enum.ipp +3 -3
  21. data/rice/Exception.hpp +1 -61
  22. data/rice/Exception_Base.hpp +2 -24
  23. data/rice/Exception_Base.ipp +2 -0
  24. data/rice/Exception_Base_defn.hpp +27 -0
  25. data/rice/Exception_defn.hpp +69 -0
  26. data/rice/Hash.hpp +5 -1
  27. data/rice/Hash.ipp +7 -7
  28. data/rice/Makefile.am +20 -3
  29. data/rice/Makefile.in +39 -4
  30. data/rice/Module.cpp +11 -3
  31. data/rice/Module_impl.hpp +20 -9
  32. data/rice/Module_impl.ipp +84 -87
  33. data/rice/Object.cpp +1 -1
  34. data/rice/VM.cpp +14 -1
  35. data/rice/VM.hpp +6 -1
  36. data/rice/config.hpp +24 -3
  37. data/rice/config.hpp.in +21 -0
  38. data/rice/detail/Auto_Function_Wrapper.hpp +97 -65
  39. data/rice/detail/Auto_Function_Wrapper.ipp +160 -128
  40. data/rice/detail/Auto_Member_Function_Wrapper.hpp +96 -64
  41. data/rice/detail/Auto_Member_Function_Wrapper.ipp +160 -128
  42. data/rice/detail/Exception_Handler.hpp +2 -112
  43. data/rice/detail/Exception_Handler.ipp +68 -0
  44. data/rice/detail/Exception_Handler_defn.hpp +96 -0
  45. data/rice/detail/Iterator.hpp +93 -0
  46. data/rice/detail/check_ruby_type.cpp +8 -2
  47. data/rice/detail/creation_funcs.ipp +2 -2
  48. data/rice/detail/define_method_and_auto_wrap.hpp +4 -2
  49. data/rice/detail/define_method_and_auto_wrap.ipp +14 -5
  50. data/rice/detail/env.hpp +4 -0
  51. data/rice/detail/method_data.cpp +362 -75
  52. data/rice/detail/method_data.cpp.rpp +301 -0
  53. data/rice/detail/method_data.hpp +6 -18
  54. data/rice/detail/mininode.cpp +1220 -0
  55. data/rice/detail/mininode.cpp.rpp +62 -0
  56. data/rice/detail/mininode.hpp +320 -0
  57. data/rice/detail/mininode.hpp.rpp +119 -0
  58. data/rice/detail/protect.cpp +4 -2
  59. data/rice/detail/ruby.hpp +44 -18
  60. data/rice/detail/ruby_version_code.hpp +6 -0
  61. data/rice/detail/ruby_version_code.hpp.in +6 -0
  62. data/rice/detail/rubysig.hpp +6 -0
  63. data/rice/detail/st.hpp +6 -2
  64. data/rice/detail/wrap_function.hpp +50 -48
  65. data/rice/detail/wrap_function.ipp +48 -48
  66. data/rice/generate_code.rb +43 -293
  67. data/rice/global_function.hpp +10 -4
  68. data/rice/global_function.ipp +1 -2
  69. data/rice/ruby_mark.hpp +13 -0
  70. data/rice/ruby_try_catch.hpp +1 -1
  71. data/rice/rubypp.rb +97 -0
  72. data/rice/to_from_ruby.ipp +3 -3
  73. data/ruby.ac +44 -8
  74. data/ruby/Makefile.in +2 -0
  75. data/ruby/lib/Makefile.in +2 -0
  76. data/ruby/lib/mkmf-rice.rb.in +4 -1
  77. data/ruby/lib/version.rb +3 -0
  78. data/sample/Makefile.am +2 -2
  79. data/sample/Makefile.in +4 -2
  80. data/test/Makefile.am +2 -1
  81. data/test/Makefile.in +7 -2
  82. data/test/test_Array.cpp +2 -2
  83. data/test/test_Class.cpp +4 -1
  84. data/test/test_Critical_Guard.cpp +4 -0
  85. data/test/test_Data_Object.cpp +43 -3
  86. data/test/test_Hash.cpp +3 -3
  87. data/test/test_String.cpp +8 -8
  88. data/test/test_VM.cpp +1 -1
  89. data/test/test_global_functions.cpp +45 -0
  90. data/test/test_rice.rb +5 -0
  91. metadata +115 -98
  92. data/rice/detail/Iterator_Definer.hpp +0 -98
@@ -0,0 +1,301 @@
1
+ #include "method_data.hpp"
2
+
3
+ // TODO: This is silly, autoconf...
4
+ #undef PACKAGE_NAME
5
+ #undef PACKAGE_STRING
6
+ #undef PACKAGE_TARNAME
7
+ #undef PACKAGE_VERSION
8
+
9
+ #include "../config.hpp"
10
+
11
+ #ruby <<END
12
+ MAX_ARGS = 15
13
+ nil
14
+ END
15
+
16
+ #if defined(HAVE_NODE_H)
17
+ /* pre-YARV */
18
+ #include <node.h>
19
+ #elif defined(REALLY_HAVE_RUBY_NODE_H)
20
+ /* YARV */
21
+ #include <ruby/node.h>
22
+ #else
23
+ /* YARV without node.h */
24
+ #include "mininode.hpp"
25
+ using namespace Rice::detail::Mininode;
26
+ #endif
27
+
28
+ #include "env.hpp"
29
+
30
+ #ifdef RUBY_VM
31
+
32
+ /* YARV */
33
+
34
+ namespace
35
+ {
36
+
37
+ struct rb_thread_struct
38
+ {
39
+ VALUE self;
40
+ void *vm;
41
+ VALUE *stack;
42
+ unsigned long stack_size;
43
+ VALUE *cfp;
44
+ /* ... */
45
+ };
46
+
47
+ typedef struct rb_thread_struct rb_thread_t;
48
+
49
+ } // namespace
50
+
51
+ extern "C" rb_thread_t * ruby_current_thread;
52
+
53
+ #endif
54
+
55
+ namespace
56
+ {
57
+
58
+ #ifdef RUBY_VM
59
+
60
+ /* YARV */
61
+
62
+ #define CFP_DATA_MEMO_NODE_AND_PC cfp[0]
63
+ #define CFP_METHOD_CLASS cfp[11]
64
+
65
+ /* On YARV, we store the method data on the stack. We don't have to pop
66
+ * it off the stack, because the stack pointer will be reset to the
67
+ * previous frame's stack pointer when the function returns.
68
+ */
69
+ static void fix_frame()
70
+ {
71
+ do {
72
+ VALUE * cfp = ruby_current_thread->cfp;
73
+ CFP_DATA_MEMO_NODE_AND_PC = RBASIC(CFP_METHOD_CLASS)->klass;
74
+
75
+ if(rb_type(CFP_DATA_MEMO_NODE_AND_PC) != T_NODE)
76
+ {
77
+ /* This can happen for module functions that are created after
78
+ * the stub function */
79
+ rb_raise(
80
+ rb_eRuntimeError,
81
+ "Cannot find method data for module function");
82
+ }
83
+ else
84
+ {
85
+ CFP_METHOD_CLASS = RCLASS_SUPER(CFP_METHOD_CLASS);
86
+ }
87
+ } while(0);
88
+ }
89
+
90
+ #define FIX_FRAME() \
91
+ fix_frame()
92
+
93
+ static NODE * data_memo_node()
94
+ {
95
+ VALUE * cfp = ruby_current_thread->cfp;
96
+ return (NODE *)CFP_DATA_MEMO_NODE_AND_PC;
97
+ }
98
+
99
+ #else
100
+
101
+ /* pre-YARV */
102
+
103
+ /* Okay to not pop this temporary frame, since it will be popped by the
104
+ * caller
105
+ */
106
+ #define FIX_FRAME() \
107
+ struct FRAME _frame = *ruby_frame; \
108
+ _frame.last_class = RCLASS(ruby_frame->last_class)->super; \
109
+ _frame.prev = ruby_frame; \
110
+ ruby_frame = &_frame; \
111
+
112
+ static NODE * data_memo_node()
113
+ {
114
+ return (NODE *)(RBASIC(ruby_frame->prev->last_class)->klass);
115
+ }
116
+
117
+ #endif
118
+
119
+ typedef VALUE (*Method_Func)(ANYARGS);
120
+
121
+ static Method_Func actual_cfunc()
122
+ {
123
+ return data_memo_node()->nd_cfnc;
124
+ }
125
+
126
+ static VALUE data_wrapper_m1(int argc, VALUE * argv, VALUE self)
127
+ {
128
+ VALUE result;
129
+ FIX_FRAME();
130
+ result = (*actual_cfunc())(argc, argv, self);
131
+ return result;
132
+ }
133
+
134
+ static VALUE data_wrapper_0(VALUE self)
135
+ {
136
+ VALUE result;
137
+ FIX_FRAME();
138
+ result = (*actual_cfunc())(self);
139
+ return result;
140
+ }
141
+
142
+ #ruby <<END
143
+ (1..MAX_ARGS).each do |i|
144
+ params = (1..i).map { |j| "VALUE arg#{j}" }.join(', ')
145
+ args = (1..i).map { |j| "arg#{j}" }.join(', ')
146
+
147
+ puts <<-END
148
+ static VALUE data_wrapper_#{i}(VALUE self, #{params})
149
+ {
150
+ VALUE result;
151
+ FIX_FRAME();
152
+ result = (*actual_cfunc())(self, #{args});
153
+ return result;
154
+ }
155
+ END
156
+ end
157
+
158
+ nil
159
+ END
160
+
161
+ } // namespace
162
+
163
+ /* Define a method and attach data to it.
164
+ *
165
+ * The method looks to ruby like a normal aliased CFUNC, with a modified
166
+ * origin class:
167
+ *
168
+ * NODE_FBODY
169
+ * |- (u1) orig - origin class
170
+ * | |- basic
171
+ * | | |- flags - origin class flags + FL_SINGLETON
172
+ * | | +- klass - NODE_MEMO
173
+ * | | |- (u1) cfnc - actual C function to call
174
+ * | | |- (u2) rval - stored data
175
+ * | | +- (u3) 0
176
+ * | |- iv_tbl - 0
177
+ * | |- m_tbl - 0
178
+ * | +- super - actual origin class
179
+ * |- (u2) mid - name of the method
180
+ * +- (u3) head - NODE_CFUNC
181
+ * |- (u1) cfnc - wrapper function to call
182
+ * +- (u2) argc - function arity
183
+ *
184
+ * Or, on YARV:
185
+ *
186
+ * NODE_FBODY
187
+ * |- (u1) oid - name of the method
188
+ * +- (u2) body - NODE_METHOD
189
+ * |- (u1) clss - origin class
190
+ * | |- basic
191
+ * | | |- flags - origin class flags + FL_SINGLETON
192
+ * | | +- klass - NODE_MEMO
193
+ * | | |- (u1) cfnc - actual C function to call
194
+ * | | |- (u2) rval - stored data
195
+ * | | +- (u3) 0
196
+ * | |- ptr - rb_classext_t
197
+ * | | |- super - actual origin class
198
+ * | | +- iv_tbl - 0
199
+ * | |- m_tbl - 0
200
+ * | +- iv_index_tbl - 0?
201
+ * |- (u2) body - NODE_CFUNC
202
+ * | |- (u1) cfnc - wrapper function to call
203
+ * | |- (u2) argc - function arity
204
+ * +- (u3) noex - NOEX_PUBLIC
205
+ *
206
+ * When the wrapper function is called, last_class is set to the origin
207
+ * class found in the FBODY node. So that the method data will be
208
+ * accessible, and so last_class will point to klass and not to our MEMO
209
+ * node, it is necessary to "fix" the current frame.
210
+ *
211
+ * Pre-YARV, this means we duplicate the current frame and set last_class:
212
+ *
213
+ * ruby_frame
214
+ * |- last_class - klass
215
+ * |- prev
216
+ * | |- last_class - NODE_MEMO
217
+ * | | |- (u1) cfnc - actual C function to call
218
+ * | | |- (u2) rval - stored data
219
+ * | | +- (u3) 0
220
+ * | |- prev - the real previous frame
221
+ * | +- ...
222
+ * +- ...
223
+ *
224
+ * The method data is then accessible via
225
+ * ruby_frame->prev->last_class->rval.
226
+ *
227
+ * On YARV, the current frame is not duplicated; rather, the method data
228
+ * is placed on the stack and is referenced by one of the unused members
229
+ * of the control frame (the program counter):
230
+ *
231
+ * ruby_current_thread->cfp
232
+ * |- pc - NODE_MEMO
233
+ * | |- (u1) cfnc - actual C function to call
234
+ * | |- (u2) rval - stored data
235
+ * | +- (u3) 0
236
+ * |- method_class - klass
237
+ * +- ...
238
+ *
239
+ */
240
+ VALUE
241
+ Rice::detail::
242
+ define_method_with_data(
243
+ VALUE klass, ID id, VALUE (*cfunc)(ANYARGS), int arity, VALUE data)
244
+ {
245
+ /* TODO: origin should have #to_s and #inspect methods defined */
246
+ #ifdef HAVE_RB_CLASS_BOOT
247
+ VALUE origin = rb_class_boot(klass);
248
+ #else
249
+ VALUE origin = rb_class_new(klass);
250
+ #endif
251
+ NODE * node;
252
+
253
+ VALUE (*data_wrapper)(ANYARGS);
254
+ switch(arity)
255
+ {
256
+ #ruby <<END
257
+ (0..MAX_ARGS).each do |i|
258
+ puts <<-END
259
+ case #{i}: data_wrapper = RUBY_METHOD_FUNC(data_wrapper_#{i}); break;
260
+ END
261
+ end
262
+ nil
263
+ END
264
+ case -1: data_wrapper = RUBY_METHOD_FUNC(data_wrapper_m1); break;
265
+ default: rb_raise(rb_eArgError, "unsupported arity %d", arity);
266
+ }
267
+
268
+ FL_SET(origin, FL_SINGLETON);
269
+ rb_singleton_class_attached(origin, klass);
270
+ rb_name_class(origin, SYM2ID(rb_class_name(klass)));
271
+
272
+ RBASIC(origin)->klass = (VALUE)NEW_NODE(NODE_MEMO, cfunc, data, 0);
273
+
274
+ #ifdef RUBY_VM
275
+ /* YARV */
276
+ node = NEW_FBODY(
277
+ NEW_METHOD(
278
+ NEW_CFUNC(data_wrapper, arity),
279
+ origin,
280
+ NOEX_PUBLIC),
281
+ id);
282
+ st_insert(RCLASS_M_TBL(klass), id, (st_data_t)node);
283
+ #else
284
+ /* pre-YARV */
285
+ node = NEW_FBODY(
286
+ NEW_CFUNC(data_wrapper, arity),
287
+ id,
288
+ origin);
289
+ rb_add_method(klass, id, node, NOEX_PUBLIC);
290
+ #endif
291
+
292
+ return Qnil;
293
+ }
294
+
295
+ VALUE
296
+ Rice::detail::
297
+ method_data()
298
+ {
299
+ return data_memo_node()->nd_rval;
300
+ }
301
+
@@ -1,5 +1,5 @@
1
- #ifndef Rice__method_data__hpp_
2
- #define Rice__method_data__hpp_
1
+ #ifndef Rice__detail__method_data__hpp
2
+ #define Rice__detail__method_data__hpp
3
3
 
4
4
  #include "ruby.hpp"
5
5
 
@@ -9,25 +9,13 @@ namespace Rice
9
9
  namespace detail
10
10
  {
11
11
 
12
- // Retrieve the data associated with the last called method.
13
- void * method_data();
12
+ VALUE define_method_with_data(
13
+ VALUE klass, ID id, VALUE (*cfunc)(ANYARGS), int arity, VALUE data);
14
14
 
15
- // Define a method and attach data to it.
16
- void define_method_with_data(
17
- VALUE klass,
18
- char const * name,
19
- RUBY_METHOD_FUNC func,
20
- int num_args,
21
- void * data);
22
-
23
- // Set the data associated with a method.
24
- void set_method_data(
25
- VALUE klass,
26
- char const * name,
27
- void * data);
15
+ VALUE method_data();
28
16
 
29
17
  } // namespace detail
30
18
 
31
19
  } // namespace Rice
32
20
 
33
- #endif // Rice__method_data__hpp_
21
+ #endif // Rice__detail__method_data__hpp
@@ -0,0 +1,1220 @@
1
+ // TODO: This is silly, autoconf...
2
+ #undef PACKAGE_NAME
3
+ #undef PACKAGE_STRING
4
+ #undef PACKAGE_TARNAME
5
+ #undef PACKAGE_VERSION
6
+
7
+ #include "../config.hpp"
8
+
9
+ // TODO: This is silly, autoconf...
10
+ #undef PACKAGE_NAME
11
+ #undef PACKAGE_STRING
12
+ #undef PACKAGE_TARNAME
13
+ #undef PACKAGE_VERSION
14
+
15
+ #if !defined(HAVE_NODE_H) && !defined(REALLY_HAVE_RUBY_NODE_H)
16
+
17
+ #include "mininode.hpp"
18
+ #include <cstring>
19
+
20
+ extern "C"
21
+ char const * ruby_node_name(int node);
22
+
23
+ namespace
24
+ {
25
+
26
+ int node_value(char const * name)
27
+ {
28
+ /* TODO: any way to end the block? */
29
+ int j;
30
+ for(j = 0; ; ++j)
31
+ {
32
+ if(!std::strcmp(name, ruby_node_name(j)))
33
+ {
34
+ return j;
35
+ }
36
+ }
37
+ }
38
+
39
+ } // namespace
40
+
41
+ static int NODE_METHOD_ = -1;
42
+
43
+ int Rice::detail::Mininode::get_NODE_METHOD()
44
+ {
45
+ if(NODE_METHOD_ == -1)
46
+ {
47
+ NODE_METHOD_ = node_value("NODE_METHOD");
48
+ }
49
+
50
+ return NODE_METHOD_;
51
+ }
52
+ static int NODE_FBODY_ = -1;
53
+
54
+ int Rice::detail::Mininode::get_NODE_FBODY()
55
+ {
56
+ if(NODE_FBODY_ == -1)
57
+ {
58
+ NODE_FBODY_ = node_value("NODE_FBODY");
59
+ }
60
+
61
+ return NODE_FBODY_;
62
+ }
63
+ static int NODE_CFUNC_ = -1;
64
+
65
+ int Rice::detail::Mininode::get_NODE_CFUNC()
66
+ {
67
+ if(NODE_CFUNC_ == -1)
68
+ {
69
+ NODE_CFUNC_ = node_value("NODE_CFUNC");
70
+ }
71
+
72
+ return NODE_CFUNC_;
73
+ }
74
+ static int NODE_SCOPE_ = -1;
75
+
76
+ int Rice::detail::Mininode::get_NODE_SCOPE()
77
+ {
78
+ if(NODE_SCOPE_ == -1)
79
+ {
80
+ NODE_SCOPE_ = node_value("NODE_SCOPE");
81
+ }
82
+
83
+ return NODE_SCOPE_;
84
+ }
85
+ static int NODE_BLOCK_ = -1;
86
+
87
+ int Rice::detail::Mininode::get_NODE_BLOCK()
88
+ {
89
+ if(NODE_BLOCK_ == -1)
90
+ {
91
+ NODE_BLOCK_ = node_value("NODE_BLOCK");
92
+ }
93
+
94
+ return NODE_BLOCK_;
95
+ }
96
+ static int NODE_IF_ = -1;
97
+
98
+ int Rice::detail::Mininode::get_NODE_IF()
99
+ {
100
+ if(NODE_IF_ == -1)
101
+ {
102
+ NODE_IF_ = node_value("NODE_IF");
103
+ }
104
+
105
+ return NODE_IF_;
106
+ }
107
+ static int NODE_CASE_ = -1;
108
+
109
+ int Rice::detail::Mininode::get_NODE_CASE()
110
+ {
111
+ if(NODE_CASE_ == -1)
112
+ {
113
+ NODE_CASE_ = node_value("NODE_CASE");
114
+ }
115
+
116
+ return NODE_CASE_;
117
+ }
118
+ static int NODE_WHEN_ = -1;
119
+
120
+ int Rice::detail::Mininode::get_NODE_WHEN()
121
+ {
122
+ if(NODE_WHEN_ == -1)
123
+ {
124
+ NODE_WHEN_ = node_value("NODE_WHEN");
125
+ }
126
+
127
+ return NODE_WHEN_;
128
+ }
129
+ static int NODE_OPT_N_ = -1;
130
+
131
+ int Rice::detail::Mininode::get_NODE_OPT_N()
132
+ {
133
+ if(NODE_OPT_N_ == -1)
134
+ {
135
+ NODE_OPT_N_ = node_value("NODE_OPT_N");
136
+ }
137
+
138
+ return NODE_OPT_N_;
139
+ }
140
+ static int NODE_WHILE_ = -1;
141
+
142
+ int Rice::detail::Mininode::get_NODE_WHILE()
143
+ {
144
+ if(NODE_WHILE_ == -1)
145
+ {
146
+ NODE_WHILE_ = node_value("NODE_WHILE");
147
+ }
148
+
149
+ return NODE_WHILE_;
150
+ }
151
+ static int NODE_UNTIL_ = -1;
152
+
153
+ int Rice::detail::Mininode::get_NODE_UNTIL()
154
+ {
155
+ if(NODE_UNTIL_ == -1)
156
+ {
157
+ NODE_UNTIL_ = node_value("NODE_UNTIL");
158
+ }
159
+
160
+ return NODE_UNTIL_;
161
+ }
162
+ static int NODE_ITER_ = -1;
163
+
164
+ int Rice::detail::Mininode::get_NODE_ITER()
165
+ {
166
+ if(NODE_ITER_ == -1)
167
+ {
168
+ NODE_ITER_ = node_value("NODE_ITER");
169
+ }
170
+
171
+ return NODE_ITER_;
172
+ }
173
+ static int NODE_FOR_ = -1;
174
+
175
+ int Rice::detail::Mininode::get_NODE_FOR()
176
+ {
177
+ if(NODE_FOR_ == -1)
178
+ {
179
+ NODE_FOR_ = node_value("NODE_FOR");
180
+ }
181
+
182
+ return NODE_FOR_;
183
+ }
184
+ static int NODE_BREAK_ = -1;
185
+
186
+ int Rice::detail::Mininode::get_NODE_BREAK()
187
+ {
188
+ if(NODE_BREAK_ == -1)
189
+ {
190
+ NODE_BREAK_ = node_value("NODE_BREAK");
191
+ }
192
+
193
+ return NODE_BREAK_;
194
+ }
195
+ static int NODE_NEXT_ = -1;
196
+
197
+ int Rice::detail::Mininode::get_NODE_NEXT()
198
+ {
199
+ if(NODE_NEXT_ == -1)
200
+ {
201
+ NODE_NEXT_ = node_value("NODE_NEXT");
202
+ }
203
+
204
+ return NODE_NEXT_;
205
+ }
206
+ static int NODE_REDO_ = -1;
207
+
208
+ int Rice::detail::Mininode::get_NODE_REDO()
209
+ {
210
+ if(NODE_REDO_ == -1)
211
+ {
212
+ NODE_REDO_ = node_value("NODE_REDO");
213
+ }
214
+
215
+ return NODE_REDO_;
216
+ }
217
+ static int NODE_RETRY_ = -1;
218
+
219
+ int Rice::detail::Mininode::get_NODE_RETRY()
220
+ {
221
+ if(NODE_RETRY_ == -1)
222
+ {
223
+ NODE_RETRY_ = node_value("NODE_RETRY");
224
+ }
225
+
226
+ return NODE_RETRY_;
227
+ }
228
+ static int NODE_BEGIN_ = -1;
229
+
230
+ int Rice::detail::Mininode::get_NODE_BEGIN()
231
+ {
232
+ if(NODE_BEGIN_ == -1)
233
+ {
234
+ NODE_BEGIN_ = node_value("NODE_BEGIN");
235
+ }
236
+
237
+ return NODE_BEGIN_;
238
+ }
239
+ static int NODE_RESCUE_ = -1;
240
+
241
+ int Rice::detail::Mininode::get_NODE_RESCUE()
242
+ {
243
+ if(NODE_RESCUE_ == -1)
244
+ {
245
+ NODE_RESCUE_ = node_value("NODE_RESCUE");
246
+ }
247
+
248
+ return NODE_RESCUE_;
249
+ }
250
+ static int NODE_RESBODY_ = -1;
251
+
252
+ int Rice::detail::Mininode::get_NODE_RESBODY()
253
+ {
254
+ if(NODE_RESBODY_ == -1)
255
+ {
256
+ NODE_RESBODY_ = node_value("NODE_RESBODY");
257
+ }
258
+
259
+ return NODE_RESBODY_;
260
+ }
261
+ static int NODE_ENSURE_ = -1;
262
+
263
+ int Rice::detail::Mininode::get_NODE_ENSURE()
264
+ {
265
+ if(NODE_ENSURE_ == -1)
266
+ {
267
+ NODE_ENSURE_ = node_value("NODE_ENSURE");
268
+ }
269
+
270
+ return NODE_ENSURE_;
271
+ }
272
+ static int NODE_AND_ = -1;
273
+
274
+ int Rice::detail::Mininode::get_NODE_AND()
275
+ {
276
+ if(NODE_AND_ == -1)
277
+ {
278
+ NODE_AND_ = node_value("NODE_AND");
279
+ }
280
+
281
+ return NODE_AND_;
282
+ }
283
+ static int NODE_OR_ = -1;
284
+
285
+ int Rice::detail::Mininode::get_NODE_OR()
286
+ {
287
+ if(NODE_OR_ == -1)
288
+ {
289
+ NODE_OR_ = node_value("NODE_OR");
290
+ }
291
+
292
+ return NODE_OR_;
293
+ }
294
+ static int NODE_MASGN_ = -1;
295
+
296
+ int Rice::detail::Mininode::get_NODE_MASGN()
297
+ {
298
+ if(NODE_MASGN_ == -1)
299
+ {
300
+ NODE_MASGN_ = node_value("NODE_MASGN");
301
+ }
302
+
303
+ return NODE_MASGN_;
304
+ }
305
+ static int NODE_LASGN_ = -1;
306
+
307
+ int Rice::detail::Mininode::get_NODE_LASGN()
308
+ {
309
+ if(NODE_LASGN_ == -1)
310
+ {
311
+ NODE_LASGN_ = node_value("NODE_LASGN");
312
+ }
313
+
314
+ return NODE_LASGN_;
315
+ }
316
+ static int NODE_DASGN_ = -1;
317
+
318
+ int Rice::detail::Mininode::get_NODE_DASGN()
319
+ {
320
+ if(NODE_DASGN_ == -1)
321
+ {
322
+ NODE_DASGN_ = node_value("NODE_DASGN");
323
+ }
324
+
325
+ return NODE_DASGN_;
326
+ }
327
+ static int NODE_DASGN_CURR_ = -1;
328
+
329
+ int Rice::detail::Mininode::get_NODE_DASGN_CURR()
330
+ {
331
+ if(NODE_DASGN_CURR_ == -1)
332
+ {
333
+ NODE_DASGN_CURR_ = node_value("NODE_DASGN_CURR");
334
+ }
335
+
336
+ return NODE_DASGN_CURR_;
337
+ }
338
+ static int NODE_GASGN_ = -1;
339
+
340
+ int Rice::detail::Mininode::get_NODE_GASGN()
341
+ {
342
+ if(NODE_GASGN_ == -1)
343
+ {
344
+ NODE_GASGN_ = node_value("NODE_GASGN");
345
+ }
346
+
347
+ return NODE_GASGN_;
348
+ }
349
+ static int NODE_IASGN_ = -1;
350
+
351
+ int Rice::detail::Mininode::get_NODE_IASGN()
352
+ {
353
+ if(NODE_IASGN_ == -1)
354
+ {
355
+ NODE_IASGN_ = node_value("NODE_IASGN");
356
+ }
357
+
358
+ return NODE_IASGN_;
359
+ }
360
+ static int NODE_IASGN2_ = -1;
361
+
362
+ int Rice::detail::Mininode::get_NODE_IASGN2()
363
+ {
364
+ if(NODE_IASGN2_ == -1)
365
+ {
366
+ NODE_IASGN2_ = node_value("NODE_IASGN2");
367
+ }
368
+
369
+ return NODE_IASGN2_;
370
+ }
371
+ static int NODE_CDECL_ = -1;
372
+
373
+ int Rice::detail::Mininode::get_NODE_CDECL()
374
+ {
375
+ if(NODE_CDECL_ == -1)
376
+ {
377
+ NODE_CDECL_ = node_value("NODE_CDECL");
378
+ }
379
+
380
+ return NODE_CDECL_;
381
+ }
382
+ static int NODE_CVDECL_ = -1;
383
+
384
+ int Rice::detail::Mininode::get_NODE_CVDECL()
385
+ {
386
+ if(NODE_CVDECL_ == -1)
387
+ {
388
+ NODE_CVDECL_ = node_value("NODE_CVDECL");
389
+ }
390
+
391
+ return NODE_CVDECL_;
392
+ }
393
+ static int NODE_OP_ASGN1_ = -1;
394
+
395
+ int Rice::detail::Mininode::get_NODE_OP_ASGN1()
396
+ {
397
+ if(NODE_OP_ASGN1_ == -1)
398
+ {
399
+ NODE_OP_ASGN1_ = node_value("NODE_OP_ASGN1");
400
+ }
401
+
402
+ return NODE_OP_ASGN1_;
403
+ }
404
+ static int NODE_OP_ASGN2_ = -1;
405
+
406
+ int Rice::detail::Mininode::get_NODE_OP_ASGN2()
407
+ {
408
+ if(NODE_OP_ASGN2_ == -1)
409
+ {
410
+ NODE_OP_ASGN2_ = node_value("NODE_OP_ASGN2");
411
+ }
412
+
413
+ return NODE_OP_ASGN2_;
414
+ }
415
+ static int NODE_OP_ASGN_AND_ = -1;
416
+
417
+ int Rice::detail::Mininode::get_NODE_OP_ASGN_AND()
418
+ {
419
+ if(NODE_OP_ASGN_AND_ == -1)
420
+ {
421
+ NODE_OP_ASGN_AND_ = node_value("NODE_OP_ASGN_AND");
422
+ }
423
+
424
+ return NODE_OP_ASGN_AND_;
425
+ }
426
+ static int NODE_OP_ASGN_OR_ = -1;
427
+
428
+ int Rice::detail::Mininode::get_NODE_OP_ASGN_OR()
429
+ {
430
+ if(NODE_OP_ASGN_OR_ == -1)
431
+ {
432
+ NODE_OP_ASGN_OR_ = node_value("NODE_OP_ASGN_OR");
433
+ }
434
+
435
+ return NODE_OP_ASGN_OR_;
436
+ }
437
+ static int NODE_CALL_ = -1;
438
+
439
+ int Rice::detail::Mininode::get_NODE_CALL()
440
+ {
441
+ if(NODE_CALL_ == -1)
442
+ {
443
+ NODE_CALL_ = node_value("NODE_CALL");
444
+ }
445
+
446
+ return NODE_CALL_;
447
+ }
448
+ static int NODE_FCALL_ = -1;
449
+
450
+ int Rice::detail::Mininode::get_NODE_FCALL()
451
+ {
452
+ if(NODE_FCALL_ == -1)
453
+ {
454
+ NODE_FCALL_ = node_value("NODE_FCALL");
455
+ }
456
+
457
+ return NODE_FCALL_;
458
+ }
459
+ static int NODE_VCALL_ = -1;
460
+
461
+ int Rice::detail::Mininode::get_NODE_VCALL()
462
+ {
463
+ if(NODE_VCALL_ == -1)
464
+ {
465
+ NODE_VCALL_ = node_value("NODE_VCALL");
466
+ }
467
+
468
+ return NODE_VCALL_;
469
+ }
470
+ static int NODE_SUPER_ = -1;
471
+
472
+ int Rice::detail::Mininode::get_NODE_SUPER()
473
+ {
474
+ if(NODE_SUPER_ == -1)
475
+ {
476
+ NODE_SUPER_ = node_value("NODE_SUPER");
477
+ }
478
+
479
+ return NODE_SUPER_;
480
+ }
481
+ static int NODE_ZSUPER_ = -1;
482
+
483
+ int Rice::detail::Mininode::get_NODE_ZSUPER()
484
+ {
485
+ if(NODE_ZSUPER_ == -1)
486
+ {
487
+ NODE_ZSUPER_ = node_value("NODE_ZSUPER");
488
+ }
489
+
490
+ return NODE_ZSUPER_;
491
+ }
492
+ static int NODE_ARRAY_ = -1;
493
+
494
+ int Rice::detail::Mininode::get_NODE_ARRAY()
495
+ {
496
+ if(NODE_ARRAY_ == -1)
497
+ {
498
+ NODE_ARRAY_ = node_value("NODE_ARRAY");
499
+ }
500
+
501
+ return NODE_ARRAY_;
502
+ }
503
+ static int NODE_ZARRAY_ = -1;
504
+
505
+ int Rice::detail::Mininode::get_NODE_ZARRAY()
506
+ {
507
+ if(NODE_ZARRAY_ == -1)
508
+ {
509
+ NODE_ZARRAY_ = node_value("NODE_ZARRAY");
510
+ }
511
+
512
+ return NODE_ZARRAY_;
513
+ }
514
+ static int NODE_VALUES_ = -1;
515
+
516
+ int Rice::detail::Mininode::get_NODE_VALUES()
517
+ {
518
+ if(NODE_VALUES_ == -1)
519
+ {
520
+ NODE_VALUES_ = node_value("NODE_VALUES");
521
+ }
522
+
523
+ return NODE_VALUES_;
524
+ }
525
+ static int NODE_HASH_ = -1;
526
+
527
+ int Rice::detail::Mininode::get_NODE_HASH()
528
+ {
529
+ if(NODE_HASH_ == -1)
530
+ {
531
+ NODE_HASH_ = node_value("NODE_HASH");
532
+ }
533
+
534
+ return NODE_HASH_;
535
+ }
536
+ static int NODE_RETURN_ = -1;
537
+
538
+ int Rice::detail::Mininode::get_NODE_RETURN()
539
+ {
540
+ if(NODE_RETURN_ == -1)
541
+ {
542
+ NODE_RETURN_ = node_value("NODE_RETURN");
543
+ }
544
+
545
+ return NODE_RETURN_;
546
+ }
547
+ static int NODE_YIELD_ = -1;
548
+
549
+ int Rice::detail::Mininode::get_NODE_YIELD()
550
+ {
551
+ if(NODE_YIELD_ == -1)
552
+ {
553
+ NODE_YIELD_ = node_value("NODE_YIELD");
554
+ }
555
+
556
+ return NODE_YIELD_;
557
+ }
558
+ static int NODE_LVAR_ = -1;
559
+
560
+ int Rice::detail::Mininode::get_NODE_LVAR()
561
+ {
562
+ if(NODE_LVAR_ == -1)
563
+ {
564
+ NODE_LVAR_ = node_value("NODE_LVAR");
565
+ }
566
+
567
+ return NODE_LVAR_;
568
+ }
569
+ static int NODE_DVAR_ = -1;
570
+
571
+ int Rice::detail::Mininode::get_NODE_DVAR()
572
+ {
573
+ if(NODE_DVAR_ == -1)
574
+ {
575
+ NODE_DVAR_ = node_value("NODE_DVAR");
576
+ }
577
+
578
+ return NODE_DVAR_;
579
+ }
580
+ static int NODE_GVAR_ = -1;
581
+
582
+ int Rice::detail::Mininode::get_NODE_GVAR()
583
+ {
584
+ if(NODE_GVAR_ == -1)
585
+ {
586
+ NODE_GVAR_ = node_value("NODE_GVAR");
587
+ }
588
+
589
+ return NODE_GVAR_;
590
+ }
591
+ static int NODE_IVAR_ = -1;
592
+
593
+ int Rice::detail::Mininode::get_NODE_IVAR()
594
+ {
595
+ if(NODE_IVAR_ == -1)
596
+ {
597
+ NODE_IVAR_ = node_value("NODE_IVAR");
598
+ }
599
+
600
+ return NODE_IVAR_;
601
+ }
602
+ static int NODE_CONST_ = -1;
603
+
604
+ int Rice::detail::Mininode::get_NODE_CONST()
605
+ {
606
+ if(NODE_CONST_ == -1)
607
+ {
608
+ NODE_CONST_ = node_value("NODE_CONST");
609
+ }
610
+
611
+ return NODE_CONST_;
612
+ }
613
+ static int NODE_CVAR_ = -1;
614
+
615
+ int Rice::detail::Mininode::get_NODE_CVAR()
616
+ {
617
+ if(NODE_CVAR_ == -1)
618
+ {
619
+ NODE_CVAR_ = node_value("NODE_CVAR");
620
+ }
621
+
622
+ return NODE_CVAR_;
623
+ }
624
+ static int NODE_NTH_REF_ = -1;
625
+
626
+ int Rice::detail::Mininode::get_NODE_NTH_REF()
627
+ {
628
+ if(NODE_NTH_REF_ == -1)
629
+ {
630
+ NODE_NTH_REF_ = node_value("NODE_NTH_REF");
631
+ }
632
+
633
+ return NODE_NTH_REF_;
634
+ }
635
+ static int NODE_BACK_REF_ = -1;
636
+
637
+ int Rice::detail::Mininode::get_NODE_BACK_REF()
638
+ {
639
+ if(NODE_BACK_REF_ == -1)
640
+ {
641
+ NODE_BACK_REF_ = node_value("NODE_BACK_REF");
642
+ }
643
+
644
+ return NODE_BACK_REF_;
645
+ }
646
+ static int NODE_MATCH_ = -1;
647
+
648
+ int Rice::detail::Mininode::get_NODE_MATCH()
649
+ {
650
+ if(NODE_MATCH_ == -1)
651
+ {
652
+ NODE_MATCH_ = node_value("NODE_MATCH");
653
+ }
654
+
655
+ return NODE_MATCH_;
656
+ }
657
+ static int NODE_MATCH2_ = -1;
658
+
659
+ int Rice::detail::Mininode::get_NODE_MATCH2()
660
+ {
661
+ if(NODE_MATCH2_ == -1)
662
+ {
663
+ NODE_MATCH2_ = node_value("NODE_MATCH2");
664
+ }
665
+
666
+ return NODE_MATCH2_;
667
+ }
668
+ static int NODE_MATCH3_ = -1;
669
+
670
+ int Rice::detail::Mininode::get_NODE_MATCH3()
671
+ {
672
+ if(NODE_MATCH3_ == -1)
673
+ {
674
+ NODE_MATCH3_ = node_value("NODE_MATCH3");
675
+ }
676
+
677
+ return NODE_MATCH3_;
678
+ }
679
+ static int NODE_LIT_ = -1;
680
+
681
+ int Rice::detail::Mininode::get_NODE_LIT()
682
+ {
683
+ if(NODE_LIT_ == -1)
684
+ {
685
+ NODE_LIT_ = node_value("NODE_LIT");
686
+ }
687
+
688
+ return NODE_LIT_;
689
+ }
690
+ static int NODE_STR_ = -1;
691
+
692
+ int Rice::detail::Mininode::get_NODE_STR()
693
+ {
694
+ if(NODE_STR_ == -1)
695
+ {
696
+ NODE_STR_ = node_value("NODE_STR");
697
+ }
698
+
699
+ return NODE_STR_;
700
+ }
701
+ static int NODE_DSTR_ = -1;
702
+
703
+ int Rice::detail::Mininode::get_NODE_DSTR()
704
+ {
705
+ if(NODE_DSTR_ == -1)
706
+ {
707
+ NODE_DSTR_ = node_value("NODE_DSTR");
708
+ }
709
+
710
+ return NODE_DSTR_;
711
+ }
712
+ static int NODE_XSTR_ = -1;
713
+
714
+ int Rice::detail::Mininode::get_NODE_XSTR()
715
+ {
716
+ if(NODE_XSTR_ == -1)
717
+ {
718
+ NODE_XSTR_ = node_value("NODE_XSTR");
719
+ }
720
+
721
+ return NODE_XSTR_;
722
+ }
723
+ static int NODE_DXSTR_ = -1;
724
+
725
+ int Rice::detail::Mininode::get_NODE_DXSTR()
726
+ {
727
+ if(NODE_DXSTR_ == -1)
728
+ {
729
+ NODE_DXSTR_ = node_value("NODE_DXSTR");
730
+ }
731
+
732
+ return NODE_DXSTR_;
733
+ }
734
+ static int NODE_EVSTR_ = -1;
735
+
736
+ int Rice::detail::Mininode::get_NODE_EVSTR()
737
+ {
738
+ if(NODE_EVSTR_ == -1)
739
+ {
740
+ NODE_EVSTR_ = node_value("NODE_EVSTR");
741
+ }
742
+
743
+ return NODE_EVSTR_;
744
+ }
745
+ static int NODE_DREGX_ = -1;
746
+
747
+ int Rice::detail::Mininode::get_NODE_DREGX()
748
+ {
749
+ if(NODE_DREGX_ == -1)
750
+ {
751
+ NODE_DREGX_ = node_value("NODE_DREGX");
752
+ }
753
+
754
+ return NODE_DREGX_;
755
+ }
756
+ static int NODE_DREGX_ONCE_ = -1;
757
+
758
+ int Rice::detail::Mininode::get_NODE_DREGX_ONCE()
759
+ {
760
+ if(NODE_DREGX_ONCE_ == -1)
761
+ {
762
+ NODE_DREGX_ONCE_ = node_value("NODE_DREGX_ONCE");
763
+ }
764
+
765
+ return NODE_DREGX_ONCE_;
766
+ }
767
+ static int NODE_ARGS_ = -1;
768
+
769
+ int Rice::detail::Mininode::get_NODE_ARGS()
770
+ {
771
+ if(NODE_ARGS_ == -1)
772
+ {
773
+ NODE_ARGS_ = node_value("NODE_ARGS");
774
+ }
775
+
776
+ return NODE_ARGS_;
777
+ }
778
+ static int NODE_ARGS_AUX_ = -1;
779
+
780
+ int Rice::detail::Mininode::get_NODE_ARGS_AUX()
781
+ {
782
+ if(NODE_ARGS_AUX_ == -1)
783
+ {
784
+ NODE_ARGS_AUX_ = node_value("NODE_ARGS_AUX");
785
+ }
786
+
787
+ return NODE_ARGS_AUX_;
788
+ }
789
+ static int NODE_OPT_ARG_ = -1;
790
+
791
+ int Rice::detail::Mininode::get_NODE_OPT_ARG()
792
+ {
793
+ if(NODE_OPT_ARG_ == -1)
794
+ {
795
+ NODE_OPT_ARG_ = node_value("NODE_OPT_ARG");
796
+ }
797
+
798
+ return NODE_OPT_ARG_;
799
+ }
800
+ static int NODE_POSTARG_ = -1;
801
+
802
+ int Rice::detail::Mininode::get_NODE_POSTARG()
803
+ {
804
+ if(NODE_POSTARG_ == -1)
805
+ {
806
+ NODE_POSTARG_ = node_value("NODE_POSTARG");
807
+ }
808
+
809
+ return NODE_POSTARG_;
810
+ }
811
+ static int NODE_ARGSCAT_ = -1;
812
+
813
+ int Rice::detail::Mininode::get_NODE_ARGSCAT()
814
+ {
815
+ if(NODE_ARGSCAT_ == -1)
816
+ {
817
+ NODE_ARGSCAT_ = node_value("NODE_ARGSCAT");
818
+ }
819
+
820
+ return NODE_ARGSCAT_;
821
+ }
822
+ static int NODE_ARGSPUSH_ = -1;
823
+
824
+ int Rice::detail::Mininode::get_NODE_ARGSPUSH()
825
+ {
826
+ if(NODE_ARGSPUSH_ == -1)
827
+ {
828
+ NODE_ARGSPUSH_ = node_value("NODE_ARGSPUSH");
829
+ }
830
+
831
+ return NODE_ARGSPUSH_;
832
+ }
833
+ static int NODE_SPLAT_ = -1;
834
+
835
+ int Rice::detail::Mininode::get_NODE_SPLAT()
836
+ {
837
+ if(NODE_SPLAT_ == -1)
838
+ {
839
+ NODE_SPLAT_ = node_value("NODE_SPLAT");
840
+ }
841
+
842
+ return NODE_SPLAT_;
843
+ }
844
+ static int NODE_TO_ARY_ = -1;
845
+
846
+ int Rice::detail::Mininode::get_NODE_TO_ARY()
847
+ {
848
+ if(NODE_TO_ARY_ == -1)
849
+ {
850
+ NODE_TO_ARY_ = node_value("NODE_TO_ARY");
851
+ }
852
+
853
+ return NODE_TO_ARY_;
854
+ }
855
+ static int NODE_BLOCK_ARG_ = -1;
856
+
857
+ int Rice::detail::Mininode::get_NODE_BLOCK_ARG()
858
+ {
859
+ if(NODE_BLOCK_ARG_ == -1)
860
+ {
861
+ NODE_BLOCK_ARG_ = node_value("NODE_BLOCK_ARG");
862
+ }
863
+
864
+ return NODE_BLOCK_ARG_;
865
+ }
866
+ static int NODE_BLOCK_PASS_ = -1;
867
+
868
+ int Rice::detail::Mininode::get_NODE_BLOCK_PASS()
869
+ {
870
+ if(NODE_BLOCK_PASS_ == -1)
871
+ {
872
+ NODE_BLOCK_PASS_ = node_value("NODE_BLOCK_PASS");
873
+ }
874
+
875
+ return NODE_BLOCK_PASS_;
876
+ }
877
+ static int NODE_DEFN_ = -1;
878
+
879
+ int Rice::detail::Mininode::get_NODE_DEFN()
880
+ {
881
+ if(NODE_DEFN_ == -1)
882
+ {
883
+ NODE_DEFN_ = node_value("NODE_DEFN");
884
+ }
885
+
886
+ return NODE_DEFN_;
887
+ }
888
+ static int NODE_ALIAS_ = -1;
889
+
890
+ int Rice::detail::Mininode::get_NODE_ALIAS()
891
+ {
892
+ if(NODE_ALIAS_ == -1)
893
+ {
894
+ NODE_ALIAS_ = node_value("NODE_ALIAS");
895
+ }
896
+
897
+ return NODE_ALIAS_;
898
+ }
899
+ static int NODE_VALIAS_ = -1;
900
+
901
+ int Rice::detail::Mininode::get_NODE_VALIAS()
902
+ {
903
+ if(NODE_VALIAS_ == -1)
904
+ {
905
+ NODE_VALIAS_ = node_value("NODE_VALIAS");
906
+ }
907
+
908
+ return NODE_VALIAS_;
909
+ }
910
+ static int NODE_UNDEF_ = -1;
911
+
912
+ int Rice::detail::Mininode::get_NODE_UNDEF()
913
+ {
914
+ if(NODE_UNDEF_ == -1)
915
+ {
916
+ NODE_UNDEF_ = node_value("NODE_UNDEF");
917
+ }
918
+
919
+ return NODE_UNDEF_;
920
+ }
921
+ static int NODE_CLASS_ = -1;
922
+
923
+ int Rice::detail::Mininode::get_NODE_CLASS()
924
+ {
925
+ if(NODE_CLASS_ == -1)
926
+ {
927
+ NODE_CLASS_ = node_value("NODE_CLASS");
928
+ }
929
+
930
+ return NODE_CLASS_;
931
+ }
932
+ static int NODE_MODULE_ = -1;
933
+
934
+ int Rice::detail::Mininode::get_NODE_MODULE()
935
+ {
936
+ if(NODE_MODULE_ == -1)
937
+ {
938
+ NODE_MODULE_ = node_value("NODE_MODULE");
939
+ }
940
+
941
+ return NODE_MODULE_;
942
+ }
943
+ static int NODE_SCLASS_ = -1;
944
+
945
+ int Rice::detail::Mininode::get_NODE_SCLASS()
946
+ {
947
+ if(NODE_SCLASS_ == -1)
948
+ {
949
+ NODE_SCLASS_ = node_value("NODE_SCLASS");
950
+ }
951
+
952
+ return NODE_SCLASS_;
953
+ }
954
+ static int NODE_COLON2_ = -1;
955
+
956
+ int Rice::detail::Mininode::get_NODE_COLON2()
957
+ {
958
+ if(NODE_COLON2_ == -1)
959
+ {
960
+ NODE_COLON2_ = node_value("NODE_COLON2");
961
+ }
962
+
963
+ return NODE_COLON2_;
964
+ }
965
+ static int NODE_COLON3_ = -1;
966
+
967
+ int Rice::detail::Mininode::get_NODE_COLON3()
968
+ {
969
+ if(NODE_COLON3_ == -1)
970
+ {
971
+ NODE_COLON3_ = node_value("NODE_COLON3");
972
+ }
973
+
974
+ return NODE_COLON3_;
975
+ }
976
+ static int NODE_DOT2_ = -1;
977
+
978
+ int Rice::detail::Mininode::get_NODE_DOT2()
979
+ {
980
+ if(NODE_DOT2_ == -1)
981
+ {
982
+ NODE_DOT2_ = node_value("NODE_DOT2");
983
+ }
984
+
985
+ return NODE_DOT2_;
986
+ }
987
+ static int NODE_DOT3_ = -1;
988
+
989
+ int Rice::detail::Mininode::get_NODE_DOT3()
990
+ {
991
+ if(NODE_DOT3_ == -1)
992
+ {
993
+ NODE_DOT3_ = node_value("NODE_DOT3");
994
+ }
995
+
996
+ return NODE_DOT3_;
997
+ }
998
+ static int NODE_FLIP2_ = -1;
999
+
1000
+ int Rice::detail::Mininode::get_NODE_FLIP2()
1001
+ {
1002
+ if(NODE_FLIP2_ == -1)
1003
+ {
1004
+ NODE_FLIP2_ = node_value("NODE_FLIP2");
1005
+ }
1006
+
1007
+ return NODE_FLIP2_;
1008
+ }
1009
+ static int NODE_FLIP3_ = -1;
1010
+
1011
+ int Rice::detail::Mininode::get_NODE_FLIP3()
1012
+ {
1013
+ if(NODE_FLIP3_ == -1)
1014
+ {
1015
+ NODE_FLIP3_ = node_value("NODE_FLIP3");
1016
+ }
1017
+
1018
+ return NODE_FLIP3_;
1019
+ }
1020
+ static int NODE_ATTRSET_ = -1;
1021
+
1022
+ int Rice::detail::Mininode::get_NODE_ATTRSET()
1023
+ {
1024
+ if(NODE_ATTRSET_ == -1)
1025
+ {
1026
+ NODE_ATTRSET_ = node_value("NODE_ATTRSET");
1027
+ }
1028
+
1029
+ return NODE_ATTRSET_;
1030
+ }
1031
+ static int NODE_SELF_ = -1;
1032
+
1033
+ int Rice::detail::Mininode::get_NODE_SELF()
1034
+ {
1035
+ if(NODE_SELF_ == -1)
1036
+ {
1037
+ NODE_SELF_ = node_value("NODE_SELF");
1038
+ }
1039
+
1040
+ return NODE_SELF_;
1041
+ }
1042
+ static int NODE_NIL_ = -1;
1043
+
1044
+ int Rice::detail::Mininode::get_NODE_NIL()
1045
+ {
1046
+ if(NODE_NIL_ == -1)
1047
+ {
1048
+ NODE_NIL_ = node_value("NODE_NIL");
1049
+ }
1050
+
1051
+ return NODE_NIL_;
1052
+ }
1053
+ static int NODE_TRUE_ = -1;
1054
+
1055
+ int Rice::detail::Mininode::get_NODE_TRUE()
1056
+ {
1057
+ if(NODE_TRUE_ == -1)
1058
+ {
1059
+ NODE_TRUE_ = node_value("NODE_TRUE");
1060
+ }
1061
+
1062
+ return NODE_TRUE_;
1063
+ }
1064
+ static int NODE_FALSE_ = -1;
1065
+
1066
+ int Rice::detail::Mininode::get_NODE_FALSE()
1067
+ {
1068
+ if(NODE_FALSE_ == -1)
1069
+ {
1070
+ NODE_FALSE_ = node_value("NODE_FALSE");
1071
+ }
1072
+
1073
+ return NODE_FALSE_;
1074
+ }
1075
+ static int NODE_ERRINFO_ = -1;
1076
+
1077
+ int Rice::detail::Mininode::get_NODE_ERRINFO()
1078
+ {
1079
+ if(NODE_ERRINFO_ == -1)
1080
+ {
1081
+ NODE_ERRINFO_ = node_value("NODE_ERRINFO");
1082
+ }
1083
+
1084
+ return NODE_ERRINFO_;
1085
+ }
1086
+ static int NODE_DEFINED_ = -1;
1087
+
1088
+ int Rice::detail::Mininode::get_NODE_DEFINED()
1089
+ {
1090
+ if(NODE_DEFINED_ == -1)
1091
+ {
1092
+ NODE_DEFINED_ = node_value("NODE_DEFINED");
1093
+ }
1094
+
1095
+ return NODE_DEFINED_;
1096
+ }
1097
+ static int NODE_POSTEXE_ = -1;
1098
+
1099
+ int Rice::detail::Mininode::get_NODE_POSTEXE()
1100
+ {
1101
+ if(NODE_POSTEXE_ == -1)
1102
+ {
1103
+ NODE_POSTEXE_ = node_value("NODE_POSTEXE");
1104
+ }
1105
+
1106
+ return NODE_POSTEXE_;
1107
+ }
1108
+ static int NODE_ALLOCA_ = -1;
1109
+
1110
+ int Rice::detail::Mininode::get_NODE_ALLOCA()
1111
+ {
1112
+ if(NODE_ALLOCA_ == -1)
1113
+ {
1114
+ NODE_ALLOCA_ = node_value("NODE_ALLOCA");
1115
+ }
1116
+
1117
+ return NODE_ALLOCA_;
1118
+ }
1119
+ static int NODE_BMETHOD_ = -1;
1120
+
1121
+ int Rice::detail::Mininode::get_NODE_BMETHOD()
1122
+ {
1123
+ if(NODE_BMETHOD_ == -1)
1124
+ {
1125
+ NODE_BMETHOD_ = node_value("NODE_BMETHOD");
1126
+ }
1127
+
1128
+ return NODE_BMETHOD_;
1129
+ }
1130
+ static int NODE_MEMO_ = -1;
1131
+
1132
+ int Rice::detail::Mininode::get_NODE_MEMO()
1133
+ {
1134
+ if(NODE_MEMO_ == -1)
1135
+ {
1136
+ NODE_MEMO_ = node_value("NODE_MEMO");
1137
+ }
1138
+
1139
+ return NODE_MEMO_;
1140
+ }
1141
+ static int NODE_IFUNC_ = -1;
1142
+
1143
+ int Rice::detail::Mininode::get_NODE_IFUNC()
1144
+ {
1145
+ if(NODE_IFUNC_ == -1)
1146
+ {
1147
+ NODE_IFUNC_ = node_value("NODE_IFUNC");
1148
+ }
1149
+
1150
+ return NODE_IFUNC_;
1151
+ }
1152
+ static int NODE_DSYM_ = -1;
1153
+
1154
+ int Rice::detail::Mininode::get_NODE_DSYM()
1155
+ {
1156
+ if(NODE_DSYM_ == -1)
1157
+ {
1158
+ NODE_DSYM_ = node_value("NODE_DSYM");
1159
+ }
1160
+
1161
+ return NODE_DSYM_;
1162
+ }
1163
+ static int NODE_ATTRASGN_ = -1;
1164
+
1165
+ int Rice::detail::Mininode::get_NODE_ATTRASGN()
1166
+ {
1167
+ if(NODE_ATTRASGN_ == -1)
1168
+ {
1169
+ NODE_ATTRASGN_ = node_value("NODE_ATTRASGN");
1170
+ }
1171
+
1172
+ return NODE_ATTRASGN_;
1173
+ }
1174
+ static int NODE_PRELUDE_ = -1;
1175
+
1176
+ int Rice::detail::Mininode::get_NODE_PRELUDE()
1177
+ {
1178
+ if(NODE_PRELUDE_ == -1)
1179
+ {
1180
+ NODE_PRELUDE_ = node_value("NODE_PRELUDE");
1181
+ }
1182
+
1183
+ return NODE_PRELUDE_;
1184
+ }
1185
+ static int NODE_LAMBDA_ = -1;
1186
+
1187
+ int Rice::detail::Mininode::get_NODE_LAMBDA()
1188
+ {
1189
+ if(NODE_LAMBDA_ == -1)
1190
+ {
1191
+ NODE_LAMBDA_ = node_value("NODE_LAMBDA");
1192
+ }
1193
+
1194
+ return NODE_LAMBDA_;
1195
+ }
1196
+ static int NODE_OPTBLOCK_ = -1;
1197
+
1198
+ int Rice::detail::Mininode::get_NODE_OPTBLOCK()
1199
+ {
1200
+ if(NODE_OPTBLOCK_ == -1)
1201
+ {
1202
+ NODE_OPTBLOCK_ = node_value("NODE_OPTBLOCK");
1203
+ }
1204
+
1205
+ return NODE_OPTBLOCK_;
1206
+ }
1207
+ static int NODE_LAST_ = -1;
1208
+
1209
+ int Rice::detail::Mininode::get_NODE_LAST()
1210
+ {
1211
+ if(NODE_LAST_ == -1)
1212
+ {
1213
+ NODE_LAST_ = node_value("NODE_LAST");
1214
+ }
1215
+
1216
+ return NODE_LAST_;
1217
+ }
1218
+
1219
+ #endif
1220
+