1 /* This C file is generated by NIT to compile module file. */
3 void file___Object___printn(val_t self
, val_t param0
) {
4 struct trace_t trace
= {NULL
, NULL
, 24, LOCATE_file___Object___printn
};
8 trace
.prev
= tracehead
; tracehead
= &trace
;
9 trace
.file
= LOCATE_file
;
10 /* check if p<Array[Object] with p:Object */
11 if (( param0
!=NIT_NULL
) && !VAL_ISA( param0
, COLOR_Array
, ID_Array
)) { fprintf(stderr
, "Cast failled"); fprintf(stderr
, " (%s:%d)\n", LOCATE_file
, 25); nit_exit(1); } /*cast Array[Object]*/;
13 variable1
= ((file___Object___stdout_t
)CALL( self
,COLOR_file___Object___stdout
))( self
) /*Object::stdout*/;
14 variable2
= ((string___Collection___to_s_t
)CALL( variable0
/*objects*/,COLOR_string___Object___to_s
))( variable0
/*objects*/) /*Collection::to_s*/;
15 ((file___OFStream___write_t
)CALL(variable1
,COLOR_stream___OStream___write
))(variable1
, variable2
) /*OFStream::write*/;
16 tracehead
= trace
.prev
;
19 void file___Object___print(val_t self
, val_t param0
) {
20 struct trace_t trace
= {NULL
, NULL
, 30, LOCATE_file___Object___print
};
24 trace
.prev
= tracehead
; tracehead
= &trace
;
25 trace
.file
= LOCATE_file
;
27 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::==*/)))))));
28 if (UNTAG_Bool(variable1
)) { /*if*/
29 variable1
= ((file___Object___stdout_t
)CALL( self
,COLOR_file___Object___stdout
))( self
) /*Object::stdout*/;
30 variable2
= ((string___Object___to_s_t
)CALL( variable0
/*object*/,COLOR_string___Object___to_s
))( variable0
/*object*/) /*Object::to_s*/;
31 ((file___OFStream___write_t
)CALL(variable1
,COLOR_stream___OStream___write
))(variable1
, variable2
) /*OFStream::write*/;
33 variable1
= ((file___Object___stdout_t
)CALL( self
,COLOR_file___Object___stdout
))( self
) /*Object::stdout*/;
34 variable2
= NEW_String_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
35 ((file___OFStream___write_t
)CALL(variable1
,COLOR_stream___OStream___write
))(variable1
, variable2
) /*OFStream::write*/;
36 tracehead
= trace
.prev
;
39 val_t
file___Object___getc(val_t self
) {
40 struct trace_t trace
= {NULL
, NULL
, 39, LOCATE_file___Object___getc
};
42 trace
.prev
= tracehead
; tracehead
= &trace
;
43 trace
.file
= LOCATE_file
;
44 variable0
= ((file___Object___stdin_t
)CALL( self
,COLOR_file___Object___stdin
))( self
) /*Object::stdin*/;
45 variable0
= ((stream___BufferedIStream___read_char_t
)CALL(variable0
,COLOR_stream___IStream___read_char
))(variable0
) /*BufferedIStream::read_char*/;
46 variable0
= TAG_Char(UNTAG_Int(variable0
));
48 return_label2
: while(false);
49 tracehead
= trace
.prev
;
52 val_t
file___Object___gets(val_t self
) {
53 struct trace_t trace
= {NULL
, NULL
, 45, LOCATE_file___Object___gets
};
55 trace
.prev
= tracehead
; tracehead
= &trace
;
56 trace
.file
= LOCATE_file
;
57 variable0
= ((file___Object___stdin_t
)CALL( self
,COLOR_file___Object___stdin
))( self
) /*Object::stdin*/;
58 variable0
= ((stream___IStream___read_line_t
)CALL(variable0
,COLOR_stream___IStream___read_line
))(variable0
) /*IStream::read_line*/;
60 return_label3
: while(false);
61 tracehead
= trace
.prev
;
64 val_t
file___Object___stdin(val_t self
) {
65 struct trace_t trace
= {NULL
, NULL
, 290, LOCATE_file___Object___stdin
};
67 static val_t once_value_variable0_5
; static int once_bool_variable0_5
;
68 trace
.prev
= tracehead
; tracehead
= &trace
;
69 trace
.file
= LOCATE_file
;
70 if (once_bool_variable0_5
) variable0
= once_value_variable0_5
;
72 variable0
= NEW_Stdin_file___Stdin___init(); /*new Stdin*/
73 once_value_variable0_5
= variable0
;
74 once_bool_variable0_5
= true;
77 return_label4
: while(false);
78 tracehead
= trace
.prev
;
81 val_t
file___Object___stdout(val_t self
) {
82 struct trace_t trace
= {NULL
, NULL
, 293, LOCATE_file___Object___stdout
};
84 static val_t once_value_variable0_7
; static int once_bool_variable0_7
;
85 trace
.prev
= tracehead
; tracehead
= &trace
;
86 trace
.file
= LOCATE_file
;
87 if (once_bool_variable0_7
) variable0
= once_value_variable0_7
;
89 variable0
= NEW_Stdout_file___Stdout___init(); /*new Stdout*/
90 once_value_variable0_7
= variable0
;
91 once_bool_variable0_7
= true;
94 return_label6
: while(false);
95 tracehead
= trace
.prev
;
98 val_t
file___Object___stderr(val_t self
) {
99 struct trace_t trace
= {NULL
, NULL
, 296, LOCATE_file___Object___stderr
};
101 static val_t once_value_variable0_9
; static int once_bool_variable0_9
;
102 trace
.prev
= tracehead
; tracehead
= &trace
;
103 trace
.file
= LOCATE_file
;
104 if (once_bool_variable0_9
) variable0
= once_value_variable0_9
;
106 variable0
= NEW_Stderr_file___Stderr___init(); /*new Stderr*/
107 once_value_variable0_9
= variable0
;
108 once_bool_variable0_9
= true;
111 return_label8
: while(false);
112 tracehead
= trace
.prev
;
115 val_t
file___FStream___path(val_t self
) {
116 struct trace_t trace
= {NULL
, NULL
, 57, LOCATE_file___FStream___path
};
117 trace
.prev
= tracehead
; tracehead
= &trace
;
118 trace
.file
= LOCATE_file
;
119 tracehead
= trace
.prev
;
120 return ATTR_file___FStream____path( self
) /*FStream::_path*/;
122 val_t
file___FStream___file_stat(val_t self
) {
123 struct trace_t trace
= {NULL
, NULL
, 63, LOCATE_file___FStream___file_stat
};
125 trace
.prev
= tracehead
; tracehead
= &trace
;
126 trace
.file
= LOCATE_file
;
127 variable0
= ATTR_file___FStream____file( self
) /*FStream::_file*/;
128 variable0
= ((file___NativeFile___file_stat_t
)CALL(variable0
,COLOR_file___NativeFile___file_stat
))(variable0
) /*NativeFile::file_stat*/;
130 return_label10
: while(false);
131 tracehead
= trace
.prev
;
134 void file___IFStream___reopen(val_t self
) {
135 struct trace_t trace
= {NULL
, NULL
, 73, LOCATE_file___IFStream___reopen
};
137 trace
.prev
= tracehead
; tracehead
= &trace
;
138 trace
.file
= LOCATE_file
;
139 variable0
= ((stream___BufferedIStream___eof_t
)CALL( self
,COLOR_stream___IStream___eof
))( self
) /*BufferedIStream::eof*/;
140 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable0
)))) { /*if*/
141 ((file___IFStream___close_t
)CALL( self
,COLOR_stream___IOS___close
))( self
) /*IFStream::close*/;
143 variable0
= ATTR_file___FStream____path( self
) /*FStream::_path*/;
144 variable0
= ((string___String___to_cstring_t
)CALL(variable0
,COLOR_string___String___to_cstring
))(variable0
) /*String::to_cstring*/;
145 variable0
= ((file___NativeFileCapable___io_open_read_t
)CALL( self
,COLOR_file___NativeFileCapable___io_open_read
))( self
, variable0
) /*NativeFileCapable::io_open_read*/;
146 ATTR_file___FStream____file( self
) /*FStream::_file*/ = variable0
;
147 ATTR_file___IFStream____end_reached( self
) /*IFStream::_end_reached*/ = TAG_Bool(false);
148 ATTR_stream___BufferedIStream____buffer_pos( self
) /*BufferedIStream::_buffer_pos*/ = TAG_Int(0);
149 variable0
= ATTR_stream___BufferedIStream____buffer( self
) /*BufferedIStream::_buffer*/;
150 ((array___AbstractArray___clear_t
)CALL(variable0
,COLOR_abstract_collection___RemovableCollection___clear
))(variable0
) /*AbstractArray::clear*/;
151 tracehead
= trace
.prev
;
154 void file___IFStream___close(val_t self
) {
155 struct trace_t trace
= {NULL
, NULL
, 82, LOCATE_file___IFStream___close
};
158 trace
.prev
= tracehead
; tracehead
= &trace
;
159 trace
.file
= LOCATE_file
;
160 variable1
= ATTR_file___FStream____file( self
) /*FStream::_file*/;
161 variable1
= ((file___NativeFile___io_close_t
)CALL(variable1
,COLOR_file___NativeFile___io_close
))(variable1
) /*NativeFile::io_close*/;
162 variable0
= variable1
;
163 ATTR_file___IFStream____end_reached( self
) /*IFStream::_end_reached*/ = TAG_Bool(true);
164 tracehead
= trace
.prev
;
167 void file___IFStream___fill_buffer(val_t self
) {
168 struct trace_t trace
= {NULL
, NULL
, 88, LOCATE_file___IFStream___fill_buffer
};
173 trace
.prev
= tracehead
; tracehead
= &trace
;
174 trace
.file
= LOCATE_file
;
175 variable1
= ATTR_file___FStream____file( self
) /*FStream::_file*/;
176 variable2
= ATTR_stream___BufferedIStream____buffer( self
) /*BufferedIStream::_buffer*/;
177 variable2
= ATTR_string___String____items(variable2
) /*String::_items*/;
178 variable3
= ATTR_stream___BufferedIStream____buffer( self
) /*BufferedIStream::_buffer*/;
179 variable3
= ATTR_string___String____capacity(variable3
) /*String::_capacity*/;
180 variable1
= ((file___NativeFile___io_read_t
)CALL(variable1
,COLOR_file___NativeFile___io_read
))(variable1
, variable2
, variable3
) /*NativeFile::io_read*/;
181 variable0
= variable1
;
182 variable1
= TAG_Bool(UNTAG_Int( variable0
/*nb*/)<=UNTAG_Int( TAG_Int(0)));
183 if (UNTAG_Bool(variable1
)) { /*if*/
184 ATTR_file___IFStream____end_reached( self
) /*IFStream::_end_reached*/ = TAG_Bool(true);
185 variable0
= TAG_Int(0) /*nb=*/;
187 variable1
= ATTR_stream___BufferedIStream____buffer( self
) /*BufferedIStream::_buffer*/;
188 ATTR_array___AbstractArray____length(variable1
) /*AbstractArray::_length*/ = variable0
/*nb*/;
189 ATTR_stream___BufferedIStream____buffer_pos( self
) /*BufferedIStream::_buffer_pos*/ = TAG_Int(0);
190 tracehead
= trace
.prev
;
193 val_t
file___IFStream___end_reached(val_t self
) {
194 struct trace_t trace
= {NULL
, NULL
, 100, LOCATE_file___IFStream___end_reached
};
195 trace
.prev
= tracehead
; tracehead
= &trace
;
196 trace
.file
= LOCATE_file
;
197 tracehead
= trace
.prev
;
198 return ATTR_file___IFStream____end_reached( self
) /*IFStream::_end_reached*/;
200 void file___IFStream___open(val_t self
, val_t param0
, int* init_table
) {
201 struct trace_t trace
= {NULL
, NULL
, 103, LOCATE_file___IFStream___open
};
204 trace
.prev
= tracehead
; tracehead
= &trace
;
205 trace
.file
= LOCATE_file
;
207 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_IFStream
].i
]) return;
208 ATTR_file___FStream____path( self
) /*FStream::_path*/ = variable0
/*path*/;
209 ((stream___BufferedIStream___prepare_buffer_t
)CALL( self
,COLOR_stream___BufferedIStream___prepare_buffer
))( self
, TAG_Int(10)) /*BufferedIStream::prepare_buffer*/;
210 variable1
= ATTR_file___FStream____path( self
) /*FStream::_path*/;
211 variable1
= ((string___String___to_cstring_t
)CALL(variable1
,COLOR_string___String___to_cstring
))(variable1
) /*String::to_cstring*/;
212 variable1
= ((file___NativeFileCapable___io_open_read_t
)CALL( self
,COLOR_file___NativeFileCapable___io_open_read
))( self
, variable1
) /*NativeFileCapable::io_open_read*/;
213 ATTR_file___FStream____file( self
) /*FStream::_file*/ = variable1
;
214 variable1
= ATTR_file___FStream____file( self
) /*FStream::_file*/;
215 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*/) /*Object::==*/)))))));
216 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert%s failed", " 'cant_open_file' "); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_file___IFStream___open
, LOCATE_file
, 109); nit_exit(1);}
217 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_IFStream
].i
] = 1;
218 tracehead
= trace
.prev
;
221 void file___IFStream___init(val_t self
, int* init_table
) {
222 struct trace_t trace
= {NULL
, NULL
, 112, LOCATE_file___IFStream___init
};
223 trace
.prev
= tracehead
; tracehead
= &trace
;
224 trace
.file
= LOCATE_file
;
225 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_IFStream
].i
]) return;
226 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_IFStream
].i
] = 1;
227 tracehead
= trace
.prev
;
230 void file___IFStream___without_file(val_t self
, int* init_table
) {
231 struct trace_t trace
= {NULL
, NULL
, 113, LOCATE_file___IFStream___without_file
};
232 trace
.prev
= tracehead
; tracehead
= &trace
;
233 trace
.file
= LOCATE_file
;
234 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_IFStream
].i
]) return;
235 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_IFStream
].i
] = 1;
236 tracehead
= trace
.prev
;
239 void file___OFStream___write(val_t self
, val_t param0
) {
240 struct trace_t trace
= {NULL
, NULL
, 121, LOCATE_file___OFStream___write
};
244 trace
.prev
= tracehead
; tracehead
= &trace
;
245 trace
.file
= LOCATE_file
;
247 variable1
= ATTR_file___OFStream____writable( self
) /*OFStream::_writable*/;
248 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_file___OFStream___write
, LOCATE_file
, 124); nit_exit(1);}
249 variable1
= ((string___String___to_cstring_t
)CALL( variable0
/*s*/,COLOR_string___String___to_cstring
))( variable0
/*s*/) /*String::to_cstring*/;
250 variable2
= ((array___AbstractArray___length_t
)CALL( variable0
/*s*/,COLOR_abstract_collection___Collection___length
))( variable0
/*s*/) /*AbstractArray::length*/;
251 ((file___OFStream___write_native_t
)CALL( self
,COLOR_file___OFStream___write_native
))( self
, variable1
, variable2
) /*OFStream::write_native*/;
252 tracehead
= trace
.prev
;
255 val_t
file___OFStream___is_writable(val_t self
) {
256 struct trace_t trace
= {NULL
, NULL
, 128, LOCATE_file___OFStream___is_writable
};
258 trace
.prev
= tracehead
; tracehead
= &trace
;
259 trace
.file
= LOCATE_file
;
260 variable0
= ATTR_file___OFStream____writable( self
) /*OFStream::_writable*/;
262 return_label18
: while(false);
263 tracehead
= trace
.prev
;
266 void file___OFStream___close(val_t self
) {
267 struct trace_t trace
= {NULL
, NULL
, 130, LOCATE_file___OFStream___close
};
270 trace
.prev
= tracehead
; tracehead
= &trace
;
271 trace
.file
= LOCATE_file
;
272 variable1
= ATTR_file___FStream____file( self
) /*FStream::_file*/;
273 variable1
= ((file___NativeFile___io_close_t
)CALL(variable1
,COLOR_file___NativeFile___io_close
))(variable1
) /*NativeFile::io_close*/;
274 variable0
= variable1
;
275 ATTR_file___OFStream____writable( self
) /*OFStream::_writable*/ = TAG_Bool(false);
276 tracehead
= trace
.prev
;
279 void file___OFStream___write_native(val_t self
, val_t param0
, val_t param1
) {
280 struct trace_t trace
= {NULL
, NULL
, 139, LOCATE_file___OFStream___write_native
};
288 trace
.prev
= tracehead
; tracehead
= &trace
;
289 trace
.file
= LOCATE_file
;
292 variable2
= ATTR_file___OFStream____writable( self
) /*OFStream::_writable*/;
293 if (!UNTAG_Bool(variable2
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_file___OFStream___write_native
, LOCATE_file
, 142); nit_exit(1);}
294 variable3
= ATTR_file___FStream____file( self
) /*FStream::_file*/;
295 variable3
= ((file___NativeFile___io_write_t
)CALL(variable3
,COLOR_file___NativeFile___io_write
))(variable3
, variable0
/*native*/, variable1
/*len*/) /*NativeFile::io_write*/;
296 variable2
= variable3
;
297 variable3
= TAG_Bool(( variable2
/*err*/)!=( variable1
/*len*/));
298 if (UNTAG_Bool(variable3
)) { /*if*/
299 variable3
= NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[Object]*/
300 variable4
= NEW_String_string___String___with_native(BOX_NativeString("Problem in writing : "), TAG_Int(21)); /*new String*/
301 ((array___AbstractArray___add_t
)CALL(variable3
,COLOR_abstract_collection___SimpleCollection___add
))(variable3
, variable4
) /*AbstractArray::add*/;
302 ((array___AbstractArray___add_t
)CALL(variable3
,COLOR_abstract_collection___SimpleCollection___add
))(variable3
, variable2
/*err*/) /*AbstractArray::add*/;
303 variable5
= NEW_String_string___String___with_native(BOX_NativeString(" "), TAG_Int(1)); /*new String*/
304 ((array___AbstractArray___add_t
)CALL(variable3
,COLOR_abstract_collection___SimpleCollection___add
))(variable3
, variable5
) /*AbstractArray::add*/;
305 ((array___AbstractArray___add_t
)CALL(variable3
,COLOR_abstract_collection___SimpleCollection___add
))(variable3
, variable1
/*len*/) /*AbstractArray::add*/;
306 variable6
= NEW_String_string___String___with_native(BOX_NativeString("\n"), TAG_Int(1)); /*new String*/
307 ((array___AbstractArray___add_t
)CALL(variable3
,COLOR_abstract_collection___SimpleCollection___add
))(variable3
, variable6
) /*AbstractArray::add*/;
308 ((file___Object___printn_t
)CALL( self
,COLOR_file___Object___printn
))( self
, variable3
) /*Object::printn*/;
310 tracehead
= trace
.prev
;
313 void file___OFStream___open(val_t self
, val_t param0
, int* init_table
) {
314 struct trace_t trace
= {NULL
, NULL
, 150, LOCATE_file___OFStream___open
};
317 trace
.prev
= tracehead
; tracehead
= &trace
;
318 trace
.file
= LOCATE_file
;
320 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_OFStream
].i
]) return;
321 variable1
= ((string___String___to_cstring_t
)CALL( variable0
/*path*/,COLOR_string___String___to_cstring
))( variable0
/*path*/) /*String::to_cstring*/;
322 variable1
= ((file___NativeFileCapable___io_open_write_t
)CALL( self
,COLOR_file___NativeFileCapable___io_open_write
))( self
, variable1
) /*NativeFileCapable::io_open_write*/;
323 ATTR_file___FStream____file( self
) /*FStream::_file*/ = variable1
;
324 variable1
= ATTR_file___FStream____file( self
) /*FStream::_file*/;
325 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*/) /*Object::==*/)))))));
326 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert%s failed", " 'cant_open_file' "); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_file___OFStream___open
, LOCATE_file
, 154); nit_exit(1);}
327 ATTR_file___FStream____path( self
) /*FStream::_path*/ = variable0
/*path*/;
328 ATTR_file___OFStream____writable( self
) /*OFStream::_writable*/ = TAG_Bool(true);
329 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_OFStream
].i
] = 1;
330 tracehead
= trace
.prev
;
333 void file___OFStream___init(val_t self
, int* init_table
) {
334 struct trace_t trace
= {NULL
, NULL
, 159, LOCATE_file___OFStream___init
};
335 trace
.prev
= tracehead
; tracehead
= &trace
;
336 trace
.file
= LOCATE_file
;
337 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_OFStream
].i
]) return;
338 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_OFStream
].i
] = 1;
339 tracehead
= trace
.prev
;
342 void file___OFStream___without_file(val_t self
, int* init_table
) {
343 struct trace_t trace
= {NULL
, NULL
, 160, LOCATE_file___OFStream___without_file
};
344 trace
.prev
= tracehead
; tracehead
= &trace
;
345 trace
.file
= LOCATE_file
;
346 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_OFStream
].i
]) return;
347 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_OFStream
].i
] = 1;
348 tracehead
= trace
.prev
;
351 void file___Stdin___init(val_t self
, int* init_table
) {
352 struct trace_t trace
= {NULL
, NULL
, 167, LOCATE_file___Stdin___init
};
354 trace
.prev
= tracehead
; tracehead
= &trace
;
355 trace
.file
= LOCATE_file
;
356 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_Stdin
].i
]) return;
357 ((file___IFStream___init_t
)CALL( self
,COLOR_file___IFStream___init
))( self
, init_table
/*YYY*/) /*IFStream::init*/;
358 variable0
= ((file___NativeFileCapable___native_stdin_t
)CALL( self
,COLOR_file___NativeFileCapable___native_stdin
))( self
) /*NativeFileCapable::native_stdin*/;
359 ATTR_file___FStream____file( self
) /*FStream::_file*/ = variable0
;
360 variable0
= NEW_String_string___String___with_native(BOX_NativeString("/dev/stdin"), TAG_Int(10)); /*new String*/
361 ATTR_file___FStream____path( self
) /*FStream::_path*/ = variable0
;
362 ((stream___BufferedIStream___prepare_buffer_t
)CALL( self
,COLOR_stream___BufferedIStream___prepare_buffer
))( self
, TAG_Int(1)) /*BufferedIStream::prepare_buffer*/;
363 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_Stdin
].i
] = 1;
364 tracehead
= trace
.prev
;
367 void file___Stdout___init(val_t self
, int* init_table
) {
368 struct trace_t trace
= {NULL
, NULL
, 176, LOCATE_file___Stdout___init
};
370 trace
.prev
= tracehead
; tracehead
= &trace
;
371 trace
.file
= LOCATE_file
;
372 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_Stdout
].i
]) return;
373 ((file___OFStream___init_t
)CALL( self
,COLOR_file___OFStream___init
))( self
, init_table
/*YYY*/) /*OFStream::init*/;
374 variable0
= ((file___NativeFileCapable___native_stdout_t
)CALL( self
,COLOR_file___NativeFileCapable___native_stdout
))( self
) /*NativeFileCapable::native_stdout*/;
375 ATTR_file___FStream____file( self
) /*FStream::_file*/ = variable0
;
376 variable0
= NEW_String_string___String___with_native(BOX_NativeString("/dev/stdout"), TAG_Int(11)); /*new String*/
377 ATTR_file___FStream____path( self
) /*FStream::_path*/ = variable0
;
378 ATTR_file___OFStream____writable( self
) /*OFStream::_writable*/ = TAG_Bool(true);
379 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_Stdout
].i
] = 1;
380 tracehead
= trace
.prev
;
383 void file___Stderr___init(val_t self
, int* init_table
) {
384 struct trace_t trace
= {NULL
, NULL
, 185, LOCATE_file___Stderr___init
};
386 trace
.prev
= tracehead
; tracehead
= &trace
;
387 trace
.file
= LOCATE_file
;
388 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_Stderr
].i
]) return;
389 ((file___OFStream___init_t
)CALL( self
,COLOR_file___OFStream___init
))( self
, init_table
/*YYY*/) /*OFStream::init*/;
390 variable0
= ((file___NativeFileCapable___native_stderr_t
)CALL( self
,COLOR_file___NativeFileCapable___native_stderr
))( self
) /*NativeFileCapable::native_stderr*/;
391 ATTR_file___FStream____file( self
) /*FStream::_file*/ = variable0
;
392 variable0
= NEW_String_string___String___with_native(BOX_NativeString("/dev/stderr"), TAG_Int(11)); /*new String*/
393 ATTR_file___FStream____path( self
) /*FStream::_path*/ = variable0
;
394 ATTR_file___OFStream____writable( self
) /*OFStream::_writable*/ = TAG_Bool(true);
395 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_Stderr
].i
] = 1;
396 tracehead
= trace
.prev
;
399 val_t
file___String___file_exists(val_t self
) {
400 struct trace_t trace
= {NULL
, NULL
, 195, LOCATE_file___String___file_exists
};
402 trace
.prev
= tracehead
; tracehead
= &trace
;
403 trace
.file
= LOCATE_file
;
404 variable0
= ((string___String___to_cstring_t
)CALL( self
,COLOR_string___String___to_cstring
))( self
) /*String::to_cstring*/;
405 variable0
= ((file___NativeString___file_exists_t
)CALL(variable0
,COLOR_file___NativeString___file_exists
))(variable0
) /*NativeString::file_exists*/;
407 return_label27
: while(false);
408 tracehead
= trace
.prev
;
411 val_t
file___String___file_stat(val_t self
) {
412 struct trace_t trace
= {NULL
, NULL
, 198, LOCATE_file___String___file_stat
};
414 trace
.prev
= tracehead
; tracehead
= &trace
;
415 trace
.file
= LOCATE_file
;
416 variable0
= ((string___String___to_cstring_t
)CALL( self
,COLOR_string___String___to_cstring
))( self
) /*String::to_cstring*/;
417 variable0
= ((file___NativeString___file_stat_t
)CALL(variable0
,COLOR_file___NativeString___file_stat
))(variable0
) /*NativeString::file_stat*/;
419 return_label28
: while(false);
420 tracehead
= trace
.prev
;
423 val_t
file___String___strip_extension(val_t self
, val_t param0
) {
424 struct trace_t trace
= {NULL
, NULL
, 200, LOCATE_file___String___strip_extension
};
428 trace
.prev
= tracehead
; tracehead
= &trace
;
429 trace
.file
= LOCATE_file
;
431 variable1
= ((string___String___has_suffix_t
)CALL( self
,COLOR_string___String___has_suffix
))( self
, variable0
/*ext*/) /*String::has_suffix*/;
432 if (UNTAG_Bool(variable1
)) { /*if*/
433 variable1
= ((array___AbstractArray___length_t
)CALL( self
,COLOR_abstract_collection___Collection___length
))( self
) /*AbstractArray::length*/;
434 variable2
= ((array___AbstractArray___length_t
)CALL( variable0
/*ext*/,COLOR_abstract_collection___Collection___length
))( variable0
/*ext*/) /*AbstractArray::length*/;
435 variable1
= TAG_Int(UNTAG_Int(variable1
)-UNTAG_Int(variable2
));
436 variable1
= ((string___String___substring_t
)CALL( self
,COLOR_string___String___substring
))( self
, TAG_Int(0), variable1
) /*String::substring*/;
441 return_label29
: while(false);
442 tracehead
= trace
.prev
;
445 val_t
file___String___basename(val_t self
, val_t param0
) {
446 struct trace_t trace
= {NULL
, NULL
, 208, LOCATE_file___String___basename
};
451 trace
.prev
= tracehead
; tracehead
= &trace
;
452 trace
.file
= LOCATE_file
;
454 variable2
= ATTR_array___AbstractArray____length( self
) /*AbstractArray::_length*/;
455 variable2
= TAG_Int(UNTAG_Int(variable2
)-UNTAG_Int( TAG_Int(1)));
456 variable2
= ((array___AbstractArray___last_index_of_from_t
)CALL( self
,COLOR_array___AbstractArray___last_index_of_from
))( self
, TAG_Char('/'), variable2
) /*AbstractArray::last_index_of_from*/;
457 variable1
= variable2
;
459 variable3
= TAG_Bool(UNTAG_Int( variable1
/*pos*/)>=UNTAG_Int( TAG_Int(0)));
460 if (UNTAG_Bool(variable3
)) { /*if*/
461 variable3
= TAG_Int(UNTAG_Int( variable1
/*pos*/)+UNTAG_Int( TAG_Int(1)));
462 variable3
= ((string___String___substring_from_t
)CALL( self
,COLOR_string___String___substring_from
))( self
, variable3
) /*String::substring_from*/;
463 variable2
= variable3
/*n=*/;
465 variable3
= ((file___String___strip_extension_t
)CALL( variable2
/*n*/,COLOR_file___String___strip_extension
))( variable2
/*n*/, variable0
/*ext*/) /*String::strip_extension*/;
466 variable1
= variable3
;
468 return_label30
: while(false);
469 tracehead
= trace
.prev
;
472 val_t
file___String___dirname(val_t self
) {
473 struct trace_t trace
= {NULL
, NULL
, 218, LOCATE_file___String___dirname
};
476 trace
.prev
= tracehead
; tracehead
= &trace
;
477 trace
.file
= LOCATE_file
;
478 variable1
= ATTR_array___AbstractArray____length( self
) /*AbstractArray::_length*/;
479 variable1
= TAG_Int(UNTAG_Int(variable1
)-UNTAG_Int( TAG_Int(1)));
480 variable1
= ((array___AbstractArray___last_index_of_from_t
)CALL( self
,COLOR_array___AbstractArray___last_index_of_from
))( self
, TAG_Char('/'), variable1
) /*AbstractArray::last_index_of_from*/;
481 variable0
= variable1
;
482 variable1
= TAG_Bool(UNTAG_Int( variable0
/*pos*/)>=UNTAG_Int( TAG_Int(0)));
483 if (UNTAG_Bool(variable1
)) { /*if*/
484 variable1
= ((string___String___substring_t
)CALL( self
,COLOR_string___String___substring
))( self
, TAG_Int(0), variable0
/*pos*/) /*String::substring*/;
485 variable0
= variable1
;
488 variable1
= NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
489 variable0
= variable1
;
492 return_label31
: while(false);
493 tracehead
= trace
.prev
;
496 val_t
file___String___file_path(val_t self
) {
497 struct trace_t trace
= {NULL
, NULL
, 228, LOCATE_file___String___file_path
};
501 trace
.prev
= tracehead
; tracehead
= &trace
;
502 trace
.file
= LOCATE_file
;
503 variable1
= ATTR_array___AbstractArray____length( self
) /*AbstractArray::_length*/;
504 variable0
= variable1
;
505 variable2
= TAG_Int(UNTAG_Int( variable0
/*l*/)-UNTAG_Int( TAG_Int(1)));
506 variable2
= ((array___AbstractArray___last_index_of_from_t
)CALL( self
,COLOR_array___AbstractArray___last_index_of_from
))( self
, TAG_Char('/'), variable2
) /*AbstractArray::last_index_of_from*/;
507 variable1
= variable2
;
508 variable2
= TAG_Bool(UNTAG_Int( variable1
/*pos*/)>=UNTAG_Int( TAG_Int(0)));
509 if (UNTAG_Bool(variable2
)) { /*if*/
510 variable2
= ((string___String___substring_t
)CALL( self
,COLOR_string___String___substring
))( self
, TAG_Int(0), variable1
/*pos*/) /*String::substring*/;
511 variable0
= variable2
;
514 variable2
= NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
515 variable0
= variable2
;
517 return_label32
: while(false);
518 tracehead
= trace
.prev
;
521 void file___String___mkdir(val_t self
) {
522 struct trace_t trace
= {NULL
, NULL
, 238, LOCATE_file___String___mkdir
};
528 trace
.prev
= tracehead
; tracehead
= &trace
;
529 trace
.file
= LOCATE_file
;
530 variable1
= NEW_String_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
531 variable1
= ((string_search___String___split_with_t
)CALL( self
,COLOR_string_search___String___split_with
))( self
, variable1
) /*String::split_with*/;
532 variable0
= variable1
;
533 variable2
= NEW_String_string___String___init(); /*new String*/
534 variable1
= variable2
;
535 variable2
= ((array___AbstractArray___is_empty_t
)CALL( variable0
/*dirs*/,COLOR_abstract_collection___Collection___is_empty
))( variable0
/*dirs*/) /*AbstractArray::is_empty*/;
536 if (UNTAG_Bool(variable2
)) { /*if*/
539 variable2
= TAG_Int(0);
540 variable3
= TAG_Bool(UNTAG_Int( variable2
/*index*/)>=UNTAG_Int( TAG_Int(0)));
541 variable4
= variable3
;
542 if (UNTAG_Bool(variable4
)) { /* and */
543 variable4
= ATTR_array___AbstractArray____length( variable0
/*dirs*/) /*AbstractArray::_length*/;
544 variable4
= TAG_Bool(UNTAG_Int( variable2
/*index*/)<UNTAG_Int(variable4
));
546 variable3
= variable4
;
547 if (!UNTAG_Bool(variable3
)) { fprintf(stderr
, "Assert%s failed", " 'index' "); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_array___Array_____bra
, LOCATE_file
, 229); nit_exit(1);}
548 variable3
= ATTR_array___Array____items( variable0
/*dirs*/) /*Array::_items*/;
549 variable3
= UNBOX_NativeArray(variable3
)[UNTAG_Int( variable2
/*index*/)];
551 return_label34
: while(false);
552 variable2
= variable3
;
553 variable2
= ((array___AbstractArray___is_empty_t
)CALL(variable2
,COLOR_abstract_collection___Collection___is_empty
))(variable2
) /*AbstractArray::is_empty*/;
554 if (UNTAG_Bool(variable2
)) { /*if*/
555 ((string___String___add_t
)CALL( variable1
/*path*/,COLOR_abstract_collection___SimpleCollection___add
))( variable1
/*path*/, TAG_Char('/')) /*String::add*/;
557 variable2
= ((array___AbstractArray___iterator_t
)CALL( variable0
/*dirs*/,COLOR_abstract_collection___Collection___iterator
))( variable0
/*dirs*/) /*AbstractArray::iterator*/;
558 while (true) { /*for*/
559 variable3
= ((array___ArrayIterator___is_ok_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___is_ok
))(variable2
) /*ArrayIterator::is_ok*/;
560 if (!UNTAG_Bool(variable3
)) break; /*for*/
561 variable3
= ((array___ArrayIterator___item_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___item
))(variable2
) /*ArrayIterator::item*/;
562 variable4
= ((array___AbstractArray___is_empty_t
)CALL( variable3
/*d*/,COLOR_abstract_collection___Collection___is_empty
))( variable3
/*d*/) /*AbstractArray::is_empty*/;
563 if (UNTAG_Bool(variable4
)) { /*if*/
566 ((string___String___append_t
)CALL( variable1
/*path*/,COLOR_abstract_collection___IndexedCollection___append
))( variable1
/*path*/, variable3
/*d*/) /*String::append*/;
567 ((string___String___add_t
)CALL( variable1
/*path*/,COLOR_abstract_collection___SimpleCollection___add
))( variable1
/*path*/, TAG_Char('/')) /*String::add*/;
568 variable4
= ((string___String___to_cstring_t
)CALL( variable1
/*path*/,COLOR_string___String___to_cstring
))( variable1
/*path*/) /*String::to_cstring*/;
569 ((file___NativeString___file_mkdir_t
)CALL(variable4
,COLOR_file___NativeString___file_mkdir
))(variable4
) /*NativeString::file_mkdir*/;
570 continue_35
: while(0);
571 ((array___ArrayIterator___next_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___next
))(variable2
) /*ArrayIterator::next*/;
574 return_label33
: while(false);
575 tracehead
= trace
.prev
;
578 val_t
file___NativeString___file_exists(val_t self
) {
579 struct trace_t trace
= {NULL
, NULL
, 258, LOCATE_file___NativeString___file_exists
};
580 trace
.prev
= tracehead
; tracehead
= &trace
;
581 trace
.file
= LOCATE_file
;
582 tracehead
= trace
.prev
;
583 return TAG_Bool(string_NativeString_NativeString_file_exists_0(UNBOX_NativeString( self
)));
585 val_t
file___NativeString___file_stat(val_t self
) {
586 struct trace_t trace
= {NULL
, NULL
, 259, LOCATE_file___NativeString___file_stat
};
587 trace
.prev
= tracehead
; tracehead
= &trace
;
588 trace
.file
= LOCATE_file
;
589 tracehead
= trace
.prev
;
590 return BOX_FileStat(string_NativeString_NativeString_file_stat_0(UNBOX_NativeString( self
)));
592 val_t
file___NativeString___file_mkdir(val_t self
) {
593 struct trace_t trace
= {NULL
, NULL
, 260, LOCATE_file___NativeString___file_mkdir
};
594 trace
.prev
= tracehead
; tracehead
= &trace
;
595 trace
.file
= LOCATE_file
;
596 tracehead
= trace
.prev
;
597 return TAG_Bool(string_NativeString_NativeString_file_mkdir_0(UNBOX_NativeString( self
)));
599 val_t
file___FileStat___mode(val_t self
) {
600 struct trace_t trace
= {NULL
, NULL
, 265, LOCATE_file___FileStat___mode
};
601 trace
.prev
= tracehead
; tracehead
= &trace
;
602 trace
.file
= LOCATE_file
;
603 tracehead
= trace
.prev
;
604 return TAG_Int(file_FileStat_FileStat_mode_0(UNBOX_FileStat( self
)));
606 val_t
file___FileStat___atime(val_t self
) {
607 struct trace_t trace
= {NULL
, NULL
, 267, LOCATE_file___FileStat___atime
};
608 trace
.prev
= tracehead
; tracehead
= &trace
;
609 trace
.file
= LOCATE_file
;
610 tracehead
= trace
.prev
;
611 return TAG_Int(file_FileStat_FileStat_atime_0(UNBOX_FileStat( self
)));
613 val_t
file___FileStat___ctime(val_t self
) {
614 struct trace_t trace
= {NULL
, NULL
, 268, LOCATE_file___FileStat___ctime
};
615 trace
.prev
= tracehead
; tracehead
= &trace
;
616 trace
.file
= LOCATE_file
;
617 tracehead
= trace
.prev
;
618 return TAG_Int(file_FileStat_FileStat_ctime_0(UNBOX_FileStat( self
)));
620 val_t
file___FileStat___mtime(val_t self
) {
621 struct trace_t trace
= {NULL
, NULL
, 269, LOCATE_file___FileStat___mtime
};
622 trace
.prev
= tracehead
; tracehead
= &trace
;
623 trace
.file
= LOCATE_file
;
624 tracehead
= trace
.prev
;
625 return TAG_Int(file_FileStat_FileStat_mtime_0(UNBOX_FileStat( self
)));
627 val_t
file___FileStat___size(val_t self
) {
628 struct trace_t trace
= {NULL
, NULL
, 270, LOCATE_file___FileStat___size
};
629 trace
.prev
= tracehead
; tracehead
= &trace
;
630 trace
.file
= LOCATE_file
;
631 tracehead
= trace
.prev
;
632 return TAG_Int(file_FileStat_FileStat_size_0(UNBOX_FileStat( self
)));
634 val_t
file___NativeFile___io_read(val_t self
, val_t param0
, val_t param1
) {
635 struct trace_t trace
= {NULL
, NULL
, 276, LOCATE_file___NativeFile___io_read
};
636 trace
.prev
= tracehead
; tracehead
= &trace
;
637 trace
.file
= LOCATE_file
;
638 tracehead
= trace
.prev
;
639 return TAG_Int(file_NativeFile_NativeFile_io_read_2(UNBOX_NativeFile( self
), UNBOX_NativeString( param0
), UNTAG_Int( param1
)));
641 val_t
file___NativeFile___io_write(val_t self
, val_t param0
, val_t param1
) {
642 struct trace_t trace
= {NULL
, NULL
, 277, LOCATE_file___NativeFile___io_write
};
643 trace
.prev
= tracehead
; tracehead
= &trace
;
644 trace
.file
= LOCATE_file
;
645 tracehead
= trace
.prev
;
646 return TAG_Int(file_NativeFile_NativeFile_io_write_2(UNBOX_NativeFile( self
), UNBOX_NativeString( param0
), UNTAG_Int( param1
)));
648 val_t
file___NativeFile___io_close(val_t self
) {
649 struct trace_t trace
= {NULL
, NULL
, 278, LOCATE_file___NativeFile___io_close
};
650 trace
.prev
= tracehead
; tracehead
= &trace
;
651 trace
.file
= LOCATE_file
;
652 tracehead
= trace
.prev
;
653 return TAG_Int(file_NativeFile_NativeFile_io_close_0(UNBOX_NativeFile( self
)));
655 val_t
file___NativeFile___file_stat(val_t self
) {
656 struct trace_t trace
= {NULL
, NULL
, 279, LOCATE_file___NativeFile___file_stat
};
657 trace
.prev
= tracehead
; tracehead
= &trace
;
658 trace
.file
= LOCATE_file
;
659 tracehead
= trace
.prev
;
660 return BOX_FileStat(file_NativeFile_NativeFile_file_stat_0(UNBOX_NativeFile( self
)));
662 val_t
file___NativeFileCapable___io_open_read(val_t self
, val_t param0
) {
663 struct trace_t trace
= {NULL
, NULL
, 283, LOCATE_file___NativeFileCapable___io_open_read
};
664 trace
.prev
= tracehead
; tracehead
= &trace
;
665 trace
.file
= LOCATE_file
;
666 tracehead
= trace
.prev
;
667 return BOX_NativeFile(file_NativeFileCapable_NativeFileCapable_io_open_read_1( self
, UNBOX_NativeString( param0
)));
669 val_t
file___NativeFileCapable___io_open_write(val_t self
, val_t param0
) {
670 struct trace_t trace
= {NULL
, NULL
, 284, LOCATE_file___NativeFileCapable___io_open_write
};
671 trace
.prev
= tracehead
; tracehead
= &trace
;
672 trace
.file
= LOCATE_file
;
673 tracehead
= trace
.prev
;
674 return BOX_NativeFile(file_NativeFileCapable_NativeFileCapable_io_open_write_1( self
, UNBOX_NativeString( param0
)));
676 val_t
file___NativeFileCapable___native_stdin(val_t self
) {
677 struct trace_t trace
= {NULL
, NULL
, 285, LOCATE_file___NativeFileCapable___native_stdin
};
678 trace
.prev
= tracehead
; tracehead
= &trace
;
679 trace
.file
= LOCATE_file
;
680 tracehead
= trace
.prev
;
681 return BOX_NativeFile(file_NativeFileCapable_NativeFileCapable_native_stdin_0( self
));
683 val_t
file___NativeFileCapable___native_stdout(val_t self
) {
684 struct trace_t trace
= {NULL
, NULL
, 286, LOCATE_file___NativeFileCapable___native_stdout
};
685 trace
.prev
= tracehead
; tracehead
= &trace
;
686 trace
.file
= LOCATE_file
;
687 tracehead
= trace
.prev
;
688 return BOX_NativeFile(file_NativeFileCapable_NativeFileCapable_native_stdout_0( self
));
690 val_t
file___NativeFileCapable___native_stderr(val_t self
) {
691 struct trace_t trace
= {NULL
, NULL
, 287, LOCATE_file___NativeFileCapable___native_stderr
};
692 trace
.prev
= tracehead
; tracehead
= &trace
;
693 trace
.file
= LOCATE_file
;
694 tracehead
= trace
.prev
;
695 return BOX_NativeFile(file_NativeFileCapable_NativeFileCapable_native_stderr_0( self
));