First NIT release and new clean mercurial repository
[nit.git] / c_src / file._sep.c
1 #include "file._sep.h"
2 void file___Object___printn(val_t self, val_t param0) {
3 struct trace_t trace = {NULL, "file::Object::printn (bin/../lib/standard//file.nit:24,2--27:27)"};
4 val_t variable0;
5 val_t variable1;
6 val_t variable2;
7 trace.prev = tracehead; tracehead = &trace;
8 /* check if p<Array[Object] with p:Object */
9 if (( param0!=NIT_NULL) && !VAL_ISA( param0, COLOR_Array, ID_Array)) { fprintf(stderr, "Cast failled at bin/../lib/standard//file.nit:25,24--41\n"); nit_exit(1); } /*cast Array[Object]*/;
10 variable0 = param0;
11 variable1 = ((file___Object___stdout_t)CALL( self,COLOR_file___Object___stdout))( self) /*Object::stdout*/;
12 variable2 = ((string___Collection___to_s_t)CALL( variable0 /*objects*/,COLOR_string___Object___to_s))( variable0 /*objects*/) /*Array::to_s*/;
13 ((file___OFStream___write_t)CALL(variable1,COLOR_stream___OStream___write))(variable1, variable2) /*OFStream::write*/;
14 tracehead = trace.prev;
15 return;
16 }
17 void file___Object___print(val_t self, val_t param0) {
18 struct trace_t trace = {NULL, "file::Object::print (bin/../lib/standard//file.nit:30,2--36:19)"};
19 val_t variable0;
20 val_t variable1;
21 val_t variable2;
22 trace.prev = tracehead; tracehead = &trace;
23 variable0 = param0;
24 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*object*/ == NIT_NULL /*null*/) || (( variable0 /*object*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*object*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*object*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*object*/,COLOR_kernel___Object_____eqeq))( variable0 /*object*/, NIT_NULL /*null*/) /*Object::==*/)))))));
25 if (UNTAG_Bool(variable1)) { /*if*/
26 variable1 = ((file___Object___stdout_t)CALL( self,COLOR_file___Object___stdout))( self) /*Object::stdout*/;
27 variable2 = ((string___Object___to_s_t)CALL( variable0 /*object*/,COLOR_string___Object___to_s))( variable0 /*object*/) /*Object::to_s*/;
28 ((file___OFStream___write_t)CALL(variable1,COLOR_stream___OStream___write))(variable1, variable2) /*OFStream::write*/;
29 }
30 variable1 = ((file___Object___stdout_t)CALL( self,COLOR_file___Object___stdout))( self) /*Object::stdout*/;
31 variable2 = NEW_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
32 ((file___OFStream___write_t)CALL(variable1,COLOR_stream___OStream___write))(variable1, variable2) /*OFStream::write*/;
33 tracehead = trace.prev;
34 return;
35 }
36 val_t file___Object___getc(val_t self) {
37 struct trace_t trace = {NULL, "file::Object::getc (bin/../lib/standard//file.nit:39,2--42:30)"};
38 val_t variable0;
39 trace.prev = tracehead; tracehead = &trace;
40 variable0 = ((file___Object___stdin_t)CALL( self,COLOR_file___Object___stdin))( self) /*Object::stdin*/;
41 variable0 = ((stream___BufferedIStream___read_char_t)CALL(variable0,COLOR_stream___IStream___read_char))(variable0) /*IFStream::read_char*/;
42 variable0 = TAG_Char(UNTAG_Int(variable0));
43 goto return_label2;
44 return_label2: while(false);
45 tracehead = trace.prev;
46 return variable0;
47 }
48 val_t file___Object___gets(val_t self) {
49 struct trace_t trace = {NULL, "file::Object::gets (bin/../lib/standard//file.nit:45,2--48:24)"};
50 val_t variable0;
51 trace.prev = tracehead; tracehead = &trace;
52 variable0 = ((file___Object___stdin_t)CALL( self,COLOR_file___Object___stdin))( self) /*Object::stdin*/;
53 variable0 = ((stream___IStream___read_line_t)CALL(variable0,COLOR_stream___IStream___read_line))(variable0) /*IFStream::read_line*/;
54 goto return_label3;
55 return_label3: while(false);
56 tracehead = trace.prev;
57 return variable0;
58 }
59 val_t file___Object___stdin(val_t self) {
60 struct trace_t trace = {NULL, "file::Object::stdin (bin/../lib/standard//file.nit:288,1--289:45)"};
61 val_t variable0;
62 static val_t once_value_variable0_5; static int once_bool_variable0_5;
63 trace.prev = tracehead; tracehead = &trace;
64 if (once_bool_variable0_5) variable0 = once_value_variable0_5;
65 else {
66 variable0 = NEW_file___Stdin___init(); /*new Stdin*/
67 once_value_variable0_5 = variable0;
68 once_bool_variable0_5 = true;
69 }
70 goto return_label4;
71 return_label4: while(false);
72 tracehead = trace.prev;
73 return variable0;
74 }
75 val_t file___Object___stdout(val_t self) {
76 struct trace_t trace = {NULL, "file::Object::stdout (bin/../lib/standard//file.nit:291,1--292:47)"};
77 val_t variable0;
78 static val_t once_value_variable0_7; static int once_bool_variable0_7;
79 trace.prev = tracehead; tracehead = &trace;
80 if (once_bool_variable0_7) variable0 = once_value_variable0_7;
81 else {
82 variable0 = NEW_file___Stdout___init(); /*new Stdout*/
83 once_value_variable0_7 = variable0;
84 once_bool_variable0_7 = true;
85 }
86 goto return_label6;
87 return_label6: while(false);
88 tracehead = trace.prev;
89 return variable0;
90 }
91 val_t file___Object___stderr(val_t self) {
92 struct trace_t trace = {NULL, "file::Object::stderr (bin/../lib/standard//file.nit:294,1--295:47)"};
93 val_t variable0;
94 static val_t once_value_variable0_9; static int once_bool_variable0_9;
95 trace.prev = tracehead; tracehead = &trace;
96 if (once_bool_variable0_9) variable0 = once_value_variable0_9;
97 else {
98 variable0 = NEW_file___Stderr___init(); /*new Stderr*/
99 once_value_variable0_9 = variable0;
100 once_bool_variable0_9 = true;
101 }
102 goto return_label8;
103 return_label8: while(false);
104 tracehead = trace.prev;
105 return variable0;
106 }
107 val_t file___FStream___path(val_t self) {
108 struct trace_t trace = {NULL, "file::FStream::path (bin/../lib/standard//file.nit:57,2--58:28)"};
109 trace.prev = tracehead; tracehead = &trace;
110 tracehead = trace.prev;
111 return ATTR_file___FStream____path( self) /*FStream::_path*/;
112 }
113 val_t file___FStream___file_stat(val_t self) {
114 struct trace_t trace = {NULL, "file::FStream::file_stat (bin/../lib/standard//file.nit:63,2--64:26)"};
115 val_t variable0;
116 trace.prev = tracehead; tracehead = &trace;
117 variable0 = ATTR_file___FStream____file( self) /*FStream::_file*/;
118 variable0 = ((file___NativeFile___file_stat_t)CALL(variable0,COLOR_file___NativeFile___file_stat))(variable0) /*NativeFile::file_stat*/;
119 goto return_label10;
120 return_label10: while(false);
121 tracehead = trace.prev;
122 return variable0;
123 }
124 void file___IFStream___reopen(val_t self) {
125 struct trace_t trace = {NULL, "file::IFStream::reopen (bin/../lib/standard//file.nit:73,2--79:15)"};
126 val_t variable0;
127 trace.prev = tracehead; tracehead = &trace;
128 variable0 = ((stream___BufferedIStream___eof_t)CALL( self,COLOR_stream___IStream___eof))( self) /*IFStream::eof*/;
129 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable0)))) { /*if*/
130 ((file___IFStream___close_t)CALL( self,COLOR_stream___IOS___close))( self) /*IFStream::close*/;
131 }
132 variable0 = ATTR_file___FStream____path( self) /*IFStream::_path*/;
133 variable0 = ((string___String___to_cstring_t)CALL(variable0,COLOR_string___String___to_cstring))(variable0) /*String::to_cstring*/;
134 variable0 = ((file___NativeFileCapable___io_open_read_t)CALL( self,COLOR_file___NativeFileCapable___io_open_read))( self, variable0) /*IFStream::io_open_read*/;
135 ATTR_file___FStream____file( self) /*IFStream::_file*/ = variable0;
136 ATTR_file___IFStream____end_reached( self) /*IFStream::_end_reached*/ = TAG_Bool(false);
137 ATTR_stream___BufferedIStream____buffer_pos( self) /*IFStream::_buffer_pos*/ = TAG_Int(0);
138 variable0 = ATTR_stream___BufferedIStream____buffer( self) /*IFStream::_buffer*/;
139 ((array___AbstractArray___clear_t)CALL(variable0,COLOR_abstract_collection___RemovableCollection___clear))(variable0) /*String::clear*/;
140 tracehead = trace.prev;
141 return;
142 }
143 void file___IFStream___close(val_t self) {
144 struct trace_t trace = {NULL, "file::IFStream::close (bin/../lib/standard//file.nit:82,2--85:21)"};
145 val_t variable0;
146 val_t variable1;
147 trace.prev = tracehead; tracehead = &trace;
148 variable1 = ATTR_file___FStream____file( self) /*IFStream::_file*/;
149 variable1 = ((file___NativeFile___io_close_t)CALL(variable1,COLOR_file___NativeFile___io_close))(variable1) /*NativeFile::io_close*/;
150 variable0 = variable1;
151 ATTR_file___IFStream____end_reached( self) /*IFStream::_end_reached*/ = TAG_Bool(true);
152 tracehead = trace.prev;
153 return;
154 }
155 void file___IFStream___fill_buffer(val_t self) {
156 struct trace_t trace = {NULL, "file::IFStream::fill_buffer (bin/../lib/standard//file.nit:88,2--97:17)"};
157 val_t variable0;
158 val_t variable1;
159 val_t variable2;
160 val_t variable3;
161 trace.prev = tracehead; tracehead = &trace;
162 variable1 = ATTR_file___FStream____file( self) /*IFStream::_file*/;
163 variable2 = ATTR_stream___BufferedIStream____buffer( self) /*IFStream::_buffer*/;
164 variable2 = ATTR_string___String____items(variable2) /*String::_items*/;
165 variable3 = ATTR_stream___BufferedIStream____buffer( self) /*IFStream::_buffer*/;
166 variable3 = ATTR_string___String____capacity(variable3) /*String::_capacity*/;
167 variable1 = ((file___NativeFile___io_read_t)CALL(variable1,COLOR_file___NativeFile___io_read))(variable1, variable2, variable3) /*NativeFile::io_read*/;
168 variable0 = variable1;
169 variable1 = TAG_Bool(UNTAG_Int( variable0 /*nb*/)<=UNTAG_Int( TAG_Int(0)));
170 if (UNTAG_Bool(variable1)) { /*if*/
171 ATTR_file___IFStream____end_reached( self) /*IFStream::_end_reached*/ = TAG_Bool(true);
172 variable0 = TAG_Int(0) /*nb=*/;
173 }
174 variable1 = ATTR_stream___BufferedIStream____buffer( self) /*IFStream::_buffer*/;
175 ATTR_array___AbstractArray____length(variable1) /*String::_length*/ = variable0 /*nb*/;
176 ATTR_stream___BufferedIStream____buffer_pos( self) /*IFStream::_buffer_pos*/ = TAG_Int(0);
177 tracehead = trace.prev;
178 return;
179 }
180 val_t file___IFStream___end_reached(val_t self) {
181 struct trace_t trace = {NULL, "file::IFStream::end_reached (bin/../lib/standard//file.nit:100,2--101:39)"};
182 trace.prev = tracehead; tracehead = &trace;
183 tracehead = trace.prev;
184 return ATTR_file___IFStream____end_reached( self) /*IFStream::_end_reached*/;
185 }
186 void file___IFStream___open(val_t self, val_t param0, int* init_table) {
187 struct trace_t trace = {NULL, "file::IFStream::open (bin/../lib/standard//file.nit:103,2--109:38)"};
188 val_t variable0;
189 val_t variable1;
190 trace.prev = tracehead; tracehead = &trace;
191 variable0 = param0;
192 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_IFStream].i]) return;
193 ATTR_file___FStream____path( self) /*IFStream::_path*/ = variable0 /*path*/;
194 ((stream___BufferedIStream___prepare_buffer_t)CALL( self,COLOR_stream___BufferedIStream___prepare_buffer))( self, TAG_Int(10)) /*IFStream::prepare_buffer*/;
195 variable1 = ATTR_file___FStream____path( self) /*IFStream::_path*/;
196 variable1 = ((string___String___to_cstring_t)CALL(variable1,COLOR_string___String___to_cstring))(variable1) /*String::to_cstring*/;
197 variable1 = ((file___NativeFileCapable___io_open_read_t)CALL( self,COLOR_file___NativeFileCapable___io_open_read))( self, variable1) /*IFStream::io_open_read*/;
198 ATTR_file___FStream____file( self) /*IFStream::_file*/ = variable1;
199 variable1 = ATTR_file___FStream____file( self) /*IFStream::_file*/;
200 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*NativeFile::==*/)))))));
201 if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert 'cant_open_file' failed: bin/../lib/standard//file.nit:109,3--38\n"); nit_exit(1);}
202 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_IFStream].i] = 1;
203 tracehead = trace.prev;
204 return;
205 }
206 void file___IFStream___without_file(val_t self, int* init_table) {
207 struct trace_t trace = {NULL, "file::IFStream::without_file (bin/../lib/standard//file.nit:112,2--26)"};
208 trace.prev = tracehead; tracehead = &trace;
209 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_IFStream].i]) return;
210 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_IFStream].i] = 1;
211 tracehead = trace.prev;
212 return;
213 }
214 void file___OFStream___write(val_t self, val_t param0) {
215 struct trace_t trace = {NULL, "file::OFStream::write (bin/../lib/standard//file.nit:120,2--124:37)"};
216 val_t variable0;
217 val_t variable1;
218 val_t variable2;
219 trace.prev = tracehead; tracehead = &trace;
220 variable0 = param0;
221 variable1 = ATTR_file___OFStream____writable( self) /*OFStream::_writable*/;
222 if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert failed: bin/../lib/standard//file.nit:123,3--18\n"); nit_exit(1);}
223 variable1 = ((string___String___to_cstring_t)CALL( variable0 /*s*/,COLOR_string___String___to_cstring))( variable0 /*s*/) /*String::to_cstring*/;
224 variable2 = ((array___AbstractArray___length_t)CALL( variable0 /*s*/,COLOR_abstract_collection___Collection___length))( variable0 /*s*/) /*String::length*/;
225 ((file___OFStream___write_native_t)CALL( self,COLOR_file___OFStream___write_native))( self, variable1, variable2) /*OFStream::write_native*/;
226 tracehead = trace.prev;
227 return;
228 }
229 val_t file___OFStream___is_writable(val_t self) {
230 struct trace_t trace = {NULL, "file::OFStream::is_writable (bin/../lib/standard//file.nit:127,2--43)"};
231 val_t variable0;
232 trace.prev = tracehead; tracehead = &trace;
233 variable0 = ATTR_file___OFStream____writable( self) /*OFStream::_writable*/;
234 goto return_label17;
235 return_label17: while(false);
236 tracehead = trace.prev;
237 return variable0;
238 }
239 void file___OFStream___close(val_t self) {
240 struct trace_t trace = {NULL, "file::OFStream::close (bin/../lib/standard//file.nit:129,2--132:19)"};
241 val_t variable0;
242 val_t variable1;
243 trace.prev = tracehead; tracehead = &trace;
244 variable1 = ATTR_file___FStream____file( self) /*OFStream::_file*/;
245 variable1 = ((file___NativeFile___io_close_t)CALL(variable1,COLOR_file___NativeFile___io_close))(variable1) /*NativeFile::io_close*/;
246 variable0 = variable1;
247 ATTR_file___OFStream____writable( self) /*OFStream::_writable*/ = TAG_Bool(false);
248 tracehead = trace.prev;
249 return;
250 }
251 void file___OFStream___write_native(val_t self, val_t param0, val_t param1) {
252 struct trace_t trace = {NULL, "file::OFStream::write_native (bin/../lib/standard//file.nit:138,2--145:54)"};
253 val_t variable0;
254 val_t variable1;
255 val_t variable2;
256 val_t variable3;
257 val_t variable4;
258 val_t variable5;
259 val_t variable6;
260 trace.prev = tracehead; tracehead = &trace;
261 variable0 = param0;
262 variable1 = param1;
263 variable2 = ATTR_file___OFStream____writable( self) /*OFStream::_writable*/;
264 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: bin/../lib/standard//file.nit:141,3--18\n"); nit_exit(1);}
265 variable3 = ATTR_file___FStream____file( self) /*OFStream::_file*/;
266 variable3 = ((file___NativeFile___io_write_t)CALL(variable3,COLOR_file___NativeFile___io_write))(variable3, variable0 /*native*/, variable1 /*len*/) /*NativeFile::io_write*/;
267 variable2 = variable3;
268 variable3 = TAG_Bool(( variable2 /*err*/)!=( variable1 /*len*/));
269 if (UNTAG_Bool(variable3)) { /*if*/
270 variable3 = NEW_array___Array___with_capacity(TAG_Int(5)); /*new Array[Object]*/
271 variable4 = NEW_string___String___with_native(BOX_NativeString("Problem in writing : "), TAG_Int(21)); /*new String*/
272 ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3, variable4) /*Array::add*/;
273 ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3, variable2 /*err*/) /*Array::add*/;
274 variable5 = NEW_string___String___with_native(BOX_NativeString(" "), TAG_Int(1)); /*new String*/
275 ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3, variable5) /*Array::add*/;
276 ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3, variable1 /*len*/) /*Array::add*/;
277 variable6 = NEW_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
278 ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3, variable6) /*Array::add*/;
279 ((file___Object___printn_t)CALL( self,COLOR_file___Object___printn))( self, variable3) /*OFStream::printn*/;
280 }
281 tracehead = trace.prev;
282 return;
283 }
284 void file___OFStream___open(val_t self, val_t param0, int* init_table) {
285 struct trace_t trace = {NULL, "file::OFStream::open (bin/../lib/standard//file.nit:149,2--155:18)"};
286 val_t variable0;
287 val_t variable1;
288 trace.prev = tracehead; tracehead = &trace;
289 variable0 = param0;
290 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_OFStream].i]) return;
291 variable1 = ((string___String___to_cstring_t)CALL( variable0 /*path*/,COLOR_string___String___to_cstring))( variable0 /*path*/) /*String::to_cstring*/;
292 variable1 = ((file___NativeFileCapable___io_open_write_t)CALL( self,COLOR_file___NativeFileCapable___io_open_write))( self, variable1) /*OFStream::io_open_write*/;
293 ATTR_file___FStream____file( self) /*OFStream::_file*/ = variable1;
294 variable1 = ATTR_file___FStream____file( self) /*OFStream::_file*/;
295 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*NativeFile::==*/)))))));
296 if (!UNTAG_Bool(variable1)) { fprintf(stderr, "Assert 'cant_open_file' failed: bin/../lib/standard//file.nit:153,3--38\n"); nit_exit(1);}
297 ATTR_file___FStream____path( self) /*OFStream::_path*/ = variable0 /*path*/;
298 ATTR_file___OFStream____writable( self) /*OFStream::_writable*/ = TAG_Bool(true);
299 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_OFStream].i] = 1;
300 tracehead = trace.prev;
301 return;
302 }
303 void file___OFStream___without_file(val_t self, int* init_table) {
304 struct trace_t trace = {NULL, "file::OFStream::without_file (bin/../lib/standard//file.nit:158,2--26)"};
305 trace.prev = tracehead; tracehead = &trace;
306 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_OFStream].i]) return;
307 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_OFStream].i] = 1;
308 tracehead = trace.prev;
309 return;
310 }
311 void file___Stdin___init(val_t self, int* init_table) {
312 struct trace_t trace = {NULL, "file::Stdin::init (bin/../lib/standard//file.nit:165,2--168:18)"};
313 val_t variable0;
314 trace.prev = tracehead; tracehead = &trace;
315 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Stdin].i]) return;
316 ((file___IFStream___without_file_t)CALL( self,COLOR_file___IFStream___without_file))( self, init_table /*YYY*/) /*IFStream::without_file*/;
317 variable0 = ((file___NativeFileCapable___native_stdin_t)CALL( self,COLOR_file___NativeFileCapable___native_stdin))( self) /*Stdin::native_stdin*/;
318 ATTR_file___FStream____file( self) /*Stdin::_file*/ = variable0;
319 variable0 = NEW_string___String___with_native(BOX_NativeString("/dev/stdin"), TAG_Int(10)); /*new String*/
320 ATTR_file___FStream____path( self) /*Stdin::_path*/ = variable0;
321 ((stream___BufferedIStream___prepare_buffer_t)CALL( self,COLOR_stream___BufferedIStream___prepare_buffer))( self, TAG_Int(1)) /*Stdin::prepare_buffer*/;
322 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Stdin].i] = 1;
323 tracehead = trace.prev;
324 return;
325 }
326 void file___Stdout___init(val_t self, int* init_table) {
327 struct trace_t trace = {NULL, "file::Stdout::init (bin/../lib/standard//file.nit:174,2--177:18)"};
328 val_t variable0;
329 trace.prev = tracehead; tracehead = &trace;
330 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Stdout].i]) return;
331 ((file___OFStream___without_file_t)CALL( self,COLOR_file___OFStream___without_file))( self, init_table /*YYY*/) /*OFStream::without_file*/;
332 variable0 = ((file___NativeFileCapable___native_stdout_t)CALL( self,COLOR_file___NativeFileCapable___native_stdout))( self) /*Stdout::native_stdout*/;
333 ATTR_file___FStream____file( self) /*Stdout::_file*/ = variable0;
334 variable0 = NEW_string___String___with_native(BOX_NativeString("/dev/stdout"), TAG_Int(11)); /*new String*/
335 ATTR_file___FStream____path( self) /*Stdout::_path*/ = variable0;
336 ATTR_file___OFStream____writable( self) /*Stdout::_writable*/ = TAG_Bool(true);
337 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Stdout].i] = 1;
338 tracehead = trace.prev;
339 return;
340 }
341 void file___Stderr___init(val_t self, int* init_table) {
342 struct trace_t trace = {NULL, "file::Stderr::init (bin/../lib/standard//file.nit:183,2--186:18)"};
343 val_t variable0;
344 trace.prev = tracehead; tracehead = &trace;
345 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Stderr].i]) return;
346 ((file___OFStream___without_file_t)CALL( self,COLOR_file___OFStream___without_file))( self, init_table /*YYY*/) /*OFStream::without_file*/;
347 variable0 = ((file___NativeFileCapable___native_stderr_t)CALL( self,COLOR_file___NativeFileCapable___native_stderr))( self) /*Stderr::native_stderr*/;
348 ATTR_file___FStream____file( self) /*Stderr::_file*/ = variable0;
349 variable0 = NEW_string___String___with_native(BOX_NativeString("/dev/stderr"), TAG_Int(11)); /*new String*/
350 ATTR_file___FStream____path( self) /*Stderr::_path*/ = variable0;
351 ATTR_file___OFStream____writable( self) /*Stderr::_writable*/ = TAG_Bool(true);
352 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_Stderr].i] = 1;
353 tracehead = trace.prev;
354 return;
355 }
356 val_t file___String___file_exists(val_t self) {
357 struct trace_t trace = {NULL, "file::String::file_exists (bin/../lib/standard//file.nit:193,2--194:56)"};
358 val_t variable0;
359 trace.prev = tracehead; tracehead = &trace;
360 variable0 = ((string___String___to_cstring_t)CALL( self,COLOR_string___String___to_cstring))( self) /*String::to_cstring*/;
361 variable0 = ((file___NativeString___file_exists_t)CALL(variable0,COLOR_file___NativeString___file_exists))(variable0) /*NativeString::file_exists*/;
362 goto return_label25;
363 return_label25: while(false);
364 tracehead = trace.prev;
365 return variable0;
366 }
367 val_t file___String___file_stat(val_t self) {
368 struct trace_t trace = {NULL, "file::String::file_stat (bin/../lib/standard//file.nit:196,2--56)"};
369 val_t variable0;
370 trace.prev = tracehead; tracehead = &trace;
371 variable0 = ((string___String___to_cstring_t)CALL( self,COLOR_string___String___to_cstring))( self) /*String::to_cstring*/;
372 variable0 = ((file___NativeString___file_stat_t)CALL(variable0,COLOR_file___NativeString___file_stat))(variable0) /*NativeString::file_stat*/;
373 goto return_label26;
374 return_label26: while(false);
375 tracehead = trace.prev;
376 return variable0;
377 }
378 val_t file___String___strip_extension(val_t self, val_t param0) {
379 struct trace_t trace = {NULL, "file::String::strip_extension (bin/../lib/standard//file.nit:198,2--203:13)"};
380 val_t variable0;
381 val_t variable1;
382 val_t variable2;
383 trace.prev = tracehead; tracehead = &trace;
384 variable0 = param0;
385 variable1 = ((string___String___has_suffix_t)CALL( self,COLOR_string___String___has_suffix))( self, variable0 /*ext*/) /*String::has_suffix*/;
386 if (UNTAG_Bool(variable1)) { /*if*/
387 variable1 = ((array___AbstractArray___length_t)CALL( self,COLOR_abstract_collection___Collection___length))( self) /*String::length*/;
388 variable2 = ((array___AbstractArray___length_t)CALL( variable0 /*ext*/,COLOR_abstract_collection___Collection___length))( variable0 /*ext*/) /*String::length*/;
389 variable1 = TAG_Int(UNTAG_Int(variable1)-UNTAG_Int(variable2));
390 variable1 = ((string___String___substring_t)CALL( self,COLOR_string___String___substring))( self, TAG_Int(0), variable1) /*String::substring*/;
391 goto return_label27;
392 }
393 variable1 = self;
394 goto return_label27;
395 return_label27: while(false);
396 tracehead = trace.prev;
397 return variable1;
398 }
399 val_t file___String___basename(val_t self, val_t param0) {
400 struct trace_t trace = {NULL, "file::String::basename (bin/../lib/standard//file.nit:206,2--213:30)"};
401 val_t variable0;
402 val_t variable1;
403 val_t variable2;
404 val_t variable3;
405 trace.prev = tracehead; tracehead = &trace;
406 variable0 = param0;
407 variable2 = ATTR_array___AbstractArray____length( self) /*String::_length*/;
408 variable2 = TAG_Int(UNTAG_Int(variable2)-UNTAG_Int( TAG_Int(1)));
409 variable2 = ((array___AbstractArray___last_index_of_from_t)CALL( self,COLOR_array___AbstractArray___last_index_of_from))( self, TAG_Char('/'), variable2) /*String::last_index_of_from*/;
410 variable1 = variable2;
411 variable2 = self;
412 variable3 = TAG_Bool(UNTAG_Int( variable1 /*pos*/)>=UNTAG_Int( TAG_Int(0)));
413 if (UNTAG_Bool(variable3)) { /*if*/
414 variable3 = TAG_Int(UNTAG_Int( variable1 /*pos*/)+UNTAG_Int( TAG_Int(1)));
415 variable3 = ((string___String___substring_from_t)CALL( self,COLOR_string___String___substring_from))( self, variable3) /*String::substring_from*/;
416 variable2 = variable3 /*n=*/;
417 }
418 variable3 = ((file___String___strip_extension_t)CALL( variable2 /*n*/,COLOR_file___String___strip_extension))( variable2 /*n*/, variable0 /*ext*/) /*String::strip_extension*/;
419 variable1 = variable3;
420 goto return_label28;
421 return_label28: while(false);
422 tracehead = trace.prev;
423 return variable1;
424 }
425 val_t file___String___dirname(val_t self) {
426 struct trace_t trace = {NULL, "file::String::dirname (bin/../lib/standard//file.nit:216,2--222:13)"};
427 val_t variable0;
428 val_t variable1;
429 trace.prev = tracehead; tracehead = &trace;
430 variable1 = ATTR_array___AbstractArray____length( self) /*String::_length*/;
431 variable1 = TAG_Int(UNTAG_Int(variable1)-UNTAG_Int( TAG_Int(1)));
432 variable1 = ((array___AbstractArray___last_index_of_from_t)CALL( self,COLOR_array___AbstractArray___last_index_of_from))( self, TAG_Char('/'), variable1) /*String::last_index_of_from*/;
433 variable0 = variable1;
434 variable1 = TAG_Bool(UNTAG_Int( variable0 /*pos*/)>=UNTAG_Int( TAG_Int(0)));
435 if (UNTAG_Bool(variable1)) { /*if*/
436 variable1 = ((string___String___substring_t)CALL( self,COLOR_string___String___substring))( self, TAG_Int(0), variable0 /*pos*/) /*String::substring*/;
437 variable0 = variable1;
438 goto return_label29;
439 } else { /*if*/
440 variable1 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
441 variable0 = variable1;
442 goto return_label29;
443 }
444 return_label29: while(false);
445 tracehead = trace.prev;
446 return variable0;
447 }
448 val_t file___String___file_path(val_t self) {
449 struct trace_t trace = {NULL, "file::String::file_path (bin/../lib/standard//file.nit:226,2--233:12)"};
450 val_t variable0;
451 val_t variable1;
452 val_t variable2;
453 trace.prev = tracehead; tracehead = &trace;
454 variable1 = ATTR_array___AbstractArray____length( self) /*String::_length*/;
455 variable0 = variable1;
456 variable2 = TAG_Int(UNTAG_Int( variable0 /*l*/)-UNTAG_Int( TAG_Int(1)));
457 variable2 = ((array___AbstractArray___last_index_of_from_t)CALL( self,COLOR_array___AbstractArray___last_index_of_from))( self, TAG_Char('/'), variable2) /*String::last_index_of_from*/;
458 variable1 = variable2;
459 variable2 = TAG_Bool(UNTAG_Int( variable1 /*pos*/)>=UNTAG_Int( TAG_Int(0)));
460 if (UNTAG_Bool(variable2)) { /*if*/
461 variable2 = ((string___String___substring_t)CALL( self,COLOR_string___String___substring))( self, TAG_Int(0), variable1 /*pos*/) /*String::substring*/;
462 variable0 = variable2;
463 goto return_label30;
464 }
465 variable2 = NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
466 variable0 = variable2;
467 goto return_label30;
468 return_label30: while(false);
469 tracehead = trace.prev;
470 return variable0;
471 }
472 void file___String___mkdir(val_t self) {
473 struct trace_t trace = {NULL, "file::String::mkdir (bin/../lib/standard//file.nit:236,2--250:29)"};
474 val_t variable0;
475 val_t variable1;
476 val_t variable2;
477 val_t variable3;
478 val_t variable4;
479 trace.prev = tracehead; tracehead = &trace;
480 variable1 = NEW_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
481 variable1 = ((string_search___String___split_with_t)CALL( self,COLOR_string_search___String___split_with))( self, variable1) /*String::split_with*/;
482 variable0 = variable1;
483 variable2 = NEW_string___String___init(); /*new String*/
484 variable1 = variable2;
485 variable2 = ((array___AbstractArray___is_empty_t)CALL( variable0 /*dirs*/,COLOR_abstract_collection___Collection___is_empty))( variable0 /*dirs*/) /*Array::is_empty*/;
486 if (UNTAG_Bool(variable2)) { /*if*/
487 goto return_label31;
488 }
489 variable2 = TAG_Int(0);
490 variable3 = TAG_Bool(UNTAG_Int( variable2 /*index*/)>=UNTAG_Int( TAG_Int(0)));
491 variable4 = variable3;
492 if (UNTAG_Bool(variable4)) { /* and */
493 variable4 = ATTR_array___AbstractArray____length( variable0 /*dirs*/) /*Array::_length*/;
494 variable4 = TAG_Bool(UNTAG_Int( variable2 /*index*/)<UNTAG_Int(variable4));
495 }
496 variable3 = variable4;
497 if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
498 variable3 = ATTR_array___Array____items( variable0 /*dirs*/) /*Array::_items*/;
499 variable3 = UNBOX_NativeArray(variable3)[UNTAG_Int( variable2 /*index*/)];
500 goto return_label32;
501 return_label32: while(false);
502 variable2 = variable3;
503 variable2 = ((array___AbstractArray___is_empty_t)CALL(variable2,COLOR_abstract_collection___Collection___is_empty))(variable2) /*String::is_empty*/;
504 if (UNTAG_Bool(variable2)) { /*if*/
505 ((string___String___add_t)CALL( variable1 /*path*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*path*/, TAG_Char('/')) /*String::add*/;
506 }
507 variable2 = ((array___AbstractArray___iterator_t)CALL( variable0 /*dirs*/,COLOR_abstract_collection___Collection___iterator))( variable0 /*dirs*/) /*Array::iterator*/;
508 while (true) { /*for*/
509 variable3 = ((array___ArrayIterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*ArrayIterator::is_ok*/;
510 if (!UNTAG_Bool(variable3)) break; /*for*/
511 variable3 = ((array___ArrayIterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*ArrayIterator::item*/;
512 variable4 = ((array___AbstractArray___is_empty_t)CALL( variable3 /*d*/,COLOR_abstract_collection___Collection___is_empty))( variable3 /*d*/) /*String::is_empty*/;
513 if (UNTAG_Bool(variable4)) { /*if*/
514 goto continue_33;
515 }
516 ((string___String___append_t)CALL( variable1 /*path*/,COLOR_abstract_collection___IndexedCollection___append))( variable1 /*path*/, variable3 /*d*/) /*String::append*/;
517 ((string___String___add_t)CALL( variable1 /*path*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*path*/, TAG_Char('/')) /*String::add*/;
518 variable4 = ((string___String___to_cstring_t)CALL( variable1 /*path*/,COLOR_string___String___to_cstring))( variable1 /*path*/) /*String::to_cstring*/;
519 ((file___NativeString___file_mkdir_t)CALL(variable4,COLOR_file___NativeString___file_mkdir))(variable4) /*NativeString::file_mkdir*/;
520 continue_33: while(0);
521 ((array___ArrayIterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*ArrayIterator::next*/;
522 }
523 break_33: while(0);
524 return_label31: while(false);
525 tracehead = trace.prev;
526 return;
527 }
528 val_t file___NativeString___file_exists(val_t self) {
529 struct trace_t trace = {NULL, "file::NativeString::file_exists (bin/../lib/standard//file.nit:256,2--90)"};
530 trace.prev = tracehead; tracehead = &trace;
531 tracehead = trace.prev;
532 return TAG_Bool(string_NativeString_NativeString_file_exists_0(UNBOX_NativeString( self)));
533 }
534 val_t file___NativeString___file_stat(val_t self) {
535 struct trace_t trace = {NULL, "file::NativeString::file_stat (bin/../lib/standard//file.nit:257,2--90)"};
536 trace.prev = tracehead; tracehead = &trace;
537 tracehead = trace.prev;
538 return BOX_FileStat(string_NativeString_NativeString_file_stat_0(UNBOX_NativeString( self)));
539 }
540 val_t file___NativeString___file_mkdir(val_t self) {
541 struct trace_t trace = {NULL, "file::NativeString::file_mkdir (bin/../lib/standard//file.nit:258,2--88)"};
542 trace.prev = tracehead; tracehead = &trace;
543 tracehead = trace.prev;
544 return TAG_Bool(string_NativeString_NativeString_file_mkdir_0(UNBOX_NativeString( self)));
545 }
546 val_t file___FileStat___mode(val_t self) {
547 struct trace_t trace = {NULL, "file::FileStat::mode (bin/../lib/standard//file.nit:263,1--264:57)"};
548 trace.prev = tracehead; tracehead = &trace;
549 tracehead = trace.prev;
550 return TAG_Int(file_FileStat_FileStat_mode_0(UNBOX_FileStat( self)));
551 }
552 val_t file___FileStat___atime(val_t self) {
553 struct trace_t trace = {NULL, "file::FileStat::atime (bin/../lib/standard//file.nit:265,2--59)"};
554 trace.prev = tracehead; tracehead = &trace;
555 tracehead = trace.prev;
556 return TAG_Int(file_FileStat_FileStat_atime_0(UNBOX_FileStat( self)));
557 }
558 val_t file___FileStat___ctime(val_t self) {
559 struct trace_t trace = {NULL, "file::FileStat::ctime (bin/../lib/standard//file.nit:266,2--59)"};
560 trace.prev = tracehead; tracehead = &trace;
561 tracehead = trace.prev;
562 return TAG_Int(file_FileStat_FileStat_ctime_0(UNBOX_FileStat( self)));
563 }
564 val_t file___FileStat___mtime(val_t self) {
565 struct trace_t trace = {NULL, "file::FileStat::mtime (bin/../lib/standard//file.nit:267,2--59)"};
566 trace.prev = tracehead; tracehead = &trace;
567 tracehead = trace.prev;
568 return TAG_Int(file_FileStat_FileStat_mtime_0(UNBOX_FileStat( self)));
569 }
570 val_t file___FileStat___size(val_t self) {
571 struct trace_t trace = {NULL, "file::FileStat::size (bin/../lib/standard//file.nit:268,2--57)"};
572 trace.prev = tracehead; tracehead = &trace;
573 tracehead = trace.prev;
574 return TAG_Int(file_FileStat_FileStat_size_0(UNBOX_FileStat( self)));
575 }
576 val_t file___NativeFile___io_read(val_t self, val_t param0, val_t param1) {
577 struct trace_t trace = {NULL, "file::NativeFile::io_read (bin/../lib/standard//file.nit:274,2--96)"};
578 trace.prev = tracehead; tracehead = &trace;
579 tracehead = trace.prev;
580 return TAG_Int(file_NativeFile_NativeFile_io_read_2(UNBOX_NativeFile( self), UNBOX_NativeString( param0), UNTAG_Int( param1)));
581 }
582 val_t file___NativeFile___io_write(val_t self, val_t param0, val_t param1) {
583 struct trace_t trace = {NULL, "file::NativeFile::io_write (bin/../lib/standard//file.nit:275,2--98)"};
584 trace.prev = tracehead; tracehead = &trace;
585 tracehead = trace.prev;
586 return TAG_Int(file_NativeFile_NativeFile_io_write_2(UNBOX_NativeFile( self), UNBOX_NativeString( param0), UNTAG_Int( param1)));
587 }
588 val_t file___NativeFile___io_close(val_t self) {
589 struct trace_t trace = {NULL, "file::NativeFile::io_close (bin/../lib/standard//file.nit:276,2--69)"};
590 trace.prev = tracehead; tracehead = &trace;
591 tracehead = trace.prev;
592 return TAG_Int(file_NativeFile_NativeFile_io_close_0(UNBOX_NativeFile( self)));
593 }
594 val_t file___NativeFile___file_stat(val_t self) {
595 struct trace_t trace = {NULL, "file::NativeFile::file_stat (bin/../lib/standard//file.nit:277,2--76)"};
596 trace.prev = tracehead; tracehead = &trace;
597 tracehead = trace.prev;
598 return BOX_FileStat(file_NativeFile_NativeFile_file_stat_0(UNBOX_NativeFile( self)));
599 }
600 val_t file___NativeFileCapable___io_open_read(val_t self, val_t param0) {
601 struct trace_t trace = {NULL, "file::NativeFileCapable::io_open_read (bin/../lib/standard//file.nit:281,2--118)"};
602 trace.prev = tracehead; tracehead = &trace;
603 tracehead = trace.prev;
604 return BOX_NativeFile(file_NativeFileCapable_NativeFileCapable_io_open_read_1( self, UNBOX_NativeString( param0)));
605 }
606 val_t file___NativeFileCapable___io_open_write(val_t self, val_t param0) {
607 struct trace_t trace = {NULL, "file::NativeFileCapable::io_open_write (bin/../lib/standard//file.nit:282,2--120)"};
608 trace.prev = tracehead; tracehead = &trace;
609 tracehead = trace.prev;
610 return BOX_NativeFile(file_NativeFileCapable_NativeFileCapable_io_open_write_1( self, UNBOX_NativeString( param0)));
611 }
612 val_t file___NativeFileCapable___native_stdin(val_t self) {
613 struct trace_t trace = {NULL, "file::NativeFileCapable::native_stdin (bin/../lib/standard//file.nit:283,2--98)"};
614 trace.prev = tracehead; tracehead = &trace;
615 tracehead = trace.prev;
616 return BOX_NativeFile(file_NativeFileCapable_NativeFileCapable_native_stdin_0( self));
617 }
618 val_t file___NativeFileCapable___native_stdout(val_t self) {
619 struct trace_t trace = {NULL, "file::NativeFileCapable::native_stdout (bin/../lib/standard//file.nit:284,2--100)"};
620 trace.prev = tracehead; tracehead = &trace;
621 tracehead = trace.prev;
622 return BOX_NativeFile(file_NativeFileCapable_NativeFileCapable_native_stdout_0( self));
623 }
624 val_t file___NativeFileCapable___native_stderr(val_t self) {
625 struct trace_t trace = {NULL, "file::NativeFileCapable::native_stderr (bin/../lib/standard//file.nit:285,2--100)"};
626 trace.prev = tracehead; tracehead = &trace;
627 tracehead = trace.prev;
628 return BOX_NativeFile(file_NativeFileCapable_NativeFileCapable_native_stderr_0( self));
629 }