1 /* This C file is generated by NIT to compile module c_tools. */
2 #include "c_tools._sep.h"
3 static const char LOCATE_c_tools___CCompilationUnit___header_c_base
[] = "c_tools::CCompilationUnit::header_c_base";
4 val_t
c_tools___CCompilationUnit___header_c_base(val_t p0
){
5 struct {struct stack_frame_t me
;} fra
;
8 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9 fra
.me
.file
= LOCATE_c_tools
;
11 fra
.me
.meth
= LOCATE_c_tools___CCompilationUnit___header_c_base
;
14 fra
.me
.nitni_local_ref_head
= NULL
;
15 fra
.me
.REG
[0] = NIT_NULL
;
18 REGB0
= TAG_Bool(ATTR_c_tools___CCompilationUnit_____atheader_c_base(fra
.me
.REG
[0])!=NIT_NULL
);
19 if (UNTAG_Bool(REGB0
)) {
21 nit_abort("Uninitialized attribute %s", "@header_c_base", LOCATE_c_tools
, 24);
23 fra
.me
.REG
[0] = ATTR_c_tools___CCompilationUnit_____atheader_c_base(fra
.me
.REG
[0]);
24 stack_frame_head
= fra
.me
.prev
;
27 static const char LOCATE_c_tools___CCompilationUnit___header_c_base__eq
[] = "c_tools::CCompilationUnit::header_c_base=";
28 void c_tools___CCompilationUnit___header_c_base__eq(val_t p0
, val_t p1
){
29 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
31 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
32 fra
.me
.file
= LOCATE_c_tools
;
34 fra
.me
.meth
= LOCATE_c_tools___CCompilationUnit___header_c_base__eq
;
37 fra
.me
.nitni_local_ref_head
= NULL
;
38 fra
.me
.REG
[0] = NIT_NULL
;
39 fra
.me
.REG
[1] = NIT_NULL
;
43 ATTR_c_tools___CCompilationUnit_____atheader_c_base(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
44 stack_frame_head
= fra
.me
.prev
;
47 static const char LOCATE_c_tools___CCompilationUnit___header_custom
[] = "c_tools::CCompilationUnit::header_custom";
48 val_t
c_tools___CCompilationUnit___header_custom(val_t p0
){
49 struct {struct stack_frame_t me
;} fra
;
52 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
53 fra
.me
.file
= LOCATE_c_tools
;
55 fra
.me
.meth
= LOCATE_c_tools___CCompilationUnit___header_custom
;
58 fra
.me
.nitni_local_ref_head
= NULL
;
59 fra
.me
.REG
[0] = NIT_NULL
;
62 REGB0
= TAG_Bool(ATTR_c_tools___CCompilationUnit_____atheader_custom(fra
.me
.REG
[0])!=NIT_NULL
);
63 if (UNTAG_Bool(REGB0
)) {
65 nit_abort("Uninitialized attribute %s", "@header_custom", LOCATE_c_tools
, 28);
67 fra
.me
.REG
[0] = ATTR_c_tools___CCompilationUnit_____atheader_custom(fra
.me
.REG
[0]);
68 stack_frame_head
= fra
.me
.prev
;
71 static const char LOCATE_c_tools___CCompilationUnit___header_custom__eq
[] = "c_tools::CCompilationUnit::header_custom=";
72 void c_tools___CCompilationUnit___header_custom__eq(val_t p0
, val_t p1
){
73 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
75 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
76 fra
.me
.file
= LOCATE_c_tools
;
78 fra
.me
.meth
= LOCATE_c_tools___CCompilationUnit___header_custom__eq
;
81 fra
.me
.nitni_local_ref_head
= NULL
;
82 fra
.me
.REG
[0] = NIT_NULL
;
83 fra
.me
.REG
[1] = NIT_NULL
;
87 ATTR_c_tools___CCompilationUnit_____atheader_custom(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
88 stack_frame_head
= fra
.me
.prev
;
91 static const char LOCATE_c_tools___CCompilationUnit___header_c_types
[] = "c_tools::CCompilationUnit::header_c_types";
92 val_t
c_tools___CCompilationUnit___header_c_types(val_t p0
){
93 struct {struct stack_frame_t me
;} fra
;
96 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
97 fra
.me
.file
= LOCATE_c_tools
;
99 fra
.me
.meth
= LOCATE_c_tools___CCompilationUnit___header_c_types
;
100 fra
.me
.has_broke
= 0;
102 fra
.me
.nitni_local_ref_head
= NULL
;
103 fra
.me
.REG
[0] = NIT_NULL
;
106 REGB0
= TAG_Bool(ATTR_c_tools___CCompilationUnit_____atheader_c_types(fra
.me
.REG
[0])!=NIT_NULL
);
107 if (UNTAG_Bool(REGB0
)) {
109 nit_abort("Uninitialized attribute %s", "@header_c_types", LOCATE_c_tools
, 31);
111 fra
.me
.REG
[0] = ATTR_c_tools___CCompilationUnit_____atheader_c_types(fra
.me
.REG
[0]);
112 stack_frame_head
= fra
.me
.prev
;
113 return fra
.me
.REG
[0];
115 static const char LOCATE_c_tools___CCompilationUnit___header_c_types__eq
[] = "c_tools::CCompilationUnit::header_c_types=";
116 void c_tools___CCompilationUnit___header_c_types__eq(val_t p0
, val_t p1
){
117 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
119 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
120 fra
.me
.file
= LOCATE_c_tools
;
122 fra
.me
.meth
= LOCATE_c_tools___CCompilationUnit___header_c_types__eq
;
123 fra
.me
.has_broke
= 0;
125 fra
.me
.nitni_local_ref_head
= NULL
;
126 fra
.me
.REG
[0] = NIT_NULL
;
127 fra
.me
.REG
[1] = NIT_NULL
;
131 ATTR_c_tools___CCompilationUnit_____atheader_c_types(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
132 stack_frame_head
= fra
.me
.prev
;
135 static const char LOCATE_c_tools___CCompilationUnit___header_decl
[] = "c_tools::CCompilationUnit::header_decl";
136 val_t
c_tools___CCompilationUnit___header_decl(val_t p0
){
137 struct {struct stack_frame_t me
;} fra
;
140 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
141 fra
.me
.file
= LOCATE_c_tools
;
143 fra
.me
.meth
= LOCATE_c_tools___CCompilationUnit___header_decl
;
144 fra
.me
.has_broke
= 0;
146 fra
.me
.nitni_local_ref_head
= NULL
;
147 fra
.me
.REG
[0] = NIT_NULL
;
150 REGB0
= TAG_Bool(ATTR_c_tools___CCompilationUnit_____atheader_decl(fra
.me
.REG
[0])!=NIT_NULL
);
151 if (UNTAG_Bool(REGB0
)) {
153 nit_abort("Uninitialized attribute %s", "@header_decl", LOCATE_c_tools
, 34);
155 fra
.me
.REG
[0] = ATTR_c_tools___CCompilationUnit_____atheader_decl(fra
.me
.REG
[0]);
156 stack_frame_head
= fra
.me
.prev
;
157 return fra
.me
.REG
[0];
159 static const char LOCATE_c_tools___CCompilationUnit___header_decl__eq
[] = "c_tools::CCompilationUnit::header_decl=";
160 void c_tools___CCompilationUnit___header_decl__eq(val_t p0
, val_t p1
){
161 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
163 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
164 fra
.me
.file
= LOCATE_c_tools
;
166 fra
.me
.meth
= LOCATE_c_tools___CCompilationUnit___header_decl__eq
;
167 fra
.me
.has_broke
= 0;
169 fra
.me
.nitni_local_ref_head
= NULL
;
170 fra
.me
.REG
[0] = NIT_NULL
;
171 fra
.me
.REG
[1] = NIT_NULL
;
175 ATTR_c_tools___CCompilationUnit_____atheader_decl(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
176 stack_frame_head
= fra
.me
.prev
;
179 static const char LOCATE_c_tools___CCompilationUnit___body_decl
[] = "c_tools::CCompilationUnit::body_decl";
180 val_t
c_tools___CCompilationUnit___body_decl(val_t p0
){
181 struct {struct stack_frame_t me
;} fra
;
184 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
185 fra
.me
.file
= LOCATE_c_tools
;
187 fra
.me
.meth
= LOCATE_c_tools___CCompilationUnit___body_decl
;
188 fra
.me
.has_broke
= 0;
190 fra
.me
.nitni_local_ref_head
= NULL
;
191 fra
.me
.REG
[0] = NIT_NULL
;
194 REGB0
= TAG_Bool(ATTR_c_tools___CCompilationUnit_____atbody_decl(fra
.me
.REG
[0])!=NIT_NULL
);
195 if (UNTAG_Bool(REGB0
)) {
197 nit_abort("Uninitialized attribute %s", "@body_decl", LOCATE_c_tools
, 37);
199 fra
.me
.REG
[0] = ATTR_c_tools___CCompilationUnit_____atbody_decl(fra
.me
.REG
[0]);
200 stack_frame_head
= fra
.me
.prev
;
201 return fra
.me
.REG
[0];
203 static const char LOCATE_c_tools___CCompilationUnit___body_decl__eq
[] = "c_tools::CCompilationUnit::body_decl=";
204 void c_tools___CCompilationUnit___body_decl__eq(val_t p0
, val_t p1
){
205 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
207 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
208 fra
.me
.file
= LOCATE_c_tools
;
210 fra
.me
.meth
= LOCATE_c_tools___CCompilationUnit___body_decl__eq
;
211 fra
.me
.has_broke
= 0;
213 fra
.me
.nitni_local_ref_head
= NULL
;
214 fra
.me
.REG
[0] = NIT_NULL
;
215 fra
.me
.REG
[1] = NIT_NULL
;
219 ATTR_c_tools___CCompilationUnit_____atbody_decl(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
220 stack_frame_head
= fra
.me
.prev
;
223 static const char LOCATE_c_tools___CCompilationUnit___body_custom
[] = "c_tools::CCompilationUnit::body_custom";
224 val_t
c_tools___CCompilationUnit___body_custom(val_t p0
){
225 struct {struct stack_frame_t me
;} fra
;
228 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
229 fra
.me
.file
= LOCATE_c_tools
;
231 fra
.me
.meth
= LOCATE_c_tools___CCompilationUnit___body_custom
;
232 fra
.me
.has_broke
= 0;
234 fra
.me
.nitni_local_ref_head
= NULL
;
235 fra
.me
.REG
[0] = NIT_NULL
;
238 REGB0
= TAG_Bool(ATTR_c_tools___CCompilationUnit_____atbody_custom(fra
.me
.REG
[0])!=NIT_NULL
);
239 if (UNTAG_Bool(REGB0
)) {
241 nit_abort("Uninitialized attribute %s", "@body_custom", LOCATE_c_tools
, 41);
243 fra
.me
.REG
[0] = ATTR_c_tools___CCompilationUnit_____atbody_custom(fra
.me
.REG
[0]);
244 stack_frame_head
= fra
.me
.prev
;
245 return fra
.me
.REG
[0];
247 static const char LOCATE_c_tools___CCompilationUnit___body_custom__eq
[] = "c_tools::CCompilationUnit::body_custom=";
248 void c_tools___CCompilationUnit___body_custom__eq(val_t p0
, val_t p1
){
249 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
251 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
252 fra
.me
.file
= LOCATE_c_tools
;
254 fra
.me
.meth
= LOCATE_c_tools___CCompilationUnit___body_custom__eq
;
255 fra
.me
.has_broke
= 0;
257 fra
.me
.nitni_local_ref_head
= NULL
;
258 fra
.me
.REG
[0] = NIT_NULL
;
259 fra
.me
.REG
[1] = NIT_NULL
;
263 ATTR_c_tools___CCompilationUnit_____atbody_custom(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
264 stack_frame_head
= fra
.me
.prev
;
267 static const char LOCATE_c_tools___CCompilationUnit___body_impl
[] = "c_tools::CCompilationUnit::body_impl";
268 val_t
c_tools___CCompilationUnit___body_impl(val_t p0
){
269 struct {struct stack_frame_t me
;} fra
;
272 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
273 fra
.me
.file
= LOCATE_c_tools
;
275 fra
.me
.meth
= LOCATE_c_tools___CCompilationUnit___body_impl
;
276 fra
.me
.has_broke
= 0;
278 fra
.me
.nitni_local_ref_head
= NULL
;
279 fra
.me
.REG
[0] = NIT_NULL
;
282 REGB0
= TAG_Bool(ATTR_c_tools___CCompilationUnit_____atbody_impl(fra
.me
.REG
[0])!=NIT_NULL
);
283 if (UNTAG_Bool(REGB0
)) {
285 nit_abort("Uninitialized attribute %s", "@body_impl", LOCATE_c_tools
, 44);
287 fra
.me
.REG
[0] = ATTR_c_tools___CCompilationUnit_____atbody_impl(fra
.me
.REG
[0]);
288 stack_frame_head
= fra
.me
.prev
;
289 return fra
.me
.REG
[0];
291 static const char LOCATE_c_tools___CCompilationUnit___body_impl__eq
[] = "c_tools::CCompilationUnit::body_impl=";
292 void c_tools___CCompilationUnit___body_impl__eq(val_t p0
, val_t p1
){
293 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
295 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
296 fra
.me
.file
= LOCATE_c_tools
;
298 fra
.me
.meth
= LOCATE_c_tools___CCompilationUnit___body_impl__eq
;
299 fra
.me
.has_broke
= 0;
301 fra
.me
.nitni_local_ref_head
= NULL
;
302 fra
.me
.REG
[0] = NIT_NULL
;
303 fra
.me
.REG
[1] = NIT_NULL
;
307 ATTR_c_tools___CCompilationUnit_____atbody_impl(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
308 stack_frame_head
= fra
.me
.prev
;
311 static const char LOCATE_c_tools___CCompilationUnit___add_local_function
[] = "c_tools::CCompilationUnit::add_local_function";
312 void c_tools___CCompilationUnit___add_local_function(val_t p0
, val_t p1
){
313 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
316 static val_t once_value_1
; /* Once value */
317 static val_t once_value_2
; /* Once value */
318 static val_t once_value_3
; /* Once value */
319 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
320 fra
.me
.file
= LOCATE_c_tools
;
322 fra
.me
.meth
= LOCATE_c_tools___CCompilationUnit___add_local_function
;
323 fra
.me
.has_broke
= 0;
325 fra
.me
.nitni_local_ref_head
= NULL
;
326 fra
.me
.REG
[0] = NIT_NULL
;
327 fra
.me
.REG
[1] = NIT_NULL
;
328 fra
.me
.REG
[2] = NIT_NULL
;
329 fra
.me
.REG
[3] = NIT_NULL
;
330 fra
.me
.REG
[4] = NIT_NULL
;
334 fra
.me
.REG
[2] = CALL_c_tools___CCompilationUnit___body_decl(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
336 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
338 fra
.me
.REG
[4] = BOX_NativeString("");
340 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
341 once_value_1
= fra
.me
.REG
[4];
342 register_static_object(&once_value_1
);
343 } else fra
.me
.REG
[4] = once_value_1
;
344 fra
.me
.REG
[4] = fra
.me
.REG
[4];
345 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
346 fra
.me
.REG
[4] = CALL_c_tools___CFunction___signature(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
347 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
349 fra
.me
.REG
[4] = BOX_NativeString(";\n");
351 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
352 once_value_2
= fra
.me
.REG
[4];
353 register_static_object(&once_value_2
);
354 } else fra
.me
.REG
[4] = once_value_2
;
355 fra
.me
.REG
[4] = fra
.me
.REG
[4];
356 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
357 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
358 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
360 fra
.me
.REG
[3] = CALL_c_tools___CCompilationUnit___body_impl(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
362 fra
.me
.REG
[2] = BOX_NativeString("\n");
364 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
365 once_value_3
= fra
.me
.REG
[2];
366 register_static_object(&once_value_3
);
367 } else fra
.me
.REG
[2] = once_value_3
;
368 fra
.me
.REG
[2] = fra
.me
.REG
[2];
369 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
371 fra
.me
.REG
[0] = CALL_c_tools___CCompilationUnit___body_impl(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
372 fra
.me
.REG
[1] = CALL_c_tools___CFunction___to_writer(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
373 CALL_compiling_writer___Writer___append(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
374 stack_frame_head
= fra
.me
.prev
;
377 static const char LOCATE_c_tools___CCompilationUnit___add_exported_function
[] = "c_tools::CCompilationUnit::add_exported_function";
378 void c_tools___CCompilationUnit___add_exported_function(val_t p0
, val_t p1
){
379 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
382 static val_t once_value_1
; /* Once value */
383 static val_t once_value_2
; /* Once value */
384 static val_t once_value_3
; /* Once value */
385 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
386 fra
.me
.file
= LOCATE_c_tools
;
388 fra
.me
.meth
= LOCATE_c_tools___CCompilationUnit___add_exported_function
;
389 fra
.me
.has_broke
= 0;
391 fra
.me
.nitni_local_ref_head
= NULL
;
392 fra
.me
.REG
[0] = NIT_NULL
;
393 fra
.me
.REG
[1] = NIT_NULL
;
394 fra
.me
.REG
[2] = NIT_NULL
;
395 fra
.me
.REG
[3] = NIT_NULL
;
396 fra
.me
.REG
[4] = NIT_NULL
;
400 fra
.me
.REG
[2] = CALL_c_tools___CCompilationUnit___header_decl(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
402 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
404 fra
.me
.REG
[4] = BOX_NativeString("");
406 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
407 once_value_1
= fra
.me
.REG
[4];
408 register_static_object(&once_value_1
);
409 } else fra
.me
.REG
[4] = once_value_1
;
410 fra
.me
.REG
[4] = fra
.me
.REG
[4];
411 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
412 fra
.me
.REG
[4] = CALL_c_tools___CFunction___signature(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
413 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
415 fra
.me
.REG
[4] = BOX_NativeString(";\n");
417 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
418 once_value_2
= fra
.me
.REG
[4];
419 register_static_object(&once_value_2
);
420 } else fra
.me
.REG
[4] = once_value_2
;
421 fra
.me
.REG
[4] = fra
.me
.REG
[4];
422 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
423 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
424 CALL_compiling_writer___Writer___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
426 fra
.me
.REG
[3] = CALL_c_tools___CCompilationUnit___body_impl(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
428 fra
.me
.REG
[2] = BOX_NativeString("\n");
430 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
431 once_value_3
= fra
.me
.REG
[2];
432 register_static_object(&once_value_3
);
433 } else fra
.me
.REG
[2] = once_value_3
;
434 fra
.me
.REG
[2] = fra
.me
.REG
[2];
435 CALL_compiling_writer___Writer___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
437 fra
.me
.REG
[0] = CALL_c_tools___CCompilationUnit___body_impl(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
438 fra
.me
.REG
[1] = CALL_c_tools___CFunction___to_writer(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
439 CALL_compiling_writer___Writer___append(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
440 stack_frame_head
= fra
.me
.prev
;
443 static const char LOCATE_c_tools___CCompilationUnit___compile_header_core
[] = "c_tools::CCompilationUnit::compile_header_core";
444 void c_tools___CCompilationUnit___compile_header_core(val_t p0
, val_t p1
){
445 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
447 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
448 fra
.me
.file
= LOCATE_c_tools
;
450 fra
.me
.meth
= LOCATE_c_tools___CCompilationUnit___compile_header_core
;
451 fra
.me
.has_broke
= 0;
453 fra
.me
.nitni_local_ref_head
= NULL
;
454 fra
.me
.REG
[0] = NIT_NULL
;
455 fra
.me
.REG
[1] = NIT_NULL
;
456 fra
.me
.REG
[2] = NIT_NULL
;
460 fra
.me
.REG
[2] = CALL_c_tools___CCompilationUnit___header_c_base(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
461 CALL_compiling_writer___Writer___write_to_stream(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
463 fra
.me
.REG
[2] = CALL_c_tools___CCompilationUnit___header_custom(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
464 CALL_compiling_writer___Writer___write_to_stream(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
466 fra
.me
.REG
[2] = CALL_c_tools___CCompilationUnit___header_c_types(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
467 CALL_compiling_writer___Writer___write_to_stream(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
469 fra
.me
.REG
[0] = CALL_c_tools___CCompilationUnit___header_decl(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
470 CALL_compiling_writer___Writer___write_to_stream(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
471 stack_frame_head
= fra
.me
.prev
;
474 static const char LOCATE_c_tools___CCompilationUnit___compile_body_core
[] = "c_tools::CCompilationUnit::compile_body_core";
475 void c_tools___CCompilationUnit___compile_body_core(val_t p0
, val_t p1
){
476 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
478 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
479 fra
.me
.file
= LOCATE_c_tools
;
481 fra
.me
.meth
= LOCATE_c_tools___CCompilationUnit___compile_body_core
;
482 fra
.me
.has_broke
= 0;
484 fra
.me
.nitni_local_ref_head
= NULL
;
485 fra
.me
.REG
[0] = NIT_NULL
;
486 fra
.me
.REG
[1] = NIT_NULL
;
487 fra
.me
.REG
[2] = NIT_NULL
;
491 fra
.me
.REG
[2] = CALL_c_tools___CCompilationUnit___body_decl(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
492 CALL_compiling_writer___Writer___write_to_stream(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
494 fra
.me
.REG
[2] = CALL_c_tools___CCompilationUnit___body_custom(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
495 CALL_compiling_writer___Writer___write_to_stream(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
497 fra
.me
.REG
[0] = CALL_c_tools___CCompilationUnit___body_impl(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
498 CALL_compiling_writer___Writer___write_to_stream(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
499 stack_frame_head
= fra
.me
.prev
;
502 static const char LOCATE_c_tools___CCompilationUnit___init
[] = "c_tools::CCompilationUnit::init";
503 void c_tools___CCompilationUnit___init(val_t p0
, int* init_table
){
504 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_c_tools___CCompilationUnit
].i
;
505 struct {struct stack_frame_t me
;} fra
;
507 if (init_table
[itpos0
]) return;
508 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
509 fra
.me
.file
= LOCATE_c_tools
;
511 fra
.me
.meth
= LOCATE_c_tools___CCompilationUnit___init
;
512 fra
.me
.has_broke
= 0;
514 fra
.me
.nitni_local_ref_head
= NULL
;
515 stack_frame_head
= fra
.me
.prev
;
516 init_table
[itpos0
] = 1;
519 static const char LOCATE_c_tools___CFunction___signature
[] = "c_tools::CFunction::signature";
520 val_t
c_tools___CFunction___signature(val_t p0
){
521 struct {struct stack_frame_t me
;} fra
;
524 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
525 fra
.me
.file
= LOCATE_c_tools
;
527 fra
.me
.meth
= LOCATE_c_tools___CFunction___signature
;
528 fra
.me
.has_broke
= 0;
530 fra
.me
.nitni_local_ref_head
= NULL
;
531 fra
.me
.REG
[0] = NIT_NULL
;
534 REGB0
= TAG_Bool(ATTR_c_tools___CFunction_____atsignature(fra
.me
.REG
[0])!=NIT_NULL
);
535 if (UNTAG_Bool(REGB0
)) {
537 nit_abort("Uninitialized attribute %s", "@signature", LOCATE_c_tools
, 82);
539 fra
.me
.REG
[0] = ATTR_c_tools___CFunction_____atsignature(fra
.me
.REG
[0]);
540 stack_frame_head
= fra
.me
.prev
;
541 return fra
.me
.REG
[0];
543 static const char LOCATE_c_tools___CFunction___signature__eq
[] = "c_tools::CFunction::signature=";
544 void c_tools___CFunction___signature__eq(val_t p0
, val_t p1
){
545 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
547 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
548 fra
.me
.file
= LOCATE_c_tools
;
550 fra
.me
.meth
= LOCATE_c_tools___CFunction___signature__eq
;
551 fra
.me
.has_broke
= 0;
553 fra
.me
.nitni_local_ref_head
= NULL
;
554 fra
.me
.REG
[0] = NIT_NULL
;
555 fra
.me
.REG
[1] = NIT_NULL
;
559 ATTR_c_tools___CFunction_____atsignature(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
560 stack_frame_head
= fra
.me
.prev
;
563 static const char LOCATE_c_tools___CFunction___decls
[] = "c_tools::CFunction::decls";
564 val_t
c_tools___CFunction___decls(val_t p0
){
565 struct {struct stack_frame_t me
;} fra
;
568 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
569 fra
.me
.file
= LOCATE_c_tools
;
571 fra
.me
.meth
= LOCATE_c_tools___CFunction___decls
;
572 fra
.me
.has_broke
= 0;
574 fra
.me
.nitni_local_ref_head
= NULL
;
575 fra
.me
.REG
[0] = NIT_NULL
;
578 REGB0
= TAG_Bool(ATTR_c_tools___CFunction_____atdecls(fra
.me
.REG
[0])!=NIT_NULL
);
579 if (UNTAG_Bool(REGB0
)) {
581 nit_abort("Uninitialized attribute %s", "@decls", LOCATE_c_tools
, 84);
583 fra
.me
.REG
[0] = ATTR_c_tools___CFunction_____atdecls(fra
.me
.REG
[0]);
584 stack_frame_head
= fra
.me
.prev
;
585 return fra
.me
.REG
[0];
587 static const char LOCATE_c_tools___CFunction___decls__eq
[] = "c_tools::CFunction::decls=";
588 void c_tools___CFunction___decls__eq(val_t p0
, val_t p1
){
589 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
591 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
592 fra
.me
.file
= LOCATE_c_tools
;
594 fra
.me
.meth
= LOCATE_c_tools___CFunction___decls__eq
;
595 fra
.me
.has_broke
= 0;
597 fra
.me
.nitni_local_ref_head
= NULL
;
598 fra
.me
.REG
[0] = NIT_NULL
;
599 fra
.me
.REG
[1] = NIT_NULL
;
603 ATTR_c_tools___CFunction_____atdecls(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
604 stack_frame_head
= fra
.me
.prev
;
607 static const char LOCATE_c_tools___CFunction___exprs
[] = "c_tools::CFunction::exprs";
608 val_t
c_tools___CFunction___exprs(val_t p0
){
609 struct {struct stack_frame_t me
;} fra
;
612 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
613 fra
.me
.file
= LOCATE_c_tools
;
615 fra
.me
.meth
= LOCATE_c_tools___CFunction___exprs
;
616 fra
.me
.has_broke
= 0;
618 fra
.me
.nitni_local_ref_head
= NULL
;
619 fra
.me
.REG
[0] = NIT_NULL
;
622 REGB0
= TAG_Bool(ATTR_c_tools___CFunction_____atexprs(fra
.me
.REG
[0])!=NIT_NULL
);
623 if (UNTAG_Bool(REGB0
)) {
625 nit_abort("Uninitialized attribute %s", "@exprs", LOCATE_c_tools
, 85);
627 fra
.me
.REG
[0] = ATTR_c_tools___CFunction_____atexprs(fra
.me
.REG
[0]);
628 stack_frame_head
= fra
.me
.prev
;
629 return fra
.me
.REG
[0];
631 static const char LOCATE_c_tools___CFunction___exprs__eq
[] = "c_tools::CFunction::exprs=";
632 void c_tools___CFunction___exprs__eq(val_t p0
, val_t p1
){
633 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
635 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
636 fra
.me
.file
= LOCATE_c_tools
;
638 fra
.me
.meth
= LOCATE_c_tools___CFunction___exprs__eq
;
639 fra
.me
.has_broke
= 0;
641 fra
.me
.nitni_local_ref_head
= NULL
;
642 fra
.me
.REG
[0] = NIT_NULL
;
643 fra
.me
.REG
[1] = NIT_NULL
;
647 ATTR_c_tools___CFunction_____atexprs(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
648 stack_frame_head
= fra
.me
.prev
;
651 static const char LOCATE_c_tools___CFunction___to_writer
[] = "c_tools::CFunction::to_writer";
652 val_t
c_tools___CFunction___to_writer(val_t p0
){
653 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
656 static val_t once_value_1
; /* Once value */
657 static val_t once_value_2
; /* Once value */
658 static val_t once_value_3
; /* Once value */
659 static val_t once_value_4
; /* Once value */
660 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
661 fra
.me
.file
= LOCATE_c_tools
;
663 fra
.me
.meth
= LOCATE_c_tools___CFunction___to_writer
;
664 fra
.me
.has_broke
= 0;
666 fra
.me
.nitni_local_ref_head
= NULL
;
667 fra
.me
.REG
[0] = NIT_NULL
;
668 fra
.me
.REG
[1] = NIT_NULL
;
669 fra
.me
.REG
[2] = NIT_NULL
;
670 fra
.me
.REG
[3] = NIT_NULL
;
673 fra
.me
.REG
[1] = NEW_Writer_compiling_writer___Writer___init();
676 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
678 fra
.me
.REG
[3] = BOX_NativeString("");
680 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
681 once_value_1
= fra
.me
.REG
[3];
682 register_static_object(&once_value_1
);
683 } else fra
.me
.REG
[3] = once_value_1
;
684 fra
.me
.REG
[3] = fra
.me
.REG
[3];
685 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
686 fra
.me
.REG
[3] = CALL_c_tools___CFunction___signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
687 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
689 fra
.me
.REG
[3] = BOX_NativeString("\n{\n");
691 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
692 once_value_2
= fra
.me
.REG
[3];
693 register_static_object(&once_value_2
);
694 } else fra
.me
.REG
[3] = once_value_2
;
695 fra
.me
.REG
[3] = fra
.me
.REG
[3];
696 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
697 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
698 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
700 fra
.me
.REG
[2] = CALL_c_tools___CFunction___decls(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
701 CALL_compiling_writer___Writer___append(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
704 fra
.me
.REG
[2] = BOX_NativeString("\n");
706 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
707 once_value_3
= fra
.me
.REG
[2];
708 register_static_object(&once_value_3
);
709 } else fra
.me
.REG
[2] = once_value_3
;
710 fra
.me
.REG
[2] = fra
.me
.REG
[2];
711 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
713 fra
.me
.REG
[0] = CALL_c_tools___CFunction___exprs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
714 CALL_compiling_writer___Writer___append(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
717 fra
.me
.REG
[0] = BOX_NativeString("}\n");
719 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
720 once_value_4
= fra
.me
.REG
[0];
721 register_static_object(&once_value_4
);
722 } else fra
.me
.REG
[0] = once_value_4
;
723 fra
.me
.REG
[0] = fra
.me
.REG
[0];
724 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
728 stack_frame_head
= fra
.me
.prev
;
729 return fra
.me
.REG
[1];
731 static const char LOCATE_c_tools___CFunction___init
[] = "c_tools::CFunction::init";
732 void c_tools___CFunction___init(val_t p0
, val_t p1
, int* init_table
){
733 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_c_tools___CFunction
].i
;
734 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
736 if (init_table
[itpos1
]) return;
737 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
738 fra
.me
.file
= LOCATE_c_tools
;
740 fra
.me
.meth
= LOCATE_c_tools___CFunction___init
;
741 fra
.me
.has_broke
= 0;
743 fra
.me
.nitni_local_ref_head
= NULL
;
744 fra
.me
.REG
[0] = NIT_NULL
;
745 fra
.me
.REG
[1] = NIT_NULL
;
748 ATTR_c_tools___CFunction_____atsignature(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
749 stack_frame_head
= fra
.me
.prev
;
750 init_table
[itpos1
] = 1;