1 /* This C header file is generated by NIT to compile modules and programs that requires ../lib/standard/file. */
2 #ifndef standard___file_sep
3 #define standard___file_sep
4 #include "standard___stream._sep.h"
5 #include "standard___string_search._sep.h"
6 #include <nit_common.h>
7 #include "file._nitni.h"
9 extern const classtable_elt_t VFT_standard___file___FStream
[];
11 extern const classtable_elt_t VFT_standard___file___IFStream
[];
13 extern const classtable_elt_t VFT_standard___file___OFStream
[];
15 extern const classtable_elt_t VFT_standard___file___Stdin
[];
17 extern const classtable_elt_t VFT_standard___file___Stdout
[];
19 extern const classtable_elt_t VFT_standard___file___Stderr
[];
21 extern const classtable_elt_t VFT_standard___file___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_standard___file___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)
30 extern const char LOCATE_standard___file
[];
31 extern const int SFT_standard___file
[];
32 #define CALL_standard___file___Object___printn(recv) ((standard___file___Object___printn_t)CALL((recv), (SFT_standard___file[0] + 0)))
33 #define CALL_standard___file___Object___print(recv) ((standard___file___Object___print_t)CALL((recv), (SFT_standard___file[0] + 1)))
34 #define CALL_standard___file___Object___getc(recv) ((standard___file___Object___getc_t)CALL((recv), (SFT_standard___file[0] + 2)))
35 #define CALL_standard___file___Object___gets(recv) ((standard___file___Object___gets_t)CALL((recv), (SFT_standard___file[0] + 3)))
36 #define CALL_standard___file___Object___stdin(recv) ((standard___file___Object___stdin_t)CALL((recv), (SFT_standard___file[0] + 4)))
37 #define CALL_standard___file___Object___stdout(recv) ((standard___file___Object___stdout_t)CALL((recv), (SFT_standard___file[0] + 5)))
38 #define CALL_standard___file___Object___stderr(recv) ((standard___file___Object___stderr_t)CALL((recv), (SFT_standard___file[0] + 6)))
39 #define ID_standard___file___FStream (SFT_standard___file[1])
40 #define COLOR_standard___file___FStream (SFT_standard___file[2])
41 #define ATTR_standard___file___FStream____path(recv) ATTR(recv, (SFT_standard___file[3] + 0))
42 #define ATTR_standard___file___FStream____file(recv) ATTR(recv, (SFT_standard___file[3] + 1))
43 #define INIT_TABLE_POS_standard___file___FStream (SFT_standard___file[4] + 0)
44 #define CALL_standard___file___FStream___path(recv) ((standard___file___FStream___path_t)CALL((recv), (SFT_standard___file[4] + 1)))
45 #define CALL_standard___file___FStream___file_stat(recv) ((standard___file___FStream___file_stat_t)CALL((recv), (SFT_standard___file[4] + 2)))
46 #define CALL_standard___file___FStream___init(recv) ((standard___file___FStream___init_t)CALL((recv), (SFT_standard___file[4] + 3)))
47 #define ID_standard___file___IFStream (SFT_standard___file[5])
48 #define COLOR_standard___file___IFStream (SFT_standard___file[6])
49 #define ATTR_standard___file___IFStream____end_reached(recv) ATTR(recv, (SFT_standard___file[7] + 0))
50 #define INIT_TABLE_POS_standard___file___IFStream (SFT_standard___file[8] + 0)
51 #define CALL_standard___file___IFStream___reopen(recv) ((standard___file___IFStream___reopen_t)CALL((recv), (SFT_standard___file[8] + 1)))
52 #define CALL_standard___file___IFStream___open(recv) ((standard___file___IFStream___open_t)CALL((recv), (SFT_standard___file[8] + 2)))
53 #define CALL_standard___file___IFStream___init(recv) ((standard___file___IFStream___init_t)CALL((recv), (SFT_standard___file[8] + 3)))
54 #define CALL_standard___file___IFStream___without_file(recv) ((standard___file___IFStream___without_file_t)CALL((recv), (SFT_standard___file[8] + 4)))
55 #define ID_standard___file___OFStream (SFT_standard___file[9])
56 #define COLOR_standard___file___OFStream (SFT_standard___file[10])
57 #define ATTR_standard___file___OFStream____writable(recv) ATTR(recv, (SFT_standard___file[11] + 0))
58 #define INIT_TABLE_POS_standard___file___OFStream (SFT_standard___file[12] + 0)
59 #define CALL_standard___file___OFStream___write_native(recv) ((standard___file___OFStream___write_native_t)CALL((recv), (SFT_standard___file[12] + 1)))
60 #define CALL_standard___file___OFStream___open(recv) ((standard___file___OFStream___open_t)CALL((recv), (SFT_standard___file[12] + 2)))
61 #define CALL_standard___file___OFStream___init(recv) ((standard___file___OFStream___init_t)CALL((recv), (SFT_standard___file[12] + 3)))
62 #define CALL_standard___file___OFStream___without_file(recv) ((standard___file___OFStream___without_file_t)CALL((recv), (SFT_standard___file[12] + 4)))
63 #define ID_standard___file___Stdin (SFT_standard___file[13])
64 #define COLOR_standard___file___Stdin (SFT_standard___file[14])
65 #define INIT_TABLE_POS_standard___file___Stdin (SFT_standard___file[15] + 0)
66 #define CALL_standard___file___Stdin___init(recv) ((standard___file___Stdin___init_t)CALL((recv), (SFT_standard___file[15] + 1)))
67 #define CALL_standard___file___Stdin___poll_in(recv) ((standard___file___Stdin___poll_in_t)CALL((recv), (SFT_standard___file[15] + 2)))
68 #define ID_standard___file___Stdout (SFT_standard___file[16])
69 #define COLOR_standard___file___Stdout (SFT_standard___file[17])
70 #define INIT_TABLE_POS_standard___file___Stdout (SFT_standard___file[18] + 0)
71 #define CALL_standard___file___Stdout___init(recv) ((standard___file___Stdout___init_t)CALL((recv), (SFT_standard___file[18] + 1)))
72 #define ID_standard___file___Stderr (SFT_standard___file[19])
73 #define COLOR_standard___file___Stderr (SFT_standard___file[20])
74 #define INIT_TABLE_POS_standard___file___Stderr (SFT_standard___file[21] + 0)
75 #define CALL_standard___file___Stderr___init(recv) ((standard___file___Stderr___init_t)CALL((recv), (SFT_standard___file[21] + 1)))
76 #define CALL_standard___file___String___file_exists(recv) ((standard___file___String___file_exists_t)CALL((recv), (SFT_standard___file[22] + 0)))
77 #define CALL_standard___file___String___file_stat(recv) ((standard___file___String___file_stat_t)CALL((recv), (SFT_standard___file[22] + 1)))
78 #define CALL_standard___file___String___file_delete(recv) ((standard___file___String___file_delete_t)CALL((recv), (SFT_standard___file[22] + 2)))
79 #define CALL_standard___file___String___strip_extension(recv) ((standard___file___String___strip_extension_t)CALL((recv), (SFT_standard___file[22] + 3)))
80 #define CALL_standard___file___String___basename(recv) ((standard___file___String___basename_t)CALL((recv), (SFT_standard___file[22] + 4)))
81 #define CALL_standard___file___String___dirname(recv) ((standard___file___String___dirname_t)CALL((recv), (SFT_standard___file[22] + 5)))
82 #define CALL_standard___file___String___simplify_path(recv) ((standard___file___String___simplify_path_t)CALL((recv), (SFT_standard___file[22] + 6)))
83 #define CALL_standard___file___String___join_path(recv) ((standard___file___String___join_path_t)CALL((recv), (SFT_standard___file[22] + 7)))
84 #define CALL_standard___file___String___mkdir(recv) ((standard___file___String___mkdir_t)CALL((recv), (SFT_standard___file[22] + 8)))
85 #define CALL_standard___file___String___file_extension(recv) ((standard___file___String___file_extension_t)CALL((recv), (SFT_standard___file[22] + 9)))
86 #define CALL_standard___file___String___files(recv) ((standard___file___String___files_t)CALL((recv), (SFT_standard___file[22] + 10)))
87 #define CALL_standard___file___NativeString___file_exists(recv) ((standard___file___NativeString___file_exists_t)CALL((recv), (SFT_standard___file[23] + 0)))
88 #define CALL_standard___file___NativeString___file_stat(recv) ((standard___file___NativeString___file_stat_t)CALL((recv), (SFT_standard___file[23] + 1)))
89 #define CALL_standard___file___NativeString___file_mkdir(recv) ((standard___file___NativeString___file_mkdir_t)CALL((recv), (SFT_standard___file[23] + 2)))
90 #define CALL_standard___file___NativeString___file_delete(recv) ((standard___file___NativeString___file_delete_t)CALL((recv), (SFT_standard___file[23] + 3)))
91 #define ID_standard___file___FileStat (SFT_standard___file[24])
92 #define COLOR_standard___file___FileStat (SFT_standard___file[25])
93 #define INIT_TABLE_POS_standard___file___FileStat (SFT_standard___file[26] + 0)
94 #define CALL_standard___file___FileStat___mode(recv) ((standard___file___FileStat___mode_t)CALL((recv), (SFT_standard___file[26] + 1)))
95 #define CALL_standard___file___FileStat___atime(recv) ((standard___file___FileStat___atime_t)CALL((recv), (SFT_standard___file[26] + 2)))
96 #define CALL_standard___file___FileStat___ctime(recv) ((standard___file___FileStat___ctime_t)CALL((recv), (SFT_standard___file[26] + 3)))
97 #define CALL_standard___file___FileStat___mtime(recv) ((standard___file___FileStat___mtime_t)CALL((recv), (SFT_standard___file[26] + 4)))
98 #define CALL_standard___file___FileStat___size(recv) ((standard___file___FileStat___size_t)CALL((recv), (SFT_standard___file[26] + 5)))
99 #define ID_standard___file___NativeFile (SFT_standard___file[27])
100 #define COLOR_standard___file___NativeFile (SFT_standard___file[28])
101 #define INIT_TABLE_POS_standard___file___NativeFile (SFT_standard___file[29] + 0)
102 #define CALL_standard___file___NativeFile___io_read(recv) ((standard___file___NativeFile___io_read_t)CALL((recv), (SFT_standard___file[29] + 1)))
103 #define CALL_standard___file___NativeFile___io_write(recv) ((standard___file___NativeFile___io_write_t)CALL((recv), (SFT_standard___file[29] + 2)))
104 #define CALL_standard___file___NativeFile___io_close(recv) ((standard___file___NativeFile___io_close_t)CALL((recv), (SFT_standard___file[29] + 3)))
105 #define CALL_standard___file___NativeFile___file_stat(recv) ((standard___file___NativeFile___file_stat_t)CALL((recv), (SFT_standard___file[29] + 4)))
106 #define CALL_standard___file___NativeFile___io_open_read(recv) ((standard___file___NativeFile___io_open_read_t)CALL((recv), (SFT_standard___file[29] + 5)))
107 #define CALL_standard___file___NativeFile___io_open_write(recv) ((standard___file___NativeFile___io_open_write_t)CALL((recv), (SFT_standard___file[29] + 6)))
108 #define CALL_standard___file___NativeFile___native_stdin(recv) ((standard___file___NativeFile___native_stdin_t)CALL((recv), (SFT_standard___file[29] + 7)))
109 #define CALL_standard___file___NativeFile___native_stdout(recv) ((standard___file___NativeFile___native_stdout_t)CALL((recv), (SFT_standard___file[29] + 8)))
110 #define CALL_standard___file___NativeFile___native_stderr(recv) ((standard___file___NativeFile___native_stderr_t)CALL((recv), (SFT_standard___file[29] + 9)))
111 void standard___file___Object___printn(val_t p0
, val_t p1
);
112 typedef void (*standard___file___Object___printn_t
)(val_t p0
, val_t p1
);
113 void standard___file___Object___print(val_t p0
, val_t p1
);
114 typedef void (*standard___file___Object___print_t
)(val_t p0
, val_t p1
);
115 val_t
standard___file___Object___getc(val_t p0
);
116 typedef val_t (*standard___file___Object___getc_t
)(val_t p0
);
117 val_t
standard___file___Object___gets(val_t p0
);
118 typedef val_t (*standard___file___Object___gets_t
)(val_t p0
);
119 val_t
standard___file___Object___stdin(val_t p0
);
120 typedef val_t (*standard___file___Object___stdin_t
)(val_t p0
);
121 val_t
standard___file___Object___stdout(val_t p0
);
122 typedef val_t (*standard___file___Object___stdout_t
)(val_t p0
);
123 val_t
standard___file___Object___stderr(val_t p0
);
124 typedef val_t (*standard___file___Object___stderr_t
)(val_t p0
);
125 val_t
standard___file___FStream___path(val_t p0
);
126 typedef val_t (*standard___file___FStream___path_t
)(val_t p0
);
127 val_t
standard___file___FStream___file_stat(val_t p0
);
128 typedef val_t (*standard___file___FStream___file_stat_t
)(val_t p0
);
129 void standard___file___FStream___init(val_t p0
, int* init_table
);
130 typedef void (*standard___file___FStream___init_t
)(val_t p0
, int* init_table
);
131 val_t
NEW_FStream_standard___file___FStream___init();
132 void standard___file___IFStream___reopen(val_t p0
);
133 typedef void (*standard___file___IFStream___reopen_t
)(val_t p0
);
134 void standard___file___IFStream___close(val_t p0
);
135 typedef void (*standard___file___IFStream___close_t
)(val_t p0
);
136 void standard___file___IFStream___fill_buffer(val_t p0
);
137 typedef void (*standard___file___IFStream___fill_buffer_t
)(val_t p0
);
138 val_t
standard___file___IFStream___end_reached(val_t p0
);
139 typedef val_t (*standard___file___IFStream___end_reached_t
)(val_t p0
);
140 void standard___file___IFStream___open(val_t p0
, val_t p1
, int* init_table
);
141 typedef void (*standard___file___IFStream___open_t
)(val_t p0
, val_t p1
, int* init_table
);
142 val_t
NEW_IFStream_standard___file___IFStream___open(val_t p0
);
143 void standard___file___IFStream___init(val_t p0
, int* init_table
);
144 typedef void (*standard___file___IFStream___init_t
)(val_t p0
, int* init_table
);
145 val_t
NEW_IFStream_standard___file___IFStream___init();
146 void standard___file___IFStream___without_file(val_t p0
, int* init_table
);
147 typedef void (*standard___file___IFStream___without_file_t
)(val_t p0
, int* init_table
);
148 val_t
NEW_IFStream_standard___file___IFStream___without_file();
149 void standard___file___OFStream___write(val_t p0
, val_t p1
);
150 typedef void (*standard___file___OFStream___write_t
)(val_t p0
, val_t p1
);
151 val_t
standard___file___OFStream___is_writable(val_t p0
);
152 typedef val_t (*standard___file___OFStream___is_writable_t
)(val_t p0
);
153 void standard___file___OFStream___close(val_t p0
);
154 typedef void (*standard___file___OFStream___close_t
)(val_t p0
);
155 void standard___file___OFStream___write_native(val_t p0
, val_t p1
, val_t p2
);
156 typedef void (*standard___file___OFStream___write_native_t
)(val_t p0
, val_t p1
, val_t p2
);
157 void standard___file___OFStream___open(val_t p0
, val_t p1
, int* init_table
);
158 typedef void (*standard___file___OFStream___open_t
)(val_t p0
, val_t p1
, int* init_table
);
159 val_t
NEW_OFStream_standard___file___OFStream___open(val_t p0
);
160 void standard___file___OFStream___init(val_t p0
, int* init_table
);
161 typedef void (*standard___file___OFStream___init_t
)(val_t p0
, int* init_table
);
162 val_t
NEW_OFStream_standard___file___OFStream___init();
163 void standard___file___OFStream___without_file(val_t p0
, int* init_table
);
164 typedef void (*standard___file___OFStream___without_file_t
)(val_t p0
, int* init_table
);
165 val_t
NEW_OFStream_standard___file___OFStream___without_file();
166 void standard___file___Stdin___init(val_t p0
, int* init_table
);
167 typedef void (*standard___file___Stdin___init_t
)(val_t p0
, int* init_table
);
168 val_t
NEW_Stdin_standard___file___Stdin___init();
169 val_t
standard___file___Stdin___poll_in(val_t p0
);
170 typedef val_t (*standard___file___Stdin___poll_in_t
)(val_t p0
);
171 void standard___file___Stdout___init(val_t p0
, int* init_table
);
172 typedef void (*standard___file___Stdout___init_t
)(val_t p0
, int* init_table
);
173 val_t
NEW_Stdout_standard___file___Stdout___init();
174 void standard___file___Stderr___init(val_t p0
, int* init_table
);
175 typedef void (*standard___file___Stderr___init_t
)(val_t p0
, int* init_table
);
176 val_t
NEW_Stderr_standard___file___Stderr___init();
177 val_t
standard___file___String___file_exists(val_t p0
);
178 typedef val_t (*standard___file___String___file_exists_t
)(val_t p0
);
179 val_t
standard___file___String___file_stat(val_t p0
);
180 typedef val_t (*standard___file___String___file_stat_t
)(val_t p0
);
181 val_t
standard___file___String___file_delete(val_t p0
);
182 typedef val_t (*standard___file___String___file_delete_t
)(val_t p0
);
183 val_t
standard___file___String___strip_extension(val_t p0
, val_t p1
);
184 typedef val_t (*standard___file___String___strip_extension_t
)(val_t p0
, val_t p1
);
185 val_t
standard___file___String___basename(val_t p0
, val_t p1
);
186 typedef val_t (*standard___file___String___basename_t
)(val_t p0
, val_t p1
);
187 val_t
standard___file___String___dirname(val_t p0
);
188 typedef val_t (*standard___file___String___dirname_t
)(val_t p0
);
189 val_t
standard___file___String___simplify_path(val_t p0
);
190 typedef val_t (*standard___file___String___simplify_path_t
)(val_t p0
);
191 val_t
standard___file___String___join_path(val_t p0
, val_t p1
);
192 typedef val_t (*standard___file___String___join_path_t
)(val_t p0
, val_t p1
);
193 void standard___file___String___mkdir(val_t p0
);
194 typedef void (*standard___file___String___mkdir_t
)(val_t p0
);
195 val_t
standard___file___String___file_extension(val_t p0
);
196 typedef val_t (*standard___file___String___file_extension_t
)(val_t p0
);
197 val_t
standard___file___String___files(val_t p0
);
198 typedef val_t (*standard___file___String___files_t
)(val_t p0
);
199 val_t
NEW_String_standard___string___String___from_cstring(val_t p0
);
200 val_t
NEW_String_standard___string___String___with_native(val_t p0
, val_t p1
);
201 val_t
standard___file___NativeString___file_exists(val_t p0
);
202 typedef val_t (*standard___file___NativeString___file_exists_t
)(val_t p0
);
203 val_t
standard___file___NativeString___file_stat(val_t p0
);
204 typedef val_t (*standard___file___NativeString___file_stat_t
)(val_t p0
);
205 val_t
standard___file___NativeString___file_mkdir(val_t p0
);
206 typedef val_t (*standard___file___NativeString___file_mkdir_t
)(val_t p0
);
207 val_t
standard___file___NativeString___file_delete(val_t p0
);
208 typedef val_t (*standard___file___NativeString___file_delete_t
)(val_t p0
);
209 val_t
NEW_NativeString_standard___string___NativeString___init();
210 val_t
standard___file___FileStat___mode(val_t p0
);
211 typedef val_t (*standard___file___FileStat___mode_t
)(val_t p0
);
212 val_t
standard___file___FileStat___atime(val_t p0
);
213 typedef val_t (*standard___file___FileStat___atime_t
)(val_t p0
);
214 val_t
standard___file___FileStat___ctime(val_t p0
);
215 typedef val_t (*standard___file___FileStat___ctime_t
)(val_t p0
);
216 val_t
standard___file___FileStat___mtime(val_t p0
);
217 typedef val_t (*standard___file___FileStat___mtime_t
)(val_t p0
);
218 val_t
standard___file___FileStat___size(val_t p0
);
219 typedef val_t (*standard___file___FileStat___size_t
)(val_t p0
);
220 val_t
standard___file___NativeFile___io_read(val_t p0
, val_t p1
, val_t p2
);
221 typedef val_t (*standard___file___NativeFile___io_read_t
)(val_t p0
, val_t p1
, val_t p2
);
222 val_t
standard___file___NativeFile___io_write(val_t p0
, val_t p1
, val_t p2
);
223 typedef val_t (*standard___file___NativeFile___io_write_t
)(val_t p0
, val_t p1
, val_t p2
);
224 val_t
standard___file___NativeFile___io_close(val_t p0
);
225 typedef val_t (*standard___file___NativeFile___io_close_t
)(val_t p0
);
226 val_t
standard___file___NativeFile___file_stat(val_t p0
);
227 typedef val_t (*standard___file___NativeFile___file_stat_t
)(val_t p0
);
228 void standard___file___NativeFile___io_open_read(val_t p0
, val_t p1
, int* init_table
);
229 typedef void (*standard___file___NativeFile___io_open_read_t
)(val_t p0
, val_t p1
, int* init_table
);
230 val_t
NEW_NativeFile_standard___file___NativeFile___io_open_read(val_t p0
);
231 void standard___file___NativeFile___io_open_write(val_t p0
, val_t p1
, int* init_table
);
232 typedef void (*standard___file___NativeFile___io_open_write_t
)(val_t p0
, val_t p1
, int* init_table
);
233 val_t
NEW_NativeFile_standard___file___NativeFile___io_open_write(val_t p0
);
234 void standard___file___NativeFile___native_stdin(val_t p0
, int* init_table
);
235 typedef void (*standard___file___NativeFile___native_stdin_t
)(val_t p0
, int* init_table
);
236 val_t
NEW_NativeFile_standard___file___NativeFile___native_stdin();
237 void standard___file___NativeFile___native_stdout(val_t p0
, int* init_table
);
238 typedef void (*standard___file___NativeFile___native_stdout_t
)(val_t p0
, int* init_table
);
239 val_t
NEW_NativeFile_standard___file___NativeFile___native_stdout();
240 void standard___file___NativeFile___native_stderr(val_t p0
, int* init_table
);
241 typedef void (*standard___file___NativeFile___native_stderr_t
)(val_t p0
, int* init_table
);
242 val_t
NEW_NativeFile_standard___file___NativeFile___native_stderr();