mkcsrc: copy .c and .h file to avoid the break of the bootstrap
[nit.git] / c_src / c_tools._sep.c
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;
6 val_t REGB0;
7 val_t tmp;
8 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9 fra.me.file = LOCATE_c_tools;
10 fra.me.line = 24;
11 fra.me.meth = LOCATE_c_tools___CCompilationUnit___header_c_base;
12 fra.me.has_broke = 0;
13 fra.me.REG_size = 1;
14 fra.me.nitni_local_ref_head = NULL;
15 fra.me.REG[0] = NIT_NULL;
16 fra.me.REG[0] = p0;
17 /* c_tools.nit:24 */
18 REGB0 = TAG_Bool(ATTR_c_tools___CCompilationUnit_____atheader_c_base(fra.me.REG[0])!=NIT_NULL);
19 if (UNTAG_Bool(REGB0)) {
20 } else {
21 nit_abort("Uninitialized attribute %s", "@header_c_base", LOCATE_c_tools, 24);
22 }
23 fra.me.REG[0] = ATTR_c_tools___CCompilationUnit_____atheader_c_base(fra.me.REG[0]);
24 stack_frame_head = fra.me.prev;
25 return fra.me.REG[0];
26 }
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;
30 val_t tmp;
31 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32 fra.me.file = LOCATE_c_tools;
33 fra.me.line = 24;
34 fra.me.meth = LOCATE_c_tools___CCompilationUnit___header_c_base__eq;
35 fra.me.has_broke = 0;
36 fra.me.REG_size = 2;
37 fra.me.nitni_local_ref_head = NULL;
38 fra.me.REG[0] = NIT_NULL;
39 fra.me.REG[1] = NIT_NULL;
40 fra.me.REG[0] = p0;
41 fra.me.REG[1] = p1;
42 /* c_tools.nit:24 */
43 ATTR_c_tools___CCompilationUnit_____atheader_c_base(fra.me.REG[0]) = fra.me.REG[1];
44 stack_frame_head = fra.me.prev;
45 return;
46 }
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;
50 val_t REGB0;
51 val_t tmp;
52 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53 fra.me.file = LOCATE_c_tools;
54 fra.me.line = 28;
55 fra.me.meth = LOCATE_c_tools___CCompilationUnit___header_custom;
56 fra.me.has_broke = 0;
57 fra.me.REG_size = 1;
58 fra.me.nitni_local_ref_head = NULL;
59 fra.me.REG[0] = NIT_NULL;
60 fra.me.REG[0] = p0;
61 /* c_tools.nit:28 */
62 REGB0 = TAG_Bool(ATTR_c_tools___CCompilationUnit_____atheader_custom(fra.me.REG[0])!=NIT_NULL);
63 if (UNTAG_Bool(REGB0)) {
64 } else {
65 nit_abort("Uninitialized attribute %s", "@header_custom", LOCATE_c_tools, 28);
66 }
67 fra.me.REG[0] = ATTR_c_tools___CCompilationUnit_____atheader_custom(fra.me.REG[0]);
68 stack_frame_head = fra.me.prev;
69 return fra.me.REG[0];
70 }
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;
74 val_t tmp;
75 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
76 fra.me.file = LOCATE_c_tools;
77 fra.me.line = 28;
78 fra.me.meth = LOCATE_c_tools___CCompilationUnit___header_custom__eq;
79 fra.me.has_broke = 0;
80 fra.me.REG_size = 2;
81 fra.me.nitni_local_ref_head = NULL;
82 fra.me.REG[0] = NIT_NULL;
83 fra.me.REG[1] = NIT_NULL;
84 fra.me.REG[0] = p0;
85 fra.me.REG[1] = p1;
86 /* c_tools.nit:28 */
87 ATTR_c_tools___CCompilationUnit_____atheader_custom(fra.me.REG[0]) = fra.me.REG[1];
88 stack_frame_head = fra.me.prev;
89 return;
90 }
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;
94 val_t REGB0;
95 val_t tmp;
96 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
97 fra.me.file = LOCATE_c_tools;
98 fra.me.line = 31;
99 fra.me.meth = LOCATE_c_tools___CCompilationUnit___header_c_types;
100 fra.me.has_broke = 0;
101 fra.me.REG_size = 1;
102 fra.me.nitni_local_ref_head = NULL;
103 fra.me.REG[0] = NIT_NULL;
104 fra.me.REG[0] = p0;
105 /* c_tools.nit:31 */
106 REGB0 = TAG_Bool(ATTR_c_tools___CCompilationUnit_____atheader_c_types(fra.me.REG[0])!=NIT_NULL);
107 if (UNTAG_Bool(REGB0)) {
108 } else {
109 nit_abort("Uninitialized attribute %s", "@header_c_types", LOCATE_c_tools, 31);
110 }
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];
114 }
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;
118 val_t tmp;
119 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
120 fra.me.file = LOCATE_c_tools;
121 fra.me.line = 31;
122 fra.me.meth = LOCATE_c_tools___CCompilationUnit___header_c_types__eq;
123 fra.me.has_broke = 0;
124 fra.me.REG_size = 2;
125 fra.me.nitni_local_ref_head = NULL;
126 fra.me.REG[0] = NIT_NULL;
127 fra.me.REG[1] = NIT_NULL;
128 fra.me.REG[0] = p0;
129 fra.me.REG[1] = p1;
130 /* c_tools.nit:31 */
131 ATTR_c_tools___CCompilationUnit_____atheader_c_types(fra.me.REG[0]) = fra.me.REG[1];
132 stack_frame_head = fra.me.prev;
133 return;
134 }
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;
138 val_t REGB0;
139 val_t tmp;
140 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
141 fra.me.file = LOCATE_c_tools;
142 fra.me.line = 34;
143 fra.me.meth = LOCATE_c_tools___CCompilationUnit___header_decl;
144 fra.me.has_broke = 0;
145 fra.me.REG_size = 1;
146 fra.me.nitni_local_ref_head = NULL;
147 fra.me.REG[0] = NIT_NULL;
148 fra.me.REG[0] = p0;
149 /* c_tools.nit:34 */
150 REGB0 = TAG_Bool(ATTR_c_tools___CCompilationUnit_____atheader_decl(fra.me.REG[0])!=NIT_NULL);
151 if (UNTAG_Bool(REGB0)) {
152 } else {
153 nit_abort("Uninitialized attribute %s", "@header_decl", LOCATE_c_tools, 34);
154 }
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];
158 }
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;
162 val_t tmp;
163 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
164 fra.me.file = LOCATE_c_tools;
165 fra.me.line = 34;
166 fra.me.meth = LOCATE_c_tools___CCompilationUnit___header_decl__eq;
167 fra.me.has_broke = 0;
168 fra.me.REG_size = 2;
169 fra.me.nitni_local_ref_head = NULL;
170 fra.me.REG[0] = NIT_NULL;
171 fra.me.REG[1] = NIT_NULL;
172 fra.me.REG[0] = p0;
173 fra.me.REG[1] = p1;
174 /* c_tools.nit:34 */
175 ATTR_c_tools___CCompilationUnit_____atheader_decl(fra.me.REG[0]) = fra.me.REG[1];
176 stack_frame_head = fra.me.prev;
177 return;
178 }
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;
182 val_t REGB0;
183 val_t tmp;
184 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
185 fra.me.file = LOCATE_c_tools;
186 fra.me.line = 37;
187 fra.me.meth = LOCATE_c_tools___CCompilationUnit___body_decl;
188 fra.me.has_broke = 0;
189 fra.me.REG_size = 1;
190 fra.me.nitni_local_ref_head = NULL;
191 fra.me.REG[0] = NIT_NULL;
192 fra.me.REG[0] = p0;
193 /* c_tools.nit:37 */
194 REGB0 = TAG_Bool(ATTR_c_tools___CCompilationUnit_____atbody_decl(fra.me.REG[0])!=NIT_NULL);
195 if (UNTAG_Bool(REGB0)) {
196 } else {
197 nit_abort("Uninitialized attribute %s", "@body_decl", LOCATE_c_tools, 37);
198 }
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];
202 }
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;
206 val_t tmp;
207 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
208 fra.me.file = LOCATE_c_tools;
209 fra.me.line = 37;
210 fra.me.meth = LOCATE_c_tools___CCompilationUnit___body_decl__eq;
211 fra.me.has_broke = 0;
212 fra.me.REG_size = 2;
213 fra.me.nitni_local_ref_head = NULL;
214 fra.me.REG[0] = NIT_NULL;
215 fra.me.REG[1] = NIT_NULL;
216 fra.me.REG[0] = p0;
217 fra.me.REG[1] = p1;
218 /* c_tools.nit:37 */
219 ATTR_c_tools___CCompilationUnit_____atbody_decl(fra.me.REG[0]) = fra.me.REG[1];
220 stack_frame_head = fra.me.prev;
221 return;
222 }
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;
226 val_t REGB0;
227 val_t tmp;
228 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
229 fra.me.file = LOCATE_c_tools;
230 fra.me.line = 41;
231 fra.me.meth = LOCATE_c_tools___CCompilationUnit___body_custom;
232 fra.me.has_broke = 0;
233 fra.me.REG_size = 1;
234 fra.me.nitni_local_ref_head = NULL;
235 fra.me.REG[0] = NIT_NULL;
236 fra.me.REG[0] = p0;
237 /* c_tools.nit:41 */
238 REGB0 = TAG_Bool(ATTR_c_tools___CCompilationUnit_____atbody_custom(fra.me.REG[0])!=NIT_NULL);
239 if (UNTAG_Bool(REGB0)) {
240 } else {
241 nit_abort("Uninitialized attribute %s", "@body_custom", LOCATE_c_tools, 41);
242 }
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];
246 }
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;
250 val_t tmp;
251 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
252 fra.me.file = LOCATE_c_tools;
253 fra.me.line = 41;
254 fra.me.meth = LOCATE_c_tools___CCompilationUnit___body_custom__eq;
255 fra.me.has_broke = 0;
256 fra.me.REG_size = 2;
257 fra.me.nitni_local_ref_head = NULL;
258 fra.me.REG[0] = NIT_NULL;
259 fra.me.REG[1] = NIT_NULL;
260 fra.me.REG[0] = p0;
261 fra.me.REG[1] = p1;
262 /* c_tools.nit:41 */
263 ATTR_c_tools___CCompilationUnit_____atbody_custom(fra.me.REG[0]) = fra.me.REG[1];
264 stack_frame_head = fra.me.prev;
265 return;
266 }
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;
270 val_t REGB0;
271 val_t tmp;
272 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
273 fra.me.file = LOCATE_c_tools;
274 fra.me.line = 44;
275 fra.me.meth = LOCATE_c_tools___CCompilationUnit___body_impl;
276 fra.me.has_broke = 0;
277 fra.me.REG_size = 1;
278 fra.me.nitni_local_ref_head = NULL;
279 fra.me.REG[0] = NIT_NULL;
280 fra.me.REG[0] = p0;
281 /* c_tools.nit:44 */
282 REGB0 = TAG_Bool(ATTR_c_tools___CCompilationUnit_____atbody_impl(fra.me.REG[0])!=NIT_NULL);
283 if (UNTAG_Bool(REGB0)) {
284 } else {
285 nit_abort("Uninitialized attribute %s", "@body_impl", LOCATE_c_tools, 44);
286 }
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];
290 }
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;
294 val_t tmp;
295 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
296 fra.me.file = LOCATE_c_tools;
297 fra.me.line = 44;
298 fra.me.meth = LOCATE_c_tools___CCompilationUnit___body_impl__eq;
299 fra.me.has_broke = 0;
300 fra.me.REG_size = 2;
301 fra.me.nitni_local_ref_head = NULL;
302 fra.me.REG[0] = NIT_NULL;
303 fra.me.REG[1] = NIT_NULL;
304 fra.me.REG[0] = p0;
305 fra.me.REG[1] = p1;
306 /* c_tools.nit:44 */
307 ATTR_c_tools___CCompilationUnit_____atbody_impl(fra.me.REG[0]) = fra.me.REG[1];
308 stack_frame_head = fra.me.prev;
309 return;
310 }
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;
314 val_t REGB0;
315 val_t tmp;
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;
321 fra.me.line = 50;
322 fra.me.meth = LOCATE_c_tools___CCompilationUnit___add_local_function;
323 fra.me.has_broke = 0;
324 fra.me.REG_size = 5;
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;
331 fra.me.REG[0] = p0;
332 fra.me.REG[1] = p1;
333 /* c_tools.nit:52 */
334 fra.me.REG[2] = CALL_c_tools___CCompilationUnit___body_decl(fra.me.REG[0])(fra.me.REG[0]);
335 REGB0 = TAG_Int(3);
336 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
337 if (!once_value_1) {
338 fra.me.REG[4] = BOX_NativeString("");
339 REGB0 = TAG_Int(0);
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]);
348 if (!once_value_2) {
349 fra.me.REG[4] = BOX_NativeString(";\n");
350 REGB0 = TAG_Int(2);
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]);
359 /* c_tools.nit:53 */
360 fra.me.REG[3] = CALL_c_tools___CCompilationUnit___body_impl(fra.me.REG[0])(fra.me.REG[0]);
361 if (!once_value_3) {
362 fra.me.REG[2] = BOX_NativeString("\n");
363 REGB0 = TAG_Int(1);
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]);
370 /* c_tools.nit:54 */
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;
375 return;
376 }
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;
380 val_t REGB0;
381 val_t tmp;
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;
387 fra.me.line = 57;
388 fra.me.meth = LOCATE_c_tools___CCompilationUnit___add_exported_function;
389 fra.me.has_broke = 0;
390 fra.me.REG_size = 5;
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;
397 fra.me.REG[0] = p0;
398 fra.me.REG[1] = p1;
399 /* c_tools.nit:59 */
400 fra.me.REG[2] = CALL_c_tools___CCompilationUnit___header_decl(fra.me.REG[0])(fra.me.REG[0]);
401 REGB0 = TAG_Int(3);
402 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
403 if (!once_value_1) {
404 fra.me.REG[4] = BOX_NativeString("");
405 REGB0 = TAG_Int(0);
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]);
414 if (!once_value_2) {
415 fra.me.REG[4] = BOX_NativeString(";\n");
416 REGB0 = TAG_Int(2);
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]);
425 /* c_tools.nit:60 */
426 fra.me.REG[3] = CALL_c_tools___CCompilationUnit___body_impl(fra.me.REG[0])(fra.me.REG[0]);
427 if (!once_value_3) {
428 fra.me.REG[2] = BOX_NativeString("\n");
429 REGB0 = TAG_Int(1);
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]);
436 /* c_tools.nit:61 */
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;
441 return;
442 }
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;
446 val_t tmp;
447 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
448 fra.me.file = LOCATE_c_tools;
449 fra.me.line = 64;
450 fra.me.meth = LOCATE_c_tools___CCompilationUnit___compile_header_core;
451 fra.me.has_broke = 0;
452 fra.me.REG_size = 3;
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;
457 fra.me.REG[0] = p0;
458 fra.me.REG[1] = p1;
459 /* c_tools.nit:66 */
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]);
462 /* c_tools.nit:67 */
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]);
465 /* c_tools.nit:68 */
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]);
468 /* c_tools.nit:69 */
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;
472 return;
473 }
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;
477 val_t tmp;
478 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
479 fra.me.file = LOCATE_c_tools;
480 fra.me.line = 72;
481 fra.me.meth = LOCATE_c_tools___CCompilationUnit___compile_body_core;
482 fra.me.has_broke = 0;
483 fra.me.REG_size = 3;
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;
488 fra.me.REG[0] = p0;
489 fra.me.REG[1] = p1;
490 /* c_tools.nit:74 */
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]);
493 /* c_tools.nit:75 */
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]);
496 /* c_tools.nit:76 */
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;
500 return;
501 }
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;
506 val_t tmp;
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;
510 fra.me.line = 0;
511 fra.me.meth = LOCATE_c_tools___CCompilationUnit___init;
512 fra.me.has_broke = 0;
513 fra.me.REG_size = 0;
514 fra.me.nitni_local_ref_head = NULL;
515 stack_frame_head = fra.me.prev;
516 init_table[itpos0] = 1;
517 return;
518 }
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;
522 val_t REGB0;
523 val_t tmp;
524 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
525 fra.me.file = LOCATE_c_tools;
526 fra.me.line = 82;
527 fra.me.meth = LOCATE_c_tools___CFunction___signature;
528 fra.me.has_broke = 0;
529 fra.me.REG_size = 1;
530 fra.me.nitni_local_ref_head = NULL;
531 fra.me.REG[0] = NIT_NULL;
532 fra.me.REG[0] = p0;
533 /* c_tools.nit:82 */
534 REGB0 = TAG_Bool(ATTR_c_tools___CFunction_____atsignature(fra.me.REG[0])!=NIT_NULL);
535 if (UNTAG_Bool(REGB0)) {
536 } else {
537 nit_abort("Uninitialized attribute %s", "@signature", LOCATE_c_tools, 82);
538 }
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];
542 }
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;
546 val_t tmp;
547 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
548 fra.me.file = LOCATE_c_tools;
549 fra.me.line = 82;
550 fra.me.meth = LOCATE_c_tools___CFunction___signature__eq;
551 fra.me.has_broke = 0;
552 fra.me.REG_size = 2;
553 fra.me.nitni_local_ref_head = NULL;
554 fra.me.REG[0] = NIT_NULL;
555 fra.me.REG[1] = NIT_NULL;
556 fra.me.REG[0] = p0;
557 fra.me.REG[1] = p1;
558 /* c_tools.nit:82 */
559 ATTR_c_tools___CFunction_____atsignature(fra.me.REG[0]) = fra.me.REG[1];
560 stack_frame_head = fra.me.prev;
561 return;
562 }
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;
566 val_t REGB0;
567 val_t tmp;
568 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
569 fra.me.file = LOCATE_c_tools;
570 fra.me.line = 84;
571 fra.me.meth = LOCATE_c_tools___CFunction___decls;
572 fra.me.has_broke = 0;
573 fra.me.REG_size = 1;
574 fra.me.nitni_local_ref_head = NULL;
575 fra.me.REG[0] = NIT_NULL;
576 fra.me.REG[0] = p0;
577 /* c_tools.nit:84 */
578 REGB0 = TAG_Bool(ATTR_c_tools___CFunction_____atdecls(fra.me.REG[0])!=NIT_NULL);
579 if (UNTAG_Bool(REGB0)) {
580 } else {
581 nit_abort("Uninitialized attribute %s", "@decls", LOCATE_c_tools, 84);
582 }
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];
586 }
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;
590 val_t tmp;
591 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
592 fra.me.file = LOCATE_c_tools;
593 fra.me.line = 84;
594 fra.me.meth = LOCATE_c_tools___CFunction___decls__eq;
595 fra.me.has_broke = 0;
596 fra.me.REG_size = 2;
597 fra.me.nitni_local_ref_head = NULL;
598 fra.me.REG[0] = NIT_NULL;
599 fra.me.REG[1] = NIT_NULL;
600 fra.me.REG[0] = p0;
601 fra.me.REG[1] = p1;
602 /* c_tools.nit:84 */
603 ATTR_c_tools___CFunction_____atdecls(fra.me.REG[0]) = fra.me.REG[1];
604 stack_frame_head = fra.me.prev;
605 return;
606 }
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;
610 val_t REGB0;
611 val_t tmp;
612 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
613 fra.me.file = LOCATE_c_tools;
614 fra.me.line = 85;
615 fra.me.meth = LOCATE_c_tools___CFunction___exprs;
616 fra.me.has_broke = 0;
617 fra.me.REG_size = 1;
618 fra.me.nitni_local_ref_head = NULL;
619 fra.me.REG[0] = NIT_NULL;
620 fra.me.REG[0] = p0;
621 /* c_tools.nit:85 */
622 REGB0 = TAG_Bool(ATTR_c_tools___CFunction_____atexprs(fra.me.REG[0])!=NIT_NULL);
623 if (UNTAG_Bool(REGB0)) {
624 } else {
625 nit_abort("Uninitialized attribute %s", "@exprs", LOCATE_c_tools, 85);
626 }
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];
630 }
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;
634 val_t tmp;
635 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
636 fra.me.file = LOCATE_c_tools;
637 fra.me.line = 85;
638 fra.me.meth = LOCATE_c_tools___CFunction___exprs__eq;
639 fra.me.has_broke = 0;
640 fra.me.REG_size = 2;
641 fra.me.nitni_local_ref_head = NULL;
642 fra.me.REG[0] = NIT_NULL;
643 fra.me.REG[1] = NIT_NULL;
644 fra.me.REG[0] = p0;
645 fra.me.REG[1] = p1;
646 /* c_tools.nit:85 */
647 ATTR_c_tools___CFunction_____atexprs(fra.me.REG[0]) = fra.me.REG[1];
648 stack_frame_head = fra.me.prev;
649 return;
650 }
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;
654 val_t REGB0;
655 val_t tmp;
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;
662 fra.me.line = 87;
663 fra.me.meth = LOCATE_c_tools___CFunction___to_writer;
664 fra.me.has_broke = 0;
665 fra.me.REG_size = 4;
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;
671 fra.me.REG[0] = p0;
672 /* c_tools.nit:89 */
673 fra.me.REG[1] = NEW_Writer_compiling_writer___Writer___init();
674 /* c_tools.nit:91 */
675 REGB0 = TAG_Int(3);
676 fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0);
677 if (!once_value_1) {
678 fra.me.REG[3] = BOX_NativeString("");
679 REGB0 = TAG_Int(0);
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]);
688 if (!once_value_2) {
689 fra.me.REG[3] = BOX_NativeString("\n{\n");
690 REGB0 = TAG_Int(3);
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]);
699 /* c_tools.nit:93 */
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]);
702 /* c_tools.nit:94 */
703 if (!once_value_3) {
704 fra.me.REG[2] = BOX_NativeString("\n");
705 REGB0 = TAG_Int(1);
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]);
712 /* c_tools.nit:95 */
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]);
715 /* c_tools.nit:97 */
716 if (!once_value_4) {
717 fra.me.REG[0] = BOX_NativeString("}\n");
718 REGB0 = TAG_Int(2);
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]);
725 /* c_tools.nit:99 */
726 goto label5;
727 label5: while(0);
728 stack_frame_head = fra.me.prev;
729 return fra.me.REG[1];
730 }
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;
735 val_t tmp;
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;
739 fra.me.line = 0;
740 fra.me.meth = LOCATE_c_tools___CFunction___init;
741 fra.me.has_broke = 0;
742 fra.me.REG_size = 2;
743 fra.me.nitni_local_ref_head = NULL;
744 fra.me.REG[0] = NIT_NULL;
745 fra.me.REG[1] = NIT_NULL;
746 fra.me.REG[0] = p0;
747 fra.me.REG[1] = p1;
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;
751 return;
752 }