README: document nit_env.sh
[nit.git] / c_src / nit__nith.sep.1.c
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 */;
9 long var6 /* : Int */;
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 */;
19 int cltype;
20 int idtype;
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 */;
26 int cltype23;
27 int idtype24;
28 const char* var_class_name25;
29 short int var26 /* : Bool */;
30 val* var27 /* : Sys */;
31 static val* varonce;
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 */;
41 int cltype41;
42 int idtype42;
43 const struct type* type_struct;
44 const char* var_class_name43;
45 val* var44 /* : nullable Object */;
46 var_args = p0;
47 {
48 ((void(*)(val* self, val* p0))(self->class->vft[COLOR_nit__nith___ToolContext___process_options]))(self, p0); /* process_options on <self:ToolContext>*/
49 }
50 {
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);
56 fatal_exit(1);
57 }
58 var = var2;
59 RET_LABEL1:(void)0;
60 }
61 }
62 {
63 { /* Inline opts#Option#value (var) on <var:OptionBool> */
64 var5 = var->attrs[COLOR_opts__Option___value].val; /* _value on <var:OptionBool> */
65 var3 = var5;
66 RET_LABEL4:(void)0;
67 }
68 }
69 {
70 var7 = (short int)((long)(var3)>>2);
71 var6 = standard___standard__Bool___to_i(var7);
72 }
73 {
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);
79 fatal_exit(1);
80 }
81 var8 = var10;
82 RET_LABEL9:(void)0;
83 }
84 }
85 {
86 { /* Inline opts#Option#value (var8) on <var8:OptionBool> */
87 var13 = var8->attrs[COLOR_opts__Option___value].val; /* _value on <var8:OptionBool> */
88 var11 = var13;
89 RET_LABEL12:(void)0;
90 }
91 }
92 {
93 var15 = (short int)((long)(var11)>>2);
94 var14 = standard___standard__Bool___to_i(var15);
95 }
96 {
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);
105 fatal_exit(1);
106 }
107 var19 = var6 + var14;
108 var16 = var19;
109 goto RET_LABEL17;
110 RET_LABEL17:(void)0;
111 }
112 }
113 var_sum = var16;
114 {
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);
123 fatal_exit(1);
124 }
125 var26 = var_sum > 1l;
126 var20 = var26;
127 goto RET_LABEL21;
128 RET_LABEL21:(void)0;
129 }
130 }
131 if (var20){
132 var27 = glob_sys;
133 if (likely(varonce!=NULL)) {
134 var28 = varonce;
135 } else {
136 var29 = "Options --separate and --erasure are exclusive";
137 var30 = standard___standard__NativeString___to_s_with_length(var29, 46l);
138 var28 = var30;
139 varonce = var28;
140 }
141 {
142 standard__file___Sys___print(var27, var28); /* Direct call file#Sys#print on <var27:Sys>*/
143 }
144 var31 = glob_sys;
145 {
146 { /* Inline kernel#Sys#exit (var31,1l) on <var31:Sys> */
147 exit(1l);
148 RET_LABEL32:(void)0;
149 }
150 }
151 } else {
152 {
153 { /* Inline kernel#Int#== (var_sum,0l) on <var_sum:Int> */
154 var35 = var_sum == 0l;
155 var33 = var35;
156 goto RET_LABEL34;
157 RET_LABEL34:(void)0;
158 }
159 }
160 if (var33){
161 {
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);
167 fatal_exit(1);
168 }
169 var36 = var38;
170 RET_LABEL37:(void)0;
171 }
172 }
173 {
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) {
181 var40 = 0;
182 } else {
183 var40 = (&type_standard__Bool)->type_table[cltype41] == idtype42;
184 }
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);
189 fatal_exit(1);
190 }
191 var44 = (val*)((long)(1)<<2|3);
192 var36->attrs[COLOR_opts__Option___value].val = var44; /* _value on <var36:OptionBool> */
193 RET_LABEL39:(void)0;
194 }
195 }
196 } else {
197 }
198 }
199 RET_LABEL:;
200 }