X-Git-Url: http://nitlanguage.org diff --git a/c_src/template.sep.1.c b/c_src/template.sep.1.c index 5026e9c..994fc69 100644 --- a/c_src/template.sep.1.c +++ b/c_src/template.sep.1.c @@ -1,423 +1,284 @@ #include "template.sep.0.h" -/* method template#Template#rendering for (self: Template) */ -void template__Template__rendering(val* self) { +/* method template$Template$rendering for (self: Template) */ +void template___template__Template___rendering(val* self) { RET_LABEL:; } -/* method template#Template#rendering for (self: Object) */ -void VIRTUAL_template__Template__rendering(val* self) { -template__Template__rendering(self); -RET_LABEL:; -} -/* method template#Template#add for (self: Template, Streamable) */ -void template__Template__add(val* self, val* p0) { -val* var_element /* var element: Streamable */; +/* method template$Template$add for (self: Template, Writable) */ +void template___template__Template___add(val* self, val* p0) { +val* var_element /* var element: Writable */; short int var /* : Bool */; -short int var1 /* : Bool */; -val* var2 /* : Array[Streamable] */; +short int var2 /* : Bool */; +short int var3 /* : Bool */; +val* var4 /* : Array[Writable] */; +val* var6 /* : Array[Writable] */; var_element = p0; -var = ((short int (*)(val*))(self->class->vft[COLOR_template__Template__is_frozen]))(self) /* is_frozen on */; -var1 = !var; -if (!var1) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "lib/template.nit", 108); -show_backtrace(1); -} -var2 = ((val* (*)(val*))(self->class->vft[COLOR_template__Template__content]))(self) /* content on */; -((void (*)(val*, val*))(var2->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var2, var_element) /* add on */; -RET_LABEL:; +{ +{ /* Inline template$Template$is_frozen (self) on */ +var2 = self->attrs[COLOR_template__Template___is_frozen].s; /* _is_frozen on */ +var = var2; +RET_LABEL1:(void)0; } -/* method template#Template#add for (self: Object, Streamable) */ -void VIRTUAL_template__Template__add(val* self, val* p0) { -template__Template__add(self, p0); -RET_LABEL:; } -/* method template#Template#add_all for (self: Template, Collection[Streamable]) */ -void template__Template__add_all(val* self, val* p0) { -val* var_elements /* var elements: Collection[Streamable] */; -val* var /* : Array[Streamable] */; -var_elements = p0; -var = ((val* (*)(val*))(self->class->vft[COLOR_template__Template__content]))(self) /* content on */; -((void (*)(val*, val*))(var->class->vft[COLOR_abstract_collection__SimpleCollection__add_all]))(var, var_elements) /* add_all on */; -RET_LABEL:; +var3 = !var; +if (unlikely(!var3)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); } -/* method template#Template#add_all for (self: Object, Collection[Streamable]) */ -void VIRTUAL_template__Template__add_all(val* self, val* p0) { -template__Template__add_all(self, p0); -RET_LABEL:; +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_template, 110); +fatal_exit(1); } -/* method template#Template#add_list for (self: Template, Collection[Streamable], Streamable, Streamable) */ -void template__Template__add_list(val* self, val* p0, val* p1, val* p2) { -val* var_elements /* var elements: Collection[Streamable] */; -val* var_sep /* var sep: Streamable */; -val* var_last_sep /* var last_sep: Streamable */; -long var /* : Int */; -long var1 /* : Int */; -long var2 /* : Int */; -long var4 /* : Int */; -long var_last /* var last: Int */; -long var5 /* : Int */; -long var_i /* var i: Int */; -val* var6 /* : Iterator[nullable Object] */; -short int var7 /* : Bool */; -val* var8 /* : nullable Object */; -val* var_e /* var e: Streamable */; -val* var9 /* : Array[Streamable] */; -short int var10 /* : Bool */; -short int var12 /* : Bool */; -int cltype; -int idtype; -const char* var_class_name; -short int var13 /* : Bool */; -val* var14 /* : Array[Streamable] */; -short int var15 /* : Bool */; -short int var17 /* : Bool */; -val* var18 /* : Array[Streamable] */; -long var19 /* : Int */; -long var20 /* : Int */; -long var22 /* : Int */; -var_elements = p0; -var_sep = p1; -var_last_sep = p2; -var = ((long (*)(val*))(var_elements->class->vft[COLOR_abstract_collection__Collection__length]))(var_elements) /* length on */; -var1 = 2; -{ /* Inline kernel#Int#- (var,var1) */ -var4 = var - var1; -var2 = var4; -goto RET_LABEL3; -RET_LABEL3:(void)0; +{ +{ /* Inline template$Template$content (self) on */ +var6 = self->attrs[COLOR_template__Template___content].val; /* _content on */ +if (unlikely(var6 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); } -var_last = var2; -var5 = 0; -var_i = var5; -var6 = ((val* (*)(val*))(var_elements->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_elements) /* iterator on */; -for(;;) { -var7 = ((short int (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var6) /* is_ok on */; -if(!var7) break; -var8 = ((val* (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__item]))(var6) /* item on */; -var_e = var8; -var9 = ((val* (*)(val*))(self->class->vft[COLOR_template__Template__content]))(self) /* content on */; -((void (*)(val*, val*))(var9->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var9, var_e) /* add on */; -{ /* Inline kernel#Int#< (var_i,var_last) */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var12 = 1; /* easy isa OTHER*/ -if (!var12) { -var_class_name = type_kernel__Int.name; -fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 265); -show_backtrace(1); -} -var13 = var_i < var_last; -var10 = var13; -goto RET_LABEL11; -RET_LABEL11:(void)0; -} -if (var10){ -var14 = ((val* (*)(val*))(self->class->vft[COLOR_template__Template__content]))(self) /* content on */; -((void (*)(val*, val*))(var14->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var14, var_sep) /* add on */; -} else { -{ /* Inline kernel#Int#== (var_i,var_last) */ -var17 = var_i == var_last; -var15 = var17; -goto RET_LABEL16; -RET_LABEL16:(void)0; -} -if (var15){ -var18 = ((val* (*)(val*))(self->class->vft[COLOR_template__Template__content]))(self) /* content on */; -((void (*)(val*, val*))(var18->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var18, var_last_sep) /* add on */; -} else { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _content"); +PRINT_ERROR(" (%s:%d)\n", FILE_template, 183); +fatal_exit(1); } +var4 = var6; +RET_LABEL5:(void)0; } -var19 = 1; -{ /* Inline kernel#Int#+ (var_i,var19) */ -var22 = var_i + var19; -var20 = var22; -goto RET_LABEL21; -RET_LABEL21:(void)0; } -var_i = var20; -CONTINUE_label: (void)0; -((void (*)(val*))(var6->class->vft[COLOR_abstract_collection__Iterator__next]))(var6) /* next on */; +{ +core___core__Array___core__abstract_collection__SimpleCollection__add(var4, var_element); /* Direct call array$Array$add on */ } -BREAK_label: (void)0; RET_LABEL:; } -/* method template#Template#add_list for (self: Object, Collection[Streamable], Streamable, Streamable) */ -void VIRTUAL_template__Template__add_list(val* self, val* p0, val* p1, val* p2) { -template__Template__add_list(self, p0, p1, p2); -RET_LABEL:; +/* method template$Template$addn for (self: Template, Writable) */ +void template___template__Template___addn(val* self, val* p0) { +val* var_element /* var element: Writable */; +static val* varonce; +val* var /* : String */; +char* var1 /* : CString */; +val* var2 /* : String */; +val* var3 /* : nullable Int */; +val* var4 /* : nullable Int */; +val* var5 /* : nullable Bool */; +val* var6 /* : nullable Bool */; +var_element = p0; +{ +template___template__Template___add(self, var_element); /* Direct call template$Template$add on */ +} +if (likely(varonce!=NULL)) { +var = varonce; +} else { +var1 = "\n"; +var3 = (val*)(1l<<2|1); +var4 = (val*)(1l<<2|1); +var5 = (val*)((long)(0)<<2|3); +var6 = (val*)((long)(0)<<2|3); +var2 = core__flat___CString___to_s_unsafe(var1, var3, var4, var5, var6); +var = var2; +varonce = var; +} +{ +template___template__Template___add(self, var); /* Direct call template$Template$add on */ } -/* method template#Template#is_frozen for (self: Template): Bool */ -short int template__Template__is_frozen(val* self) { -short int var /* : Bool */; -short int var1 /* : Bool */; -var1 = self->attrs[COLOR_template__Template___64dis_frozen].s; /* @is_frozen on */ -var = var1; RET_LABEL:; -return var; } -/* method template#Template#is_frozen for (self: Object): Bool */ -short int VIRTUAL_template__Template__is_frozen(val* self) { +/* method template$Template$is_frozen for (self: Template): Bool */ +short int template___template__Template___is_frozen(val* self) { short int var /* : Bool */; short int var1 /* : Bool */; -var1 = template__Template__is_frozen(self); +var1 = self->attrs[COLOR_template__Template___is_frozen].s; /* _is_frozen on */ var = var1; RET_LABEL:; return var; } -/* method template#Template#is_frozen= for (self: Template, Bool) */ -void template__Template__is_frozen_61d(val* self, short int p0) { -self->attrs[COLOR_template__Template___64dis_frozen].s = p0; /* @is_frozen on */ +/* method template$Template$is_frozen= for (self: Template, Bool) */ +void template___template__Template___is_frozen_61d(val* self, short int p0) { +self->attrs[COLOR_template__Template___is_frozen].s = p0; /* _is_frozen on */ RET_LABEL:; } -/* method template#Template#is_frozen= for (self: Object, Bool) */ -void VIRTUAL_template__Template__is_frozen_61d(val* self, short int p0) { -template__Template__is_frozen_61d(self, p0); -RET_LABEL:; -} -/* method template#Template#freeze for (self: Template) */ -void template__Template__freeze(val* self) { +/* method template$Template$freeze for (self: Template) */ +void template___template__Template___freeze(val* self) { short int var /* : Bool */; -short int var1 /* : Bool */; -var = ((short int (*)(val*))(self->class->vft[COLOR_template__Template__is_frozen]))(self) /* is_frozen on */; +short int var2 /* : Bool */; +{ +{ /* Inline template$Template$is_frozen (self) on */ +var2 = self->attrs[COLOR_template__Template___is_frozen].s; /* _is_frozen on */ +var = var2; +RET_LABEL1:(void)0; +} +} if (var){ goto RET_LABEL; } else { } -var1 = 1; -((void (*)(val*, short int))(self->class->vft[COLOR_template__Template__is_frozen_61d]))(self, var1) /* is_frozen= on */; -RET_LABEL:; +{ +{ /* Inline template$Template$is_frozen= (self,1) on */ +self->attrs[COLOR_template__Template___is_frozen].s = 1; /* _is_frozen on */ +RET_LABEL3:(void)0; } -/* method template#Template#freeze for (self: Object) */ -void VIRTUAL_template__Template__freeze(val* self) { -template__Template__freeze(self); -RET_LABEL:; } -/* method template#Template#new_sub for (self: Template): Template */ -val* template__Template__new_sub(val* self) { -val* var /* : Template */; -val* var1 /* : Template */; -val* var_res /* var res: Template */; -var1 = NEW_template__Template(&type_template__Template); -((void (*)(val*))(var1->class->vft[COLOR_template__Template__init]))(var1) /* init on */; -var_res = var1; -((void (*)(val*, val*))(self->class->vft[COLOR_template__Template__add]))(self, var_res) /* add on */; -var = var_res; -goto RET_LABEL; RET_LABEL:; -return var; } -/* method template#Template#new_sub for (self: Object): Template */ -val* VIRTUAL_template__Template__new_sub(val* self) { -val* var /* : Template */; -val* var1 /* : Template */; -var1 = template__Template__new_sub(self); -var = var1; -RET_LABEL:; -return var; +/* method template$Template$content for (self: Template): Array[Writable] */ +val* template___template__Template___content(val* self) { +val* var /* : Array[Writable] */; +val* var1 /* : Array[Writable] */; +var1 = self->attrs[COLOR_template__Template___content].val; /* _content on */ +if (unlikely(var1 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); } -/* method template#Template#content for (self: Template): Array[Streamable] */ -val* template__Template__content(val* self) { -val* var /* : Array[Streamable] */; -val* var1 /* : Array[Streamable] */; -var1 = self->attrs[COLOR_template__Template___64dcontent].val; /* @content on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @content"); -fprintf(stderr, " (%s:%d)\n", "lib/template.nit", 170); -show_backtrace(1); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _content"); +PRINT_ERROR(" (%s:%d)\n", FILE_template, 183); +fatal_exit(1); } var = var1; RET_LABEL:; return var; } -/* method template#Template#content for (self: Object): Array[Streamable] */ -val* VIRTUAL_template__Template__content(val* self) { -val* var /* : Array[Streamable] */; -val* var1 /* : Array[Streamable] */; -var1 = template__Template__content(self); -var = var1; -RET_LABEL:; -return var; -} -/* method template#Template#content= for (self: Template, Array[Streamable]) */ -void template__Template__content_61d(val* self, val* p0) { -self->attrs[COLOR_template__Template___64dcontent].val = p0; /* @content on */ -RET_LABEL:; -} -/* method template#Template#content= for (self: Object, Array[Streamable]) */ -void VIRTUAL_template__Template__content_61d(val* self, val* p0) { -template__Template__content_61d(self, p0); -RET_LABEL:; -} -/* method template#Template#render_done for (self: Template): Bool */ -short int template__Template__render_done(val* self) { +/* method template$Template$render_done for (self: Template): Bool */ +short int template___template__Template___render_done(val* self) { short int var /* : Bool */; short int var1 /* : Bool */; -var1 = self->attrs[COLOR_template__Template___64drender_done].s; /* @render_done on */ +var1 = self->attrs[COLOR_template__Template___render_done].s; /* _render_done on */ var = var1; RET_LABEL:; return var; } -/* method template#Template#render_done for (self: Object): Bool */ -short int VIRTUAL_template__Template__render_done(val* self) { -short int var /* : Bool */; -short int var1 /* : Bool */; -var1 = template__Template__render_done(self); -var = var1; +/* method template$Template$render_done= for (self: Template, Bool) */ +void template___template__Template___render_done_61d(val* self, short int p0) { +self->attrs[COLOR_template__Template___render_done].s = p0; /* _render_done on */ RET_LABEL:; -return var; } -/* method template#Template#render_done= for (self: Template, Bool) */ -void template__Template__render_done_61d(val* self, short int p0) { -self->attrs[COLOR_template__Template___64drender_done].s = p0; /* @render_done on */ -RET_LABEL:; +/* method template$Template$force_render for (self: Template) */ +void template___template__Template___force_render(val* self) { +short int var /* : Bool */; +short int var2 /* : Bool */; +{ +{ /* Inline template$Template$render_done (self) on */ +var2 = self->attrs[COLOR_template__Template___render_done].s; /* _render_done on */ +var = var2; +RET_LABEL1:(void)0; } -/* method template#Template#render_done= for (self: Object, Bool) */ -void VIRTUAL_template__Template__render_done_61d(val* self, short int p0) { -template__Template__render_done_61d(self, p0); -RET_LABEL:; } -/* method template#Template#force_render for (self: Template) */ -void template__Template__force_render(val* self) { -short int var /* : Bool */; -short int var1 /* : Bool */; -var = ((short int (*)(val*))(self->class->vft[COLOR_template__Template__render_done]))(self) /* render_done on */; if (var){ goto RET_LABEL; } else { } -var1 = 1; -((void (*)(val*, short int))(self->class->vft[COLOR_template__Template__render_done_61d]))(self, var1) /* render_done= on */; -((void (*)(val*))(self->class->vft[COLOR_template__Template__rendering]))(self) /* rendering on */; -((void (*)(val*))(self->class->vft[COLOR_template__Template__freeze]))(self) /* freeze on */; -RET_LABEL:; +{ +{ /* Inline template$Template$render_done= (self,1) on */ +self->attrs[COLOR_template__Template___render_done].s = 1; /* _render_done on */ +RET_LABEL3:(void)0; +} +} +{ +((void(*)(val* self))(self->class->vft[COLOR_template__Template__rendering]))(self); /* rendering on */ +} +{ +template___template__Template___freeze(self); /* Direct call template$Template$freeze on */ } -/* method template#Template#force_render for (self: Object) */ -void VIRTUAL_template__Template__force_render(val* self) { -template__Template__force_render(self); RET_LABEL:; } -/* method template#Template#write_to for (self: Template, OStream) */ -void template__Template__write_to(val* self, val* p0) { -val* var_stream /* var stream: OStream */; +/* method template$Template$write_to for (self: Template, Writer) */ +void template___template__Template___core__stream__Writable__write_to(val* self, val* p0) { +val* var_stream /* var stream: Writer */; short int var /* : Bool */; -short int var1 /* : Bool */; short int var2 /* : Bool */; -val* var3 /* : Array[Streamable] */; -val* var4 /* : Iterator[nullable Object] */; -short int var5 /* : Bool */; -val* var6 /* : nullable Object */; -val* var_e /* var e: Streamable */; -short int var7 /* : Bool */; +short int var3 /* : Bool */; +val* var5 /* : Array[Writable] */; +val* var7 /* : Array[Writable] */; +val* var_ /* var : Array[Writable] */; +val* var8 /* : IndexedIterator[nullable Object] */; +val* var_9 /* var : IndexedIterator[Writable] */; +short int var10 /* : Bool */; +val* var11 /* : nullable Object */; +val* var_e /* var e: Writable */; var_stream = p0; -var = ((short int (*)(val*))(self->class->vft[COLOR_template__Template__is_writing]))(self) /* is_writing on */; -var1 = !var; -if (!var1) { -fprintf(stderr, "Runtime error: %s", "Assert failed"); -fprintf(stderr, " (%s:%d)\n", "lib/template.nit", 192); -show_backtrace(1); -} -var2 = 1; -((void (*)(val*, short int))(self->class->vft[COLOR_template__Template__is_writing_61d]))(self, var2) /* is_writing= on */; -((void (*)(val*))(self->class->vft[COLOR_template__Template__force_render]))(self) /* force_render on */; -var3 = ((val* (*)(val*))(self->class->vft[COLOR_template__Template__content]))(self) /* content on */; -var4 = ((val* (*)(val*))(var3->class->vft[COLOR_abstract_collection__Collection__iterator]))(var3) /* iterator on */; -for(;;) { -var5 = ((short int (*)(val*))(var4->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var4) /* is_ok on */; -if(!var5) break; -var6 = ((val* (*)(val*))(var4->class->vft[COLOR_abstract_collection__Iterator__item]))(var4) /* item on */; -var_e = var6; -((void (*)(val*, val*))(var_e->class->vft[COLOR_stream__Streamable__write_to]))(var_e, var_stream) /* write_to on */; -CONTINUE_label: (void)0; -((void (*)(val*))(var4->class->vft[COLOR_abstract_collection__Iterator__next]))(var4) /* next on */; +{ +{ /* Inline template$Template$is_writing (self) on */ +var2 = self->attrs[COLOR_template__Template___is_writing].s; /* _is_writing on */ +var = var2; +RET_LABEL1:(void)0; } -BREAK_label: (void)0; -var7 = 0; -((void (*)(val*, short int))(self->class->vft[COLOR_template__Template__is_writing_61d]))(self, var7) /* is_writing= on */; -RET_LABEL:; } -/* method template#Template#write_to for (self: Object, OStream) */ -void VIRTUAL_template__Template__write_to(val* self, val* p0) { -template__Template__write_to(self, p0); -RET_LABEL:; +var3 = !var; +if (unlikely(!var3)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); } -/* method template#Template#is_writing for (self: Template): Bool */ -short int template__Template__is_writing(val* self) { -short int var /* : Bool */; -short int var1 /* : Bool */; -var1 = self->attrs[COLOR_template__Template___64dis_writing].s; /* @is_writing on */ -var = var1; -RET_LABEL:; -return var; +PRINT_ERROR("Runtime error: %s", "Assert failed"); +PRINT_ERROR(" (%s:%d)\n", FILE_template, 205); +fatal_exit(1); } -/* method template#Template#is_writing for (self: Object): Bool */ -short int VIRTUAL_template__Template__is_writing(val* self) { -short int var /* : Bool */; -short int var1 /* : Bool */; -var1 = template__Template__is_writing(self); -var = var1; -RET_LABEL:; -return var; +{ +{ /* Inline template$Template$is_writing= (self,1) on */ +self->attrs[COLOR_template__Template___is_writing].s = 1; /* _is_writing on */ +RET_LABEL4:(void)0; } -/* method template#Template#is_writing= for (self: Template, Bool) */ -void template__Template__is_writing_61d(val* self, short int p0) { -self->attrs[COLOR_template__Template___64dis_writing].s = p0; /* @is_writing on */ -RET_LABEL:; } -/* method template#Template#is_writing= for (self: Object, Bool) */ -void VIRTUAL_template__Template__is_writing_61d(val* self, short int p0) { -template__Template__is_writing_61d(self, p0); -RET_LABEL:; +{ +template___template__Template___force_render(self); /* Direct call template$Template$force_render on */ } -/* method template#Template#write_to_string for (self: Template): String */ -val* template__Template__write_to_string(val* self) { -val* var /* : String */; -val* var1 /* : StringOStream */; -val* var_stream /* var stream: StringOStream */; -val* var2 /* : String */; -var1 = NEW_stream__StringOStream(&type_stream__StringOStream); -((void (*)(val*))(var1->class->vft[COLOR_stream__StringOStream__init]))(var1) /* init on */; -var_stream = var1; -((void (*)(val*, val*))(self->class->vft[COLOR_stream__Streamable__write_to]))(self, var_stream) /* write_to on */; -var2 = ((val* (*)(val*))(var_stream->class->vft[COLOR_string__Object__to_s]))(var_stream) /* to_s on */; -var = var2; -goto RET_LABEL; -RET_LABEL:; -return var; +{ +{ /* Inline template$Template$content (self) on */ +var7 = self->attrs[COLOR_template__Template___content].val; /* _content on */ +if (unlikely(var7 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); } -/* method template#Template#write_to_string for (self: Object): String */ -val* VIRTUAL_template__Template__write_to_string(val* self) { -val* var /* : String */; -val* var1 /* : String */; -var1 = template__Template__write_to_string(self); -var = var1; -RET_LABEL:; -return var; +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _content"); +PRINT_ERROR(" (%s:%d)\n", FILE_template, 183); +fatal_exit(1); +} +var5 = var7; +RET_LABEL6:(void)0; +} +} +var_ = var5; +{ +var8 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_); +} +var_9 = var8; +for(;;) { +{ +var10 = ((short int(*)(val* self))((((long)var_9&3)?class_info[((long)var_9&3)]:var_9->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_9); /* is_ok on */ +} +if (var10){ +} else { +goto BREAK_label; +} +{ +var11 = ((val*(*)(val* self))((((long)var_9&3)?class_info[((long)var_9&3)]:var_9->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_9); /* item on */ +} +var_e = var11; +{ +((void(*)(val* self, val* p0))((((long)var_e&3)?class_info[((long)var_e&3)]:var_e->class)->vft[COLOR_core__stream__Writable__write_to]))(var_e, var_stream); /* write_to on */ +} +{ +((void(*)(val* self))((((long)var_9&3)?class_info[((long)var_9&3)]:var_9->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_9); /* next on */ +} +} +BREAK_label: (void)0; +{ +((void(*)(val* self))((((long)var_9&3)?class_info[((long)var_9&3)]:var_9->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_9); /* finish on */ +} +{ +{ /* Inline template$Template$is_writing= (self,0) on */ +self->attrs[COLOR_template__Template___is_writing].s = 0; /* _is_writing on */ +RET_LABEL12:(void)0; } -/* method template#Template#write_to_file for (self: Template, String) */ -void template__Template__write_to_file(val* self, val* p0) { -val* var_filepath /* var filepath: String */; -val* var /* : OFStream */; -val* var_stream /* var stream: OFStream */; -var_filepath = p0; -var = NEW_file__OFStream(&type_file__OFStream); -((void (*)(val*, val*))(var->class->vft[COLOR_file__OFStream__open]))(var, var_filepath) /* open on */; -var_stream = var; -((void (*)(val*, val*))(self->class->vft[COLOR_stream__Streamable__write_to]))(self, var_stream) /* write_to on */; -((void (*)(val*))(var_stream->class->vft[COLOR_stream__IOS__close]))(var_stream) /* close on */; -RET_LABEL:; } -/* method template#Template#write_to_file for (self: Object, String) */ -void VIRTUAL_template__Template__write_to_file(val* self, val* p0) { -template__Template__write_to_file(self, p0); RET_LABEL:; } -/* method template#Template#init for (self: Template) */ -void template__Template__init(val* self) { +/* method template$Template$is_writing for (self: Template): Bool */ +short int template___template__Template___is_writing(val* self) { +short int var /* : Bool */; +short int var1 /* : Bool */; +var1 = self->attrs[COLOR_template__Template___is_writing].s; /* _is_writing on */ +var = var1; RET_LABEL:; +return var; } -/* method template#Template#init for (self: Object) */ -void VIRTUAL_template__Template__init(val* self) { -template__Template__init(self); +/* method template$Template$is_writing= for (self: Template, Bool) */ +void template___template__Template___is_writing_61d(val* self, short int p0) { +self->attrs[COLOR_template__Template___is_writing].s = p0; /* _is_writing on */ RET_LABEL:; }