1 /* This C file is generated by NIT to compile module syntax___extern_inline. */
2 #include "syntax___extern_inline._sep.h"
3 static const char LOCATE_syntax___extern_inline___ExternCode___language
[] = "extern_inline::ExternCode::language";
4 val_t
syntax___extern_inline___ExternCode___language(val_t p0
){
5 struct {struct stack_frame_t me
;} fra
;
7 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8 fra
.me
.file
= LOCATE_syntax___extern_inline
;
10 fra
.me
.meth
= LOCATE_syntax___extern_inline___ExternCode___language
;
13 fra
.me
.nitni_local_ref_head
= NULL
;
14 fra
.me
.REG
[0] = NIT_NULL
;
16 /* syntax/extern_inline.nit:26 */
17 fra
.me
.REG
[0] = ATTR_syntax___extern_inline___ExternCode_____atlanguage(fra
.me
.REG
[0]);
18 stack_frame_head
= fra
.me
.prev
;
21 static const char LOCATE_syntax___extern_inline___ExternCode___language__eq
[] = "extern_inline::ExternCode::language=";
22 void syntax___extern_inline___ExternCode___language__eq(val_t p0
, val_t p1
){
23 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
25 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
26 fra
.me
.file
= LOCATE_syntax___extern_inline
;
28 fra
.me
.meth
= LOCATE_syntax___extern_inline___ExternCode___language__eq
;
31 fra
.me
.nitni_local_ref_head
= NULL
;
32 fra
.me
.REG
[0] = NIT_NULL
;
33 fra
.me
.REG
[1] = NIT_NULL
;
36 /* syntax/extern_inline.nit:26 */
37 ATTR_syntax___extern_inline___ExternCode_____atlanguage(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
38 stack_frame_head
= fra
.me
.prev
;
41 static const char LOCATE_syntax___extern_inline___ExternCode___code
[] = "extern_inline::ExternCode::code";
42 val_t
syntax___extern_inline___ExternCode___code(val_t p0
){
43 struct {struct stack_frame_t me
;} fra
;
46 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
47 fra
.me
.file
= LOCATE_syntax___extern_inline
;
49 fra
.me
.meth
= LOCATE_syntax___extern_inline___ExternCode___code
;
52 fra
.me
.nitni_local_ref_head
= NULL
;
53 fra
.me
.REG
[0] = NIT_NULL
;
55 /* syntax/extern_inline.nit:27 */
56 REGB0
= TAG_Bool(ATTR_syntax___extern_inline___ExternCode_____atcode(fra
.me
.REG
[0])!=NIT_NULL
);
57 if (UNTAG_Bool(REGB0
)) {
59 nit_abort("Uninitialized attribute %s", "@code", LOCATE_syntax___extern_inline
, 27);
61 fra
.me
.REG
[0] = ATTR_syntax___extern_inline___ExternCode_____atcode(fra
.me
.REG
[0]);
62 stack_frame_head
= fra
.me
.prev
;
65 static const char LOCATE_syntax___extern_inline___ExternCode___code__eq
[] = "extern_inline::ExternCode::code=";
66 void syntax___extern_inline___ExternCode___code__eq(val_t p0
, val_t p1
){
67 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
69 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
70 fra
.me
.file
= LOCATE_syntax___extern_inline
;
72 fra
.me
.meth
= LOCATE_syntax___extern_inline___ExternCode___code__eq
;
75 fra
.me
.nitni_local_ref_head
= NULL
;
76 fra
.me
.REG
[0] = NIT_NULL
;
77 fra
.me
.REG
[1] = NIT_NULL
;
80 /* syntax/extern_inline.nit:27 */
81 ATTR_syntax___extern_inline___ExternCode_____atcode(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
82 stack_frame_head
= fra
.me
.prev
;
85 static const char LOCATE_syntax___extern_inline___ExternCode___location
[] = "extern_inline::ExternCode::location";
86 val_t
syntax___extern_inline___ExternCode___location(val_t p0
){
87 struct {struct stack_frame_t me
;} fra
;
89 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
90 fra
.me
.file
= LOCATE_syntax___extern_inline
;
92 fra
.me
.meth
= LOCATE_syntax___extern_inline___ExternCode___location
;
95 fra
.me
.nitni_local_ref_head
= NULL
;
96 fra
.me
.REG
[0] = NIT_NULL
;
98 /* syntax/extern_inline.nit:28 */
99 fra
.me
.REG
[0] = ATTR_syntax___extern_inline___ExternCode_____atlocation(fra
.me
.REG
[0]);
100 stack_frame_head
= fra
.me
.prev
;
101 return fra
.me
.REG
[0];
103 static const char LOCATE_syntax___extern_inline___ExternCode___location__eq
[] = "extern_inline::ExternCode::location=";
104 void syntax___extern_inline___ExternCode___location__eq(val_t p0
, val_t p1
){
105 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
107 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
108 fra
.me
.file
= LOCATE_syntax___extern_inline
;
110 fra
.me
.meth
= LOCATE_syntax___extern_inline___ExternCode___location__eq
;
111 fra
.me
.has_broke
= 0;
113 fra
.me
.nitni_local_ref_head
= NULL
;
114 fra
.me
.REG
[0] = NIT_NULL
;
115 fra
.me
.REG
[1] = NIT_NULL
;
118 /* syntax/extern_inline.nit:28 */
119 ATTR_syntax___extern_inline___ExternCode_____atlocation(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
120 stack_frame_head
= fra
.me
.prev
;
123 static const char LOCATE_syntax___extern_inline___ExternCode___init
[] = "extern_inline::ExternCode::init";
124 void syntax___extern_inline___ExternCode___init(val_t p0
, val_t p1
, val_t p2
, val_t p3
, int* init_table
){
125 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___extern_inline___ExternCode
].i
;
126 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
128 if (init_table
[itpos0
]) return;
129 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
130 fra
.me
.file
= LOCATE_syntax___extern_inline
;
132 fra
.me
.meth
= LOCATE_syntax___extern_inline___ExternCode___init
;
133 fra
.me
.has_broke
= 0;
135 fra
.me
.nitni_local_ref_head
= NULL
;
136 fra
.me
.REG
[0] = NIT_NULL
;
137 fra
.me
.REG
[1] = NIT_NULL
;
138 fra
.me
.REG
[2] = NIT_NULL
;
139 fra
.me
.REG
[3] = NIT_NULL
;
144 ATTR_syntax___extern_inline___ExternCode_____atlanguage(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
145 ATTR_syntax___extern_inline___ExternCode_____atcode(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
146 ATTR_syntax___extern_inline___ExternCode_____atlocation(fra
.me
.REG
[0]) = fra
.me
.REG
[3];
147 stack_frame_head
= fra
.me
.prev
;
148 init_table
[itpos0
] = 1;
151 static const char LOCATE_syntax___extern_inline___MMModule___extern_code_blocks
[] = "extern_inline::MMModule::extern_code_blocks";
152 val_t
syntax___extern_inline___MMModule___extern_code_blocks(val_t p0
){
153 struct {struct stack_frame_t me
;} fra
;
156 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
157 fra
.me
.file
= LOCATE_syntax___extern_inline
;
159 fra
.me
.meth
= LOCATE_syntax___extern_inline___MMModule___extern_code_blocks
;
160 fra
.me
.has_broke
= 0;
162 fra
.me
.nitni_local_ref_head
= NULL
;
163 fra
.me
.REG
[0] = NIT_NULL
;
165 /* syntax/extern_inline.nit:32 */
166 REGB0
= TAG_Bool(ATTR_syntax___extern_inline___MMModule_____atextern_code_blocks(fra
.me
.REG
[0])!=NIT_NULL
);
167 if (UNTAG_Bool(REGB0
)) {
169 nit_abort("Uninitialized attribute %s", "@extern_code_blocks", LOCATE_syntax___extern_inline
, 32);
171 fra
.me
.REG
[0] = ATTR_syntax___extern_inline___MMModule_____atextern_code_blocks(fra
.me
.REG
[0]);
172 stack_frame_head
= fra
.me
.prev
;
173 return fra
.me
.REG
[0];
175 static const char LOCATE_syntax___extern_inline___MMModule___extern_code_blocks__eq
[] = "extern_inline::MMModule::extern_code_blocks=";
176 void syntax___extern_inline___MMModule___extern_code_blocks__eq(val_t p0
, val_t p1
){
177 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
179 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
180 fra
.me
.file
= LOCATE_syntax___extern_inline
;
182 fra
.me
.meth
= LOCATE_syntax___extern_inline___MMModule___extern_code_blocks__eq
;
183 fra
.me
.has_broke
= 0;
185 fra
.me
.nitni_local_ref_head
= NULL
;
186 fra
.me
.REG
[0] = NIT_NULL
;
187 fra
.me
.REG
[1] = NIT_NULL
;
190 /* syntax/extern_inline.nit:32 */
191 ATTR_syntax___extern_inline___MMModule_____atextern_code_blocks(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
192 stack_frame_head
= fra
.me
.prev
;
195 static const char LOCATE_syntax___extern_inline___MMModule___uses_ffi
[] = "extern_inline::MMModule::(abstractmetamodel::MMModule::uses_ffi)";
196 val_t
syntax___extern_inline___MMModule___uses_ffi(val_t p0
){
197 struct {struct stack_frame_t me
;} fra
;
200 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
201 fra
.me
.file
= LOCATE_syntax___extern_inline
;
203 fra
.me
.meth
= LOCATE_syntax___extern_inline___MMModule___uses_ffi
;
204 fra
.me
.has_broke
= 0;
206 fra
.me
.nitni_local_ref_head
= NULL
;
207 fra
.me
.REG
[0] = NIT_NULL
;
209 /* syntax/extern_inline.nit:34 */
210 REGB0
= TAG_Bool(ATTR_syntax___extern_inline___MMModule_____atuses_ffi(fra
.me
.REG
[0])!=NIT_NULL
);
211 if (UNTAG_Bool(REGB0
)) {
213 nit_abort("Uninitialized attribute %s", "@uses_ffi", LOCATE_syntax___extern_inline
, 34);
215 REGB0
= ATTR_syntax___extern_inline___MMModule_____atuses_ffi(fra
.me
.REG
[0]);
216 stack_frame_head
= fra
.me
.prev
;
219 static const char LOCATE_syntax___extern_inline___MMModule___uses_ffi__eq
[] = "extern_inline::MMModule::uses_ffi=";
220 void syntax___extern_inline___MMModule___uses_ffi__eq(val_t p0
, val_t p1
){
221 struct {struct stack_frame_t me
;} fra
;
224 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
225 fra
.me
.file
= LOCATE_syntax___extern_inline
;
227 fra
.me
.meth
= LOCATE_syntax___extern_inline___MMModule___uses_ffi__eq
;
228 fra
.me
.has_broke
= 0;
230 fra
.me
.nitni_local_ref_head
= NULL
;
231 fra
.me
.REG
[0] = NIT_NULL
;
234 /* syntax/extern_inline.nit:34 */
235 ATTR_syntax___extern_inline___MMModule_____atuses_ffi(fra
.me
.REG
[0]) = REGB0
;
236 stack_frame_head
= fra
.me
.prev
;
239 static const char LOCATE_syntax___extern_inline___MMLocalClass___extern_type
[] = "extern_inline::MMLocalClass::extern_type";
240 val_t
syntax___extern_inline___MMLocalClass___extern_type(val_t p0
){
241 struct {struct stack_frame_t me
;} fra
;
243 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
244 fra
.me
.file
= LOCATE_syntax___extern_inline
;
246 fra
.me
.meth
= LOCATE_syntax___extern_inline___MMLocalClass___extern_type
;
247 fra
.me
.has_broke
= 0;
249 fra
.me
.nitni_local_ref_head
= NULL
;
250 fra
.me
.REG
[0] = NIT_NULL
;
252 /* syntax/extern_inline.nit:38 */
253 fra
.me
.REG
[0] = ATTR_syntax___extern_inline___MMLocalClass_____atextern_type(fra
.me
.REG
[0]);
254 stack_frame_head
= fra
.me
.prev
;
255 return fra
.me
.REG
[0];
257 static const char LOCATE_syntax___extern_inline___MMLocalClass___extern_type__eq
[] = "extern_inline::MMLocalClass::extern_type=";
258 void syntax___extern_inline___MMLocalClass___extern_type__eq(val_t p0
, val_t p1
){
259 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
261 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
262 fra
.me
.file
= LOCATE_syntax___extern_inline
;
264 fra
.me
.meth
= LOCATE_syntax___extern_inline___MMLocalClass___extern_type__eq
;
265 fra
.me
.has_broke
= 0;
267 fra
.me
.nitni_local_ref_head
= NULL
;
268 fra
.me
.REG
[0] = NIT_NULL
;
269 fra
.me
.REG
[1] = NIT_NULL
;
272 /* syntax/extern_inline.nit:38 */
273 ATTR_syntax___extern_inline___MMLocalClass_____atextern_type(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
274 stack_frame_head
= fra
.me
.prev
;
277 static const char LOCATE_syntax___extern_inline___MMMethod___extern_implementation
[] = "extern_inline::MMMethod::extern_implementation";
278 val_t
syntax___extern_inline___MMMethod___extern_implementation(val_t p0
){
279 struct {struct stack_frame_t me
;} fra
;
281 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
282 fra
.me
.file
= LOCATE_syntax___extern_inline
;
284 fra
.me
.meth
= LOCATE_syntax___extern_inline___MMMethod___extern_implementation
;
285 fra
.me
.has_broke
= 0;
287 fra
.me
.nitni_local_ref_head
= NULL
;
288 fra
.me
.REG
[0] = NIT_NULL
;
290 /* syntax/extern_inline.nit:43 */
291 fra
.me
.REG
[0] = ATTR_syntax___extern_inline___MMMethod_____atextern_implementation(fra
.me
.REG
[0]);
292 stack_frame_head
= fra
.me
.prev
;
293 return fra
.me
.REG
[0];
295 static const char LOCATE_syntax___extern_inline___MMMethod___extern_implementation__eq
[] = "extern_inline::MMMethod::extern_implementation=";
296 void syntax___extern_inline___MMMethod___extern_implementation__eq(val_t p0
, val_t p1
){
297 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
299 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
300 fra
.me
.file
= LOCATE_syntax___extern_inline
;
302 fra
.me
.meth
= LOCATE_syntax___extern_inline___MMMethod___extern_implementation__eq
;
303 fra
.me
.has_broke
= 0;
305 fra
.me
.nitni_local_ref_head
= NULL
;
306 fra
.me
.REG
[0] = NIT_NULL
;
307 fra
.me
.REG
[1] = NIT_NULL
;
310 /* syntax/extern_inline.nit:43 */
311 ATTR_syntax___extern_inline___MMMethod_____atextern_implementation(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
312 stack_frame_head
= fra
.me
.prev
;
315 static const char LOCATE_syntax___extern_inline___TExternCodeSegment___code
[] = "extern_inline::TExternCodeSegment::code";
316 val_t
syntax___extern_inline___TExternCodeSegment___code(val_t p0
){
317 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
322 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
323 fra
.me
.file
= LOCATE_syntax___extern_inline
;
325 fra
.me
.meth
= LOCATE_syntax___extern_inline___TExternCodeSegment___code
;
326 fra
.me
.has_broke
= 0;
328 fra
.me
.nitni_local_ref_head
= NULL
;
329 fra
.me
.REG
[0] = NIT_NULL
;
330 fra
.me
.REG
[1] = NIT_NULL
;
332 /* syntax/extern_inline.nit:50 */
333 fra
.me
.REG
[1] = CALL_parser___parser_nodes___Token___text(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
335 fra
.me
.REG
[0] = CALL_parser___parser_nodes___Token___text(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
336 /* ../lib/standard/collection/array.nit:24 */
337 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
338 if (UNTAG_Bool(REGB1
)) {
340 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
342 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
343 /* syntax/extern_inline.nit:50 */
345 /* ../lib/standard/kernel.nit:240 */
346 REGB2
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
347 /* syntax/extern_inline.nit:50 */
348 fra
.me
.REG
[1] = CALL_standard___string___AbstractString___substring(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
, REGB2
);
351 stack_frame_head
= fra
.me
.prev
;
352 return fra
.me
.REG
[1];
354 static const char LOCATE_syntax___extern_inline___AExternCodeBlock___to_extern_code
[] = "extern_inline::AExternCodeBlock::to_extern_code";
355 val_t
syntax___extern_inline___AExternCodeBlock___to_extern_code(val_t p0
){
356 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
361 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
362 fra
.me
.file
= LOCATE_syntax___extern_inline
;
364 fra
.me
.meth
= LOCATE_syntax___extern_inline___AExternCodeBlock___to_extern_code
;
365 fra
.me
.has_broke
= 0;
367 fra
.me
.nitni_local_ref_head
= NULL
;
368 fra
.me
.REG
[0] = NIT_NULL
;
369 fra
.me
.REG
[1] = NIT_NULL
;
370 fra
.me
.REG
[2] = NIT_NULL
;
372 /* syntax/extern_inline.nit:58 */
373 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AExternCodeBlock___n_in_language(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
374 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
375 if (UNTAG_Bool(REGB0
)) {
377 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
378 if (UNTAG_Bool(REGB1
)) {
382 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
386 if (UNTAG_Bool(REGB0
)) {
387 /* syntax/extern_inline.nit:59 */
388 fra
.me
.REG
[1] = NIT_NULL
;
390 /* syntax/extern_inline.nit:61 */
391 fra
.me
.REG
[2] = CALL_parser___parser_nodes___AExternCodeBlock___n_in_language(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
392 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
393 if (UNTAG_Bool(REGB0
)) {
394 nit_abort("Reciever is null", NULL
, LOCATE_syntax___extern_inline
, 61);
396 fra
.me
.REG
[2] = CALL_parser___parser_nodes___AInLanguage___n_string(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
397 fra
.me
.REG
[2] = CALL_parser___parser_nodes___Token___text(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
398 /* syntax/extern_inline.nit:62 */
400 /* ../lib/standard/collection/array.nit:24 */
401 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
402 if (UNTAG_Bool(REGB1
)) {
404 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
406 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
407 /* syntax/extern_inline.nit:62 */
409 /* ../lib/standard/kernel.nit:240 */
410 REGB2
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
411 /* syntax/extern_inline.nit:62 */
412 fra
.me
.REG
[2] = CALL_standard___string___AbstractString___substring(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
, REGB2
);
413 fra
.me
.REG
[1] = fra
.me
.REG
[2];
415 /* syntax/extern_inline.nit:64 */
416 fra
.me
.REG
[2] = CALL_parser___parser_nodes___AExternCodeBlock___n_extern_code_segment(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
417 fra
.me
.REG
[2] = CALL_syntax___extern_inline___TExternCodeSegment___code(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
418 fra
.me
.REG
[0] = CALL_parser___parser_nodes___AExternCodeBlock___n_extern_code_segment(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
419 fra
.me
.REG
[0] = CALL_parser___parser_nodes___ANode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
420 fra
.me
.REG
[0] = NEW_ExternCode_syntax___extern_inline___ExternCode___init(fra
.me
.REG
[1], fra
.me
.REG
[2], fra
.me
.REG
[0]);
423 stack_frame_head
= fra
.me
.prev
;
424 return fra
.me
.REG
[0];
426 static const char LOCATE_syntax___extern_inline___AExternPropdef___accept_property_verifier
[] = "extern_inline::AExternPropdef::(mmbuilder::ANode::accept_property_verifier)";
427 void syntax___extern_inline___AExternPropdef___accept_property_verifier(val_t p0
, val_t p1
){
428 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
432 static val_t once_value_1
; /* Once value */
433 static val_t once_value_2
; /* Once value */
434 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
435 fra
.me
.file
= LOCATE_syntax___extern_inline
;
437 fra
.me
.meth
= LOCATE_syntax___extern_inline___AExternPropdef___accept_property_verifier
;
438 fra
.me
.has_broke
= 0;
440 fra
.me
.nitni_local_ref_head
= NULL
;
441 fra
.me
.REG
[0] = NIT_NULL
;
442 fra
.me
.REG
[1] = NIT_NULL
;
443 fra
.me
.REG
[2] = NIT_NULL
;
444 fra
.me
.REG
[3] = NIT_NULL
;
445 fra
.me
.REG
[4] = NIT_NULL
;
448 /* syntax/extern_inline.nit:69 */
449 fra
.me
.REG
[2] = fra
.me
.REG
[0];
450 fra
.me
.REG
[3] = fra
.me
.REG
[1];
451 /* syntax/extern_inline.nit:71 */
452 CALL_SUPER_syntax___extern_inline___AExternPropdef___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
453 /* syntax/extern_inline.nit:74 */
454 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AExternPropdef___n_extern_code_block(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
455 /* syntax/extern_inline.nit:75 */
456 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
457 if (UNTAG_Bool(REGB0
)) {
459 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
460 if (UNTAG_Bool(REGB1
)) {
464 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
468 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
469 if (UNTAG_Bool(REGB0
)) {
470 /* syntax/extern_inline.nit:76 */
471 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
472 REGB0
= CALL_metamodel___abstractmetamodel___MMMethod___is_extern(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
473 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
474 if (UNTAG_Bool(REGB0
)) {
475 /* syntax/extern_inline.nit:78 */
477 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
479 fra
.me
.REG
[4] = BOX_NativeString("Cannot implement the non extern method ");
481 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
482 once_value_1
= fra
.me
.REG
[4];
483 register_static_object(&once_value_1
);
484 } else fra
.me
.REG
[4] = once_value_1
;
485 fra
.me
.REG
[4] = fra
.me
.REG
[4];
486 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
487 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
488 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
489 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
491 fra
.me
.REG
[4] = BOX_NativeString(" with extern code");
493 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
494 once_value_2
= fra
.me
.REG
[4];
495 register_static_object(&once_value_2
);
496 } else fra
.me
.REG
[4] = once_value_2
;
497 fra
.me
.REG
[4] = fra
.me
.REG
[4];
498 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
499 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
500 /* syntax/extern_inline.nit:77 */
501 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1], fra
.me
.REG
[0]);
503 /* syntax/extern_inline.nit:80 */
504 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
505 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
506 if (UNTAG_Bool(REGB0
)) {
507 nit_abort("Reciever is null", NULL
, LOCATE_syntax___extern_inline
, 80);
509 fra
.me
.REG
[1] = CALL_syntax___extern_inline___AExternCodeBlock___to_extern_code(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
510 CALL_syntax___extern_inline___MMMethod___extern_implementation__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
511 /* syntax/extern_inline.nit:81 */
512 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AMethPropdef___method(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
513 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___mmmodule(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
515 CALL_syntax___extern_inline___MMModule___uses_ffi__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
518 stack_frame_head
= fra
.me
.prev
;
521 static const char LOCATE_syntax___extern_inline___AStdClassdef___accept_property_verifier
[] = "extern_inline::AStdClassdef::(mmbuilder::ANode::accept_property_verifier)";
522 void syntax___extern_inline___AStdClassdef___accept_property_verifier(val_t p0
, val_t p1
){
523 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
527 static val_t once_value_1
; /* Once value */
528 static val_t once_value_2
; /* Once value */
529 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
530 fra
.me
.file
= LOCATE_syntax___extern_inline
;
532 fra
.me
.meth
= LOCATE_syntax___extern_inline___AStdClassdef___accept_property_verifier
;
533 fra
.me
.has_broke
= 0;
535 fra
.me
.nitni_local_ref_head
= NULL
;
536 fra
.me
.REG
[0] = NIT_NULL
;
537 fra
.me
.REG
[1] = NIT_NULL
;
538 fra
.me
.REG
[2] = NIT_NULL
;
539 fra
.me
.REG
[3] = NIT_NULL
;
540 fra
.me
.REG
[4] = NIT_NULL
;
543 /* syntax/extern_inline.nit:88 */
544 fra
.me
.REG
[2] = fra
.me
.REG
[0];
545 fra
.me
.REG
[3] = fra
.me
.REG
[1];
546 /* syntax/extern_inline.nit:90 */
547 CALL_SUPER_syntax___extern_inline___AStdClassdef___accept_property_verifier(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
548 /* syntax/extern_inline.nit:93 */
549 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AStdClassdef___n_extern_code_block(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
550 /* syntax/extern_inline.nit:94 */
551 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
552 if (UNTAG_Bool(REGB0
)) {
554 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
555 if (UNTAG_Bool(REGB1
)) {
559 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
563 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
564 if (UNTAG_Bool(REGB0
)) {
565 /* syntax/extern_inline.nit:95 */
566 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AClassdef___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
567 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
568 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
569 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
570 if (UNTAG_Bool(REGB0
)) {
571 /* syntax/extern_inline.nit:97 */
573 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
575 fra
.me
.REG
[4] = BOX_NativeString("Cannot define an extern equivalent in the non extern class ");
577 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
578 once_value_1
= fra
.me
.REG
[4];
579 register_static_object(&once_value_1
);
580 } else fra
.me
.REG
[4] = once_value_1
;
581 fra
.me
.REG
[4] = fra
.me
.REG
[4];
582 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
583 fra
.me
.REG
[4] = CALL_syntax___syntax_base___AClassdef___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
584 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
585 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
586 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
588 fra
.me
.REG
[4] = BOX_NativeString("");
590 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
591 once_value_2
= fra
.me
.REG
[4];
592 register_static_object(&once_value_2
);
593 } else fra
.me
.REG
[4] = once_value_2
;
594 fra
.me
.REG
[4] = fra
.me
.REG
[4];
595 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
596 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
597 /* syntax/extern_inline.nit:96 */
598 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1], fra
.me
.REG
[0]);
600 /* syntax/extern_inline.nit:99 */
601 fra
.me
.REG
[0] = CALL_syntax___syntax_base___AClassdef___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
602 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
603 if (UNTAG_Bool(REGB0
)) {
604 nit_abort("Reciever is null", NULL
, LOCATE_syntax___extern_inline
, 99);
606 fra
.me
.REG
[1] = CALL_syntax___extern_inline___AExternCodeBlock___to_extern_code(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
607 CALL_syntax___extern_inline___MMLocalClass___extern_type__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
608 /* syntax/extern_inline.nit:100 */
609 fra
.me
.REG
[2] = CALL_syntax___syntax_base___AClassdef___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
610 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
612 CALL_syntax___extern_inline___MMModule___uses_ffi__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
615 stack_frame_head
= fra
.me
.prev
;
618 static const char LOCATE_syntax___extern_inline___MMSrcModule___do_mmbuilder
[] = "extern_inline::MMSrcModule::(mmbuilder::MMSrcModule::do_mmbuilder)";
619 void syntax___extern_inline___MMSrcModule___do_mmbuilder(val_t p0
, val_t p1
){
620 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
623 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
624 fra
.me
.file
= LOCATE_syntax___extern_inline
;
626 fra
.me
.meth
= LOCATE_syntax___extern_inline___MMSrcModule___do_mmbuilder
;
627 fra
.me
.has_broke
= 0;
629 fra
.me
.nitni_local_ref_head
= NULL
;
630 fra
.me
.REG
[0] = NIT_NULL
;
631 fra
.me
.REG
[1] = NIT_NULL
;
632 fra
.me
.REG
[2] = NIT_NULL
;
635 /* syntax/extern_inline.nit:107 */
636 fra
.me
.REG
[2] = fra
.me
.REG
[0];
637 /* syntax/extern_inline.nit:111 */
638 CALL_SUPER_syntax___extern_inline___MMSrcModule___do_mmbuilder(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
639 /* syntax/extern_inline.nit:114 */
640 fra
.me
.REG
[1] = CALL_syntax___syntax_base___MMSrcModule___node(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
641 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AModule___n_extern_code_blocks(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
642 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
643 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
644 if (UNTAG_Bool(REGB0
)) {
646 CALL_syntax___extern_inline___MMModule___uses_ffi__eq(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
648 /* syntax/extern_inline.nit:115 */
649 fra
.me
.REG
[1] = CALL_syntax___syntax_base___MMSrcModule___node(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
650 fra
.me
.REG
[1] = CALL_parser___parser_nodes___AModule___n_extern_code_blocks(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
651 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[1])(fra
.me
.REG
[1], (&(fra
.me
)), ((fun_t
)OC_syntax___extern_inline___MMSrcModule___do_mmbuilder_1
));
652 stack_frame_head
= fra
.me
.prev
;
655 void OC_syntax___extern_inline___MMSrcModule___do_mmbuilder_1(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
656 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
659 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
660 fra
.me
.file
= LOCATE_syntax___extern_inline
;
662 fra
.me
.meth
= LOCATE_syntax___extern_inline___MMSrcModule___do_mmbuilder
;
663 fra
.me
.has_broke
= 0;
665 fra
.me
.nitni_local_ref_head
= NULL
;
666 fra
.me
.REG
[0] = NIT_NULL
;
667 fra
.me
.REG
[1] = NIT_NULL
;
668 fra
.me
.closure_ctx
= closctx_param
;
669 fra
.me
.closure_funs
= CREG
;
672 /* syntax/extern_inline.nit:116 */
673 fra
.me
.REG
[1] = CALL_syntax___extern_inline___MMModule___extern_code_blocks(closctx
->REG
[2])(closctx
->REG
[2]);
674 fra
.me
.REG
[0] = CALL_syntax___extern_inline___AExternCodeBlock___to_extern_code(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
675 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
676 stack_frame_head
= fra
.me
.prev
;