1 #include "nith.sep.0.h"
2 /* method nith#ToolContext#process_options for (self: ToolContext, Sequence[String]) */
3 void nith__ToolContext__process_options(val
* self
, val
* p0
) {
4 val
* var_args
/* var args: Sequence[String] */;
5 val
* var
/* : OptionBool */;
6 val
* var2
/* : OptionBool */;
7 val
* var3
/* : nullable Object */;
8 val
* var5
/* : nullable Object */;
10 short int var7
/* : Bool */;
11 val
* var8
/* : OptionBool */;
12 val
* var10
/* : OptionBool */;
13 val
* var11
/* : nullable Object */;
14 val
* var13
/* : nullable Object */;
15 long var14
/* : Int */;
16 short int var15
/* : Bool */;
17 long var16
/* : Int */;
18 short int var18
/* : Bool */;
21 const char* var_class_name
;
22 long var19
/* : Int */;
23 long var_sum
/* var sum: Int */;
24 long var20
/* : Int */;
25 short int var21
/* : Bool */;
26 short int var23
/* : Bool */;
29 const char* var_class_name26
;
30 short int var27
/* : Bool */;
32 val
* var28
/* : String */;
33 char* var29
/* : NativeString */;
34 long var30
/* : Int */;
35 val
* var31
/* : FlatString */;
36 long var32
/* : Int */;
37 long var34
/* : Int */;
38 short int var35
/* : Bool */;
39 short int var36
/* : Bool */;
40 short int var38
/* : Bool */;
41 val
* var39
/* : OptionBool */;
42 val
* var41
/* : OptionBool */;
43 short int var42
/* : Bool */;
44 short int var44
/* : Bool */;
47 const struct type
* type_struct
;
48 const char* var_class_name47
;
49 val
* var48
/* : nullable Object */;
52 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_nith__ToolContext__process_options
]))(self
, p0
) /* process_options on <self:ToolContext>*/;
55 { /* Inline separate_compiler#ToolContext#opt_separate (self) on <self:ToolContext> */
56 var2
= self
->attrs
[COLOR_separate_compiler__ToolContext___opt_separate
].val
; /* _opt_separate on <self:ToolContext> */
57 if (unlikely(var2
== NULL
)) {
58 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_separate");
59 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 24);
67 { /* Inline opts#Option#value (var) on <var:OptionBool> */
68 var5
= var
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var:OptionBool> */
74 var7
= ((struct instance_kernel__Bool
*)var3
)->value
; /* autounbox from nullable Object to Bool */;
75 var6
= kernel__Bool__to_i(var7
);
78 { /* Inline separate_erasure_compiler#ToolContext#opt_erasure (self) on <self:ToolContext> */
79 var10
= self
->attrs
[COLOR_separate_erasure_compiler__ToolContext___opt_erasure
].val
; /* _opt_erasure on <self:ToolContext> */
80 if (unlikely(var10
== NULL
)) {
81 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_erasure");
82 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_erasure_compiler.nit", 22);
90 { /* Inline opts#Option#value (var8) on <var8:OptionBool> */
91 var13
= var8
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var8:OptionBool> */
97 var15
= ((struct instance_kernel__Bool
*)var11
)->value
; /* autounbox from nullable Object to Bool */;
98 var14
= kernel__Bool__to_i(var15
);
101 { /* Inline kernel#Int#+ (var6,var14) on <var6:Int> */
102 /* Covariant cast for argument 0 (i) <var14:Int> isa OTHER */
103 /* <var14:Int> isa OTHER */
104 var18
= 1; /* easy <var14:Int> isa OTHER*/
105 if (unlikely(!var18
)) {
106 var_class_name
= type_kernel__Int
.name
;
107 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
108 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374);
111 var19
= var6
+ var14
;
120 { /* Inline kernel#Int#> (var_sum,var20) on <var_sum:Int> */
121 /* Covariant cast for argument 0 (i) <var20:Int> isa OTHER */
122 /* <var20:Int> isa OTHER */
123 var23
= 1; /* easy <var20:Int> isa OTHER*/
124 if (unlikely(!var23
)) {
125 var_class_name26
= type_kernel__Int
.name
;
126 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name26
);
127 PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 373);
130 var27
= var_sum
> var20
;
140 var29
= "Options --separate and --erasure are exclusive";
142 var31
= string__NativeString__to_s_with_length(var29
, var30
);
147 file__Object__print(self
, var28
); /* Direct call file#Object#print on <self:ToolContext>*/
151 { /* Inline kernel#Object#exit (self,var32) on <self:ToolContext> */
159 { /* Inline kernel#Int#== (var_sum,var34) on <var_sum:Int> */
160 var38
= var_sum
== var34
;
169 { /* Inline separate_compiler#ToolContext#opt_separate (self) on <self:ToolContext> */
170 var41
= self
->attrs
[COLOR_separate_compiler__ToolContext___opt_separate
].val
; /* _opt_separate on <self:ToolContext> */
171 if (unlikely(var41
== NULL
)) {
172 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_separate");
173 PRINT_ERROR(" (%s:%d)\n", "compiler/separate_compiler.nit", 24);
182 { /* Inline opts#Option#value= (var39,var42) on <var39:OptionBool> */
183 /* Covariant cast for argument 0 (value) <var42:Bool> isa VALUE */
184 /* <var42:Bool> isa VALUE */
185 type_struct
= var39
->type
->resolution_table
->types
[COLOR_opts__Option_VTVALUE
];
186 cltype45
= type_struct
->color
;
187 idtype46
= type_struct
->id
;
188 if(cltype45
>= (&type_kernel__Bool
)->table_size
) {
191 var44
= (&type_kernel__Bool
)->type_table
[cltype45
] == idtype46
;
193 if (unlikely(!var44
)) {
194 var_class_name47
= type_kernel__Bool
.name
;
195 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name47
);
196 PRINT_ERROR(" (%s:%d)\n", "../lib/opts.nit", 40);
199 var48
= BOX_kernel__Bool(var42
); /* autobox from Bool to nullable Object */
200 var39
->attrs
[COLOR_opts__Option___value
].val
= var48
; /* _value on <var39:OptionBool> */
209 /* method nith#ToolContext#process_options for (self: Object, Sequence[String]) */
210 void VIRTUAL_nith__ToolContext__process_options(val
* self
, val
* p0
) {
211 nith__ToolContext__process_options(self
, p0
); /* Direct call nith#ToolContext#process_options on <self:Object(ToolContext)>*/