1 #include "nitc__nith.sep.0.h"
2 /* method nith$ToolContext$process_options for (self: ToolContext, Sequence[String]) */
3 void nitc__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
/* : CString */;
34 val
* var30
/* : String */;
35 val
* var31
/* : nullable Int */;
36 val
* var32
/* : nullable Int */;
37 val
* var33
/* : nullable Bool */;
38 val
* var34
/* : nullable Bool */;
39 val
* var35
/* : Sys */;
40 short int var37
/* : Bool */;
41 short int var39
/* : Bool */;
42 val
* var40
/* : OptionBool */;
43 val
* var42
/* : OptionBool */;
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
* self
, val
* p0
))(self
->class->vft
[COLOR_nitc__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_nitc__separate_compiler__ToolContext___opt_separate
].val
; /* _opt_separate on <self:ToolContext> */
57 if (unlikely(var2
== NULL
)) {
58 if(catchStack
.cursor
>= 0){
59 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
61 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_separate");
62 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 24);
70 { /* Inline opts$Option$value (var) on <var:OptionBool> */
71 var5
= var
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var:OptionBool> */
77 var7
= (short int)((long)(var3
)>>2);
78 var6
= core___core__Bool___to_i(var7
);
81 { /* Inline separate_erasure_compiler$ToolContext$opt_erasure (self) on <self:ToolContext> */
82 var10
= self
->attrs
[COLOR_nitc__separate_erasure_compiler__ToolContext___opt_erasure
].val
; /* _opt_erasure on <self:ToolContext> */
83 if (unlikely(var10
== NULL
)) {
84 if(catchStack
.cursor
>= 0){
85 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
87 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_erasure");
88 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_erasure_compiler
, 22);
96 { /* Inline opts$Option$value (var8) on <var8:OptionBool> */
97 var13
= var8
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var8:OptionBool> */
103 var15
= (short int)((long)(var11
)>>2);
104 var14
= core___core__Bool___to_i(var15
);
107 { /* Inline kernel$Int$+ (var6,var14) on <var6:Int> */
108 /* Covariant cast for argument 0 (i) <var14:Int> isa OTHER */
109 /* <var14:Int> isa OTHER */
110 var18
= 1; /* easy <var14:Int> isa OTHER*/
111 if (unlikely(!var18
)) {
112 var_class_name
= type_core__Int
.name
;
113 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
114 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
117 var19
= var6
+ var14
;
125 { /* Inline kernel$Int$> (var_sum,1l) on <var_sum:Int> */
126 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
127 /* <1l:Int> isa OTHER */
128 var22
= 1; /* easy <1l:Int> isa OTHER*/
129 if (unlikely(!var22
)) {
130 var_class_name25
= type_core__Int
.name
;
131 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name25
);
132 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 727);
135 var26
= var_sum
> 1l;
143 if (likely(varonce
!=NULL
)) {
146 var29
= "Options --separate and --erasure are exclusive";
147 var31
= (val
*)(46l<<2|1);
148 var32
= (val
*)(46l<<2|1);
149 var33
= (val
*)((long)(0)<<2|3);
150 var34
= (val
*)((long)(0)<<2|3);
151 var30
= core__flat___CString___to_s_unsafe(var29
, var31
, var32
, var33
, var34
);
156 core__file___Sys___print(var27
, var28
); /* Direct call file$Sys$print on <var27:Sys>*/
160 { /* Inline kernel$Sys$exit (var35,1l) on <var35:Sys> */
167 { /* Inline kernel$Int$== (var_sum,0l) on <var_sum:Int> */
168 var39
= var_sum
== 0l;
176 { /* Inline separate_compiler$ToolContext$opt_separate (self) on <self:ToolContext> */
177 var42
= self
->attrs
[COLOR_nitc__separate_compiler__ToolContext___opt_separate
].val
; /* _opt_separate on <self:ToolContext> */
178 if (unlikely(var42
== NULL
)) {
179 if(catchStack
.cursor
>= 0){
180 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
182 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_separate");
183 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__separate_compiler
, 24);
191 { /* Inline opts$Option$value= (var40,1) on <var40:OptionBool> */
192 /* Covariant cast for argument 0 (value) <1:Bool> isa VALUE */
193 /* <1:Bool> isa VALUE */
194 type_struct
= var40
->type
->resolution_table
->types
[COLOR_opts__Option__VALUE
];
195 cltype45
= type_struct
->color
;
196 idtype46
= type_struct
->id
;
197 if(cltype45
>= (&type_core__Bool
)->table_size
) {
200 var44
= (&type_core__Bool
)->type_table
[cltype45
] == idtype46
;
202 if (unlikely(!var44
)) {
203 var_class_name47
= type_core__Bool
.name
;
204 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name47
);
205 PRINT_ERROR(" (%s:%d)\n", FILE_opts
, 40);
208 var48
= (val
*)((long)(1)<<2|3);
209 var40
->attrs
[COLOR_opts__Option___value
].val
= var48
; /* _value on <var40:OptionBool> */