#include "nitc__nith.sep.0.h"
-/* method nith#ToolContext#process_options for (self: ToolContext, Sequence[String]) */
+/* method nith$ToolContext$process_options for (self: ToolContext, Sequence[String]) */
void nitc__nith___ToolContext___process_options(val* self, val* p0) {
val* var_args /* var args: Sequence[String] */;
val* var /* : OptionBool */;
val* var27 /* : Sys */;
static val* varonce;
val* var28 /* : String */;
-char* var29 /* : NativeString */;
+char* var29 /* : CString */;
val* var30 /* : String */;
-val* var31 /* : Sys */;
-short int var33 /* : Bool */;
-short int var35 /* : Bool */;
-val* var36 /* : OptionBool */;
-val* var38 /* : OptionBool */;
-short int var40 /* : Bool */;
-int cltype41;
-int idtype42;
+val* var31 /* : nullable Int */;
+val* var32 /* : nullable Int */;
+val* var33 /* : nullable Bool */;
+val* var34 /* : nullable Bool */;
+val* var35 /* : Sys */;
+short int var37 /* : Bool */;
+short int var39 /* : Bool */;
+val* var40 /* : OptionBool */;
+val* var42 /* : OptionBool */;
+short int var44 /* : Bool */;
+int cltype45;
+int idtype46;
const struct type* type_struct;
-const char* var_class_name43;
-val* var44 /* : nullable Object */;
+const char* var_class_name47;
+val* var48 /* : nullable Object */;
var_args = p0;
{
((void(*)(val* self, val* p0))(self->class->vft[COLOR_nitc__nith___ToolContext___process_options]))(self, p0); /* process_options on <self:ToolContext>*/
}
{
-{ /* Inline separate_compiler#ToolContext#opt_separate (self) on <self:ToolContext> */
+{ /* Inline separate_compiler$ToolContext$opt_separate (self) on <self:ToolContext> */
var2 = self->attrs[COLOR_nitc__separate_compiler__ToolContext___opt_separate].val; /* _opt_separate on <self:ToolContext> */
if (unlikely(var2 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_separate");
PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler, 24);
fatal_exit(1);
}
}
{
-{ /* Inline opts#Option#value (var) on <var:OptionBool> */
+{ /* Inline opts$Option$value (var) on <var:OptionBool> */
var5 = var->attrs[COLOR_opts__Option___value].val; /* _value on <var:OptionBool> */
var3 = var5;
RET_LABEL4:(void)0;
var6 = core___core__Bool___to_i(var7);
}
{
-{ /* Inline separate_erasure_compiler#ToolContext#opt_erasure (self) on <self:ToolContext> */
+{ /* Inline separate_erasure_compiler$ToolContext$opt_erasure (self) on <self:ToolContext> */
var10 = self->attrs[COLOR_nitc__separate_erasure_compiler__ToolContext___opt_erasure].val; /* _opt_erasure on <self:ToolContext> */
if (unlikely(var10 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_erasure");
PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_erasure_compiler, 22);
fatal_exit(1);
}
}
{
-{ /* Inline opts#Option#value (var8) on <var8:OptionBool> */
+{ /* Inline opts$Option$value (var8) on <var8:OptionBool> */
var13 = var8->attrs[COLOR_opts__Option___value].val; /* _value on <var8:OptionBool> */
var11 = var13;
RET_LABEL12:(void)0;
var14 = core___core__Bool___to_i(var15);
}
{
-{ /* Inline kernel#Int#+ (var6,var14) on <var6:Int> */
+{ /* Inline kernel$Int$+ (var6,var14) on <var6:Int> */
/* Covariant cast for argument 0 (i) <var14:Int> isa OTHER */
/* <var14:Int> isa OTHER */
var18 = 1; /* easy <var14:Int> isa OTHER*/
if (unlikely(!var18)) {
var_class_name = type_core__Int.name;
PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
-PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728);
fatal_exit(1);
}
var19 = var6 + var14;
}
var_sum = var16;
{
-{ /* Inline kernel#Int#> (var_sum,1l) on <var_sum:Int> */
+{ /* Inline kernel$Int$> (var_sum,1l) on <var_sum:Int> */
/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
/* <1l:Int> isa OTHER */
var22 = 1; /* easy <1l:Int> isa OTHER*/
if (unlikely(!var22)) {
var_class_name25 = type_core__Int.name;
PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name25);
-PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 730);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727);
fatal_exit(1);
}
var26 = var_sum > 1l;
var28 = varonce;
} else {
var29 = "Options --separate and --erasure are exclusive";
-var30 = core__flat___NativeString___to_s_full(var29, 46l, 46l);
+var31 = (val*)(46l<<2|1);
+var32 = (val*)(46l<<2|1);
+var33 = (val*)((long)(0)<<2|3);
+var34 = (val*)((long)(0)<<2|3);
+var30 = core__flat___CString___to_s_unsafe(var29, var31, var32, var33, var34);
var28 = var30;
varonce = var28;
}
{
-core__file___Sys___print(var27, var28); /* Direct call file#Sys#print on <var27:Sys>*/
+core__file___Sys___print(var27, var28); /* Direct call file$Sys$print on <var27:Sys>*/
}
-var31 = glob_sys;
+var35 = glob_sys;
{
-{ /* Inline kernel#Sys#exit (var31,1l) on <var31:Sys> */
-exit(1l);
-RET_LABEL32:(void)0;
+{ /* Inline kernel$Sys$exit (var35,1l) on <var35:Sys> */
+exit((int)1l);
+RET_LABEL36:(void)0;
}
}
} else {
{
-{ /* Inline kernel#Int#== (var_sum,0l) on <var_sum:Int> */
-var35 = var_sum == 0l;
-var33 = var35;
-goto RET_LABEL34;
-RET_LABEL34:(void)0;
+{ /* Inline kernel$Int$== (var_sum,0l) on <var_sum:Int> */
+var39 = var_sum == 0l;
+var37 = var39;
+goto RET_LABEL38;
+RET_LABEL38:(void)0;
}
}
-if (var33){
+if (var37){
{
-{ /* Inline separate_compiler#ToolContext#opt_separate (self) on <self:ToolContext> */
-var38 = self->attrs[COLOR_nitc__separate_compiler__ToolContext___opt_separate].val; /* _opt_separate on <self:ToolContext> */
-if (unlikely(var38 == NULL)) {
+{ /* Inline separate_compiler$ToolContext$opt_separate (self) on <self:ToolContext> */
+var42 = self->attrs[COLOR_nitc__separate_compiler__ToolContext___opt_separate].val; /* _opt_separate on <self:ToolContext> */
+if (unlikely(var42 == NULL)) {
+if(catchStack.cursor >= 0){
+longjmp(catchStack.envs[catchStack.cursor], 1);
+}
PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_separate");
PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler, 24);
fatal_exit(1);
}
-var36 = var38;
-RET_LABEL37:(void)0;
+var40 = var42;
+RET_LABEL41:(void)0;
}
}
{
-{ /* Inline opts#Option#value= (var36,1) on <var36:OptionBool> */
+{ /* Inline opts$Option$value= (var40,1) on <var40:OptionBool> */
/* Covariant cast for argument 0 (value) <1:Bool> isa VALUE */
/* <1:Bool> isa VALUE */
-type_struct = var36->type->resolution_table->types[COLOR_opts__Option__VALUE];
-cltype41 = type_struct->color;
-idtype42 = type_struct->id;
-if(cltype41 >= (&type_core__Bool)->table_size) {
-var40 = 0;
+type_struct = var40->type->resolution_table->types[COLOR_opts__Option__VALUE];
+cltype45 = type_struct->color;
+idtype46 = type_struct->id;
+if(cltype45 >= (&type_core__Bool)->table_size) {
+var44 = 0;
} else {
-var40 = (&type_core__Bool)->type_table[cltype41] == idtype42;
+var44 = (&type_core__Bool)->type_table[cltype45] == idtype46;
}
-if (unlikely(!var40)) {
-var_class_name43 = type_core__Bool.name;
-PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name43);
+if (unlikely(!var44)) {
+var_class_name47 = type_core__Bool.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name47);
PRINT_ERROR(" (%s:%d)\n", FILE_opts, 40);
fatal_exit(1);
}
-var44 = (val*)((long)(1)<<2|3);
-var36->attrs[COLOR_opts__Option___value].val = var44; /* _value on <var36:OptionBool> */
-RET_LABEL39:(void)0;
+var48 = (val*)((long)(1)<<2|3);
+var40->attrs[COLOR_opts__Option___value].val = var48; /* _value on <var40:OptionBool> */
+RET_LABEL43:(void)0;
}
}
} else {