-long var /* : Int */;
-long var1 /* : Int */;
-short int var2 /* : Bool */;
-short int var4 /* : Bool */;
-int cltype;
-int idtype;
-const char* var_class_name;
-short int var5 /* : Bool */;
-val* var6 /* : Array[nullable Object] */;
-static val* varonce;
-val* var7 /* : String */;
-char* var8 /* : NativeString */;
-long var9 /* : Int */;
-val* var10 /* : String */;
-static val* varonce11;
-val* var12 /* : String */;
-char* var13 /* : NativeString */;
-long var14 /* : Int */;
-val* var15 /* : String */;
-val* var16 /* : String */;
-static val* varonce17;
-val* var18 /* : String */;
-char* var19 /* : NativeString */;
-long var20 /* : Int */;
-val* var21 /* : String */;
-val* var22 /* : Array[Object] */;
-long var23 /* : Int */;
-val* var24 /* : NativeArray[Object] */;
-val* var25 /* : String */;
-val* var26 /* : nullable Object */;
-var_values = p0;
-var_help = p1;
-var_default = p2;
-var_names = p3;
-var = ((long (*)(val*))(var_values->class->vft[COLOR_abstract_collection__Collection__length]))(var_values) /* length on <var_values:Array[String]>*/;
-var1 = 0;
-{ /* Inline kernel#Int#> (var,var1) */
-/* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
-/* <var1:Int> isa OTHER */
-var4 = 1; /* easy <var1:Int> isa OTHER*/
-if (!var4) {
-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", 263);
-exit(1);
-}
-var5 = var > var1;
-var2 = var5;
-goto RET_LABEL3;
-RET_LABEL3:(void)0;
-}
-if (!var2) {
-fprintf(stderr, "Runtime error: %s", "Assert failed");
-fprintf(stderr, " (%s:%d)\n", "lib/opts.nit", 174);
-exit(1);
-}
-var6 = ((val* (*)(val*))(var_values->class->vft[COLOR_array__Collection__to_a]))(var_values) /* to_a on <var_values:Array[String]>*/;
-self->attrs[COLOR_opts__OptionEnum___values].val = var6; /* _values on <self:OptionEnum> */
-if (varonce) {
-var7 = varonce;
-} else {
-var8 = " <";
-var9 = 2;
-var10 = string__NativeString__to_s_with_length(var8, var9);
-var7 = var10;
-varonce = var7;
-}
-if (varonce11) {
-var12 = varonce11;
-} else {
-var13 = ", ";
-var14 = 2;
-var15 = string__NativeString__to_s_with_length(var13, var14);
-var12 = var15;
-varonce11 = var12;
-}
-var16 = ((val* (*)(val*, val*))(var_values->class->vft[COLOR_string__Collection__join]))(var_values, var12) /* join on <var_values:Array[String]>*/;
-if (varonce17) {
-var18 = varonce17;
-} else {
-var19 = ">";
-var20 = 1;
-var21 = string__NativeString__to_s_with_length(var19, var20);
-var18 = var21;
-varonce17 = var18;
-}
-var22 = NEW_array__Array(&type_array__Arraykernel__Object);
-{ /* var22 = array_instance Array[Object] */
-var23 = 4;
-var24 = NEW_array__NativeArray(var23, &type_array__NativeArraykernel__Object);
-((struct instance_array__NativeArray*)var24)->values[0] = (val*) var_help;
-((struct instance_array__NativeArray*)var24)->values[1] = (val*) var7;
-((struct instance_array__NativeArray*)var24)->values[2] = (val*) var16;
-((struct instance_array__NativeArray*)var24)->values[3] = (val*) var18;
-((void (*)(val*, val*, long))(var22->class->vft[COLOR_array__Array__with_native]))(var22, var24, var23) /* with_native on <var22:Array[Object]>*/;
-CHECK_NEW_array__Array(var22);
-}
-var25 = ((val* (*)(val*))(var22->class->vft[COLOR_string__Object__to_s]))(var22) /* to_s on <var22:Array[Object]>*/;
-var26 = BOX_kernel__Int(var_default); /* autobox from Int to nullable Object */
-((void (*)(val*, val*, val*, val*))(self->class->vft[COLOR_opts__OptionParameter__init_opt]))(self, var25, var26, var_names) /* init_opt on <self:OptionEnum>*/;
-RET_LABEL:;