rice 1.0.2 → 1.1.0

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