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)"};
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]*/;
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
;
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)"};
22 trace
.prev
= tracehead
; tracehead
= &trace
;
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*/;
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
;
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)"};
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
));
44 return_label2
: while(false);
45 tracehead
= trace
.prev
;
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)"};
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*/;
55 return_label3
: while(false);
56 tracehead
= trace
.prev
;
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)"};
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
;
66 variable0
= NEW_file___Stdin___init(); /*new Stdin*/
67 once_value_variable0_5
= variable0
;
68 once_bool_variable0_5
= true;
71 return_label4
: while(false);
72 tracehead
= trace
.prev
;
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)"};
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
;
82 variable0
= NEW_file___Stdout___init(); /*new Stdout*/
83 once_value_variable0_7
= variable0
;
84 once_bool_variable0_7
= true;
87 return_label6
: while(false);
88 tracehead
= trace
.prev
;
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)"};
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
;
98 variable0
= NEW_file___Stderr___init(); /*new Stderr*/
99 once_value_variable0_9
= variable0
;
100 once_bool_variable0_9
= true;
103 return_label8
: while(false);
104 tracehead
= trace
.prev
;
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*/;
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)"};
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*/;
120 return_label10
: while(false);
121 tracehead
= trace
.prev
;
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)"};
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*/;
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
;
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)"};
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
;
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)"};
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=*/;
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
;
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*/;
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)"};
190 trace
.prev
= tracehead
; tracehead
= &trace
;
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
;
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
;
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)"};
219 trace
.prev
= tracehead
; tracehead
= &trace
;
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
;
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)"};
232 trace
.prev
= tracehead
; tracehead
= &trace
;
233 variable0
= ATTR_file___OFStream____writable( self
) /*OFStream::_writable*/;
235 return_label17
: while(false);
236 tracehead
= trace
.prev
;
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)"};
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
;
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)"};
260 trace
.prev
= tracehead
; tracehead
= &trace
;
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*/;
281 tracehead
= trace
.prev
;
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)"};
288 trace
.prev
= tracehead
; tracehead
= &trace
;
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
;
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
;
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)"};
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
;
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)"};
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
;
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)"};
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
;
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)"};
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*/;
363 return_label25
: while(false);
364 tracehead
= trace
.prev
;
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)"};
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*/;
374 return_label26
: while(false);
375 tracehead
= trace
.prev
;
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)"};
383 trace
.prev
= tracehead
; tracehead
= &trace
;
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*/;
395 return_label27
: while(false);
396 tracehead
= trace
.prev
;
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)"};
405 trace
.prev
= tracehead
; tracehead
= &trace
;
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
;
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=*/;
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
;
421 return_label28
: while(false);
422 tracehead
= trace
.prev
;
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)"};
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
;
440 variable1
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
441 variable0
= variable1
;
444 return_label29
: while(false);
445 tracehead
= trace
.prev
;
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)"};
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
;
465 variable2
= NEW_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
466 variable0
= variable2
;
468 return_label30
: while(false);
469 tracehead
= trace
.prev
;
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)"};
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*/
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
));
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*/)];
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*/;
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*/
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*/;
524 return_label31
: while(false);
525 tracehead
= trace
.prev
;
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
)));
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
)));
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
)));
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
)));
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
)));
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
)));
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
)));
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
)));
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
)));
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
)));
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
)));
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
)));
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
)));
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
)));
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
));
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
));
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
));