c_src: update
[nit.git] / c_src / template.sep.1.c
1 #include "template.sep.0.h"
2 /* method template#Template#add for (self: Template, Streamable) */
3 void template__Template__add(val* self, val* p0) {
4 val* var_element /* var element: Streamable */;
5 short int var /* : Bool */;
6 short int var2 /* : Bool */;
7 short int var3 /* : Bool */;
8 val* var4 /* : Array[Streamable] */;
9 val* var6 /* : Array[Streamable] */;
10 var_element = p0;
11 {
12 { /* Inline template#Template#is_frozen (self) on <self:Template> */
13 var2 = self->attrs[COLOR_template__Template___is_frozen].s; /* _is_frozen on <self:Template> */
14 var = var2;
15 RET_LABEL1:(void)0;
16 }
17 }
18 var3 = !var;
19 if (unlikely(!var3)) {
20 PRINT_ERROR("Runtime error: %s", "Assert failed");
21 PRINT_ERROR(" (%s:%d)\n", "lib/template.nit", 110);
22 show_backtrace(1);
23 }
24 {
25 { /* Inline template#Template#content (self) on <self:Template> */
26 var6 = self->attrs[COLOR_template__Template___content].val; /* _content on <self:Template> */
27 if (unlikely(var6 == NULL)) {
28 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _content");
29 PRINT_ERROR(" (%s:%d)\n", "lib/template.nit", 183);
30 show_backtrace(1);
31 }
32 var4 = var6;
33 RET_LABEL5:(void)0;
34 }
35 }
36 {
37 array__Array__add(var4, var_element); /* Direct call array#Array#add on <var4:Array[Streamable]>*/
38 }
39 RET_LABEL:;
40 }
41 /* method template#Template#add for (self: Object, Streamable) */
42 void VIRTUAL_template__Template__add(val* self, val* p0) {
43 template__Template__add(self, p0); /* Direct call template#Template#add on <self:Object(Template)>*/
44 RET_LABEL:;
45 }
46 /* method template#Template#addn for (self: Template, Streamable) */
47 void template__Template__addn(val* self, val* p0) {
48 val* var_element /* var element: Streamable */;
49 static val* varonce;
50 val* var /* : String */;
51 char* var1 /* : NativeString */;
52 long var2 /* : Int */;
53 val* var3 /* : FlatString */;
54 var_element = p0;
55 {
56 template__Template__add(self, var_element); /* Direct call template#Template#add on <self:Template>*/
57 }
58 if (varonce) {
59 var = varonce;
60 } else {
61 var1 = "\n";
62 var2 = 1;
63 var3 = string__NativeString__to_s_with_length(var1, var2);
64 var = var3;
65 varonce = var;
66 }
67 {
68 template__Template__add(self, var); /* Direct call template#Template#add on <self:Template>*/
69 }
70 RET_LABEL:;
71 }
72 /* method template#Template#addn for (self: Object, Streamable) */
73 void VIRTUAL_template__Template__addn(val* self, val* p0) {
74 template__Template__addn(self, p0); /* Direct call template#Template#addn on <self:Object(Template)>*/
75 RET_LABEL:;
76 }
77 /* method template#Template#is_frozen for (self: Template): Bool */
78 short int template__Template__is_frozen(val* self) {
79 short int var /* : Bool */;
80 short int var1 /* : Bool */;
81 var1 = self->attrs[COLOR_template__Template___is_frozen].s; /* _is_frozen on <self:Template> */
82 var = var1;
83 RET_LABEL:;
84 return var;
85 }
86 /* method template#Template#is_frozen for (self: Object): Bool */
87 short int VIRTUAL_template__Template__is_frozen(val* self) {
88 short int var /* : Bool */;
89 short int var1 /* : Bool */;
90 short int var3 /* : Bool */;
91 { /* Inline template#Template#is_frozen (self) on <self:Object(Template)> */
92 var3 = self->attrs[COLOR_template__Template___is_frozen].s; /* _is_frozen on <self:Object(Template)> */
93 var1 = var3;
94 RET_LABEL2:(void)0;
95 }
96 var = var1;
97 RET_LABEL:;
98 return var;
99 }
100 /* method template#Template#is_frozen= for (self: Template, Bool) */
101 void template__Template__is_frozen_61d(val* self, short int p0) {
102 self->attrs[COLOR_template__Template___is_frozen].s = p0; /* _is_frozen on <self:Template> */
103 RET_LABEL:;
104 }
105 /* method template#Template#is_frozen= for (self: Object, Bool) */
106 void VIRTUAL_template__Template__is_frozen_61d(val* self, short int p0) {
107 { /* Inline template#Template#is_frozen= (self,p0) on <self:Object(Template)> */
108 self->attrs[COLOR_template__Template___is_frozen].s = p0; /* _is_frozen on <self:Object(Template)> */
109 RET_LABEL1:(void)0;
110 }
111 RET_LABEL:;
112 }
113 /* method template#Template#freeze for (self: Template) */
114 void template__Template__freeze(val* self) {
115 short int var /* : Bool */;
116 short int var2 /* : Bool */;
117 short int var3 /* : Bool */;
118 {
119 { /* Inline template#Template#is_frozen (self) on <self:Template> */
120 var2 = self->attrs[COLOR_template__Template___is_frozen].s; /* _is_frozen on <self:Template> */
121 var = var2;
122 RET_LABEL1:(void)0;
123 }
124 }
125 if (var){
126 goto RET_LABEL;
127 } else {
128 }
129 var3 = 1;
130 {
131 { /* Inline template#Template#is_frozen= (self,var3) on <self:Template> */
132 self->attrs[COLOR_template__Template___is_frozen].s = var3; /* _is_frozen on <self:Template> */
133 RET_LABEL4:(void)0;
134 }
135 }
136 RET_LABEL:;
137 }
138 /* method template#Template#freeze for (self: Object) */
139 void VIRTUAL_template__Template__freeze(val* self) {
140 template__Template__freeze(self); /* Direct call template#Template#freeze on <self:Object(Template)>*/
141 RET_LABEL:;
142 }
143 /* method template#Template#content for (self: Template): Array[Streamable] */
144 val* template__Template__content(val* self) {
145 val* var /* : Array[Streamable] */;
146 val* var1 /* : Array[Streamable] */;
147 var1 = self->attrs[COLOR_template__Template___content].val; /* _content on <self:Template> */
148 if (unlikely(var1 == NULL)) {
149 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _content");
150 PRINT_ERROR(" (%s:%d)\n", "lib/template.nit", 183);
151 show_backtrace(1);
152 }
153 var = var1;
154 RET_LABEL:;
155 return var;
156 }
157 /* method template#Template#content for (self: Object): Array[Streamable] */
158 val* VIRTUAL_template__Template__content(val* self) {
159 val* var /* : Array[Streamable] */;
160 val* var1 /* : Array[Streamable] */;
161 val* var3 /* : Array[Streamable] */;
162 { /* Inline template#Template#content (self) on <self:Object(Template)> */
163 var3 = self->attrs[COLOR_template__Template___content].val; /* _content on <self:Object(Template)> */
164 if (unlikely(var3 == NULL)) {
165 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _content");
166 PRINT_ERROR(" (%s:%d)\n", "lib/template.nit", 183);
167 show_backtrace(1);
168 }
169 var1 = var3;
170 RET_LABEL2:(void)0;
171 }
172 var = var1;
173 RET_LABEL:;
174 return var;
175 }
176 /* method template#Template#render_done for (self: Template): Bool */
177 short int template__Template__render_done(val* self) {
178 short int var /* : Bool */;
179 short int var1 /* : Bool */;
180 var1 = self->attrs[COLOR_template__Template___render_done].s; /* _render_done on <self:Template> */
181 var = var1;
182 RET_LABEL:;
183 return var;
184 }
185 /* method template#Template#render_done for (self: Object): Bool */
186 short int VIRTUAL_template__Template__render_done(val* self) {
187 short int var /* : Bool */;
188 short int var1 /* : Bool */;
189 short int var3 /* : Bool */;
190 { /* Inline template#Template#render_done (self) on <self:Object(Template)> */
191 var3 = self->attrs[COLOR_template__Template___render_done].s; /* _render_done on <self:Object(Template)> */
192 var1 = var3;
193 RET_LABEL2:(void)0;
194 }
195 var = var1;
196 RET_LABEL:;
197 return var;
198 }
199 /* method template#Template#render_done= for (self: Template, Bool) */
200 void template__Template__render_done_61d(val* self, short int p0) {
201 self->attrs[COLOR_template__Template___render_done].s = p0; /* _render_done on <self:Template> */
202 RET_LABEL:;
203 }
204 /* method template#Template#render_done= for (self: Object, Bool) */
205 void VIRTUAL_template__Template__render_done_61d(val* self, short int p0) {
206 { /* Inline template#Template#render_done= (self,p0) on <self:Object(Template)> */
207 self->attrs[COLOR_template__Template___render_done].s = p0; /* _render_done on <self:Object(Template)> */
208 RET_LABEL1:(void)0;
209 }
210 RET_LABEL:;
211 }
212 /* method template#Template#force_render for (self: Template) */
213 void template__Template__force_render(val* self) {
214 short int var /* : Bool */;
215 short int var2 /* : Bool */;
216 short int var3 /* : Bool */;
217 {
218 { /* Inline template#Template#render_done (self) on <self:Template> */
219 var2 = self->attrs[COLOR_template__Template___render_done].s; /* _render_done on <self:Template> */
220 var = var2;
221 RET_LABEL1:(void)0;
222 }
223 }
224 if (var){
225 goto RET_LABEL;
226 } else {
227 }
228 var3 = 1;
229 {
230 { /* Inline template#Template#render_done= (self,var3) on <self:Template> */
231 self->attrs[COLOR_template__Template___render_done].s = var3; /* _render_done on <self:Template> */
232 RET_LABEL4:(void)0;
233 }
234 }
235 {
236 toolcontext__BashCompletion__rendering(self); /* Direct call toolcontext#BashCompletion#rendering on <self:Template>*/
237 }
238 {
239 template__Template__freeze(self); /* Direct call template#Template#freeze on <self:Template>*/
240 }
241 RET_LABEL:;
242 }
243 /* method template#Template#force_render for (self: Object) */
244 void VIRTUAL_template__Template__force_render(val* self) {
245 template__Template__force_render(self); /* Direct call template#Template#force_render on <self:Object(Template)>*/
246 RET_LABEL:;
247 }
248 /* method template#Template#write_to for (self: Template, OStream) */
249 void template__Template__write_to(val* self, val* p0) {
250 val* var_stream /* var stream: OStream */;
251 short int var /* : Bool */;
252 short int var2 /* : Bool */;
253 short int var3 /* : Bool */;
254 short int var4 /* : Bool */;
255 val* var6 /* : Array[Streamable] */;
256 val* var8 /* : Array[Streamable] */;
257 val* var9 /* : ArrayIterator[nullable Object] */;
258 short int var10 /* : Bool */;
259 val* var11 /* : nullable Object */;
260 val* var_e /* var e: Streamable */;
261 short int var12 /* : Bool */;
262 var_stream = p0;
263 {
264 { /* Inline template#Template#is_writing (self) on <self:Template> */
265 var2 = self->attrs[COLOR_template__Template___is_writing].s; /* _is_writing on <self:Template> */
266 var = var2;
267 RET_LABEL1:(void)0;
268 }
269 }
270 var3 = !var;
271 if (unlikely(!var3)) {
272 PRINT_ERROR("Runtime error: %s", "Assert failed");
273 PRINT_ERROR(" (%s:%d)\n", "lib/template.nit", 205);
274 show_backtrace(1);
275 }
276 var4 = 1;
277 {
278 { /* Inline template#Template#is_writing= (self,var4) on <self:Template> */
279 self->attrs[COLOR_template__Template___is_writing].s = var4; /* _is_writing on <self:Template> */
280 RET_LABEL5:(void)0;
281 }
282 }
283 {
284 template__Template__force_render(self); /* Direct call template#Template#force_render on <self:Template>*/
285 }
286 {
287 { /* Inline template#Template#content (self) on <self:Template> */
288 var8 = self->attrs[COLOR_template__Template___content].val; /* _content on <self:Template> */
289 if (unlikely(var8 == NULL)) {
290 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _content");
291 PRINT_ERROR(" (%s:%d)\n", "lib/template.nit", 183);
292 show_backtrace(1);
293 }
294 var6 = var8;
295 RET_LABEL7:(void)0;
296 }
297 }
298 {
299 var9 = array__AbstractArrayRead__iterator(var6);
300 }
301 for(;;) {
302 {
303 var10 = array__ArrayIterator__is_ok(var9);
304 }
305 if(!var10) break;
306 {
307 var11 = array__ArrayIterator__item(var9);
308 }
309 var_e = var11;
310 {
311 ((void (*)(val*, val*))(var_e->class->vft[COLOR_stream__Streamable__write_to]))(var_e, var_stream) /* write_to on <var_e:Streamable>*/;
312 }
313 CONTINUE_label: (void)0;
314 {
315 array__ArrayIterator__next(var9); /* Direct call array#ArrayIterator#next on <var9:ArrayIterator[nullable Object]>*/
316 }
317 }
318 BREAK_label: (void)0;
319 var12 = 0;
320 {
321 { /* Inline template#Template#is_writing= (self,var12) on <self:Template> */
322 self->attrs[COLOR_template__Template___is_writing].s = var12; /* _is_writing on <self:Template> */
323 RET_LABEL13:(void)0;
324 }
325 }
326 RET_LABEL:;
327 }
328 /* method template#Template#write_to for (self: Object, OStream) */
329 void VIRTUAL_template__Template__write_to(val* self, val* p0) {
330 template__Template__write_to(self, p0); /* Direct call template#Template#write_to on <self:Object(Template)>*/
331 RET_LABEL:;
332 }
333 /* method template#Template#is_writing for (self: Template): Bool */
334 short int template__Template__is_writing(val* self) {
335 short int var /* : Bool */;
336 short int var1 /* : Bool */;
337 var1 = self->attrs[COLOR_template__Template___is_writing].s; /* _is_writing on <self:Template> */
338 var = var1;
339 RET_LABEL:;
340 return var;
341 }
342 /* method template#Template#is_writing for (self: Object): Bool */
343 short int VIRTUAL_template__Template__is_writing(val* self) {
344 short int var /* : Bool */;
345 short int var1 /* : Bool */;
346 short int var3 /* : Bool */;
347 { /* Inline template#Template#is_writing (self) on <self:Object(Template)> */
348 var3 = self->attrs[COLOR_template__Template___is_writing].s; /* _is_writing on <self:Object(Template)> */
349 var1 = var3;
350 RET_LABEL2:(void)0;
351 }
352 var = var1;
353 RET_LABEL:;
354 return var;
355 }
356 /* method template#Template#is_writing= for (self: Template, Bool) */
357 void template__Template__is_writing_61d(val* self, short int p0) {
358 self->attrs[COLOR_template__Template___is_writing].s = p0; /* _is_writing on <self:Template> */
359 RET_LABEL:;
360 }
361 /* method template#Template#is_writing= for (self: Object, Bool) */
362 void VIRTUAL_template__Template__is_writing_61d(val* self, short int p0) {
363 { /* Inline template#Template#is_writing= (self,p0) on <self:Object(Template)> */
364 self->attrs[COLOR_template__Template___is_writing].s = p0; /* _is_writing on <self:Object(Template)> */
365 RET_LABEL1:(void)0;
366 }
367 RET_LABEL:;
368 }
369 /* method template#Template#init for (self: Template) */
370 void template__Template__init(val* self) {
371 RET_LABEL:;
372 }
373 /* method template#Template#init for (self: Object) */
374 void VIRTUAL_template__Template__init(val* self) {
375 { /* Inline template#Template#init (self) on <self:Object(Template)> */
376 RET_LABEL1:(void)0;
377 }
378 RET_LABEL:;
379 }