1 #include "template.sep.0.h"
2 /* method template#Template#rendering for (self: Template) */
3 void template__Template__rendering(val
* self
) {
6 /* method template#Template#rendering for (self: Object) */
7 void VIRTUAL_template__Template__rendering(val
* self
) {
8 template__Template__rendering(self
);
11 /* method template#Template#add for (self: Template, Streamable) */
12 void template__Template__add(val
* self
, val
* p0
) {
13 val
* var_element
/* var element: Streamable */;
14 short int var
/* : Bool */;
15 short int var1
/* : Bool */;
16 val
* var2
/* : Array[Streamable] */;
18 var
= ((short int (*)(val
*))(self
->class->vft
[COLOR_template__Template__is_frozen
]))(self
) /* is_frozen on <self:Template>*/;
21 fprintf(stderr
, "Runtime error: %s", "Assert failed");
22 fprintf(stderr
, " (%s:%d)\n", "lib/template.nit", 108);
25 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_template__Template__content
]))(self
) /* content on <self:Template>*/;
26 ((void (*)(val
*, val
*))(var2
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var2
, var_element
) /* add on <var2:Array[Streamable]>*/;
29 /* method template#Template#add for (self: Object, Streamable) */
30 void VIRTUAL_template__Template__add(val
* self
, val
* p0
) {
31 template__Template__add(self
, p0
);
34 /* method template#Template#add_all for (self: Template, Collection[Streamable]) */
35 void template__Template__add_all(val
* self
, val
* p0
) {
36 val
* var_elements
/* var elements: Collection[Streamable] */;
37 val
* var
/* : Array[Streamable] */;
39 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_template__Template__content
]))(self
) /* content on <self:Template>*/;
40 ((void (*)(val
*, val
*))(var
->class->vft
[COLOR_abstract_collection__SimpleCollection__add_all
]))(var
, var_elements
) /* add_all on <var:Array[Streamable]>*/;
43 /* method template#Template#add_all for (self: Object, Collection[Streamable]) */
44 void VIRTUAL_template__Template__add_all(val
* self
, val
* p0
) {
45 template__Template__add_all(self
, p0
);
48 /* method template#Template#add_list for (self: Template, Collection[Streamable], Streamable, Streamable) */
49 void template__Template__add_list(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
50 val
* var_elements
/* var elements: Collection[Streamable] */;
51 val
* var_sep
/* var sep: Streamable */;
52 val
* var_last_sep
/* var last_sep: Streamable */;
54 long var1
/* : Int */;
55 long var2
/* : Int */;
56 long var4
/* : Int */;
57 long var_last
/* var last: Int */;
58 long var5
/* : Int */;
59 long var_i
/* var i: Int */;
60 val
* var6
/* : Iterator[nullable Object] */;
61 short int var7
/* : Bool */;
62 val
* var8
/* : nullable Object */;
63 val
* var_e
/* var e: Streamable */;
64 val
* var9
/* : Array[Streamable] */;
65 short int var10
/* : Bool */;
66 short int var12
/* : Bool */;
69 const char* var_class_name
;
70 short int var13
/* : Bool */;
71 val
* var14
/* : Array[Streamable] */;
72 short int var15
/* : Bool */;
73 short int var17
/* : Bool */;
74 val
* var18
/* : Array[Streamable] */;
75 long var19
/* : Int */;
76 long var20
/* : Int */;
77 long var22
/* : Int */;
81 var
= ((long (*)(val
*))(var_elements
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_elements
) /* length on <var_elements:Collection[Streamable]>*/;
83 { /* Inline kernel#Int#- (var,var1) */
92 var6
= ((val
* (*)(val
*))(var_elements
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_elements
) /* iterator on <var_elements:Collection[Streamable]>*/;
94 var7
= ((short int (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var6
) /* is_ok on <var6:Iterator[nullable Object]>*/;
96 var8
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var6
) /* item on <var6:Iterator[nullable Object]>*/;
98 var9
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_template__Template__content
]))(self
) /* content on <self:Template>*/;
99 ((void (*)(val
*, val
*))(var9
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var9
, var_e
) /* add on <var9:Array[Streamable]>*/;
100 { /* Inline kernel#Int#< (var_i,var_last) */
101 /* Covariant cast for argument 0 (i) <var_last:Int> isa OTHER */
102 /* <var_last:Int> isa OTHER */
103 var12
= 1; /* easy <var_last:Int> isa OTHER*/
105 var_class_name
= type_kernel__Int
.name
;
106 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
107 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
110 var13
= var_i
< var_last
;
116 var14
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_template__Template__content
]))(self
) /* content on <self:Template>*/;
117 ((void (*)(val
*, val
*))(var14
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var14
, var_sep
) /* add on <var14:Array[Streamable]>*/;
119 { /* Inline kernel#Int#== (var_i,var_last) */
120 var17
= var_i
== var_last
;
126 var18
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_template__Template__content
]))(self
) /* content on <self:Template>*/;
127 ((void (*)(val
*, val
*))(var18
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var18
, var_last_sep
) /* add on <var18:Array[Streamable]>*/;
132 { /* Inline kernel#Int#+ (var_i,var19) */
133 var22
= var_i
+ var19
;
139 CONTINUE_label
: (void)0;
140 ((void (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var6
) /* next on <var6:Iterator[nullable Object]>*/;
142 BREAK_label
: (void)0;
145 /* method template#Template#add_list for (self: Object, Collection[Streamable], Streamable, Streamable) */
146 void VIRTUAL_template__Template__add_list(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
147 template__Template__add_list(self
, p0
, p1
, p2
);
150 /* method template#Template#is_frozen for (self: Template): Bool */
151 short int template__Template__is_frozen(val
* self
) {
152 short int var
/* : Bool */;
153 short int var1
/* : Bool */;
154 var1
= self
->attrs
[COLOR_template__Template___64dis_frozen
].s
; /* @is_frozen on <self:Template> */
159 /* method template#Template#is_frozen for (self: Object): Bool */
160 short int VIRTUAL_template__Template__is_frozen(val
* self
) {
161 short int var
/* : Bool */;
162 short int var1
/* : Bool */;
163 var1
= template__Template__is_frozen(self
);
168 /* method template#Template#is_frozen= for (self: Template, Bool) */
169 void template__Template__is_frozen_61d(val
* self
, short int p0
) {
170 self
->attrs
[COLOR_template__Template___64dis_frozen
].s
= p0
; /* @is_frozen on <self:Template> */
173 /* method template#Template#is_frozen= for (self: Object, Bool) */
174 void VIRTUAL_template__Template__is_frozen_61d(val
* self
, short int p0
) {
175 template__Template__is_frozen_61d(self
, p0
);
178 /* method template#Template#freeze for (self: Template) */
179 void template__Template__freeze(val
* self
) {
180 short int var
/* : Bool */;
181 short int var1
/* : Bool */;
182 var
= ((short int (*)(val
*))(self
->class->vft
[COLOR_template__Template__is_frozen
]))(self
) /* is_frozen on <self:Template>*/;
188 ((void (*)(val
*, short int))(self
->class->vft
[COLOR_template__Template__is_frozen_61d
]))(self
, var1
) /* is_frozen= on <self:Template>*/;
191 /* method template#Template#freeze for (self: Object) */
192 void VIRTUAL_template__Template__freeze(val
* self
) {
193 template__Template__freeze(self
);
196 /* method template#Template#new_sub for (self: Template): Template */
197 val
* template__Template__new_sub(val
* self
) {
198 val
* var
/* : Template */;
199 val
* var1
/* : Template */;
200 val
* var_res
/* var res: Template */;
201 var1
= NEW_template__Template(&type_template__Template
);
202 ((void (*)(val
*))(var1
->class->vft
[COLOR_template__Template__init
]))(var1
) /* init on <var1:Template>*/;
204 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_template__Template__add
]))(self
, var_res
) /* add on <self:Template>*/;
210 /* method template#Template#new_sub for (self: Object): Template */
211 val
* VIRTUAL_template__Template__new_sub(val
* self
) {
212 val
* var
/* : Template */;
213 val
* var1
/* : Template */;
214 var1
= template__Template__new_sub(self
);
219 /* method template#Template#content for (self: Template): Array[Streamable] */
220 val
* template__Template__content(val
* self
) {
221 val
* var
/* : Array[Streamable] */;
222 val
* var1
/* : Array[Streamable] */;
223 var1
= self
->attrs
[COLOR_template__Template___64dcontent
].val
; /* @content on <self:Template> */
225 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @content");
226 fprintf(stderr
, " (%s:%d)\n", "lib/template.nit", 170);
233 /* method template#Template#content for (self: Object): Array[Streamable] */
234 val
* VIRTUAL_template__Template__content(val
* self
) {
235 val
* var
/* : Array[Streamable] */;
236 val
* var1
/* : Array[Streamable] */;
237 var1
= template__Template__content(self
);
242 /* method template#Template#content= for (self: Template, Array[Streamable]) */
243 void template__Template__content_61d(val
* self
, val
* p0
) {
244 self
->attrs
[COLOR_template__Template___64dcontent
].val
= p0
; /* @content on <self:Template> */
247 /* method template#Template#content= for (self: Object, Array[Streamable]) */
248 void VIRTUAL_template__Template__content_61d(val
* self
, val
* p0
) {
249 template__Template__content_61d(self
, p0
);
252 /* method template#Template#render_done for (self: Template): Bool */
253 short int template__Template__render_done(val
* self
) {
254 short int var
/* : Bool */;
255 short int var1
/* : Bool */;
256 var1
= self
->attrs
[COLOR_template__Template___64drender_done
].s
; /* @render_done on <self:Template> */
261 /* method template#Template#render_done for (self: Object): Bool */
262 short int VIRTUAL_template__Template__render_done(val
* self
) {
263 short int var
/* : Bool */;
264 short int var1
/* : Bool */;
265 var1
= template__Template__render_done(self
);
270 /* method template#Template#render_done= for (self: Template, Bool) */
271 void template__Template__render_done_61d(val
* self
, short int p0
) {
272 self
->attrs
[COLOR_template__Template___64drender_done
].s
= p0
; /* @render_done on <self:Template> */
275 /* method template#Template#render_done= for (self: Object, Bool) */
276 void VIRTUAL_template__Template__render_done_61d(val
* self
, short int p0
) {
277 template__Template__render_done_61d(self
, p0
);
280 /* method template#Template#force_render for (self: Template) */
281 void template__Template__force_render(val
* self
) {
282 short int var
/* : Bool */;
283 short int var1
/* : Bool */;
284 var
= ((short int (*)(val
*))(self
->class->vft
[COLOR_template__Template__render_done
]))(self
) /* render_done on <self:Template>*/;
290 ((void (*)(val
*, short int))(self
->class->vft
[COLOR_template__Template__render_done_61d
]))(self
, var1
) /* render_done= on <self:Template>*/;
291 ((void (*)(val
*))(self
->class->vft
[COLOR_template__Template__rendering
]))(self
) /* rendering on <self:Template>*/;
292 ((void (*)(val
*))(self
->class->vft
[COLOR_template__Template__freeze
]))(self
) /* freeze on <self:Template>*/;
295 /* method template#Template#force_render for (self: Object) */
296 void VIRTUAL_template__Template__force_render(val
* self
) {
297 template__Template__force_render(self
);
300 /* method template#Template#write_to for (self: Template, OStream) */
301 void template__Template__write_to(val
* self
, val
* p0
) {
302 val
* var_stream
/* var stream: OStream */;
303 short int var
/* : Bool */;
304 short int var1
/* : Bool */;
305 short int var2
/* : Bool */;
306 val
* var3
/* : Array[Streamable] */;
307 val
* var4
/* : Iterator[nullable Object] */;
308 short int var5
/* : Bool */;
309 val
* var6
/* : nullable Object */;
310 val
* var_e
/* var e: Streamable */;
311 short int var7
/* : Bool */;
313 var
= ((short int (*)(val
*))(self
->class->vft
[COLOR_template__Template__is_writing
]))(self
) /* is_writing on <self:Template>*/;
316 fprintf(stderr
, "Runtime error: %s", "Assert failed");
317 fprintf(stderr
, " (%s:%d)\n", "lib/template.nit", 192);
321 ((void (*)(val
*, short int))(self
->class->vft
[COLOR_template__Template__is_writing_61d
]))(self
, var2
) /* is_writing= on <self:Template>*/;
322 ((void (*)(val
*))(self
->class->vft
[COLOR_template__Template__force_render
]))(self
) /* force_render on <self:Template>*/;
323 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_template__Template__content
]))(self
) /* content on <self:Template>*/;
324 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var3
) /* iterator on <var3:Array[Streamable]>*/;
326 var5
= ((short int (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var4
) /* is_ok on <var4:Iterator[nullable Object]>*/;
328 var6
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var4
) /* item on <var4:Iterator[nullable Object]>*/;
330 ((void (*)(val
*, val
*))(var_e
->class->vft
[COLOR_stream__Streamable__write_to
]))(var_e
, var_stream
) /* write_to on <var_e:Streamable>*/;
331 CONTINUE_label
: (void)0;
332 ((void (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var4
) /* next on <var4:Iterator[nullable Object]>*/;
334 BREAK_label
: (void)0;
336 ((void (*)(val
*, short int))(self
->class->vft
[COLOR_template__Template__is_writing_61d
]))(self
, var7
) /* is_writing= on <self:Template>*/;
339 /* method template#Template#write_to for (self: Object, OStream) */
340 void VIRTUAL_template__Template__write_to(val
* self
, val
* p0
) {
341 template__Template__write_to(self
, p0
);
344 /* method template#Template#is_writing for (self: Template): Bool */
345 short int template__Template__is_writing(val
* self
) {
346 short int var
/* : Bool */;
347 short int var1
/* : Bool */;
348 var1
= self
->attrs
[COLOR_template__Template___64dis_writing
].s
; /* @is_writing on <self:Template> */
353 /* method template#Template#is_writing for (self: Object): Bool */
354 short int VIRTUAL_template__Template__is_writing(val
* self
) {
355 short int var
/* : Bool */;
356 short int var1
/* : Bool */;
357 var1
= template__Template__is_writing(self
);
362 /* method template#Template#is_writing= for (self: Template, Bool) */
363 void template__Template__is_writing_61d(val
* self
, short int p0
) {
364 self
->attrs
[COLOR_template__Template___64dis_writing
].s
= p0
; /* @is_writing on <self:Template> */
367 /* method template#Template#is_writing= for (self: Object, Bool) */
368 void VIRTUAL_template__Template__is_writing_61d(val
* self
, short int p0
) {
369 template__Template__is_writing_61d(self
, p0
);
372 /* method template#Template#write_to_string for (self: Template): String */
373 val
* template__Template__write_to_string(val
* self
) {
374 val
* var
/* : String */;
375 val
* var1
/* : StringOStream */;
376 val
* var_stream
/* var stream: StringOStream */;
377 val
* var2
/* : String */;
378 var1
= NEW_stream__StringOStream(&type_stream__StringOStream
);
379 ((void (*)(val
*))(var1
->class->vft
[COLOR_stream__StringOStream__init
]))(var1
) /* init on <var1:StringOStream>*/;
381 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_stream__Streamable__write_to
]))(self
, var_stream
) /* write_to on <self:Template>*/;
382 var2
= ((val
* (*)(val
*))(var_stream
->class->vft
[COLOR_string__Object__to_s
]))(var_stream
) /* to_s on <var_stream:StringOStream>*/;
388 /* method template#Template#write_to_string for (self: Object): String */
389 val
* VIRTUAL_template__Template__write_to_string(val
* self
) {
390 val
* var
/* : String */;
391 val
* var1
/* : String */;
392 var1
= template__Template__write_to_string(self
);
397 /* method template#Template#write_to_file for (self: Template, String) */
398 void template__Template__write_to_file(val
* self
, val
* p0
) {
399 val
* var_filepath
/* var filepath: String */;
400 val
* var
/* : OFStream */;
401 val
* var_stream
/* var stream: OFStream */;
403 var
= NEW_file__OFStream(&type_file__OFStream
);
404 ((void (*)(val
*, val
*))(var
->class->vft
[COLOR_file__OFStream__open
]))(var
, var_filepath
) /* open on <var:OFStream>*/;
406 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_stream__Streamable__write_to
]))(self
, var_stream
) /* write_to on <self:Template>*/;
407 ((void (*)(val
*))(var_stream
->class->vft
[COLOR_stream__IOS__close
]))(var_stream
) /* close on <var_stream:OFStream>*/;
410 /* method template#Template#write_to_file for (self: Object, String) */
411 void VIRTUAL_template__Template__write_to_file(val
* self
, val
* p0
) {
412 template__Template__write_to_file(self
, p0
);
415 /* method template#Template#init for (self: Template) */
416 void template__Template__init(val
* self
) {
419 /* method template#Template#init for (self: Object) */
420 void VIRTUAL_template__Template__init(val
* self
) {
421 template__Template__init(self
);