1 #include "nit__nith.sep.0.h"
2 /* method nith#ToolContext#process_options for (self: ToolContext, Sequence[String]) */
3 void nit__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 short int var20
/* : Bool */;
25 short int var22
/* : Bool */;
28 const char* var_class_name25
;
29 short int var26
/* : Bool */;
30 val
* var27
/* : Sys */;
32 val
* var28
/* : String */;
33 char* var29
/* : NativeString */;
34 val
* var30
/* : FlatString */;
35 val
* var31
/* : Sys */;
36 short int var33
/* : Bool */;
37 short int var35
/* : Bool */;
38 val
* var36
/* : OptionBool */;
39 val
* var38
/* : OptionBool */;
40 short int var40
/* : Bool */;
43 const struct type
* type_struct
;
44 const char* var_class_name43
;
45 val
* var44
/* : nullable Object */;
48 ((void(*)(val
* self
, val
* p0
))(self
->class->vft
[COLOR_nit__nith___ToolContext___process_options
]))(self
, p0
); /* process_options on <self:ToolContext>*/
51 { /* Inline separate_compiler#ToolContext#opt_separate (self) on <self:ToolContext> */
52 var2
= self
->attrs
[COLOR_nit__separate_compiler__ToolContext___opt_separate
].val
; /* _opt_separate on <self:ToolContext> */
53 if (unlikely(var2
== NULL
)) {
54 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_separate");
55 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 24);
63 { /* Inline opts#Option#value (var) on <var:OptionBool> */
64 var5
= var
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var:OptionBool> */
70 var7
= (short int)((long)(var3
)>>2);
71 var6
= standard___standard__Bool___to_i(var7
);
74 { /* Inline separate_erasure_compiler#ToolContext#opt_erasure (self) on <self:ToolContext> */
75 var10
= self
->attrs
[COLOR_nit__separate_erasure_compiler__ToolContext___opt_erasure
].val
; /* _opt_erasure on <self:ToolContext> */
76 if (unlikely(var10
== NULL
)) {
77 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_erasure");
78 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_erasure_compiler
, 22);
86 { /* Inline opts#Option#value (var8) on <var8:OptionBool> */
87 var13
= var8
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var8:OptionBool> */
93 var15
= (short int)((long)(var11
)>>2);
94 var14
= standard___standard__Bool___to_i(var15
);
97 { /* Inline kernel#Int#+ (var6,var14) on <var6:Int> */
98 /* Covariant cast for argument 0 (i) <var14:Int> isa OTHER */
99 /* <var14:Int> isa OTHER */
100 var18
= 1; /* easy <var14:Int> isa OTHER*/
101 if (unlikely(!var18
)) {
102 var_class_name
= type_standard__Int
.name
;
103 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
104 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
107 var19
= var6
+ var14
;
115 { /* Inline kernel#Int#> (var_sum,1l) on <var_sum:Int> */
116 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
117 /* <1l:Int> isa OTHER */
118 var22
= 1; /* easy <1l:Int> isa OTHER*/
119 if (unlikely(!var22
)) {
120 var_class_name25
= type_standard__Int
.name
;
121 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name25
);
122 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 536);
125 var26
= var_sum
> 1l;
133 if (likely(varonce
!=NULL
)) {
136 var29
= "Options --separate and --erasure are exclusive";
137 var30
= standard___standard__NativeString___to_s_with_length(var29
, 46l);
142 standard__file___Sys___print(var27
, var28
); /* Direct call file#Sys#print on <var27:Sys>*/
146 { /* Inline kernel#Sys#exit (var31,1l) on <var31:Sys> */
153 { /* Inline kernel#Int#== (var_sum,0l) on <var_sum:Int> */
154 var35
= var_sum
== 0l;
162 { /* Inline separate_compiler#ToolContext#opt_separate (self) on <self:ToolContext> */
163 var38
= self
->attrs
[COLOR_nit__separate_compiler__ToolContext___opt_separate
].val
; /* _opt_separate on <self:ToolContext> */
164 if (unlikely(var38
== NULL
)) {
165 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_separate");
166 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 24);
174 { /* Inline opts#Option#value= (var36,1) on <var36:OptionBool> */
175 /* Covariant cast for argument 0 (value) <1:Bool> isa VALUE */
176 /* <1:Bool> isa VALUE */
177 type_struct
= var36
->type
->resolution_table
->types
[COLOR_opts__Option__VALUE
];
178 cltype41
= type_struct
->color
;
179 idtype42
= type_struct
->id
;
180 if(cltype41
>= (&type_standard__Bool
)->table_size
) {
183 var40
= (&type_standard__Bool
)->type_table
[cltype41
] == idtype42
;
185 if (unlikely(!var40
)) {
186 var_class_name43
= type_standard__Bool
.name
;
187 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name43
);
188 PRINT_ERROR(" (%s:%d)\n", FILE_opts
, 40);
191 var44
= (val
*)((long)(1)<<2|3);
192 var36
->attrs
[COLOR_opts__Option___value
].val
= var44
; /* _value on <var36:OptionBool> */