X-Git-Url: http://nitlanguage.org diff --git a/c_src/nitg.sep.1.c b/c_src/nitg.sep.1.c index 5edd380..b7b1b2a 100644 --- a/c_src/nitg.sep.1.c +++ b/c_src/nitg.sep.1.c @@ -56,6 +56,7 @@ short int var44 /* : Bool */; short int var46 /* : Bool */; int cltype; int idtype; +const char* var_class_name; short int var47 /* : Bool */; static val* varonce48; val* var49 /* : String */; @@ -95,16 +96,32 @@ val* var80 /* : nullable Object */; val* var81 /* : String */; val* var82 /* : nullable Object */; val* var83 /* : Location */; -val* var84 /* : RapidTypeAnalysis */; -val* var_analysis /* var analysis: RapidTypeAnalysis */; -val* var85 /* : OptionBool */; -val* var86 /* : nullable Object */; +val* var84 /* : nullable Platform */; +val* var_platform /* var platform: nullable Platform */; +short int var85 /* : Bool */; +val* var86 /* : null */; short int var87 /* : Bool */; -val* var88 /* : nullable Object */; +short int var_ /* var : Bool */; +short int var88 /* : Bool */; short int var89 /* : Bool */; +val* var90 /* : OptionBool */; +short int var91 /* : Bool */; +val* var92 /* : nullable Object */; +val* var93 /* : OptionBool */; +short int var94 /* : Bool */; +val* var95 /* : nullable Object */; +val* var96 /* : OptionBool */; +val* var97 /* : nullable Object */; +short int var98 /* : Bool */; +val* var99 /* : null */; +val* var100 /* : nullable Object */; +short int var101 /* : Bool */; +val* var102 /* : RapidTypeAnalysis */; +val* var_analysis /* var analysis: RapidTypeAnalysis */; +val* var103 /* : RapidTypeAnalysis */; +val* var_analysis104 /* var analysis: RapidTypeAnalysis */; var = NEW_toolcontext__ToolContext(&type_toolcontext__ToolContext); ((void (*)(val*))(var->class->vft[COLOR_toolcontext__ToolContext__init]))(var) /* init on */; -CHECK_NEW_toolcontext__ToolContext(var); var_toolcontext = var; var1 = NEW_opts__OptionBool(&type_opts__OptionBool); if (varonce) { @@ -131,10 +148,8 @@ var12 = 1; var13 = NEW_array__NativeArray(var12, &type_array__NativeArraystring__String); ((struct instance_array__NativeArray*)var13)->values[0] = (val*) var7; ((void (*)(val*, val*, long))(var11->class->vft[COLOR_array__Array__with_native]))(var11, var13, var12) /* with_native on */; -CHECK_NEW_array__Array(var11); } ((void (*)(val*, val*, val*))(var1->class->vft[COLOR_opts__OptionBool__init]))(var1, var2, var11) /* init on */; -CHECK_NEW_opts__OptionBool(var1); var_opt_global = var1; var14 = ((val* (*)(val*))(var_toolcontext->class->vft[COLOR_toolcontext__ToolContext__option_context]))(var_toolcontext) /* option_context on */; var15 = NEW_array__Array(&type_array__Arrayopts__Option); @@ -143,7 +158,6 @@ var16 = 1; var17 = NEW_array__NativeArray(var16, &type_array__NativeArrayopts__Option); ((struct instance_array__NativeArray*)var17)->values[0] = (val*) var_opt_global; ((void (*)(val*, val*, long))(var15->class->vft[COLOR_array__Array__with_native]))(var15, var17, var16) /* with_native on */; -CHECK_NEW_array__Array(var15); } ((void (*)(val*, val*))(var14->class->vft[COLOR_opts__OptionContext__add_option]))(var14, var15) /* add_option on */; var18 = NEW_opts__OptionArray(&type_opts__OptionArray); @@ -171,10 +185,8 @@ var30 = 1; var31 = NEW_array__NativeArray(var30, &type_array__NativeArraystring__String); ((struct instance_array__NativeArray*)var31)->values[0] = (val*) var25; ((void (*)(val*, val*, long))(var29->class->vft[COLOR_array__Array__with_native]))(var29, var31, var30) /* with_native on */; -CHECK_NEW_array__Array(var29); } ((void (*)(val*, val*, val*))(var18->class->vft[COLOR_opts__OptionArray__init]))(var18, var20, var29) /* init on */; -CHECK_NEW_opts__OptionArray(var18); var_opt_mixins = var18; var32 = ((val* (*)(val*))(var_toolcontext->class->vft[COLOR_toolcontext__ToolContext__option_context]))(var_toolcontext) /* option_context on */; var33 = NEW_array__Array(&type_array__Arrayopts__Option); @@ -183,17 +195,14 @@ var34 = 1; var35 = NEW_array__NativeArray(var34, &type_array__NativeArrayopts__Option); ((struct instance_array__NativeArray*)var35)->values[0] = (val*) var_opt_mixins; ((void (*)(val*, val*, long))(var33->class->vft[COLOR_array__Array__with_native]))(var33, var35, var34) /* with_native on */; -CHECK_NEW_array__Array(var33); } ((void (*)(val*, val*))(var32->class->vft[COLOR_opts__OptionContext__add_option]))(var32, var33) /* add_option on */; ((void (*)(val*))(var_toolcontext->class->vft[COLOR_toolcontext__ToolContext__process_options]))(var_toolcontext) /* process_options on */; var36 = NEW_model_base__Model(&type_model_base__Model); ((void (*)(val*))(var36->class->vft[COLOR_model_base__Model__init]))(var36) /* init on */; -CHECK_NEW_model_base__Model(var36); var_model = var36; var37 = NEW_modelbuilder__ModelBuilder(&type_modelbuilder__ModelBuilder); ((void (*)(val*, val*, val*))(var37->class->vft[COLOR_modelbuilder__ModelBuilder__init]))(var37, var_model, var_toolcontext) /* init on */; -CHECK_NEW_modelbuilder__ModelBuilder(var37); var_modelbuilder = var37; var38 = ((val* (*)(val*))(var_toolcontext->class->vft[COLOR_toolcontext__ToolContext__option_context]))(var_toolcontext) /* option_context on */; var39 = ((val* (*)(val*))(var38->class->vft[COLOR_opts__OptionContext__rest]))(var38) /* rest on */; @@ -212,8 +221,10 @@ var43 = 1; /* isa OTHER */ var46 = 1; /* easy isa OTHER*/ if (!var46) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259); -exit(1); +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", 267); +show_backtrace(1); } var47 = var42 > var43; var44 = var47; @@ -247,7 +258,6 @@ var61 = NEW_array__NativeArray(var60, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var61)->values[0] = (val*) var49; ((struct instance_array__NativeArray*)var61)->values[1] = (val*) var58; ((void (*)(val*, val*, long))(var59->class->vft[COLOR_array__Array__with_native]))(var59, var61, var60) /* with_native on */; -CHECK_NEW_array__Array(var59); } var62 = ((val* (*)(val*))(var59->class->vft[COLOR_string__Object__to_s]))(var59) /* to_s on */; ((void (*)(val*, val*))(self->class->vft[COLOR_file__Object__print]))(self, var62) /* print on */; @@ -264,7 +274,6 @@ var66 = 1; var67 = NEW_array__NativeArray(var66, &type_array__NativeArraystring__String); ((struct instance_array__NativeArray*)var67)->values[0] = (val*) var_progname; ((void (*)(val*, val*, long))(var65->class->vft[COLOR_array__Array__with_native]))(var65, var67, var66) /* with_native on */; -CHECK_NEW_array__Array(var65); } var68 = ((val* (*)(val*, val*))(var_modelbuilder->class->vft[COLOR_modelbuilder__ModelBuilder__parse]))(var_modelbuilder, var65) /* parse on */; var_mmodules = var68; @@ -289,31 +298,60 @@ if (var74){ var77 = ((val* (*)(val*))(var_mmodules->class->vft[COLOR_abstract_collection__Collection__first]))(var_mmodules) /* first on */; var_mainmodule = var77; } else { -var78 = NEW_model_base__MModule(&type_model_base__MModule); +var78 = NEW_mmodule__MModule(&type_mmodule__MModule); var79 = NULL; var80 = ((val* (*)(val*))(var_mmodules->class->vft[COLOR_abstract_collection__Collection__first]))(var_mmodules) /* first on */; -var81 = ((val* (*)(val*))(var80->class->vft[COLOR_model_base__MModule__name]))(var80) /* name on */; +var81 = ((val* (*)(val*))(var80->class->vft[COLOR_mmodule__MModule__name]))(var80) /* name on */; var82 = ((val* (*)(val*))(var_mmodules->class->vft[COLOR_abstract_collection__Collection__first]))(var_mmodules) /* first on */; -var83 = ((val* (*)(val*))(var82->class->vft[COLOR_model_base__MModule__location]))(var82) /* location on */; -((void (*)(val*, val*, val*, val*, val*))(var78->class->vft[COLOR_model_base__MModule__init]))(var78, var_model, var79, var81, var83) /* init on */; -CHECK_NEW_model_base__MModule(var78); +var83 = ((val* (*)(val*))(var82->class->vft[COLOR_mmodule__MModule__location]))(var82) /* location on */; +((void (*)(val*, val*, val*, val*, val*))(var78->class->vft[COLOR_mmodule__MModule__init]))(var78, var_model, var79, var81, var83) /* init on */; var_mainmodule = var78; -((void (*)(val*, val*))(var_mainmodule->class->vft[COLOR_model_base__MModule__set_imported_mmodules]))(var_mainmodule, var_mmodules) /* set_imported_mmodules on */; +((void (*)(val*, val*))(var_mainmodule->class->vft[COLOR_mmodule__MModule__set_imported_mmodules]))(var_mainmodule, var_mmodules) /* set_imported_mmodules on */; +} +var84 = ((val* (*)(val*))(var_mainmodule->class->vft[COLOR_platform__MModule__target_platform]))(var_mainmodule) /* target_platform on */; +var_platform = var84; +var86 = NULL; +if (var_platform == NULL) { +var87 = 0; /* is null */ +} else { +var87 = 1; /* arg is null and recv is not */ } -var84 = ((val* (*)(val*, val*))(var_modelbuilder->class->vft[COLOR_rapid_type_analysis__ModelBuilder__do_rapid_type_analysis]))(var_modelbuilder, var_mainmodule) /* do_rapid_type_analysis on */; -var_analysis = var84; -var85 = ((val* (*)(val*))(var_toolcontext->class->vft[COLOR_separate_erasure_compiler__ToolContext__opt_erasure]))(var_toolcontext) /* opt_erasure on */; -var86 = ((val* (*)(val*))(var85->class->vft[COLOR_opts__Option__value]))(var85) /* value on */; -var87 = ((struct instance_kernel__Bool*)var86)->value; /* autounbox from nullable Object to Bool */; +var_ = var87; if (var87){ -((void (*)(val*, val*, val*))(var_modelbuilder->class->vft[COLOR_separate_erasure_compiler__ModelBuilder__run_separate_erasure_compiler]))(var_modelbuilder, var_mainmodule, var_analysis) /* run_separate_erasure_compiler on */; +var88 = ((short int (*)(val*))(var_platform->class->vft[COLOR_platform__Platform__supports_libunwind]))(var_platform) /* supports_libunwind on */; +var89 = !var88; +var85 = var89; +} else { +var85 = var_; +} +if (var85){ +var90 = ((val* (*)(val*))(var_toolcontext->class->vft[COLOR_abstract_compiler__ToolContext__opt_no_stacktrace]))(var_toolcontext) /* opt_no_stacktrace on */; +var91 = 1; +var92 = BOX_kernel__Bool(var91); /* autobox from Bool to nullable Object */ +((void (*)(val*, val*))(var90->class->vft[COLOR_opts__Option__value_61d]))(var90, var92) /* value= on */; +var93 = ((val* (*)(val*))(var_toolcontext->class->vft[COLOR_abstract_compiler__ToolContext__opt_stacktrace]))(var_toolcontext) /* opt_stacktrace on */; +var94 = 0; +var95 = BOX_kernel__Bool(var94); /* autobox from Bool to nullable Object */ +((void (*)(val*, val*))(var93->class->vft[COLOR_opts__Option__value_61d]))(var93, var95) /* value= on */; +} else { +} +var96 = ((val* (*)(val*))(var_toolcontext->class->vft[COLOR_separate_erasure_compiler__ToolContext__opt_erasure]))(var_toolcontext) /* opt_erasure on */; +var97 = ((val* (*)(val*))(var96->class->vft[COLOR_opts__Option__value]))(var96) /* value on */; +var98 = ((struct instance_kernel__Bool*)var97)->value; /* autounbox from nullable Object to Bool */; +if (var98){ +var99 = NULL; +((void (*)(val*, val*, val*))(var_modelbuilder->class->vft[COLOR_separate_erasure_compiler__ModelBuilder__run_separate_erasure_compiler]))(var_modelbuilder, var_mainmodule, var99) /* run_separate_erasure_compiler on */; } else { -var88 = ((val* (*)(val*))(var_opt_global->class->vft[COLOR_opts__Option__value]))(var_opt_global) /* value on */; -var89 = ((struct instance_kernel__Bool*)var88)->value; /* autounbox from nullable Object to Bool */; -if (var89){ +var100 = ((val* (*)(val*))(var_opt_global->class->vft[COLOR_opts__Option__value]))(var_opt_global) /* value on */; +var101 = ((struct instance_kernel__Bool*)var100)->value; /* autounbox from nullable Object to Bool */; +if (var101){ +var102 = ((val* (*)(val*, val*))(var_modelbuilder->class->vft[COLOR_rapid_type_analysis__ModelBuilder__do_rapid_type_analysis]))(var_modelbuilder, var_mainmodule) /* do_rapid_type_analysis on */; +var_analysis = var102; ((void (*)(val*, val*, val*))(var_modelbuilder->class->vft[COLOR_global_compiler__ModelBuilder__run_global_compiler]))(var_modelbuilder, var_mainmodule, var_analysis) /* run_global_compiler on */; } else { -((void (*)(val*, val*, val*))(var_modelbuilder->class->vft[COLOR_separate_compiler__ModelBuilder__run_separate_compiler]))(var_modelbuilder, var_mainmodule, var_analysis) /* run_separate_compiler on */; +var103 = ((val* (*)(val*, val*))(var_modelbuilder->class->vft[COLOR_rapid_type_analysis__ModelBuilder__do_rapid_type_analysis]))(var_modelbuilder, var_mainmodule) /* do_rapid_type_analysis on */; +var_analysis104 = var103; +((void (*)(val*, val*, val*))(var_modelbuilder->class->vft[COLOR_separate_compiler__ModelBuilder__run_separate_compiler]))(var_modelbuilder, var_mainmodule, var_analysis104) /* run_separate_compiler on */; } } RET_LABEL:;