1 /* This C file is generated by NIT to compile module ffi___ffi_base. */
2 #include "ffi___ffi_base._sep.h"
3 static const char LOCATE_ffi___ffi_base___FFIVisited___accept_ffi_visitor
[] = "ffi_base::FFIVisited::accept_ffi_visitor";
4 void ffi___ffi_base___FFIVisited___accept_ffi_visitor(val_t p0
, val_t p1
){
5 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
7 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8 fra
.me
.file
= LOCATE_ffi___ffi_base
;
10 fra
.me
.meth
= LOCATE_ffi___ffi_base___FFIVisited___accept_ffi_visitor
;
13 fra
.me
.nitni_local_ref_head
= NULL
;
14 fra
.me
.REG
[0] = NIT_NULL
;
15 fra
.me
.REG
[1] = NIT_NULL
;
18 stack_frame_head
= fra
.me
.prev
;
21 static const char LOCATE_ffi___ffi_base___ExternCode___accept_ffi_visitor
[] = "ffi_base::ExternCode::(ffi_base::FFIVisited::accept_ffi_visitor)";
22 void ffi___ffi_base___ExternCode___accept_ffi_visitor(val_t p0
, val_t p1
){
23 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
27 static val_t once_value_1
; /* Once value */
28 static val_t once_value_2
; /* Once value */
29 static val_t once_value_3
; /* Once value */
30 static val_t once_value_4
; /* Once value */
31 static val_t once_value_5
; /* Once value */
32 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
33 fra
.me
.file
= LOCATE_ffi___ffi_base
;
35 fra
.me
.meth
= LOCATE_ffi___ffi_base___ExternCode___accept_ffi_visitor
;
38 fra
.me
.nitni_local_ref_head
= NULL
;
39 fra
.me
.REG
[0] = NIT_NULL
;
40 fra
.me
.REG
[1] = NIT_NULL
;
41 fra
.me
.REG
[2] = NIT_NULL
;
42 fra
.me
.REG
[3] = NIT_NULL
;
43 fra
.me
.REG
[4] = NIT_NULL
;
46 /* ffi/ffi_base.nit:35 */
47 fra
.me
.REG
[0] = CALL_syntax___extern_inline___ExternCode___language(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
48 /* ffi/ffi_base.nit:36 */
49 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
50 if (UNTAG_Bool(REGB0
)) {
52 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
53 if (UNTAG_Bool(REGB1
)) {
57 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
61 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
62 if (UNTAG_Bool(REGB0
)) {
63 /* ffi/ffi_base.nit:37 */
64 fra
.me
.REG
[2] = CALL_ffi___ffi_base___FFIVisitor___tc(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
66 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
68 fra
.me
.REG
[4] = BOX_NativeString("language \"");
70 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
71 once_value_1
= fra
.me
.REG
[4];
72 register_static_object(&once_value_1
);
73 } else fra
.me
.REG
[4] = once_value_1
;
74 fra
.me
.REG
[4] = fra
.me
.REG
[4];
75 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
76 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
78 fra
.me
.REG
[0] = BOX_NativeString("\" used to implement a code block in ");
80 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
81 once_value_2
= fra
.me
.REG
[0];
82 register_static_object(&once_value_2
);
83 } else fra
.me
.REG
[0] = once_value_2
;
84 fra
.me
.REG
[0] = fra
.me
.REG
[0];
85 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
86 fra
.me
.REG
[0] = CALL_ffi___ffi_base___FFIVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
87 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
88 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
90 fra
.me
.REG
[0] = BOX_NativeString(" is unknown.");
92 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
93 once_value_3
= fra
.me
.REG
[0];
94 register_static_object(&once_value_3
);
95 } else fra
.me
.REG
[0] = once_value_3
;
96 fra
.me
.REG
[0] = fra
.me
.REG
[0];
97 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
98 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
99 CALL_toolcontext___ToolContext___warning(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
, fra
.me
.REG
[3]);
101 /* ffi/ffi_base.nit:39 */
102 fra
.me
.REG
[3] = CALL_ffi___ffi_base___FFIVisitor___tc(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
104 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
106 fra
.me
.REG
[0] = BOX_NativeString("please specify a language to implement code blocks in ");
108 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
109 once_value_4
= fra
.me
.REG
[0];
110 register_static_object(&once_value_4
);
111 } else fra
.me
.REG
[0] = once_value_4
;
112 fra
.me
.REG
[0] = fra
.me
.REG
[0];
113 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
114 fra
.me
.REG
[1] = CALL_ffi___ffi_base___FFIVisitor___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
115 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
116 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
118 fra
.me
.REG
[1] = BOX_NativeString(".");
120 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
121 once_value_5
= fra
.me
.REG
[1];
122 register_static_object(&once_value_5
);
123 } else fra
.me
.REG
[1] = once_value_5
;
124 fra
.me
.REG
[1] = fra
.me
.REG
[1];
125 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
126 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
127 CALL_toolcontext___ToolContext___warning(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
, fra
.me
.REG
[2]);
129 stack_frame_head
= fra
.me
.prev
;
132 static const char LOCATE_ffi___ffi_base___ExternCode___language_lowered
[] = "ffi_base::ExternCode::language_lowered";
133 val_t
ffi___ffi_base___ExternCode___language_lowered(val_t p0
){
134 struct {struct stack_frame_t me
;} fra
;
136 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
137 fra
.me
.file
= LOCATE_ffi___ffi_base
;
139 fra
.me
.meth
= LOCATE_ffi___ffi_base___ExternCode___language_lowered
;
140 fra
.me
.has_broke
= 0;
142 fra
.me
.nitni_local_ref_head
= NULL
;
143 fra
.me
.REG
[0] = NIT_NULL
;
145 /* ffi/ffi_base.nit:43 */
146 fra
.me
.REG
[0] = ATTR_ffi___ffi_base___ExternCode_____atlanguage_lowered(fra
.me
.REG
[0]);
147 stack_frame_head
= fra
.me
.prev
;
148 return fra
.me
.REG
[0];
150 static const char LOCATE_ffi___ffi_base___ExternCode___language_lowered__eq
[] = "ffi_base::ExternCode::language_lowered=";
151 void ffi___ffi_base___ExternCode___language_lowered__eq(val_t p0
, val_t p1
){
152 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
154 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
155 fra
.me
.file
= LOCATE_ffi___ffi_base
;
157 fra
.me
.meth
= LOCATE_ffi___ffi_base___ExternCode___language_lowered__eq
;
158 fra
.me
.has_broke
= 0;
160 fra
.me
.nitni_local_ref_head
= NULL
;
161 fra
.me
.REG
[0] = NIT_NULL
;
162 fra
.me
.REG
[1] = NIT_NULL
;
165 /* ffi/ffi_base.nit:43 */
166 ATTR_ffi___ffi_base___ExternCode_____atlanguage_lowered(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
167 stack_frame_head
= fra
.me
.prev
;
170 static const char LOCATE_ffi___ffi_base___ExternCode___init
[] = "ffi_base::ExternCode::(extern_inline::ExternCode::init)";
171 void ffi___ffi_base___ExternCode___init(val_t p0
, val_t p1
, val_t p2
, val_t p3
, int* init_table
){
172 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___extern_inline___ExternCode
].i
;
173 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
177 if (init_table
[itpos0
]) return;
178 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
179 fra
.me
.file
= LOCATE_ffi___ffi_base
;
181 fra
.me
.meth
= LOCATE_ffi___ffi_base___ExternCode___init
;
182 fra
.me
.has_broke
= 0;
184 fra
.me
.nitni_local_ref_head
= NULL
;
185 fra
.me
.REG
[0] = NIT_NULL
;
186 fra
.me
.REG
[1] = NIT_NULL
;
187 fra
.me
.REG
[2] = NIT_NULL
;
188 fra
.me
.REG
[3] = NIT_NULL
;
189 fra
.me
.REG
[4] = NIT_NULL
;
190 fra
.me
.REG
[5] = NIT_NULL
;
195 /* ffi/ffi_base.nit:45 */
196 fra
.me
.REG
[4] = fra
.me
.REG
[0];
197 fra
.me
.REG
[5] = fra
.me
.REG
[1];
198 /* ffi/ffi_base.nit:47 */
199 CALL_SUPER_ffi___ffi_base___ExternCode___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2], fra
.me
.REG
[3], init_table
);
200 /* ffi/ffi_base.nit:48 */
201 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
202 if (UNTAG_Bool(REGB0
)) {
204 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
205 if (UNTAG_Bool(REGB1
)) {
209 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], NIT_NULL
);
213 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
214 if (UNTAG_Bool(REGB0
)) {
215 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
216 if (UNTAG_Bool(REGB0
)) {
217 nit_abort("Reciever is null", NULL
, LOCATE_ffi___ffi_base
, 48);
219 fra
.me
.REG
[5] = CALL_standard___string___AbstractString___to_lower(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
220 CALL_ffi___ffi_base___ExternCode___language_lowered__eq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
222 stack_frame_head
= fra
.me
.prev
;
223 init_table
[itpos0
] = 1;
226 static const char LOCATE_ffi___ffi_base___MMMethod___accept_ffi_visitor
[] = "ffi_base::MMMethod::(ffi_base::FFIVisited::accept_ffi_visitor)";
227 void ffi___ffi_base___MMMethod___accept_ffi_visitor(val_t p0
, val_t p1
){
228 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
232 static val_t once_value_1
; /* Once value */
233 static val_t once_value_2
; /* Once value */
234 static val_t once_value_3
; /* Once value */
235 static val_t once_value_4
; /* Once value */
236 static val_t once_value_5
; /* Once value */
237 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
238 fra
.me
.file
= LOCATE_ffi___ffi_base
;
240 fra
.me
.meth
= LOCATE_ffi___ffi_base___MMMethod___accept_ffi_visitor
;
241 fra
.me
.has_broke
= 0;
243 fra
.me
.nitni_local_ref_head
= NULL
;
244 fra
.me
.REG
[0] = NIT_NULL
;
245 fra
.me
.REG
[1] = NIT_NULL
;
246 fra
.me
.REG
[2] = NIT_NULL
;
247 fra
.me
.REG
[3] = NIT_NULL
;
248 fra
.me
.REG
[4] = NIT_NULL
;
249 fra
.me
.REG
[5] = NIT_NULL
;
252 /* ffi/ffi_base.nit:59 */
253 fra
.me
.REG
[2] = CALL_syntax___extern_inline___MMMethod___extern_implementation(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
254 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
255 if (UNTAG_Bool(REGB0
)) {
257 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
258 if (UNTAG_Bool(REGB1
)) {
262 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
266 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
267 if (UNTAG_Bool(REGB0
)) {
268 /* ffi/ffi_base.nit:60 */
269 fra
.me
.REG
[2] = CALL_syntax___extern_inline___MMMethod___extern_implementation(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
270 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
271 if (UNTAG_Bool(REGB0
)) {
272 nit_abort("Reciever is null", NULL
, LOCATE_ffi___ffi_base
, 60);
274 fra
.me
.REG
[2] = CALL_syntax___extern_inline___ExternCode___language(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
275 /* ffi/ffi_base.nit:61 */
276 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
277 if (UNTAG_Bool(REGB0
)) {
279 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
280 if (UNTAG_Bool(REGB1
)) {
284 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
288 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
289 if (UNTAG_Bool(REGB0
)) {
290 /* ffi/ffi_base.nit:62 */
291 fra
.me
.REG
[3] = CALL_ffi___ffi_base___FFIVisitor___tc(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
293 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
295 fra
.me
.REG
[5] = BOX_NativeString("language \"");
297 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
298 once_value_1
= fra
.me
.REG
[5];
299 register_static_object(&once_value_1
);
300 } else fra
.me
.REG
[5] = once_value_1
;
301 fra
.me
.REG
[5] = fra
.me
.REG
[5];
302 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
303 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
305 fra
.me
.REG
[2] = BOX_NativeString("\" used to implement ");
307 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
308 once_value_2
= fra
.me
.REG
[2];
309 register_static_object(&once_value_2
);
310 } else fra
.me
.REG
[2] = once_value_2
;
311 fra
.me
.REG
[2] = fra
.me
.REG
[2];
312 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
313 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
314 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
316 fra
.me
.REG
[2] = BOX_NativeString(" is unknown.");
318 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
319 once_value_3
= fra
.me
.REG
[2];
320 register_static_object(&once_value_3
);
321 } else fra
.me
.REG
[2] = once_value_3
;
322 fra
.me
.REG
[2] = fra
.me
.REG
[2];
323 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
324 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
325 CALL_toolcontext___ToolContext___warning(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
, fra
.me
.REG
[4]);
327 /* ffi/ffi_base.nit:64 */
328 fra
.me
.REG
[1] = CALL_ffi___ffi_base___FFIVisitor___tc(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
330 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
332 fra
.me
.REG
[3] = BOX_NativeString("please specify a language to implement ");
334 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
335 once_value_4
= fra
.me
.REG
[3];
336 register_static_object(&once_value_4
);
337 } else fra
.me
.REG
[3] = once_value_4
;
338 fra
.me
.REG
[3] = fra
.me
.REG
[3];
339 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
340 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
341 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
343 fra
.me
.REG
[0] = BOX_NativeString(".");
345 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
346 once_value_5
= fra
.me
.REG
[0];
347 register_static_object(&once_value_5
);
348 } else fra
.me
.REG
[0] = once_value_5
;
349 fra
.me
.REG
[0] = fra
.me
.REG
[0];
350 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
351 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
352 CALL_toolcontext___ToolContext___warning(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
, fra
.me
.REG
[4]);
355 stack_frame_head
= fra
.me
.prev
;
358 static const char LOCATE_ffi___ffi_base___ExternImportSet___callbacks
[] = "ffi_base::ExternImportSet::callbacks";
359 val_t
ffi___ffi_base___ExternImportSet___callbacks(val_t p0
){
360 struct {struct stack_frame_t me
;} fra
;
363 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
364 fra
.me
.file
= LOCATE_ffi___ffi_base
;
366 fra
.me
.meth
= LOCATE_ffi___ffi_base___ExternImportSet___callbacks
;
367 fra
.me
.has_broke
= 0;
369 fra
.me
.nitni_local_ref_head
= NULL
;
370 fra
.me
.REG
[0] = NIT_NULL
;
372 /* ffi/ffi_base.nit:73 */
373 REGB0
= TAG_Bool(ATTR_ffi___ffi_base___ExternImportSet_____atcallbacks(fra
.me
.REG
[0])!=NIT_NULL
);
374 if (UNTAG_Bool(REGB0
)) {
376 nit_abort("Uninitialized attribute %s", "@callbacks", LOCATE_ffi___ffi_base
, 73);
378 fra
.me
.REG
[0] = ATTR_ffi___ffi_base___ExternImportSet_____atcallbacks(fra
.me
.REG
[0]);
379 stack_frame_head
= fra
.me
.prev
;
380 return fra
.me
.REG
[0];
382 static const char LOCATE_ffi___ffi_base___ExternImportSet___callbacks__eq
[] = "ffi_base::ExternImportSet::callbacks=";
383 void ffi___ffi_base___ExternImportSet___callbacks__eq(val_t p0
, val_t p1
){
384 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
386 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
387 fra
.me
.file
= LOCATE_ffi___ffi_base
;
389 fra
.me
.meth
= LOCATE_ffi___ffi_base___ExternImportSet___callbacks__eq
;
390 fra
.me
.has_broke
= 0;
392 fra
.me
.nitni_local_ref_head
= NULL
;
393 fra
.me
.REG
[0] = NIT_NULL
;
394 fra
.me
.REG
[1] = NIT_NULL
;
397 /* ffi/ffi_base.nit:73 */
398 ATTR_ffi___ffi_base___ExternImportSet_____atcallbacks(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
399 stack_frame_head
= fra
.me
.prev
;
402 static const char LOCATE_ffi___ffi_base___ExternImportSet___supers
[] = "ffi_base::ExternImportSet::supers";
403 val_t
ffi___ffi_base___ExternImportSet___supers(val_t p0
){
404 struct {struct stack_frame_t me
;} fra
;
407 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
408 fra
.me
.file
= LOCATE_ffi___ffi_base
;
410 fra
.me
.meth
= LOCATE_ffi___ffi_base___ExternImportSet___supers
;
411 fra
.me
.has_broke
= 0;
413 fra
.me
.nitni_local_ref_head
= NULL
;
414 fra
.me
.REG
[0] = NIT_NULL
;
416 /* ffi/ffi_base.nit:76 */
417 REGB0
= TAG_Bool(ATTR_ffi___ffi_base___ExternImportSet_____atsupers(fra
.me
.REG
[0])!=NIT_NULL
);
418 if (UNTAG_Bool(REGB0
)) {
420 nit_abort("Uninitialized attribute %s", "@supers", LOCATE_ffi___ffi_base
, 76);
422 fra
.me
.REG
[0] = ATTR_ffi___ffi_base___ExternImportSet_____atsupers(fra
.me
.REG
[0]);
423 stack_frame_head
= fra
.me
.prev
;
424 return fra
.me
.REG
[0];
426 static const char LOCATE_ffi___ffi_base___ExternImportSet___supers__eq
[] = "ffi_base::ExternImportSet::supers=";
427 void ffi___ffi_base___ExternImportSet___supers__eq(val_t p0
, val_t p1
){
428 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
430 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
431 fra
.me
.file
= LOCATE_ffi___ffi_base
;
433 fra
.me
.meth
= LOCATE_ffi___ffi_base___ExternImportSet___supers__eq
;
434 fra
.me
.has_broke
= 0;
436 fra
.me
.nitni_local_ref_head
= NULL
;
437 fra
.me
.REG
[0] = NIT_NULL
;
438 fra
.me
.REG
[1] = NIT_NULL
;
441 /* ffi/ffi_base.nit:76 */
442 ATTR_ffi___ffi_base___ExternImportSet_____atsupers(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
443 stack_frame_head
= fra
.me
.prev
;
446 static const char LOCATE_ffi___ffi_base___ExternImportSet___types
[] = "ffi_base::ExternImportSet::types";
447 val_t
ffi___ffi_base___ExternImportSet___types(val_t p0
){
448 struct {struct stack_frame_t me
;} fra
;
451 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
452 fra
.me
.file
= LOCATE_ffi___ffi_base
;
454 fra
.me
.meth
= LOCATE_ffi___ffi_base___ExternImportSet___types
;
455 fra
.me
.has_broke
= 0;
457 fra
.me
.nitni_local_ref_head
= NULL
;
458 fra
.me
.REG
[0] = NIT_NULL
;
460 /* ffi/ffi_base.nit:79 */
461 REGB0
= TAG_Bool(ATTR_ffi___ffi_base___ExternImportSet_____attypes(fra
.me
.REG
[0])!=NIT_NULL
);
462 if (UNTAG_Bool(REGB0
)) {
464 nit_abort("Uninitialized attribute %s", "@types", LOCATE_ffi___ffi_base
, 79);
466 fra
.me
.REG
[0] = ATTR_ffi___ffi_base___ExternImportSet_____attypes(fra
.me
.REG
[0]);
467 stack_frame_head
= fra
.me
.prev
;
468 return fra
.me
.REG
[0];
470 static const char LOCATE_ffi___ffi_base___ExternImportSet___types__eq
[] = "ffi_base::ExternImportSet::types=";
471 void ffi___ffi_base___ExternImportSet___types__eq(val_t p0
, val_t p1
){
472 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
474 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
475 fra
.me
.file
= LOCATE_ffi___ffi_base
;
477 fra
.me
.meth
= LOCATE_ffi___ffi_base___ExternImportSet___types__eq
;
478 fra
.me
.has_broke
= 0;
480 fra
.me
.nitni_local_ref_head
= NULL
;
481 fra
.me
.REG
[0] = NIT_NULL
;
482 fra
.me
.REG
[1] = NIT_NULL
;
485 /* ffi/ffi_base.nit:79 */
486 ATTR_ffi___ffi_base___ExternImportSet_____attypes(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
487 stack_frame_head
= fra
.me
.prev
;
490 static const char LOCATE_ffi___ffi_base___ExternImportSet___casts
[] = "ffi_base::ExternImportSet::casts";
491 val_t
ffi___ffi_base___ExternImportSet___casts(val_t p0
){
492 struct {struct stack_frame_t me
;} fra
;
495 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
496 fra
.me
.file
= LOCATE_ffi___ffi_base
;
498 fra
.me
.meth
= LOCATE_ffi___ffi_base___ExternImportSet___casts
;
499 fra
.me
.has_broke
= 0;
501 fra
.me
.nitni_local_ref_head
= NULL
;
502 fra
.me
.REG
[0] = NIT_NULL
;
504 /* ffi/ffi_base.nit:82 */
505 REGB0
= TAG_Bool(ATTR_ffi___ffi_base___ExternImportSet_____atcasts(fra
.me
.REG
[0])!=NIT_NULL
);
506 if (UNTAG_Bool(REGB0
)) {
508 nit_abort("Uninitialized attribute %s", "@casts", LOCATE_ffi___ffi_base
, 82);
510 fra
.me
.REG
[0] = ATTR_ffi___ffi_base___ExternImportSet_____atcasts(fra
.me
.REG
[0]);
511 stack_frame_head
= fra
.me
.prev
;
512 return fra
.me
.REG
[0];
514 static const char LOCATE_ffi___ffi_base___ExternImportSet___casts__eq
[] = "ffi_base::ExternImportSet::casts=";
515 void ffi___ffi_base___ExternImportSet___casts__eq(val_t p0
, val_t p1
){
516 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
518 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
519 fra
.me
.file
= LOCATE_ffi___ffi_base
;
521 fra
.me
.meth
= LOCATE_ffi___ffi_base___ExternImportSet___casts__eq
;
522 fra
.me
.has_broke
= 0;
524 fra
.me
.nitni_local_ref_head
= NULL
;
525 fra
.me
.REG
[0] = NIT_NULL
;
526 fra
.me
.REG
[1] = NIT_NULL
;
529 /* ffi/ffi_base.nit:82 */
530 ATTR_ffi___ffi_base___ExternImportSet_____atcasts(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
531 stack_frame_head
= fra
.me
.prev
;
534 static const char LOCATE_ffi___ffi_base___ExternImportSet___init
[] = "ffi_base::ExternImportSet::init";
535 void ffi___ffi_base___ExternImportSet___init(val_t p0
, int* init_table
){
536 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_ffi___ffi_base___ExternImportSet
].i
;
537 struct {struct stack_frame_t me
;} fra
;
539 if (init_table
[itpos1
]) return;
540 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
541 fra
.me
.file
= LOCATE_ffi___ffi_base
;
543 fra
.me
.meth
= LOCATE_ffi___ffi_base___ExternImportSet___init
;
544 fra
.me
.has_broke
= 0;
546 fra
.me
.nitni_local_ref_head
= NULL
;
547 stack_frame_head
= fra
.me
.prev
;
548 init_table
[itpos1
] = 1;
551 static const char LOCATE_ffi___ffi_base___MMLocalClass___c_type
[] = "ffi_base::MMLocalClass::c_type";
552 val_t
ffi___ffi_base___MMLocalClass___c_type(val_t p0
){
553 struct {struct stack_frame_t me
;} fra
;
555 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
556 fra
.me
.file
= LOCATE_ffi___ffi_base
;
558 fra
.me
.meth
= LOCATE_ffi___ffi_base___MMLocalClass___c_type
;
559 fra
.me
.has_broke
= 0;
561 fra
.me
.nitni_local_ref_head
= NULL
;
562 fra
.me
.REG
[0] = NIT_NULL
;
564 /* ffi/ffi_base.nit:89 */
565 fra
.me
.REG
[0] = NIT_NULL
;
568 stack_frame_head
= fra
.me
.prev
;
569 return fra
.me
.REG
[0];
571 static const char LOCATE_ffi___ffi_base___MMModule___accept_ffi_visitor
[] = "ffi_base::MMModule::(ffi_base::FFIVisited::accept_ffi_visitor)";
572 void ffi___ffi_base___MMModule___accept_ffi_visitor(val_t p0
, val_t p1
){
573 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
575 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
576 fra
.me
.file
= LOCATE_ffi___ffi_base
;
578 fra
.me
.meth
= LOCATE_ffi___ffi_base___MMModule___accept_ffi_visitor
;
579 fra
.me
.has_broke
= 0;
581 fra
.me
.nitni_local_ref_head
= NULL
;
582 fra
.me
.REG
[0] = NIT_NULL
;
583 fra
.me
.REG
[1] = NIT_NULL
;
584 fra
.me
.REG
[2] = NIT_NULL
;
587 /* ffi/ffi_base.nit:97 */
588 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMModule___local_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
589 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[2])(fra
.me
.REG
[2], (&(fra
.me
)), ((fun_t
)OC_ffi___ffi_base___MMModule___accept_ffi_visitor_1
));
590 /* ffi/ffi_base.nit:114 */
591 fra
.me
.REG
[0] = CALL_syntax___extern_inline___MMModule___extern_code_blocks(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
592 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[0])(fra
.me
.REG
[0], (&(fra
.me
)), ((fun_t
)OC_ffi___ffi_base___MMModule___accept_ffi_visitor_3
));
593 stack_frame_head
= fra
.me
.prev
;
596 void OC_ffi___ffi_base___MMModule___accept_ffi_visitor_1(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
597 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
602 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
603 fra
.me
.file
= LOCATE_ffi___ffi_base
;
605 fra
.me
.meth
= LOCATE_ffi___ffi_base___MMModule___accept_ffi_visitor
;
606 fra
.me
.has_broke
= 0;
608 fra
.me
.nitni_local_ref_head
= NULL
;
609 fra
.me
.REG
[0] = NIT_NULL
;
610 fra
.me
.REG
[1] = NIT_NULL
;
611 fra
.me
.closure_ctx
= closctx_param
;
612 fra
.me
.closure_funs
= CREG
;
615 /* ffi/ffi_base.nit:99 */
616 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
617 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
618 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[1],fra
.me
.REG
[0]));
619 if (UNTAG_Bool(REGB0
)) {
621 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
624 if (UNTAG_Bool(REGB0
)) {
625 /* ffi/ffi_base.nit:100 */
626 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
627 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
629 /* ffi/ffi_base.nit:99 */
633 if (UNTAG_Bool(REGB0
)) {
634 /* ffi/ffi_base.nit:101 */
635 CALL_ffi___ffi_base___FFIVisited___accept_ffi_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
637 /* ffi/ffi_base.nit:104 */
638 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___local_local_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
639 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
, ((fun_t
)OC_ffi___ffi_base___MMModule___accept_ffi_visitor_2
));
640 stack_frame_head
= fra
.me
.prev
;
643 void OC_ffi___ffi_base___MMModule___accept_ffi_visitor_2(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
644 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
649 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
650 fra
.me
.file
= LOCATE_ffi___ffi_base
;
652 fra
.me
.meth
= LOCATE_ffi___ffi_base___MMModule___accept_ffi_visitor
;
653 fra
.me
.has_broke
= 0;
655 fra
.me
.nitni_local_ref_head
= NULL
;
656 fra
.me
.REG
[0] = NIT_NULL
;
657 fra
.me
.REG
[1] = NIT_NULL
;
658 fra
.me
.closure_ctx
= closctx_param
;
659 fra
.me
.closure_funs
= CREG
;
662 /* ffi/ffi_base.nit:106 */
663 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalProperty___mmmodule(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
664 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[1],closctx
->REG
[0]));
665 if (UNTAG_Bool(REGB0
)) {
667 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], closctx
->REG
[0]);
670 if (UNTAG_Bool(REGB0
)) {
671 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[0], COLOR_metamodel___abstractmetamodel___MMMethod
, ID_metamodel___abstractmetamodel___MMMethod
)) /*cast MMMethod*/;
676 if (UNTAG_Bool(REGB0
)) {
677 REGB0
= CALL_metamodel___abstractmetamodel___MMMethod___is_extern(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
682 if (UNTAG_Bool(REGB0
)) {
683 /* ffi/ffi_base.nit:107 */
684 fra
.me
.REG
[1] = CALL_syntax___extern_inline___MMMethod___extern_implementation(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
685 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
686 if (UNTAG_Bool(REGB0
)) {
688 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
689 if (UNTAG_Bool(REGB1
)) {
693 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
697 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
699 /* ffi/ffi_base.nit:106 */
703 if (UNTAG_Bool(REGB0
)) {
704 /* ffi/ffi_base.nit:108 */
705 CALL_ffi___ffi_base___FFIVisited___accept_ffi_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
707 stack_frame_head
= fra
.me
.prev
;
710 void OC_ffi___ffi_base___MMModule___accept_ffi_visitor_3(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
711 struct {struct stack_frame_t me
;} fra
;
714 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
715 fra
.me
.file
= LOCATE_ffi___ffi_base
;
717 fra
.me
.meth
= LOCATE_ffi___ffi_base___MMModule___accept_ffi_visitor
;
718 fra
.me
.has_broke
= 0;
720 fra
.me
.nitni_local_ref_head
= NULL
;
721 fra
.me
.REG
[0] = NIT_NULL
;
722 fra
.me
.closure_ctx
= closctx_param
;
723 fra
.me
.closure_funs
= CREG
;
726 CALL_ffi___ffi_base___FFIVisited___accept_ffi_visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
727 stack_frame_head
= fra
.me
.prev
;
730 static const char LOCATE_ffi___ffi_base___FFIVisitor___tc
[] = "ffi_base::FFIVisitor::tc";
731 val_t
ffi___ffi_base___FFIVisitor___tc(val_t p0
){
732 struct {struct stack_frame_t me
;} fra
;
735 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
736 fra
.me
.file
= LOCATE_ffi___ffi_base
;
738 fra
.me
.meth
= LOCATE_ffi___ffi_base___FFIVisitor___tc
;
739 fra
.me
.has_broke
= 0;
741 fra
.me
.nitni_local_ref_head
= NULL
;
742 fra
.me
.REG
[0] = NIT_NULL
;
744 /* ffi/ffi_base.nit:119 */
745 REGB0
= TAG_Bool(ATTR_ffi___ffi_base___FFIVisitor_____attc(fra
.me
.REG
[0])!=NIT_NULL
);
746 if (UNTAG_Bool(REGB0
)) {
748 nit_abort("Uninitialized attribute %s", "@tc", LOCATE_ffi___ffi_base
, 119);
750 fra
.me
.REG
[0] = ATTR_ffi___ffi_base___FFIVisitor_____attc(fra
.me
.REG
[0]);
751 stack_frame_head
= fra
.me
.prev
;
752 return fra
.me
.REG
[0];
754 static const char LOCATE_ffi___ffi_base___FFIVisitor___tc__eq
[] = "ffi_base::FFIVisitor::tc=";
755 void ffi___ffi_base___FFIVisitor___tc__eq(val_t p0
, val_t p1
){
756 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
758 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
759 fra
.me
.file
= LOCATE_ffi___ffi_base
;
761 fra
.me
.meth
= LOCATE_ffi___ffi_base___FFIVisitor___tc__eq
;
762 fra
.me
.has_broke
= 0;
764 fra
.me
.nitni_local_ref_head
= NULL
;
765 fra
.me
.REG
[0] = NIT_NULL
;
766 fra
.me
.REG
[1] = NIT_NULL
;
769 /* ffi/ffi_base.nit:119 */
770 ATTR_ffi___ffi_base___FFIVisitor_____attc(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
771 stack_frame_head
= fra
.me
.prev
;
774 static const char LOCATE_ffi___ffi_base___FFIVisitor___mmmodule
[] = "ffi_base::FFIVisitor::mmmodule";
775 val_t
ffi___ffi_base___FFIVisitor___mmmodule(val_t p0
){
776 struct {struct stack_frame_t me
;} fra
;
779 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
780 fra
.me
.file
= LOCATE_ffi___ffi_base
;
782 fra
.me
.meth
= LOCATE_ffi___ffi_base___FFIVisitor___mmmodule
;
783 fra
.me
.has_broke
= 0;
785 fra
.me
.nitni_local_ref_head
= NULL
;
786 fra
.me
.REG
[0] = NIT_NULL
;
788 /* ffi/ffi_base.nit:121 */
789 REGB0
= TAG_Bool(ATTR_ffi___ffi_base___FFIVisitor_____atmmmodule(fra
.me
.REG
[0])!=NIT_NULL
);
790 if (UNTAG_Bool(REGB0
)) {
792 nit_abort("Uninitialized attribute %s", "@mmmodule", LOCATE_ffi___ffi_base
, 121);
794 fra
.me
.REG
[0] = ATTR_ffi___ffi_base___FFIVisitor_____atmmmodule(fra
.me
.REG
[0]);
795 stack_frame_head
= fra
.me
.prev
;
796 return fra
.me
.REG
[0];
798 static const char LOCATE_ffi___ffi_base___FFIVisitor___mmmodule__eq
[] = "ffi_base::FFIVisitor::mmmodule=";
799 void ffi___ffi_base___FFIVisitor___mmmodule__eq(val_t p0
, val_t p1
){
800 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
802 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
803 fra
.me
.file
= LOCATE_ffi___ffi_base
;
805 fra
.me
.meth
= LOCATE_ffi___ffi_base___FFIVisitor___mmmodule__eq
;
806 fra
.me
.has_broke
= 0;
808 fra
.me
.nitni_local_ref_head
= NULL
;
809 fra
.me
.REG
[0] = NIT_NULL
;
810 fra
.me
.REG
[1] = NIT_NULL
;
813 /* ffi/ffi_base.nit:121 */
814 ATTR_ffi___ffi_base___FFIVisitor_____atmmmodule(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
815 stack_frame_head
= fra
.me
.prev
;
818 static const char LOCATE_ffi___ffi_base___FFIVisitor___compilation_unit
[] = "ffi_base::FFIVisitor::compilation_unit";
819 val_t
ffi___ffi_base___FFIVisitor___compilation_unit(val_t p0
){
820 struct {struct stack_frame_t me
;} fra
;
823 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
824 fra
.me
.file
= LOCATE_ffi___ffi_base
;
826 fra
.me
.meth
= LOCATE_ffi___ffi_base___FFIVisitor___compilation_unit
;
827 fra
.me
.has_broke
= 0;
829 fra
.me
.nitni_local_ref_head
= NULL
;
830 fra
.me
.REG
[0] = NIT_NULL
;
832 /* ffi/ffi_base.nit:124 */
833 REGB0
= TAG_Bool(ATTR_ffi___ffi_base___FFIVisitor_____atcompilation_unit(fra
.me
.REG
[0])!=NIT_NULL
);
834 if (UNTAG_Bool(REGB0
)) {
836 nit_abort("Uninitialized attribute %s", "@compilation_unit", LOCATE_ffi___ffi_base
, 124);
838 fra
.me
.REG
[0] = ATTR_ffi___ffi_base___FFIVisitor_____atcompilation_unit(fra
.me
.REG
[0]);
839 stack_frame_head
= fra
.me
.prev
;
840 return fra
.me
.REG
[0];
842 static const char LOCATE_ffi___ffi_base___FFIVisitor___compilation_unit__eq
[] = "ffi_base::FFIVisitor::compilation_unit=";
843 void ffi___ffi_base___FFIVisitor___compilation_unit__eq(val_t p0
, val_t p1
){
844 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
846 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
847 fra
.me
.file
= LOCATE_ffi___ffi_base
;
849 fra
.me
.meth
= LOCATE_ffi___ffi_base___FFIVisitor___compilation_unit__eq
;
850 fra
.me
.has_broke
= 0;
852 fra
.me
.nitni_local_ref_head
= NULL
;
853 fra
.me
.REG
[0] = NIT_NULL
;
854 fra
.me
.REG
[1] = NIT_NULL
;
857 /* ffi/ffi_base.nit:124 */
858 ATTR_ffi___ffi_base___FFIVisitor_____atcompilation_unit(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
859 stack_frame_head
= fra
.me
.prev
;
862 static const char LOCATE_ffi___ffi_base___FFIVisitor___init
[] = "ffi_base::FFIVisitor::init";
863 void ffi___ffi_base___FFIVisitor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
864 int itpos2
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_ffi___ffi_base___FFIVisitor
].i
;
865 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
867 if (init_table
[itpos2
]) return;
868 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
869 fra
.me
.file
= LOCATE_ffi___ffi_base
;
871 fra
.me
.meth
= LOCATE_ffi___ffi_base___FFIVisitor___init
;
872 fra
.me
.has_broke
= 0;
874 fra
.me
.nitni_local_ref_head
= NULL
;
875 fra
.me
.REG
[0] = NIT_NULL
;
876 fra
.me
.REG
[1] = NIT_NULL
;
877 fra
.me
.REG
[2] = NIT_NULL
;
881 ATTR_ffi___ffi_base___FFIVisitor_____attc(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
882 ATTR_ffi___ffi_base___FFIVisitor_____atmmmodule(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
883 stack_frame_head
= fra
.me
.prev
;
884 init_table
[itpos2
] = 1;