1 /* This C header file is generated by NIT to compile modules and programs that requires file. */
4 #include "stream._sep.h"
5 #include "string_search._sep.h"
6 #include <nit_common.h>
9 extern const classtable_elt_t VFT_FStream
[];
11 extern const classtable_elt_t VFT_IFStream
[];
13 extern const classtable_elt_t VFT_OFStream
[];
15 extern const classtable_elt_t VFT_Stdin
[];
17 extern const classtable_elt_t VFT_Stdout
[];
19 extern const classtable_elt_t VFT_Stderr
[];
21 extern const classtable_elt_t VFT_FileStat
[];
22 struct TBOX_FileStat
{ const classtable_elt_t
* vft
; bigint object_id
; void * val
;};
23 val_t
BOX_FileStat(void * val
);
24 #define UNBOX_FileStat(x) (((struct TBOX_FileStat *)(VAL2OBJ(x)))->val)
26 extern const classtable_elt_t VFT_NativeFile
[];
27 struct TBOX_NativeFile
{ const classtable_elt_t
* vft
; bigint object_id
; void * val
;};
28 val_t
BOX_NativeFile(void * val
);
29 #define UNBOX_NativeFile(x) (((struct TBOX_NativeFile *)(VAL2OBJ(x)))->val)
31 extern const classtable_elt_t VFT_NativeFileCapable
[];
32 extern const char *LOCATE_file
;
33 extern const int SFT_file
[];
34 #define CALL_file___Object___printn(recv) ((file___Object___printn_t)CALL((recv), (SFT_file[0] + 0)))
35 #define CALL_file___Object___print(recv) ((file___Object___print_t)CALL((recv), (SFT_file[0] + 1)))
36 #define CALL_file___Object___getc(recv) ((file___Object___getc_t)CALL((recv), (SFT_file[0] + 2)))
37 #define CALL_file___Object___gets(recv) ((file___Object___gets_t)CALL((recv), (SFT_file[0] + 3)))
38 #define CALL_file___Object___stdin(recv) ((file___Object___stdin_t)CALL((recv), (SFT_file[0] + 4)))
39 #define CALL_file___Object___stdout(recv) ((file___Object___stdout_t)CALL((recv), (SFT_file[0] + 5)))
40 #define CALL_file___Object___stderr(recv) ((file___Object___stderr_t)CALL((recv), (SFT_file[0] + 6)))
41 #define ID_FStream (SFT_file[1])
42 #define COLOR_FStream (SFT_file[2])
43 #define ATTR_file___FStream____path(recv) ATTR(recv, (SFT_file[3] + 0))
44 #define ATTR_file___FStream____file(recv) ATTR(recv, (SFT_file[3] + 1))
45 #define INIT_TABLE_POS_FStream (SFT_file[4] + 0)
46 #define CALL_file___FStream___path(recv) ((file___FStream___path_t)CALL((recv), (SFT_file[4] + 1)))
47 #define CALL_file___FStream___file_stat(recv) ((file___FStream___file_stat_t)CALL((recv), (SFT_file[4] + 2)))
48 #define ID_IFStream (SFT_file[5])
49 #define COLOR_IFStream (SFT_file[6])
50 #define ATTR_file___IFStream____end_reached(recv) ATTR(recv, (SFT_file[7] + 0))
51 #define INIT_TABLE_POS_IFStream (SFT_file[8] + 0)
52 #define CALL_file___IFStream___reopen(recv) ((file___IFStream___reopen_t)CALL((recv), (SFT_file[8] + 1)))
53 #define CALL_file___IFStream___open(recv) ((file___IFStream___open_t)CALL((recv), (SFT_file[8] + 2)))
54 #define CALL_file___IFStream___init(recv) ((file___IFStream___init_t)CALL((recv), (SFT_file[8] + 3)))
55 #define CALL_file___IFStream___without_file(recv) ((file___IFStream___without_file_t)CALL((recv), (SFT_file[8] + 4)))
56 #define ID_OFStream (SFT_file[9])
57 #define COLOR_OFStream (SFT_file[10])
58 #define ATTR_file___OFStream____writable(recv) ATTR(recv, (SFT_file[11] + 0))
59 #define INIT_TABLE_POS_OFStream (SFT_file[12] + 0)
60 #define CALL_file___OFStream___write_native(recv) ((file___OFStream___write_native_t)CALL((recv), (SFT_file[12] + 1)))
61 #define CALL_file___OFStream___open(recv) ((file___OFStream___open_t)CALL((recv), (SFT_file[12] + 2)))
62 #define CALL_file___OFStream___init(recv) ((file___OFStream___init_t)CALL((recv), (SFT_file[12] + 3)))
63 #define CALL_file___OFStream___without_file(recv) ((file___OFStream___without_file_t)CALL((recv), (SFT_file[12] + 4)))
64 #define ID_Stdin (SFT_file[13])
65 #define COLOR_Stdin (SFT_file[14])
66 #define INIT_TABLE_POS_Stdin (SFT_file[15] + 0)
67 #define CALL_file___Stdin___init(recv) ((file___Stdin___init_t)CALL((recv), (SFT_file[15] + 1)))
68 #define ID_Stdout (SFT_file[16])
69 #define COLOR_Stdout (SFT_file[17])
70 #define INIT_TABLE_POS_Stdout (SFT_file[18] + 0)
71 #define CALL_file___Stdout___init(recv) ((file___Stdout___init_t)CALL((recv), (SFT_file[18] + 1)))
72 #define ID_Stderr (SFT_file[19])
73 #define COLOR_Stderr (SFT_file[20])
74 #define INIT_TABLE_POS_Stderr (SFT_file[21] + 0)
75 #define CALL_file___Stderr___init(recv) ((file___Stderr___init_t)CALL((recv), (SFT_file[21] + 1)))
76 #define CALL_file___String___file_exists(recv) ((file___String___file_exists_t)CALL((recv), (SFT_file[22] + 0)))
77 #define CALL_file___String___file_stat(recv) ((file___String___file_stat_t)CALL((recv), (SFT_file[22] + 1)))
78 #define CALL_file___String___file_delete(recv) ((file___String___file_delete_t)CALL((recv), (SFT_file[22] + 2)))
79 #define CALL_file___String___strip_extension(recv) ((file___String___strip_extension_t)CALL((recv), (SFT_file[22] + 3)))
80 #define CALL_file___String___basename(recv) ((file___String___basename_t)CALL((recv), (SFT_file[22] + 4)))
81 #define CALL_file___String___dirname(recv) ((file___String___dirname_t)CALL((recv), (SFT_file[22] + 5)))
82 #define CALL_file___String___file_path(recv) ((file___String___file_path_t)CALL((recv), (SFT_file[22] + 6)))
83 #define CALL_file___String___mkdir(recv) ((file___String___mkdir_t)CALL((recv), (SFT_file[22] + 7)))
84 #define CALL_file___NativeString___file_exists(recv) ((file___NativeString___file_exists_t)CALL((recv), (SFT_file[23] + 0)))
85 #define CALL_file___NativeString___file_stat(recv) ((file___NativeString___file_stat_t)CALL((recv), (SFT_file[23] + 1)))
86 #define CALL_file___NativeString___file_mkdir(recv) ((file___NativeString___file_mkdir_t)CALL((recv), (SFT_file[23] + 2)))
87 #define CALL_file___NativeString___file_delete(recv) ((file___NativeString___file_delete_t)CALL((recv), (SFT_file[23] + 3)))
88 #define ID_FileStat (SFT_file[24])
89 #define COLOR_FileStat (SFT_file[25])
90 #define INIT_TABLE_POS_FileStat (SFT_file[26] + 0)
91 #define CALL_file___FileStat___mode(recv) ((file___FileStat___mode_t)CALL((recv), (SFT_file[26] + 1)))
92 #define CALL_file___FileStat___atime(recv) ((file___FileStat___atime_t)CALL((recv), (SFT_file[26] + 2)))
93 #define CALL_file___FileStat___ctime(recv) ((file___FileStat___ctime_t)CALL((recv), (SFT_file[26] + 3)))
94 #define CALL_file___FileStat___mtime(recv) ((file___FileStat___mtime_t)CALL((recv), (SFT_file[26] + 4)))
95 #define CALL_file___FileStat___size(recv) ((file___FileStat___size_t)CALL((recv), (SFT_file[26] + 5)))
96 #define ID_NativeFile (SFT_file[27])
97 #define COLOR_NativeFile (SFT_file[28])
98 #define INIT_TABLE_POS_NativeFile (SFT_file[29] + 0)
99 #define CALL_file___NativeFile___io_read(recv) ((file___NativeFile___io_read_t)CALL((recv), (SFT_file[29] + 1)))
100 #define CALL_file___NativeFile___io_write(recv) ((file___NativeFile___io_write_t)CALL((recv), (SFT_file[29] + 2)))
101 #define CALL_file___NativeFile___io_close(recv) ((file___NativeFile___io_close_t)CALL((recv), (SFT_file[29] + 3)))
102 #define CALL_file___NativeFile___file_stat(recv) ((file___NativeFile___file_stat_t)CALL((recv), (SFT_file[29] + 4)))
103 #define ID_NativeFileCapable (SFT_file[30])
104 #define COLOR_NativeFileCapable (SFT_file[31])
105 #define INIT_TABLE_POS_NativeFileCapable (SFT_file[32] + 0)
106 #define CALL_file___NativeFileCapable___io_open_read(recv) ((file___NativeFileCapable___io_open_read_t)CALL((recv), (SFT_file[32] + 1)))
107 #define CALL_file___NativeFileCapable___io_open_write(recv) ((file___NativeFileCapable___io_open_write_t)CALL((recv), (SFT_file[32] + 2)))
108 #define CALL_file___NativeFileCapable___native_stdin(recv) ((file___NativeFileCapable___native_stdin_t)CALL((recv), (SFT_file[32] + 3)))
109 #define CALL_file___NativeFileCapable___native_stdout(recv) ((file___NativeFileCapable___native_stdout_t)CALL((recv), (SFT_file[32] + 4)))
110 #define CALL_file___NativeFileCapable___native_stderr(recv) ((file___NativeFileCapable___native_stderr_t)CALL((recv), (SFT_file[32] + 5)))
111 static const char * const LOCATE_file___Object___printn
= "file::Object::printn";
112 void file___Object___printn(val_t p0
, val_t p1
);
113 typedef void (*file___Object___printn_t
)(val_t p0
, val_t p1
);
114 static const char * const LOCATE_file___Object___print
= "file::Object::print";
115 void file___Object___print(val_t p0
, val_t p1
);
116 typedef void (*file___Object___print_t
)(val_t p0
, val_t p1
);
117 static const char * const LOCATE_file___Object___getc
= "file::Object::getc";
118 val_t
file___Object___getc(val_t p0
);
119 typedef val_t (*file___Object___getc_t
)(val_t p0
);
120 static const char * const LOCATE_file___Object___gets
= "file::Object::gets";
121 val_t
file___Object___gets(val_t p0
);
122 typedef val_t (*file___Object___gets_t
)(val_t p0
);
123 static const char * const LOCATE_file___Object___stdin
= "file::Object::stdin";
124 val_t
file___Object___stdin(val_t p0
);
125 typedef val_t (*file___Object___stdin_t
)(val_t p0
);
126 static const char * const LOCATE_file___Object___stdout
= "file::Object::stdout";
127 val_t
file___Object___stdout(val_t p0
);
128 typedef val_t (*file___Object___stdout_t
)(val_t p0
);
129 static const char * const LOCATE_file___Object___stderr
= "file::Object::stderr";
130 val_t
file___Object___stderr(val_t p0
);
131 typedef val_t (*file___Object___stderr_t
)(val_t p0
);
132 static const char * const LOCATE_file___FStream___path
= "file::FStream::path";
133 val_t
file___FStream___path(val_t p0
);
134 typedef val_t (*file___FStream___path_t
)(val_t p0
);
135 static const char * const LOCATE_file___FStream___file_stat
= "file::FStream::file_stat";
136 val_t
file___FStream___file_stat(val_t p0
);
137 typedef val_t (*file___FStream___file_stat_t
)(val_t p0
);
138 val_t
NEW_FStream_stream___IOS___init();
139 static const char * const LOCATE_file___IFStream___reopen
= "file::IFStream::reopen";
140 void file___IFStream___reopen(val_t p0
);
141 typedef void (*file___IFStream___reopen_t
)(val_t p0
);
142 static const char * const LOCATE_file___IFStream___close
= "file::IFStream::(stream::IOS::close)";
143 void file___IFStream___close(val_t p0
);
144 typedef void (*file___IFStream___close_t
)(val_t p0
);
145 static const char * const LOCATE_file___IFStream___fill_buffer
= "file::IFStream::(stream::BufferedIStream::fill_buffer)";
146 void file___IFStream___fill_buffer(val_t p0
);
147 typedef void (*file___IFStream___fill_buffer_t
)(val_t p0
);
148 static const char * const LOCATE_file___IFStream___end_reached
= "file::IFStream::(stream::BufferedIStream::end_reached)";
149 val_t
file___IFStream___end_reached(val_t p0
);
150 typedef val_t (*file___IFStream___end_reached_t
)(val_t p0
);
151 static const char * const LOCATE_file___IFStream___open
= "file::IFStream::open";
152 void file___IFStream___open(val_t p0
, val_t p1
, int* init_table
);
153 typedef void (*file___IFStream___open_t
)(val_t p0
, val_t p1
, int* init_table
);
154 val_t
NEW_IFStream_file___IFStream___open(val_t p0
);
155 static const char * const LOCATE_file___IFStream___init
= "file::IFStream::init";
156 void file___IFStream___init(val_t p0
, int* init_table
);
157 typedef void (*file___IFStream___init_t
)(val_t p0
, int* init_table
);
158 val_t
NEW_IFStream_file___IFStream___init();
159 static const char * const LOCATE_file___IFStream___without_file
= "file::IFStream::without_file";
160 void file___IFStream___without_file(val_t p0
, int* init_table
);
161 typedef void (*file___IFStream___without_file_t
)(val_t p0
, int* init_table
);
162 val_t
NEW_IFStream_file___IFStream___without_file();
163 static const char * const LOCATE_file___OFStream___write
= "file::OFStream::(stream::OStream::write)";
164 void file___OFStream___write(val_t p0
, val_t p1
);
165 typedef void (*file___OFStream___write_t
)(val_t p0
, val_t p1
);
166 static const char * const LOCATE_file___OFStream___is_writable
= "file::OFStream::(stream::OStream::is_writable)";
167 val_t
file___OFStream___is_writable(val_t p0
);
168 typedef val_t (*file___OFStream___is_writable_t
)(val_t p0
);
169 static const char * const LOCATE_file___OFStream___close
= "file::OFStream::(stream::IOS::close)";
170 void file___OFStream___close(val_t p0
);
171 typedef void (*file___OFStream___close_t
)(val_t p0
);
172 static const char * const LOCATE_file___OFStream___write_native
= "file::OFStream::write_native";
173 void file___OFStream___write_native(val_t p0
, val_t p1
, val_t p2
);
174 typedef void (*file___OFStream___write_native_t
)(val_t p0
, val_t p1
, val_t p2
);
175 static const char * const LOCATE_file___OFStream___open
= "file::OFStream::open";
176 void file___OFStream___open(val_t p0
, val_t p1
, int* init_table
);
177 typedef void (*file___OFStream___open_t
)(val_t p0
, val_t p1
, int* init_table
);
178 val_t
NEW_OFStream_file___OFStream___open(val_t p0
);
179 static const char * const LOCATE_file___OFStream___init
= "file::OFStream::init";
180 void file___OFStream___init(val_t p0
, int* init_table
);
181 typedef void (*file___OFStream___init_t
)(val_t p0
, int* init_table
);
182 val_t
NEW_OFStream_file___OFStream___init();
183 static const char * const LOCATE_file___OFStream___without_file
= "file::OFStream::without_file";
184 void file___OFStream___without_file(val_t p0
, int* init_table
);
185 typedef void (*file___OFStream___without_file_t
)(val_t p0
, int* init_table
);
186 val_t
NEW_OFStream_file___OFStream___without_file();
187 static const char * const LOCATE_file___Stdin___init
= "file::Stdin::init";
188 void file___Stdin___init(val_t p0
, int* init_table
);
189 typedef void (*file___Stdin___init_t
)(val_t p0
, int* init_table
);
190 val_t
NEW_Stdin_file___Stdin___init();
191 static const char * const LOCATE_file___Stdout___init
= "file::Stdout::init";
192 void file___Stdout___init(val_t p0
, int* init_table
);
193 typedef void (*file___Stdout___init_t
)(val_t p0
, int* init_table
);
194 val_t
NEW_Stdout_file___Stdout___init();
195 static const char * const LOCATE_file___Stderr___init
= "file::Stderr::init";
196 void file___Stderr___init(val_t p0
, int* init_table
);
197 typedef void (*file___Stderr___init_t
)(val_t p0
, int* init_table
);
198 val_t
NEW_Stderr_file___Stderr___init();
199 static const char * const LOCATE_file___String___file_exists
= "file::String::file_exists";
200 val_t
file___String___file_exists(val_t p0
);
201 typedef val_t (*file___String___file_exists_t
)(val_t p0
);
202 static const char * const LOCATE_file___String___file_stat
= "file::String::file_stat";
203 val_t
file___String___file_stat(val_t p0
);
204 typedef val_t (*file___String___file_stat_t
)(val_t p0
);
205 static const char * const LOCATE_file___String___file_delete
= "file::String::file_delete";
206 val_t
file___String___file_delete(val_t p0
);
207 typedef val_t (*file___String___file_delete_t
)(val_t p0
);
208 static const char * const LOCATE_file___String___strip_extension
= "file::String::strip_extension";
209 val_t
file___String___strip_extension(val_t p0
, val_t p1
);
210 typedef val_t (*file___String___strip_extension_t
)(val_t p0
, val_t p1
);
211 static const char * const LOCATE_file___String___basename
= "file::String::basename";
212 val_t
file___String___basename(val_t p0
, val_t p1
);
213 typedef val_t (*file___String___basename_t
)(val_t p0
, val_t p1
);
214 static const char * const LOCATE_file___String___dirname
= "file::String::dirname";
215 val_t
file___String___dirname(val_t p0
);
216 typedef val_t (*file___String___dirname_t
)(val_t p0
);
217 static const char * const LOCATE_file___String___file_path
= "file::String::file_path";
218 val_t
file___String___file_path(val_t p0
);
219 typedef val_t (*file___String___file_path_t
)(val_t p0
);
220 static const char * const LOCATE_file___String___mkdir
= "file::String::mkdir";
221 void file___String___mkdir(val_t p0
);
222 typedef void (*file___String___mkdir_t
)(val_t p0
);
223 val_t
NEW_String_string___String___with_native(val_t p0
, val_t p1
);
224 val_t
NEW_String_string___String___from_cstring(val_t p0
);
225 static const char * const LOCATE_file___NativeString___file_exists
= "file::NativeString::file_exists";
226 val_t
file___NativeString___file_exists(val_t p0
);
227 typedef val_t (*file___NativeString___file_exists_t
)(val_t p0
);
228 static const char * const LOCATE_file___NativeString___file_stat
= "file::NativeString::file_stat";
229 val_t
file___NativeString___file_stat(val_t p0
);
230 typedef val_t (*file___NativeString___file_stat_t
)(val_t p0
);
231 static const char * const LOCATE_file___NativeString___file_mkdir
= "file::NativeString::file_mkdir";
232 val_t
file___NativeString___file_mkdir(val_t p0
);
233 typedef val_t (*file___NativeString___file_mkdir_t
)(val_t p0
);
234 static const char * const LOCATE_file___NativeString___file_delete
= "file::NativeString::file_delete";
235 val_t
file___NativeString___file_delete(val_t p0
);
236 typedef val_t (*file___NativeString___file_delete_t
)(val_t p0
);
237 val_t
NEW_NativeString_string___NativeString___init();
238 static const char * const LOCATE_file___FileStat___mode
= "file::FileStat::mode";
239 val_t
file___FileStat___mode(val_t p0
);
240 typedef val_t (*file___FileStat___mode_t
)(val_t p0
);
241 static const char * const LOCATE_file___FileStat___atime
= "file::FileStat::atime";
242 val_t
file___FileStat___atime(val_t p0
);
243 typedef val_t (*file___FileStat___atime_t
)(val_t p0
);
244 static const char * const LOCATE_file___FileStat___ctime
= "file::FileStat::ctime";
245 val_t
file___FileStat___ctime(val_t p0
);
246 typedef val_t (*file___FileStat___ctime_t
)(val_t p0
);
247 static const char * const LOCATE_file___FileStat___mtime
= "file::FileStat::mtime";
248 val_t
file___FileStat___mtime(val_t p0
);
249 typedef val_t (*file___FileStat___mtime_t
)(val_t p0
);
250 static const char * const LOCATE_file___FileStat___size
= "file::FileStat::size";
251 val_t
file___FileStat___size(val_t p0
);
252 typedef val_t (*file___FileStat___size_t
)(val_t p0
);
253 static const char * const LOCATE_file___NativeFile___io_read
= "file::NativeFile::io_read";
254 val_t
file___NativeFile___io_read(val_t p0
, val_t p1
, val_t p2
);
255 typedef val_t (*file___NativeFile___io_read_t
)(val_t p0
, val_t p1
, val_t p2
);
256 static const char * const LOCATE_file___NativeFile___io_write
= "file::NativeFile::io_write";
257 val_t
file___NativeFile___io_write(val_t p0
, val_t p1
, val_t p2
);
258 typedef val_t (*file___NativeFile___io_write_t
)(val_t p0
, val_t p1
, val_t p2
);
259 static const char * const LOCATE_file___NativeFile___io_close
= "file::NativeFile::io_close";
260 val_t
file___NativeFile___io_close(val_t p0
);
261 typedef val_t (*file___NativeFile___io_close_t
)(val_t p0
);
262 static const char * const LOCATE_file___NativeFile___file_stat
= "file::NativeFile::file_stat";
263 val_t
file___NativeFile___file_stat(val_t p0
);
264 typedef val_t (*file___NativeFile___file_stat_t
)(val_t p0
);
265 static const char * const LOCATE_file___NativeFileCapable___io_open_read
= "file::NativeFileCapable::io_open_read";
266 val_t
file___NativeFileCapable___io_open_read(val_t p0
, val_t p1
);
267 typedef val_t (*file___NativeFileCapable___io_open_read_t
)(val_t p0
, val_t p1
);
268 static const char * const LOCATE_file___NativeFileCapable___io_open_write
= "file::NativeFileCapable::io_open_write";
269 val_t
file___NativeFileCapable___io_open_write(val_t p0
, val_t p1
);
270 typedef val_t (*file___NativeFileCapable___io_open_write_t
)(val_t p0
, val_t p1
);
271 static const char * const LOCATE_file___NativeFileCapable___native_stdin
= "file::NativeFileCapable::native_stdin";
272 val_t
file___NativeFileCapable___native_stdin(val_t p0
);
273 typedef val_t (*file___NativeFileCapable___native_stdin_t
)(val_t p0
);
274 static const char * const LOCATE_file___NativeFileCapable___native_stdout
= "file::NativeFileCapable::native_stdout";
275 val_t
file___NativeFileCapable___native_stdout(val_t p0
);
276 typedef val_t (*file___NativeFileCapable___native_stdout_t
)(val_t p0
);
277 static const char * const LOCATE_file___NativeFileCapable___native_stderr
= "file::NativeFileCapable::native_stderr";
278 val_t
file___NativeFileCapable___native_stderr(val_t p0
);
279 typedef val_t (*file___NativeFileCapable___native_stderr_t
)(val_t p0
);