X-Git-Url: http://nitlanguage.org diff --git a/c_src/c_tools.sep.1.c b/c_src/c_tools.sep.1.c index f776781..762c3d1 100644 --- a/c_src/c_tools.sep.1.c +++ b/c_src/c_tools.sep.1.c @@ -1,632 +1,502 @@ #include "c_tools.sep.0.h" -/* method c_tools#CCompilationUnit#header_c_base for (self: CCompilationUnit): Template */ -val* c_tools__CCompilationUnit__header_c_base(val* self) { -val* var /* : Template */; -val* var1 /* : Template */; -var1 = self->attrs[COLOR_c_tools__CCompilationUnit___64dheader_c_base].val; /* @header_c_base on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @header_c_base"); -fprintf(stderr, " (%s:%d)\n", "src/c_tools.nit", 24); +/* method c_tools#ExternFile#filename for (self: ExternFile): String */ +val* c_tools__ExternFile__filename(val* self) { +val* var /* : String */; +val* var1 /* : String */; +var1 = self->attrs[COLOR_c_tools__ExternFile___filename].val; /* _filename on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filename"); +PRINT_ERROR(" (%s:%d)\n", "c_tools.nit", 104); show_backtrace(1); } var = var1; RET_LABEL:; return var; } -/* method c_tools#CCompilationUnit#header_c_base for (self: Object): Template */ -val* VIRTUAL_c_tools__CCompilationUnit__header_c_base(val* self) { -val* var /* : Template */; -val* var1 /* : Template */; -var1 = c_tools__CCompilationUnit__header_c_base(self); -var = var1; -RET_LABEL:; -return var; -} -/* method c_tools#CCompilationUnit#header_c_base= for (self: CCompilationUnit, Template) */ -void c_tools__CCompilationUnit__header_c_base_61d(val* self, val* p0) { -self->attrs[COLOR_c_tools__CCompilationUnit___64dheader_c_base].val = p0; /* @header_c_base on */ -RET_LABEL:; -} -/* method c_tools#CCompilationUnit#header_c_base= for (self: Object, Template) */ -void VIRTUAL_c_tools__CCompilationUnit__header_c_base_61d(val* self, val* p0) { -c_tools__CCompilationUnit__header_c_base_61d(self, p0); -RET_LABEL:; -} -/* method c_tools#CCompilationUnit#header_custom for (self: CCompilationUnit): Template */ -val* c_tools__CCompilationUnit__header_custom(val* self) { -val* var /* : Template */; -val* var1 /* : Template */; -var1 = self->attrs[COLOR_c_tools__CCompilationUnit___64dheader_custom].val; /* @header_custom on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @header_custom"); -fprintf(stderr, " (%s:%d)\n", "src/c_tools.nit", 28); +/* method c_tools#ExternFile#filename for (self: Object): String */ +val* VIRTUAL_c_tools__ExternFile__filename(val* self) { +val* var /* : String */; +val* var1 /* : String */; +val* var3 /* : String */; +{ /* Inline c_tools#ExternFile#filename (self) on */ +var3 = self->attrs[COLOR_c_tools__ExternFile___filename].val; /* _filename on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filename"); +PRINT_ERROR(" (%s:%d)\n", "c_tools.nit", 104); show_backtrace(1); } -var = var1; -RET_LABEL:; -return var; +var1 = var3; +RET_LABEL2:(void)0; } -/* method c_tools#CCompilationUnit#header_custom for (self: Object): Template */ -val* VIRTUAL_c_tools__CCompilationUnit__header_custom(val* self) { -val* var /* : Template */; -val* var1 /* : Template */; -var1 = c_tools__CCompilationUnit__header_custom(self); var = var1; RET_LABEL:; return var; } -/* method c_tools#CCompilationUnit#header_custom= for (self: CCompilationUnit, Template) */ -void c_tools__CCompilationUnit__header_custom_61d(val* self, val* p0) { -self->attrs[COLOR_c_tools__CCompilationUnit___64dheader_custom].val = p0; /* @header_custom on */ +/* method c_tools#ExternFile#filename= for (self: ExternFile, String) */ +void c_tools__ExternFile__filename_61d(val* self, val* p0) { +self->attrs[COLOR_c_tools__ExternFile___filename].val = p0; /* _filename on */ RET_LABEL:; } -/* method c_tools#CCompilationUnit#header_custom= for (self: Object, Template) */ -void VIRTUAL_c_tools__CCompilationUnit__header_custom_61d(val* self, val* p0) { -c_tools__CCompilationUnit__header_custom_61d(self, p0); -RET_LABEL:; +/* method c_tools#ExternFile#filename= for (self: Object, String) */ +void VIRTUAL_c_tools__ExternFile__filename_61d(val* self, val* p0) { +{ /* Inline c_tools#ExternFile#filename= (self,p0) on */ +self->attrs[COLOR_c_tools__ExternFile___filename].val = p0; /* _filename on */ +RET_LABEL1:(void)0; } -/* method c_tools#CCompilationUnit#header_c_types for (self: CCompilationUnit): Template */ -val* c_tools__CCompilationUnit__header_c_types(val* self) { -val* var /* : Template */; -val* var1 /* : Template */; -var1 = self->attrs[COLOR_c_tools__CCompilationUnit___64dheader_c_types].val; /* @header_c_types on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @header_c_types"); -fprintf(stderr, " (%s:%d)\n", "src/c_tools.nit", 31); -show_backtrace(1); +RET_LABEL:; } +/* method c_tools#ExternFile#add_to_jar for (self: ExternFile): Bool */ +short int c_tools__ExternFile__add_to_jar(val* self) { +short int var /* : Bool */; +short int var1 /* : Bool */; +var1 = 0; var = var1; +goto RET_LABEL; RET_LABEL:; return var; } -/* method c_tools#CCompilationUnit#header_c_types for (self: Object): Template */ -val* VIRTUAL_c_tools__CCompilationUnit__header_c_types(val* self) { -val* var /* : Template */; -val* var1 /* : Template */; -var1 = c_tools__CCompilationUnit__header_c_types(self); +/* method c_tools#ExternFile#add_to_jar for (self: Object): Bool */ +short int VIRTUAL_c_tools__ExternFile__add_to_jar(val* self) { +short int var /* : Bool */; +short int var1 /* : Bool */; +var1 = c_tools__ExternFile__add_to_jar(self); var = var1; RET_LABEL:; return var; } -/* method c_tools#CCompilationUnit#header_c_types= for (self: CCompilationUnit, Template) */ -void c_tools__CCompilationUnit__header_c_types_61d(val* self, val* p0) { -self->attrs[COLOR_c_tools__CCompilationUnit___64dheader_c_types].val = p0; /* @header_c_types on */ -RET_LABEL:; +/* method c_tools#ExternFile#init for (self: ExternFile) */ +void c_tools__ExternFile__init(val* self) { +{ +((void (*)(val*))(self->class->vft[COLOR_c_tools__ExternFile__init]))(self) /* init on */; } -/* method c_tools#CCompilationUnit#header_c_types= for (self: Object, Template) */ -void VIRTUAL_c_tools__CCompilationUnit__header_c_types_61d(val* self, val* p0) { -c_tools__CCompilationUnit__header_c_types_61d(self, p0); RET_LABEL:; } -/* method c_tools#CCompilationUnit#header_decl for (self: CCompilationUnit): Template */ -val* c_tools__CCompilationUnit__header_decl(val* self) { -val* var /* : Template */; -val* var1 /* : Template */; -var1 = self->attrs[COLOR_c_tools__CCompilationUnit___64dheader_decl].val; /* @header_decl on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @header_decl"); -fprintf(stderr, " (%s:%d)\n", "src/c_tools.nit", 34); -show_backtrace(1); +/* method c_tools#ExternFile#init for (self: Object) */ +void VIRTUAL_c_tools__ExternFile__init(val* self) { +{ /* Inline c_tools#ExternFile#init (self) on */ +{ +((void (*)(val*))(self->class->vft[COLOR_c_tools__ExternFile__init]))(self) /* init on */; } -var = var1; -RET_LABEL:; -return var; +RET_LABEL1:(void)0; } -/* method c_tools#CCompilationUnit#header_decl for (self: Object): Template */ -val* VIRTUAL_c_tools__CCompilationUnit__header_decl(val* self) { -val* var /* : Template */; -val* var1 /* : Template */; -var1 = c_tools__CCompilationUnit__header_decl(self); -var = var1; RET_LABEL:; -return var; } -/* method c_tools#CCompilationUnit#header_decl= for (self: CCompilationUnit, Template) */ -void c_tools__CCompilationUnit__header_decl_61d(val* self, val* p0) { -self->attrs[COLOR_c_tools__CCompilationUnit___64dheader_decl].val = p0; /* @header_decl on */ -RET_LABEL:; +/* method c_tools#ExternCFile#init for (self: ExternCFile, String, String) */ +void c_tools__ExternCFile__init(val* self, val* p0, val* p1) { +val* var_filename /* var filename: String */; +val* var_cflags /* var cflags: String */; +var_filename = p0; +var_cflags = p1; +{ +((void (*)(val*, val*))(self->class->vft[COLOR_c_tools__ExternFile__filename_61d]))(self, var_filename) /* filename= on */; } -/* method c_tools#CCompilationUnit#header_decl= for (self: Object, Template) */ -void VIRTUAL_c_tools__CCompilationUnit__header_decl_61d(val* self, val* p0) { -c_tools__CCompilationUnit__header_decl_61d(self, p0); -RET_LABEL:; +{ +((void (*)(val*))(self->class->vft[COLOR_kernel__Object__init]))(self) /* init on */; } -/* method c_tools#CCompilationUnit#body_decl for (self: CCompilationUnit): Template */ -val* c_tools__CCompilationUnit__body_decl(val* self) { -val* var /* : Template */; -val* var1 /* : Template */; -var1 = self->attrs[COLOR_c_tools__CCompilationUnit___64dbody_decl].val; /* @body_decl on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @body_decl"); -fprintf(stderr, " (%s:%d)\n", "src/c_tools.nit", 37); -show_backtrace(1); +{ +{ /* Inline c_tools#ExternCFile#cflags= (self,var_cflags) on */ +self->attrs[COLOR_c_tools__ExternCFile___cflags].val = var_cflags; /* _cflags on */ +RET_LABEL1:(void)0; } -var = var1; -RET_LABEL:; -return var; } -/* method c_tools#CCompilationUnit#body_decl for (self: Object): Template */ -val* VIRTUAL_c_tools__CCompilationUnit__body_decl(val* self) { -val* var /* : Template */; -val* var1 /* : Template */; -var1 = c_tools__CCompilationUnit__body_decl(self); -var = var1; RET_LABEL:; -return var; } -/* method c_tools#CCompilationUnit#body_decl= for (self: CCompilationUnit, Template) */ -void c_tools__CCompilationUnit__body_decl_61d(val* self, val* p0) { -self->attrs[COLOR_c_tools__CCompilationUnit___64dbody_decl].val = p0; /* @body_decl on */ +/* method c_tools#ExternCFile#init for (self: Object, String, String) */ +void VIRTUAL_c_tools__ExternCFile__init(val* self, val* p0, val* p1) { +c_tools__ExternCFile__init(self, p0, p1); /* Direct call c_tools#ExternCFile#init on */ RET_LABEL:; } -/* method c_tools#CCompilationUnit#body_decl= for (self: Object, Template) */ -void VIRTUAL_c_tools__CCompilationUnit__body_decl_61d(val* self, val* p0) { -c_tools__CCompilationUnit__body_decl_61d(self, p0); -RET_LABEL:; -} -/* method c_tools#CCompilationUnit#body_custom for (self: CCompilationUnit): Template */ -val* c_tools__CCompilationUnit__body_custom(val* self) { -val* var /* : Template */; -val* var1 /* : Template */; -var1 = self->attrs[COLOR_c_tools__CCompilationUnit___64dbody_custom].val; /* @body_custom on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @body_custom"); -fprintf(stderr, " (%s:%d)\n", "src/c_tools.nit", 41); +/* method c_tools#ExternCFile#cflags for (self: ExternCFile): String */ +val* c_tools__ExternCFile__cflags(val* self) { +val* var /* : String */; +val* var1 /* : String */; +var1 = self->attrs[COLOR_c_tools__ExternCFile___cflags].val; /* _cflags on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _cflags"); +PRINT_ERROR(" (%s:%d)\n", "c_tools.nit", 131); show_backtrace(1); } var = var1; RET_LABEL:; return var; } -/* method c_tools#CCompilationUnit#body_custom for (self: Object): Template */ -val* VIRTUAL_c_tools__CCompilationUnit__body_custom(val* self) { -val* var /* : Template */; -val* var1 /* : Template */; -var1 = c_tools__CCompilationUnit__body_custom(self); -var = var1; -RET_LABEL:; -return var; -} -/* method c_tools#CCompilationUnit#body_custom= for (self: CCompilationUnit, Template) */ -void c_tools__CCompilationUnit__body_custom_61d(val* self, val* p0) { -self->attrs[COLOR_c_tools__CCompilationUnit___64dbody_custom].val = p0; /* @body_custom on */ -RET_LABEL:; -} -/* method c_tools#CCompilationUnit#body_custom= for (self: Object, Template) */ -void VIRTUAL_c_tools__CCompilationUnit__body_custom_61d(val* self, val* p0) { -c_tools__CCompilationUnit__body_custom_61d(self, p0); -RET_LABEL:; -} -/* method c_tools#CCompilationUnit#body_impl for (self: CCompilationUnit): Template */ -val* c_tools__CCompilationUnit__body_impl(val* self) { -val* var /* : Template */; -val* var1 /* : Template */; -var1 = self->attrs[COLOR_c_tools__CCompilationUnit___64dbody_impl].val; /* @body_impl on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @body_impl"); -fprintf(stderr, " (%s:%d)\n", "src/c_tools.nit", 44); +/* method c_tools#ExternCFile#cflags for (self: Object): String */ +val* VIRTUAL_c_tools__ExternCFile__cflags(val* self) { +val* var /* : String */; +val* var1 /* : String */; +val* var3 /* : String */; +{ /* Inline c_tools#ExternCFile#cflags (self) on */ +var3 = self->attrs[COLOR_c_tools__ExternCFile___cflags].val; /* _cflags on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _cflags"); +PRINT_ERROR(" (%s:%d)\n", "c_tools.nit", 131); show_backtrace(1); } -var = var1; -RET_LABEL:; -return var; +var1 = var3; +RET_LABEL2:(void)0; } -/* method c_tools#CCompilationUnit#body_impl for (self: Object): Template */ -val* VIRTUAL_c_tools__CCompilationUnit__body_impl(val* self) { -val* var /* : Template */; -val* var1 /* : Template */; -var1 = c_tools__CCompilationUnit__body_impl(self); var = var1; RET_LABEL:; return var; } -/* method c_tools#CCompilationUnit#body_impl= for (self: CCompilationUnit, Template) */ -void c_tools__CCompilationUnit__body_impl_61d(val* self, val* p0) { -self->attrs[COLOR_c_tools__CCompilationUnit___64dbody_impl].val = p0; /* @body_impl on */ +/* method c_tools#ExternCFile#cflags= for (self: ExternCFile, String) */ +void c_tools__ExternCFile__cflags_61d(val* self, val* p0) { +self->attrs[COLOR_c_tools__ExternCFile___cflags].val = p0; /* _cflags on */ RET_LABEL:; } -/* method c_tools#CCompilationUnit#body_impl= for (self: Object, Template) */ -void VIRTUAL_c_tools__CCompilationUnit__body_impl_61d(val* self, val* p0) { -c_tools__CCompilationUnit__body_impl_61d(self, p0); +/* method c_tools#ExternCFile#cflags= for (self: Object, String) */ +void VIRTUAL_c_tools__ExternCFile__cflags_61d(val* self, val* p0) { +{ /* Inline c_tools#ExternCFile#cflags= (self,p0) on */ +self->attrs[COLOR_c_tools__ExternCFile___cflags].val = p0; /* _cflags on */ +RET_LABEL1:(void)0; +} RET_LABEL:; } -/* method c_tools#CCompilationUnit#files for (self: CCompilationUnit): Array[String] */ -val* c_tools__CCompilationUnit__files(val* self) { -val* var /* : Array[String] */; -val* var1 /* : Array[String] */; -var1 = self->attrs[COLOR_c_tools__CCompilationUnit___64dfiles].val; /* @files on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @files"); -fprintf(stderr, " (%s:%d)\n", "src/c_tools.nit", 47); +/* method c_tools#ExternCFile#hash for (self: ExternCFile): Int */ +long c_tools__ExternCFile__hash(val* self) { +long var /* : Int */; +val* var1 /* : String */; +val* var3 /* : String */; +long var4 /* : Int */; +{ +{ /* Inline c_tools#ExternFile#filename (self) on */ +var3 = self->attrs[COLOR_c_tools__ExternFile___filename].val; /* _filename on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filename"); +PRINT_ERROR(" (%s:%d)\n", "c_tools.nit", 104); show_backtrace(1); } -var = var1; -RET_LABEL:; -return var; -} -/* method c_tools#CCompilationUnit#files for (self: Object): Array[String] */ -val* VIRTUAL_c_tools__CCompilationUnit__files(val* self) { -val* var /* : Array[String] */; -val* var1 /* : Array[String] */; -var1 = c_tools__CCompilationUnit__files(self); -var = var1; -RET_LABEL:; -return var; +var1 = var3; +RET_LABEL2:(void)0; } -/* method c_tools#CCompilationUnit#files= for (self: CCompilationUnit, Array[String]) */ -void c_tools__CCompilationUnit__files_61d(val* self, val* p0) { -self->attrs[COLOR_c_tools__CCompilationUnit___64dfiles].val = p0; /* @files on */ -RET_LABEL:; } -/* method c_tools#CCompilationUnit#files= for (self: Object, Array[String]) */ -void VIRTUAL_c_tools__CCompilationUnit__files_61d(val* self, val* p0) { -c_tools__CCompilationUnit__files_61d(self, p0); -RET_LABEL:; +{ +var4 = string__FlatString__hash(var1); } -/* method c_tools#CCompilationUnit#add_local_function for (self: CCompilationUnit, CFunction) */ -void c_tools__CCompilationUnit__add_local_function(val* self, val* p0) { -val* var_efc /* var efc: CFunction */; -val* var /* : Template */; -val* var1 /* : String */; -static val* varonce; -val* var2 /* : String */; -char* var3 /* : NativeString */; -long var4 /* : Int */; -val* var5 /* : String */; -val* var6 /* : Array[Object] */; -long var7 /* : Int */; -val* var8 /* : NativeArray[Object] */; -val* var9 /* : String */; -val* var10 /* : Template */; -static val* varonce11; -val* var12 /* : String */; -char* var13 /* : NativeString */; -long var14 /* : Int */; -val* var15 /* : String */; -val* var16 /* : Template */; -val* var17 /* : Template */; -var_efc = p0; -var = ((val* (*)(val*))(self->class->vft[COLOR_c_tools__CCompilationUnit__body_decl]))(self) /* body_decl on */; -var1 = ((val* (*)(val*))(var_efc->class->vft[COLOR_c_tools__CFunction__signature]))(var_efc) /* signature on */; -if (varonce) { -var2 = varonce; -} else { -var3 = ";\n"; -var4 = 2; -var5 = string__NativeString__to_s_with_length(var3, var4); -var2 = var5; -varonce = var2; -} -var6 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var6 = array_instance Array[Object] */ -var7 = 2; -var8 = NEW_array__NativeArray(var7, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var8)->values[0] = (val*) var1; -((struct instance_array__NativeArray*)var8)->values[1] = (val*) var2; -((void (*)(val*, val*, long))(var6->class->vft[COLOR_array__Array__with_native]))(var6, var8, var7) /* with_native on */; -} -var9 = ((val* (*)(val*))(var6->class->vft[COLOR_string__Object__to_s]))(var6) /* to_s on */; -((void (*)(val*, val*))(var->class->vft[COLOR_template__Template__add]))(var, var9) /* add on */; -var10 = ((val* (*)(val*))(self->class->vft[COLOR_c_tools__CCompilationUnit__body_impl]))(self) /* body_impl on */; -if (varonce11) { -var12 = varonce11; -} else { -var13 = "\n"; -var14 = 1; -var15 = string__NativeString__to_s_with_length(var13, var14); -var12 = var15; -varonce11 = var12; -} -((void (*)(val*, val*))(var10->class->vft[COLOR_template__Template__add]))(var10, var12) /* add on */; -var16 = ((val* (*)(val*))(self->class->vft[COLOR_c_tools__CCompilationUnit__body_impl]))(self) /* body_impl on */; -var17 = ((val* (*)(val*))(var_efc->class->vft[COLOR_c_tools__CFunction__to_writer]))(var_efc) /* to_writer on */; -((void (*)(val*, val*))(var16->class->vft[COLOR_template__Template__add]))(var16, var17) /* add on */; +var = var4; +goto RET_LABEL; RET_LABEL:; +return var; } -/* method c_tools#CCompilationUnit#add_local_function for (self: Object, CFunction) */ -void VIRTUAL_c_tools__CCompilationUnit__add_local_function(val* self, val* p0) { -c_tools__CCompilationUnit__add_local_function(self, p0); +/* method c_tools#ExternCFile#hash for (self: Object): Int */ +long VIRTUAL_c_tools__ExternCFile__hash(val* self) { +long var /* : Int */; +long var1 /* : Int */; +var1 = c_tools__ExternCFile__hash(self); +var = var1; RET_LABEL:; +return var; } -/* method c_tools#CCompilationUnit#add_exported_function for (self: CCompilationUnit, CFunction) */ -void c_tools__CCompilationUnit__add_exported_function(val* self, val* p0) { -val* var_efc /* var efc: CFunction */; -val* var /* : Template */; -val* var1 /* : String */; -static val* varonce; -val* var2 /* : String */; -char* var3 /* : NativeString */; -long var4 /* : Int */; +/* method c_tools#ExternCFile#== for (self: ExternCFile, nullable Object): Bool */ +short int c_tools__ExternCFile___61d_61d(val* self, val* p0) { +short int var /* : Bool */; +val* var_o /* var o: nullable Object */; +short int var1 /* : Bool */; +short int var2 /* : Bool */; +int cltype; +int idtype; +short int var_ /* var : Bool */; +val* var3 /* : String */; val* var5 /* : String */; -val* var6 /* : Array[Object] */; -long var7 /* : Int */; -val* var8 /* : NativeArray[Object] */; -val* var9 /* : String */; -val* var10 /* : Template */; -static val* varonce11; -val* var12 /* : String */; -char* var13 /* : NativeString */; -long var14 /* : Int */; -val* var15 /* : String */; -val* var16 /* : Template */; -val* var17 /* : Template */; -var_efc = p0; -var = ((val* (*)(val*))(self->class->vft[COLOR_c_tools__CCompilationUnit__header_decl]))(self) /* header_decl on */; -var1 = ((val* (*)(val*))(var_efc->class->vft[COLOR_c_tools__CFunction__signature]))(var_efc) /* signature on */; -if (varonce) { -var2 = varonce; +val* var6 /* : String */; +val* var8 /* : String */; +short int var9 /* : Bool */; +short int var10 /* : Bool */; +var_o = p0; +/* isa ExternCFile */ +cltype = type_c_tools__ExternCFile.color; +idtype = type_c_tools__ExternCFile.id; +if(var_o == NULL) { +var2 = 0; } else { -var3 = ";\n"; -var4 = 2; -var5 = string__NativeString__to_s_with_length(var3, var4); -var2 = var5; -varonce = var2; -} -var6 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var6 = array_instance Array[Object] */ -var7 = 2; -var8 = NEW_array__NativeArray(var7, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var8)->values[0] = (val*) var1; -((struct instance_array__NativeArray*)var8)->values[1] = (val*) var2; -((void (*)(val*, val*, long))(var6->class->vft[COLOR_array__Array__with_native]))(var6, var8, var7) /* with_native on */; -} -var9 = ((val* (*)(val*))(var6->class->vft[COLOR_string__Object__to_s]))(var6) /* to_s on */; -((void (*)(val*, val*))(var->class->vft[COLOR_template__Template__add]))(var, var9) /* add on */; -var10 = ((val* (*)(val*))(self->class->vft[COLOR_c_tools__CCompilationUnit__body_impl]))(self) /* body_impl on */; -if (varonce11) { -var12 = varonce11; +if(cltype >= var_o->type->table_size) { +var2 = 0; } else { -var13 = "\n"; -var14 = 1; -var15 = string__NativeString__to_s_with_length(var13, var14); -var12 = var15; -varonce11 = var12; -} -((void (*)(val*, val*))(var10->class->vft[COLOR_template__Template__add]))(var10, var12) /* add on */; -var16 = ((val* (*)(val*))(self->class->vft[COLOR_c_tools__CCompilationUnit__body_impl]))(self) /* body_impl on */; -var17 = ((val* (*)(val*))(var_efc->class->vft[COLOR_c_tools__CFunction__to_writer]))(var_efc) /* to_writer on */; -((void (*)(val*, val*))(var16->class->vft[COLOR_template__Template__add]))(var16, var17) /* add on */; -RET_LABEL:; +var2 = var_o->type->type_table[cltype] == idtype; } -/* method c_tools#CCompilationUnit#add_exported_function for (self: Object, CFunction) */ -void VIRTUAL_c_tools__CCompilationUnit__add_exported_function(val* self, val* p0) { -c_tools__CCompilationUnit__add_exported_function(self, p0); -RET_LABEL:; -} -/* method c_tools#CCompilationUnit#compile_header_core for (self: CCompilationUnit, OStream) */ -void c_tools__CCompilationUnit__compile_header_core(val* self, val* p0) { -val* var_stream /* var stream: OStream */; -val* var /* : Template */; -val* var1 /* : Template */; -val* var2 /* : Template */; -val* var3 /* : Template */; -var_stream = p0; -var = ((val* (*)(val*))(self->class->vft[COLOR_c_tools__CCompilationUnit__header_c_base]))(self) /* header_c_base on */; -((void (*)(val*, val*))(var->class->vft[COLOR_stream__Streamable__write_to]))(var, var_stream) /* write_to on */; -var1 = ((val* (*)(val*))(self->class->vft[COLOR_c_tools__CCompilationUnit__header_custom]))(self) /* header_custom on */; -((void (*)(val*, val*))(var1->class->vft[COLOR_stream__Streamable__write_to]))(var1, var_stream) /* write_to on */; -var2 = ((val* (*)(val*))(self->class->vft[COLOR_c_tools__CCompilationUnit__header_c_types]))(self) /* header_c_types on */; -((void (*)(val*, val*))(var2->class->vft[COLOR_stream__Streamable__write_to]))(var2, var_stream) /* write_to on */; -var3 = ((val* (*)(val*))(self->class->vft[COLOR_c_tools__CCompilationUnit__header_decl]))(self) /* header_decl on */; -((void (*)(val*, val*))(var3->class->vft[COLOR_stream__Streamable__write_to]))(var3, var_stream) /* write_to on */; -RET_LABEL:; -} -/* method c_tools#CCompilationUnit#compile_header_core for (self: Object, OStream) */ -void VIRTUAL_c_tools__CCompilationUnit__compile_header_core(val* self, val* p0) { -c_tools__CCompilationUnit__compile_header_core(self, p0); -RET_LABEL:; } -/* method c_tools#CCompilationUnit#compile_body_core for (self: CCompilationUnit, OStream) */ -void c_tools__CCompilationUnit__compile_body_core(val* self, val* p0) { -val* var_stream /* var stream: OStream */; -val* var /* : Template */; -val* var1 /* : Template */; -val* var2 /* : Template */; -var_stream = p0; -var = ((val* (*)(val*))(self->class->vft[COLOR_c_tools__CCompilationUnit__body_decl]))(self) /* body_decl on */; -((void (*)(val*, val*))(var->class->vft[COLOR_stream__Streamable__write_to]))(var, var_stream) /* write_to on */; -var1 = ((val* (*)(val*))(self->class->vft[COLOR_c_tools__CCompilationUnit__body_custom]))(self) /* body_custom on */; -((void (*)(val*, val*))(var1->class->vft[COLOR_stream__Streamable__write_to]))(var1, var_stream) /* write_to on */; -var2 = ((val* (*)(val*))(self->class->vft[COLOR_c_tools__CCompilationUnit__body_impl]))(self) /* body_impl on */; -((void (*)(val*, val*))(var2->class->vft[COLOR_stream__Streamable__write_to]))(var2, var_stream) /* write_to on */; -RET_LABEL:; +var_ = var2; +if (var2){ +{ +{ /* Inline c_tools#ExternFile#filename (self) on */ +var5 = self->attrs[COLOR_c_tools__ExternFile___filename].val; /* _filename on */ +if (unlikely(var5 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filename"); +PRINT_ERROR(" (%s:%d)\n", "c_tools.nit", 104); +show_backtrace(1); } -/* method c_tools#CCompilationUnit#compile_body_core for (self: Object, OStream) */ -void VIRTUAL_c_tools__CCompilationUnit__compile_body_core(val* self, val* p0) { -c_tools__CCompilationUnit__compile_body_core(self, p0); -RET_LABEL:; +var3 = var5; +RET_LABEL4:(void)0; } -/* method c_tools#CCompilationUnit#init for (self: CCompilationUnit) */ -void c_tools__CCompilationUnit__init(val* self) { -RET_LABEL:; } -/* method c_tools#CCompilationUnit#init for (self: Object) */ -void VIRTUAL_c_tools__CCompilationUnit__init(val* self) { -c_tools__CCompilationUnit__init(self); -RET_LABEL:; -} -/* method c_tools#CFunction#signature for (self: CFunction): String */ -val* c_tools__CFunction__signature(val* self) { -val* var /* : String */; -val* var1 /* : String */; -var1 = self->attrs[COLOR_c_tools__CFunction___64dsignature].val; /* @signature on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @signature"); -fprintf(stderr, " (%s:%d)\n", "src/c_tools.nit", 82); +{ +{ /* Inline c_tools#ExternFile#filename (var_o) on */ +var8 = var_o->attrs[COLOR_c_tools__ExternFile___filename].val; /* _filename on */ +if (unlikely(var8 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filename"); +PRINT_ERROR(" (%s:%d)\n", "c_tools.nit", 104); show_backtrace(1); } -var = var1; -RET_LABEL:; -return var; +var6 = var8; +RET_LABEL7:(void)0; } -/* method c_tools#CFunction#signature for (self: Object): String */ -val* VIRTUAL_c_tools__CFunction__signature(val* self) { -val* var /* : String */; -val* var1 /* : String */; -var1 = c_tools__CFunction__signature(self); -var = var1; -RET_LABEL:; -return var; } -/* method c_tools#CFunction#signature= for (self: CFunction, String) */ -void c_tools__CFunction__signature_61d(val* self, val* p0) { -self->attrs[COLOR_c_tools__CFunction___64dsignature].val = p0; /* @signature on */ -RET_LABEL:; +{ +var10 = string__FlatString___61d_61d(var3, var6); +var9 = var10; } -/* method c_tools#CFunction#signature= for (self: Object, String) */ -void VIRTUAL_c_tools__CFunction__signature_61d(val* self, val* p0) { -c_tools__CFunction__signature_61d(self, p0); -RET_LABEL:; -} -/* method c_tools#CFunction#decls for (self: CFunction): Template */ -val* c_tools__CFunction__decls(val* self) { -val* var /* : Template */; -val* var1 /* : Template */; -var1 = self->attrs[COLOR_c_tools__CFunction___64ddecls].val; /* @decls on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @decls"); -fprintf(stderr, " (%s:%d)\n", "src/c_tools.nit", 84); -show_backtrace(1); +var1 = var9; +} else { +var1 = var_; } var = var1; +goto RET_LABEL; RET_LABEL:; return var; } -/* method c_tools#CFunction#decls for (self: Object): Template */ -val* VIRTUAL_c_tools__CFunction__decls(val* self) { -val* var /* : Template */; -val* var1 /* : Template */; -var1 = c_tools__CFunction__decls(self); +/* method c_tools#ExternCFile#== for (self: Object, nullable Object): Bool */ +short int VIRTUAL_c_tools__ExternCFile___61d_61d(val* self, val* p0) { +short int var /* : Bool */; +short int var1 /* : Bool */; +var1 = c_tools__ExternCFile___61d_61d(self, p0); var = var1; RET_LABEL:; return var; } -/* method c_tools#CFunction#decls= for (self: CFunction, Template) */ -void c_tools__CFunction__decls_61d(val* self, val* p0) { -self->attrs[COLOR_c_tools__CFunction___64ddecls].val = p0; /* @decls on */ -RET_LABEL:; +/* method c_tools#ExternCFile#makefile_rule_name for (self: ExternCFile): String */ +val* c_tools__ExternCFile__makefile_rule_name(val* self) { +val* var /* : String */; +val* var1 /* : String */; +val* var3 /* : String */; +static val* varonce; +val* var4 /* : String */; +char* var5 /* : NativeString */; +long var6 /* : Int */; +val* var7 /* : FlatString */; +val* var8 /* : String */; +val* var_basename /* var basename: String */; +static val* varonce9; +val* var10 /* : String */; +char* var11 /* : NativeString */; +long var12 /* : Int */; +val* var13 /* : FlatString */; +val* var14 /* : Array[Object] */; +long var15 /* : Int */; +val* var16 /* : NativeArray[Object] */; +val* var17 /* : String */; +val* var_res /* var res: String */; +{ +{ /* Inline c_tools#ExternFile#filename (self) on */ +var3 = self->attrs[COLOR_c_tools__ExternFile___filename].val; /* _filename on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filename"); +PRINT_ERROR(" (%s:%d)\n", "c_tools.nit", 104); +show_backtrace(1); } -/* method c_tools#CFunction#decls= for (self: Object, Template) */ -void VIRTUAL_c_tools__CFunction__decls_61d(val* self, val* p0) { -c_tools__CFunction__decls_61d(self, p0); -RET_LABEL:; +var1 = var3; +RET_LABEL2:(void)0; } -/* method c_tools#CFunction#exprs for (self: CFunction): Template */ -val* c_tools__CFunction__exprs(val* self) { -val* var /* : Template */; -val* var1 /* : Template */; -var1 = self->attrs[COLOR_c_tools__CFunction___64dexprs].val; /* @exprs on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s", "Uninitialized attribute @exprs"); -fprintf(stderr, " (%s:%d)\n", "src/c_tools.nit", 85); -show_backtrace(1); } -var = var1; +if (varonce) { +var4 = varonce; +} else { +var5 = ".c"; +var6 = 2; +var7 = string__NativeString__to_s_with_length(var5, var6); +var4 = var7; +varonce = var4; +} +{ +var8 = file__String__basename(var1, var4); +} +var_basename = var8; +if (varonce9) { +var10 = varonce9; +} else { +var11 = ".extern.o"; +var12 = 9; +var13 = string__NativeString__to_s_with_length(var11, var12); +var10 = var13; +varonce9 = var10; +} +var14 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var14 = array_instance Array[Object] */ +var15 = 2; +var16 = NEW_array__NativeArray(var15, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var16)->values[0] = (val*) var_basename; +((struct instance_array__NativeArray*)var16)->values[1] = (val*) var10; +{ +((void (*)(val*, val*, long))(var14->class->vft[COLOR_array__Array__with_native]))(var14, var16, var15) /* with_native on */; +} +} +{ +var17 = ((val* (*)(val*))(var14->class->vft[COLOR_string__Object__to_s]))(var14) /* to_s on */; +} +var_res = var17; +var = var_res; +goto RET_LABEL; RET_LABEL:; return var; } -/* method c_tools#CFunction#exprs for (self: Object): Template */ -val* VIRTUAL_c_tools__CFunction__exprs(val* self) { -val* var /* : Template */; -val* var1 /* : Template */; -var1 = c_tools__CFunction__exprs(self); +/* method c_tools#ExternCFile#makefile_rule_name for (self: Object): String */ +val* VIRTUAL_c_tools__ExternCFile__makefile_rule_name(val* self) { +val* var /* : String */; +val* var1 /* : String */; +var1 = c_tools__ExternCFile__makefile_rule_name(self); var = var1; RET_LABEL:; return var; } -/* method c_tools#CFunction#exprs= for (self: CFunction, Template) */ -void c_tools__CFunction__exprs_61d(val* self, val* p0) { -self->attrs[COLOR_c_tools__CFunction___64dexprs].val = p0; /* @exprs on */ -RET_LABEL:; -} -/* method c_tools#CFunction#exprs= for (self: Object, Template) */ -void VIRTUAL_c_tools__CFunction__exprs_61d(val* self, val* p0) { -c_tools__CFunction__exprs_61d(self, p0); -RET_LABEL:; -} -/* method c_tools#CFunction#to_writer for (self: CFunction): Template */ -val* c_tools__CFunction__to_writer(val* self) { -val* var /* : Template */; -val* var1 /* : Template */; -val* var_w /* var w: Template */; -val* var2 /* : String */; -static val* varonce; +/* method c_tools#ExternCFile#makefile_rule_content for (self: ExternCFile): String */ +val* c_tools__ExternCFile__makefile_rule_content(val* self) { +val* var /* : String */; +val* var1 /* : String */; val* var3 /* : String */; -char* var4 /* : NativeString */; -long var5 /* : Int */; -val* var6 /* : String */; -val* var7 /* : Template */; -static val* varonce8; +static val* varonce; +val* var4 /* : String */; +char* var5 /* : NativeString */; +long var6 /* : Int */; +val* var7 /* : FlatString */; +val* var8 /* : String */; +val* var_ff /* var ff: String */; val* var9 /* : String */; -char* var10 /* : NativeString */; -long var11 /* : Int */; -val* var12 /* : String */; -val* var13 /* : Template */; -static val* varonce14; +val* var_o /* var o: String */; +static val* varonce10; +val* var11 /* : String */; +char* var12 /* : NativeString */; +long var13 /* : Int */; +val* var14 /* : FlatString */; val* var15 /* : String */; -char* var16 /* : NativeString */; -long var17 /* : Int */; -val* var18 /* : String */; -var1 = NEW_template__Template(&type_template__Template); -((void (*)(val*))(var1->class->vft[COLOR_template__Template__init]))(var1) /* init on */; -var_w = var1; -var2 = ((val* (*)(val*))(self->class->vft[COLOR_c_tools__CFunction__signature]))(self) /* signature on */; -((void (*)(val*, val*))(var_w->class->vft[COLOR_template__Template__add]))(var_w, var2) /* add on */; +val* var17 /* : String */; +static val* varonce18; +val* var19 /* : String */; +char* var20 /* : NativeString */; +long var21 /* : Int */; +val* var22 /* : FlatString */; +static val* varonce23; +val* var24 /* : String */; +char* var25 /* : NativeString */; +long var26 /* : Int */; +val* var27 /* : FlatString */; +val* var28 /* : Array[Object] */; +long var29 /* : Int */; +val* var30 /* : NativeArray[Object] */; +val* var31 /* : String */; +{ +{ /* Inline c_tools#ExternFile#filename (self) on */ +var3 = self->attrs[COLOR_c_tools__ExternFile___filename].val; /* _filename on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filename"); +PRINT_ERROR(" (%s:%d)\n", "c_tools.nit", 104); +show_backtrace(1); +} +var1 = var3; +RET_LABEL2:(void)0; +} +} if (varonce) { -var3 = varonce; +var4 = varonce; } else { -var4 = "\n{\n"; -var5 = 3; -var6 = string__NativeString__to_s_with_length(var4, var5); -var3 = var6; -varonce = var3; -} -((void (*)(val*, val*))(var_w->class->vft[COLOR_template__Template__add]))(var_w, var3) /* add on */; -var7 = ((val* (*)(val*))(self->class->vft[COLOR_c_tools__CFunction__decls]))(self) /* decls on */; -((void (*)(val*, val*))(var_w->class->vft[COLOR_template__Template__add]))(var_w, var7) /* add on */; -if (varonce8) { -var9 = varonce8; +var5 = ""; +var6 = 0; +var7 = string__NativeString__to_s_with_length(var5, var6); +var4 = var7; +varonce = var4; +} +{ +var8 = file__String__basename(var1, var4); +} +var_ff = var8; +{ +var9 = c_tools__ExternCFile__makefile_rule_name(self); +} +var_o = var9; +if (varonce10) { +var11 = varonce10; } else { -var10 = "\n"; -var11 = 1; -var12 = string__NativeString__to_s_with_length(var10, var11); -var9 = var12; -varonce8 = var9; -} -((void (*)(val*, val*))(var_w->class->vft[COLOR_template__Template__add]))(var_w, var9) /* add on */; -var13 = ((val* (*)(val*))(self->class->vft[COLOR_c_tools__CFunction__exprs]))(self) /* exprs on */; -((void (*)(val*, val*))(var_w->class->vft[COLOR_template__Template__add]))(var_w, var13) /* add on */; -if (varonce14) { -var15 = varonce14; +var12 = "$(CC) $(CFLAGS) "; +var13 = 16; +var14 = string__NativeString__to_s_with_length(var12, var13); +var11 = var14; +varonce10 = var11; +} +{ +{ /* Inline c_tools#ExternCFile#cflags (self) on */ +var17 = self->attrs[COLOR_c_tools__ExternCFile___cflags].val; /* _cflags on */ +if (unlikely(var17 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _cflags"); +PRINT_ERROR(" (%s:%d)\n", "c_tools.nit", 131); +show_backtrace(1); +} +var15 = var17; +RET_LABEL16:(void)0; +} +} +if (varonce18) { +var19 = varonce18; +} else { +var20 = " -c -o "; +var21 = 7; +var22 = string__NativeString__to_s_with_length(var20, var21); +var19 = var22; +varonce18 = var19; +} +if (varonce23) { +var24 = varonce23; } else { -var16 = "}\n"; -var17 = 2; -var18 = string__NativeString__to_s_with_length(var16, var17); -var15 = var18; -varonce14 = var15; -} -((void (*)(val*, val*))(var_w->class->vft[COLOR_template__Template__add]))(var_w, var15) /* add on */; -var = var_w; +var25 = " "; +var26 = 1; +var27 = string__NativeString__to_s_with_length(var25, var26); +var24 = var27; +varonce23 = var24; +} +var28 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var28 = array_instance Array[Object] */ +var29 = 6; +var30 = NEW_array__NativeArray(var29, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var30)->values[0] = (val*) var11; +((struct instance_array__NativeArray*)var30)->values[1] = (val*) var15; +((struct instance_array__NativeArray*)var30)->values[2] = (val*) var19; +((struct instance_array__NativeArray*)var30)->values[3] = (val*) var_o; +((struct instance_array__NativeArray*)var30)->values[4] = (val*) var24; +((struct instance_array__NativeArray*)var30)->values[5] = (val*) var_ff; +{ +((void (*)(val*, val*, long))(var28->class->vft[COLOR_array__Array__with_native]))(var28, var30, var29) /* with_native on */; +} +} +{ +var31 = ((val* (*)(val*))(var28->class->vft[COLOR_string__Object__to_s]))(var28) /* to_s on */; +} +var = var31; goto RET_LABEL; RET_LABEL:; return var; } -/* method c_tools#CFunction#to_writer for (self: Object): Template */ -val* VIRTUAL_c_tools__CFunction__to_writer(val* self) { -val* var /* : Template */; -val* var1 /* : Template */; -var1 = c_tools__CFunction__to_writer(self); +/* method c_tools#ExternCFile#makefile_rule_content for (self: Object): String */ +val* VIRTUAL_c_tools__ExternCFile__makefile_rule_content(val* self) { +val* var /* : String */; +val* var1 /* : String */; +var1 = c_tools__ExternCFile__makefile_rule_content(self); var = var1; RET_LABEL:; return var; } -/* method c_tools#CFunction#init for (self: CFunction, String) */ -void c_tools__CFunction__init(val* self, val* p0) { -self->attrs[COLOR_c_tools__CFunction___64dsignature].val = p0; /* @signature on */ +/* method c_tools#ExternCFile#compiles_to_o_file for (self: ExternCFile): Bool */ +short int c_tools__ExternCFile__compiles_to_o_file(val* self) { +short int var /* : Bool */; +short int var1 /* : Bool */; +var1 = 1; +var = var1; +goto RET_LABEL; RET_LABEL:; +return var; } -/* method c_tools#CFunction#init for (self: Object, String) */ -void VIRTUAL_c_tools__CFunction__init(val* self, val* p0) { -c_tools__CFunction__init(self, p0); +/* method c_tools#ExternCFile#compiles_to_o_file for (self: Object): Bool */ +short int VIRTUAL_c_tools__ExternCFile__compiles_to_o_file(val* self) { +short int var /* : Bool */; +short int var1 /* : Bool */; +var1 = c_tools__ExternCFile__compiles_to_o_file(self); +var = var1; RET_LABEL:; +return var; }