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 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 var37
/* : Bool */;
40 val
* var38
/* : OptionBool */;
41 val
* var40
/* : OptionBool */;
42 short int var41
/* : Bool */;
43 short int var43
/* : Bool */;
46 const struct type
* type_struct
;
47 const char* var_class_name46
;
48 val
* var47
/* : nullable Object */;
51 ((void (*)(val
* self
, val
* p0
))(self
->class->vft
[COLOR_nit__nith___ToolContext___process_options
]))(self
, p0
) /* process_options on <self:ToolContext>*/;
54 { /* Inline separate_compiler#ToolContext#opt_separate (self) on <self:ToolContext> */
55 var2
= self
->attrs
[COLOR_nit__separate_compiler__ToolContext___opt_separate
].val
; /* _opt_separate on <self:ToolContext> */
56 if (unlikely(var2
== NULL
)) {
57 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_separate");
58 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 24);
66 { /* Inline opts#Option#value (var) on <var:OptionBool> */
67 var5
= var
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var:OptionBool> */
73 var7
= ((struct instance_standard__Bool
*)var3
)->value
; /* autounbox from nullable Object to Bool */;
74 var6
= standard___standard__Bool___to_i(var7
);
77 { /* Inline separate_erasure_compiler#ToolContext#opt_erasure (self) on <self:ToolContext> */
78 var10
= self
->attrs
[COLOR_nit__separate_erasure_compiler__ToolContext___opt_erasure
].val
; /* _opt_erasure on <self:ToolContext> */
79 if (unlikely(var10
== NULL
)) {
80 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_erasure");
81 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_erasure_compiler
, 22);
89 { /* Inline opts#Option#value (var8) on <var8:OptionBool> */
90 var13
= var8
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var8:OptionBool> */
96 var15
= ((struct instance_standard__Bool
*)var11
)->value
; /* autounbox from nullable Object to Bool */;
97 var14
= standard___standard__Bool___to_i(var15
);
100 { /* Inline kernel#Int#+ (var6,var14) on <var6:Int> */
101 /* Covariant cast for argument 0 (i) <var14:Int> isa OTHER */
102 /* <var14:Int> isa OTHER */
103 var18
= 1; /* easy <var14:Int> isa OTHER*/
104 if (unlikely(!var18
)) {
105 var_class_name
= type_standard__Int
.name
;
106 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
107 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
110 var19
= var6
+ var14
;
119 { /* Inline kernel#Int#> (var_sum,var20) on <var_sum:Int> */
120 /* Covariant cast for argument 0 (i) <var20:Int> isa OTHER */
121 /* <var20:Int> isa OTHER */
122 var23
= 1; /* easy <var20:Int> isa OTHER*/
123 if (unlikely(!var23
)) {
124 var_class_name26
= type_standard__Int
.name
;
125 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name26
);
126 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 412);
129 var27
= var_sum
> var20
;
139 var29
= "Options --separate and --erasure are exclusive";
141 var31
= standard___standard__NativeString___to_s_with_length(var29
, var30
);
146 standard__file___Object___print(self
, var28
); /* Direct call file#Object#print on <self:ToolContext>*/
150 { /* Inline kernel#Object#exit (self,var32) on <self:ToolContext> */
158 { /* Inline kernel#Int#== (var_sum,var34) on <var_sum:Int> */
159 var37
= var_sum
== var34
;
167 { /* Inline separate_compiler#ToolContext#opt_separate (self) on <self:ToolContext> */
168 var40
= self
->attrs
[COLOR_nit__separate_compiler__ToolContext___opt_separate
].val
; /* _opt_separate on <self:ToolContext> */
169 if (unlikely(var40
== NULL
)) {
170 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_separate");
171 PRINT_ERROR(" (%s:%d)\n", FILE_nit__separate_compiler
, 24);
180 { /* Inline opts#Option#value= (var38,var41) on <var38:OptionBool> */
181 /* Covariant cast for argument 0 (value) <var41:Bool> isa VALUE */
182 /* <var41:Bool> isa VALUE */
183 type_struct
= var38
->type
->resolution_table
->types
[COLOR_opts__Option__VALUE
];
184 cltype44
= type_struct
->color
;
185 idtype45
= type_struct
->id
;
186 if(cltype44
>= (&type_standard__Bool
)->table_size
) {
189 var43
= (&type_standard__Bool
)->type_table
[cltype44
] == idtype45
;
191 if (unlikely(!var43
)) {
192 var_class_name46
= type_standard__Bool
.name
;
193 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name46
);
194 PRINT_ERROR(" (%s:%d)\n", FILE_opts
, 40);
197 var47
= BOX_standard__Bool(var41
); /* autobox from Bool to nullable Object */
198 var38
->attrs
[COLOR_opts__Option___value
].val
= var47
; /* _value on <var38:OptionBool> */