1 /* This C file is generated by NIT to compile module metamodel___type_formal. */
2 #include "metamodel___type_formal._sep.h"
3 static const char LOCATE_metamodel___type_formal___MMType___direct_type
[] = "type_formal::MMType::direct_type";
4 val_t
metamodel___type_formal___MMType___direct_type(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_metamodel___type_formal
;
10 fra
.me
.meth
= LOCATE_metamodel___type_formal___MMType___direct_type
;
13 fra
.me
.nitni_local_ref_head
= NULL
;
14 fra
.me
.REG
[0] = NIT_NULL
;
16 /* metamodel/type_formal.nit:25 */
19 stack_frame_head
= fra
.me
.prev
;
22 static const char LOCATE_metamodel___type_formal___MMType___has_formal
[] = "type_formal::MMType::has_formal";
23 val_t
metamodel___type_formal___MMType___has_formal(val_t p0
){
24 struct {struct stack_frame_t me
;} fra
;
27 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
28 fra
.me
.file
= LOCATE_metamodel___type_formal
;
30 fra
.me
.meth
= LOCATE_metamodel___type_formal___MMType___has_formal
;
33 fra
.me
.nitni_local_ref_head
= NULL
;
34 fra
.me
.REG
[0] = NIT_NULL
;
36 /* metamodel/type_formal.nit:27 */
40 stack_frame_head
= fra
.me
.prev
;
43 static const char LOCATE_metamodel___type_formal___MMTypeFormal___is_valid
[] = "type_formal::MMTypeFormal::(static_type::MMType::is_valid)";
44 val_t
metamodel___type_formal___MMTypeFormal___is_valid(val_t p0
){
45 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
49 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
50 fra
.me
.file
= LOCATE_metamodel___type_formal
;
52 fra
.me
.meth
= LOCATE_metamodel___type_formal___MMTypeFormal___is_valid
;
55 fra
.me
.nitni_local_ref_head
= NULL
;
56 fra
.me
.REG
[0] = NIT_NULL
;
57 fra
.me
.REG
[1] = NIT_NULL
;
59 /* metamodel/type_formal.nit:33 */
60 fra
.me
.REG
[1] = ATTR_metamodel___type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]);
61 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
62 if (UNTAG_Bool(REGB0
)) {
64 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
65 if (UNTAG_Bool(REGB1
)) {
69 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
73 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
74 if (UNTAG_Bool(REGB0
)) {
75 fra
.me
.REG
[0] = ATTR_metamodel___type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]);
76 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
77 if (UNTAG_Bool(REGB0
)) {
78 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___type_formal
, 33);
80 REGB0
= CALL_metamodel___static_type___MMType___is_valid(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
87 stack_frame_head
= fra
.me
.prev
;
90 static const char LOCATE_metamodel___type_formal___MMTypeFormal___name
[] = "type_formal::MMTypeFormal::name";
91 val_t
metamodel___type_formal___MMTypeFormal___name(val_t p0
){
92 struct {struct stack_frame_t me
;} fra
;
95 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
96 fra
.me
.file
= LOCATE_metamodel___type_formal
;
98 fra
.me
.meth
= LOCATE_metamodel___type_formal___MMTypeFormal___name
;
101 fra
.me
.nitni_local_ref_head
= NULL
;
102 fra
.me
.REG
[0] = NIT_NULL
;
104 /* metamodel/type_formal.nit:35 */
105 REGB0
= TAG_Bool(ATTR_metamodel___type_formal___MMTypeFormal____name(fra
.me
.REG
[0])!=NIT_NULL
);
106 if (UNTAG_Bool(REGB0
)) {
108 nit_abort("Uninitialized attribute %s", "_name", LOCATE_metamodel___type_formal
, 35);
110 fra
.me
.REG
[0] = ATTR_metamodel___type_formal___MMTypeFormal____name(fra
.me
.REG
[0]);
111 stack_frame_head
= fra
.me
.prev
;
112 return fra
.me
.REG
[0];
114 static const char LOCATE_metamodel___type_formal___MMTypeFormal___bound
[] = "type_formal::MMTypeFormal::bound";
115 val_t
metamodel___type_formal___MMTypeFormal___bound(val_t p0
){
116 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
119 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
120 fra
.me
.file
= LOCATE_metamodel___type_formal
;
122 fra
.me
.meth
= LOCATE_metamodel___type_formal___MMTypeFormal___bound
;
123 fra
.me
.has_broke
= 0;
125 fra
.me
.nitni_local_ref_head
= NULL
;
126 fra
.me
.REG
[0] = NIT_NULL
;
127 fra
.me
.REG
[1] = NIT_NULL
;
129 /* metamodel/type_formal.nit:38 */
130 fra
.me
.REG
[1] = fra
.me
.REG
[0];
131 /* metamodel/type_formal.nit:39 */
132 fra
.me
.REG
[1] = ATTR_metamodel___type_formal___MMTypeFormal____bound(fra
.me
.REG
[1]);
133 REGB0
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
134 if (UNTAG_Bool(REGB0
)) {
136 nit_abort("Cast failed", NULL
, LOCATE_metamodel___type_formal
, 39);
140 stack_frame_head
= fra
.me
.prev
;
141 return fra
.me
.REG
[1];
143 static const char LOCATE_metamodel___type_formal___MMTypeFormal_____l
[] = "type_formal::MMTypeFormal::(static_type::MMType::<)";
144 val_t
metamodel___type_formal___MMTypeFormal_____l(val_t p0
, val_t p1
){
145 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
149 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
150 fra
.me
.file
= LOCATE_metamodel___type_formal
;
152 fra
.me
.meth
= LOCATE_metamodel___type_formal___MMTypeFormal_____l
;
153 fra
.me
.has_broke
= 0;
155 fra
.me
.nitni_local_ref_head
= NULL
;
156 fra
.me
.REG
[0] = NIT_NULL
;
157 fra
.me
.REG
[1] = NIT_NULL
;
160 /* metamodel/type_formal.nit:42 */
161 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[1],fra
.me
.REG
[0]));
162 if (UNTAG_Bool(REGB0
)) {
164 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
167 if (UNTAG_Bool(REGB0
)) {
170 fra
.me
.REG
[0] = CALL_metamodel___type_formal___MMTypeFormal___bound(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
171 REGB1
= CALL_metamodel___static_type___MMType___is_supertype(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
176 stack_frame_head
= fra
.me
.prev
;
179 static const char LOCATE_metamodel___type_formal___MMTypeFormal___is_supertype
[] = "type_formal::MMTypeFormal::(static_type::MMType::is_supertype)";
180 val_t
metamodel___type_formal___MMTypeFormal___is_supertype(val_t p0
, val_t p1
){
181 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
184 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
185 fra
.me
.file
= LOCATE_metamodel___type_formal
;
187 fra
.me
.meth
= LOCATE_metamodel___type_formal___MMTypeFormal___is_supertype
;
188 fra
.me
.has_broke
= 0;
190 fra
.me
.nitni_local_ref_head
= NULL
;
191 fra
.me
.REG
[0] = NIT_NULL
;
192 fra
.me
.REG
[1] = NIT_NULL
;
195 /* metamodel/type_formal.nit:43 */
196 fra
.me
.REG
[0] = ATTR_metamodel___type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]);
197 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
198 if (UNTAG_Bool(REGB0
)) {
199 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___type_formal
, 43);
201 REGB0
= CALL_metamodel___static_type___MMType___is_supertype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
204 stack_frame_head
= fra
.me
.prev
;
207 static const char LOCATE_metamodel___type_formal___MMTypeFormal___is_nullable
[] = "type_formal::MMTypeFormal::(static_type::MMType::is_nullable)";
208 val_t
metamodel___type_formal___MMTypeFormal___is_nullable(val_t p0
){
209 struct {struct stack_frame_t me
;} fra
;
212 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
213 fra
.me
.file
= LOCATE_metamodel___type_formal
;
215 fra
.me
.meth
= LOCATE_metamodel___type_formal___MMTypeFormal___is_nullable
;
216 fra
.me
.has_broke
= 0;
218 fra
.me
.nitni_local_ref_head
= NULL
;
219 fra
.me
.REG
[0] = NIT_NULL
;
221 /* metamodel/type_formal.nit:44 */
222 fra
.me
.REG
[0] = ATTR_metamodel___type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]);
223 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
224 if (UNTAG_Bool(REGB0
)) {
225 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___type_formal
, 44);
227 REGB0
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
230 stack_frame_head
= fra
.me
.prev
;
233 static const char LOCATE_metamodel___type_formal___MMTypeFormal___direct_type
[] = "type_formal::MMTypeFormal::(type_formal::MMType::direct_type)";
234 val_t
metamodel___type_formal___MMTypeFormal___direct_type(val_t p0
){
235 struct {struct stack_frame_t me
;} fra
;
238 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
239 fra
.me
.file
= LOCATE_metamodel___type_formal
;
241 fra
.me
.meth
= LOCATE_metamodel___type_formal___MMTypeFormal___direct_type
;
242 fra
.me
.has_broke
= 0;
244 fra
.me
.nitni_local_ref_head
= NULL
;
245 fra
.me
.REG
[0] = NIT_NULL
;
247 /* metamodel/type_formal.nit:45 */
248 fra
.me
.REG
[0] = ATTR_metamodel___type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]);
249 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
250 if (UNTAG_Bool(REGB0
)) {
251 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___type_formal
, 45);
253 fra
.me
.REG
[0] = CALL_metamodel___type_formal___MMType___direct_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
256 stack_frame_head
= fra
.me
.prev
;
257 return fra
.me
.REG
[0];
259 static const char LOCATE_metamodel___type_formal___MMTypeFormal___local_class
[] = "type_formal::MMTypeFormal::(static_type::MMType::local_class)";
260 val_t
metamodel___type_formal___MMTypeFormal___local_class(val_t p0
){
261 struct {struct stack_frame_t me
;} fra
;
264 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
265 fra
.me
.file
= LOCATE_metamodel___type_formal
;
267 fra
.me
.meth
= LOCATE_metamodel___type_formal___MMTypeFormal___local_class
;
268 fra
.me
.has_broke
= 0;
270 fra
.me
.nitni_local_ref_head
= NULL
;
271 fra
.me
.REG
[0] = NIT_NULL
;
273 /* metamodel/type_formal.nit:46 */
274 fra
.me
.REG
[0] = ATTR_metamodel___type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]);
275 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
276 if (UNTAG_Bool(REGB0
)) {
277 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___type_formal
, 46);
279 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
282 stack_frame_head
= fra
.me
.prev
;
283 return fra
.me
.REG
[0];
285 static const char LOCATE_metamodel___type_formal___MMTypeFormal___has_formal
[] = "type_formal::MMTypeFormal::(type_formal::MMType::has_formal)";
286 val_t
metamodel___type_formal___MMTypeFormal___has_formal(val_t p0
){
287 struct {struct stack_frame_t me
;} fra
;
290 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
291 fra
.me
.file
= LOCATE_metamodel___type_formal
;
293 fra
.me
.meth
= LOCATE_metamodel___type_formal___MMTypeFormal___has_formal
;
294 fra
.me
.has_broke
= 0;
296 fra
.me
.nitni_local_ref_head
= NULL
;
297 fra
.me
.REG
[0] = NIT_NULL
;
299 /* metamodel/type_formal.nit:47 */
303 stack_frame_head
= fra
.me
.prev
;
306 static const char LOCATE_metamodel___type_formal___MMTypeFormal___to_s
[] = "type_formal::MMTypeFormal::(string::Object::to_s)";
307 val_t
metamodel___type_formal___MMTypeFormal___to_s(val_t p0
){
308 struct {struct stack_frame_t me
;} fra
;
311 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
312 fra
.me
.file
= LOCATE_metamodel___type_formal
;
314 fra
.me
.meth
= LOCATE_metamodel___type_formal___MMTypeFormal___to_s
;
315 fra
.me
.has_broke
= 0;
317 fra
.me
.nitni_local_ref_head
= NULL
;
318 fra
.me
.REG
[0] = NIT_NULL
;
320 /* metamodel/type_formal.nit:49 */
321 REGB0
= TAG_Bool(ATTR_metamodel___type_formal___MMTypeFormal____name(fra
.me
.REG
[0])!=NIT_NULL
);
322 if (UNTAG_Bool(REGB0
)) {
324 nit_abort("Uninitialized attribute %s", "_name", LOCATE_metamodel___type_formal
, 49);
326 fra
.me
.REG
[0] = ATTR_metamodel___type_formal___MMTypeFormal____name(fra
.me
.REG
[0]);
327 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
330 stack_frame_head
= fra
.me
.prev
;
331 return fra
.me
.REG
[0];
333 static const char LOCATE_metamodel___type_formal___MMTypeFormal___init
[] = "type_formal::MMTypeFormal::init";
334 void metamodel___type_formal___MMTypeFormal___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
335 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_metamodel___type_formal___MMTypeFormal
].i
;
336 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
338 if (init_table
[itpos0
]) return;
339 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
340 fra
.me
.file
= LOCATE_metamodel___type_formal
;
342 fra
.me
.meth
= LOCATE_metamodel___type_formal___MMTypeFormal___init
;
343 fra
.me
.has_broke
= 0;
345 fra
.me
.nitni_local_ref_head
= NULL
;
346 fra
.me
.REG
[0] = NIT_NULL
;
347 fra
.me
.REG
[1] = NIT_NULL
;
348 fra
.me
.REG
[2] = NIT_NULL
;
349 fra
.me
.REG
[3] = NIT_NULL
;
353 /* metamodel/type_formal.nit:51 */
354 fra
.me
.REG
[3] = fra
.me
.REG
[0];
355 CALL_metamodel___static_type___MMType___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
356 /* metamodel/type_formal.nit:53 */
357 ATTR_metamodel___type_formal___MMTypeFormal____name(fra
.me
.REG
[3]) = fra
.me
.REG
[1];
358 /* metamodel/type_formal.nit:54 */
359 ATTR_metamodel___type_formal___MMTypeFormal____bound(fra
.me
.REG
[3]) = fra
.me
.REG
[2];
360 stack_frame_head
= fra
.me
.prev
;
361 init_table
[itpos0
] = 1;
364 static const char LOCATE_metamodel___type_formal___MMNullableType___has_formal
[] = "type_formal::MMNullableType::(type_formal::MMType::has_formal)";
365 val_t
metamodel___type_formal___MMNullableType___has_formal(val_t p0
){
366 struct {struct stack_frame_t me
;} fra
;
369 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
370 fra
.me
.file
= LOCATE_metamodel___type_formal
;
372 fra
.me
.meth
= LOCATE_metamodel___type_formal___MMNullableType___has_formal
;
373 fra
.me
.has_broke
= 0;
375 fra
.me
.nitni_local_ref_head
= NULL
;
376 fra
.me
.REG
[0] = NIT_NULL
;
378 /* metamodel/type_formal.nit:59 */
379 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMNullableType___base_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
380 REGB0
= CALL_metamodel___type_formal___MMType___has_formal(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
383 stack_frame_head
= fra
.me
.prev
;