1 /* This C file is generated by NIT to compile module metamodel___type_formal. */
2 #include "metamodel___type_formal._sep.h"
3 val_t
metamodel___type_formal___MMType___direct_type(val_t p0
){
4 struct {struct stack_frame_t me
;} fra
;
6 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
7 fra
.me
.file
= LOCATE_metamodel___type_formal
;
9 fra
.me
.meth
= LOCATE_metamodel___type_formal___MMType___direct_type
;
12 fra
.me
.nitni_local_ref_head
= NULL
;
13 fra
.me
.REG
[0] = NIT_NULL
;
15 /* metamodel/type_formal.nit:25 */
18 stack_frame_head
= fra
.me
.prev
;
21 val_t
metamodel___type_formal___MMTypeFormal___is_valid(val_t p0
){
22 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
26 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
27 fra
.me
.file
= LOCATE_metamodel___type_formal
;
29 fra
.me
.meth
= LOCATE_metamodel___type_formal___MMTypeFormal___is_valid
;
32 fra
.me
.nitni_local_ref_head
= NULL
;
33 fra
.me
.REG
[0] = NIT_NULL
;
34 fra
.me
.REG
[1] = NIT_NULL
;
36 /* metamodel/type_formal.nit:31 */
37 fra
.me
.REG
[1] = ATTR_metamodel___type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]);
38 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
39 if (UNTAG_Bool(REGB0
)) {
41 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
42 if (UNTAG_Bool(REGB1
)) {
43 REGB1
= TAG_Bool(false);
46 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
50 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
51 if (UNTAG_Bool(REGB0
)) {
52 fra
.me
.REG
[0] = ATTR_metamodel___type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]);
53 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
54 if (UNTAG_Bool(REGB0
)) {
55 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___type_formal
, 31);
57 REGB0
= CALL_metamodel___static_type___MMType___is_valid(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
59 REGB1
= TAG_Bool(false);
64 stack_frame_head
= fra
.me
.prev
;
67 val_t
metamodel___type_formal___MMTypeFormal___name(val_t p0
){
68 struct {struct stack_frame_t me
;} fra
;
71 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
72 fra
.me
.file
= LOCATE_metamodel___type_formal
;
74 fra
.me
.meth
= LOCATE_metamodel___type_formal___MMTypeFormal___name
;
77 fra
.me
.nitni_local_ref_head
= NULL
;
78 fra
.me
.REG
[0] = NIT_NULL
;
80 /* metamodel/type_formal.nit:33 */
81 REGB0
= TAG_Bool(ATTR_metamodel___type_formal___MMTypeFormal____name(fra
.me
.REG
[0])!=NIT_NULL
);
82 if (UNTAG_Bool(REGB0
)) {
84 nit_abort("Uninitialized attribute %s", "_name", LOCATE_metamodel___type_formal
, 33);
86 fra
.me
.REG
[0] = ATTR_metamodel___type_formal___MMTypeFormal____name(fra
.me
.REG
[0]);
87 stack_frame_head
= fra
.me
.prev
;
90 val_t
metamodel___type_formal___MMTypeFormal___bound(val_t p0
){
91 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
94 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
95 fra
.me
.file
= LOCATE_metamodel___type_formal
;
97 fra
.me
.meth
= LOCATE_metamodel___type_formal___MMTypeFormal___bound
;
100 fra
.me
.nitni_local_ref_head
= NULL
;
101 fra
.me
.REG
[0] = NIT_NULL
;
102 fra
.me
.REG
[1] = NIT_NULL
;
104 /* metamodel/type_formal.nit:36 */
105 fra
.me
.REG
[1] = fra
.me
.REG
[0];
106 /* metamodel/type_formal.nit:37 */
107 fra
.me
.REG
[1] = ATTR_metamodel___type_formal___MMTypeFormal____bound(fra
.me
.REG
[1]);
108 REGB0
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
109 if (UNTAG_Bool(REGB0
)) {
111 nit_abort("Cast failed", NULL
, LOCATE_metamodel___type_formal
, 37);
115 stack_frame_head
= fra
.me
.prev
;
116 return fra
.me
.REG
[1];
118 val_t
metamodel___type_formal___MMTypeFormal_____l(val_t p0
, val_t p1
){
119 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
123 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
124 fra
.me
.file
= LOCATE_metamodel___type_formal
;
126 fra
.me
.meth
= LOCATE_metamodel___type_formal___MMTypeFormal_____l
;
127 fra
.me
.has_broke
= 0;
129 fra
.me
.nitni_local_ref_head
= NULL
;
130 fra
.me
.REG
[0] = NIT_NULL
;
131 fra
.me
.REG
[1] = NIT_NULL
;
134 /* metamodel/type_formal.nit:40 */
135 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[1],fra
.me
.REG
[0]));
136 if (UNTAG_Bool(REGB0
)) {
138 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
141 if (UNTAG_Bool(REGB0
)) {
142 REGB0
= TAG_Bool(true);
144 fra
.me
.REG
[0] = CALL_metamodel___type_formal___MMTypeFormal___bound(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
145 REGB1
= CALL_metamodel___static_type___MMType___is_supertype(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
150 stack_frame_head
= fra
.me
.prev
;
153 val_t
metamodel___type_formal___MMTypeFormal___is_supertype(val_t p0
, val_t p1
){
154 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
157 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
158 fra
.me
.file
= LOCATE_metamodel___type_formal
;
160 fra
.me
.meth
= LOCATE_metamodel___type_formal___MMTypeFormal___is_supertype
;
161 fra
.me
.has_broke
= 0;
163 fra
.me
.nitni_local_ref_head
= NULL
;
164 fra
.me
.REG
[0] = NIT_NULL
;
165 fra
.me
.REG
[1] = NIT_NULL
;
168 /* metamodel/type_formal.nit:41 */
169 fra
.me
.REG
[0] = ATTR_metamodel___type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]);
170 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
171 if (UNTAG_Bool(REGB0
)) {
172 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___type_formal
, 41);
174 REGB0
= CALL_metamodel___static_type___MMType___is_supertype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
177 stack_frame_head
= fra
.me
.prev
;
180 val_t
metamodel___type_formal___MMTypeFormal___is_nullable(val_t p0
){
181 struct {struct stack_frame_t me
;} 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_nullable
;
188 fra
.me
.has_broke
= 0;
190 fra
.me
.nitni_local_ref_head
= NULL
;
191 fra
.me
.REG
[0] = NIT_NULL
;
193 /* metamodel/type_formal.nit:42 */
194 fra
.me
.REG
[0] = ATTR_metamodel___type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]);
195 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
196 if (UNTAG_Bool(REGB0
)) {
197 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___type_formal
, 42);
199 REGB0
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
202 stack_frame_head
= fra
.me
.prev
;
205 val_t
metamodel___type_formal___MMTypeFormal___direct_type(val_t p0
){
206 struct {struct stack_frame_t me
;} fra
;
209 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
210 fra
.me
.file
= LOCATE_metamodel___type_formal
;
212 fra
.me
.meth
= LOCATE_metamodel___type_formal___MMTypeFormal___direct_type
;
213 fra
.me
.has_broke
= 0;
215 fra
.me
.nitni_local_ref_head
= NULL
;
216 fra
.me
.REG
[0] = NIT_NULL
;
218 /* metamodel/type_formal.nit:43 */
219 fra
.me
.REG
[0] = ATTR_metamodel___type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]);
220 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
221 if (UNTAG_Bool(REGB0
)) {
222 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___type_formal
, 43);
224 fra
.me
.REG
[0] = CALL_metamodel___type_formal___MMType___direct_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
227 stack_frame_head
= fra
.me
.prev
;
228 return fra
.me
.REG
[0];
230 val_t
metamodel___type_formal___MMTypeFormal___local_class(val_t p0
){
231 struct {struct stack_frame_t me
;} fra
;
234 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
235 fra
.me
.file
= LOCATE_metamodel___type_formal
;
237 fra
.me
.meth
= LOCATE_metamodel___type_formal___MMTypeFormal___local_class
;
238 fra
.me
.has_broke
= 0;
240 fra
.me
.nitni_local_ref_head
= NULL
;
241 fra
.me
.REG
[0] = NIT_NULL
;
243 /* metamodel/type_formal.nit:44 */
244 fra
.me
.REG
[0] = ATTR_metamodel___type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]);
245 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
246 if (UNTAG_Bool(REGB0
)) {
247 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___type_formal
, 44);
249 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
252 stack_frame_head
= fra
.me
.prev
;
253 return fra
.me
.REG
[0];
255 val_t
metamodel___type_formal___MMTypeFormal___to_s(val_t p0
){
256 struct {struct stack_frame_t me
;} fra
;
259 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
260 fra
.me
.file
= LOCATE_metamodel___type_formal
;
262 fra
.me
.meth
= LOCATE_metamodel___type_formal___MMTypeFormal___to_s
;
263 fra
.me
.has_broke
= 0;
265 fra
.me
.nitni_local_ref_head
= NULL
;
266 fra
.me
.REG
[0] = NIT_NULL
;
268 /* metamodel/type_formal.nit:46 */
269 REGB0
= TAG_Bool(ATTR_metamodel___type_formal___MMTypeFormal____name(fra
.me
.REG
[0])!=NIT_NULL
);
270 if (UNTAG_Bool(REGB0
)) {
272 nit_abort("Uninitialized attribute %s", "_name", LOCATE_metamodel___type_formal
, 46);
274 fra
.me
.REG
[0] = ATTR_metamodel___type_formal___MMTypeFormal____name(fra
.me
.REG
[0]);
275 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
278 stack_frame_head
= fra
.me
.prev
;
279 return fra
.me
.REG
[0];
281 void metamodel___type_formal___MMTypeFormal___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
282 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_metamodel___type_formal___MMTypeFormal
].i
;
283 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
285 if (init_table
[itpos0
]) return;
286 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
287 fra
.me
.file
= LOCATE_metamodel___type_formal
;
289 fra
.me
.meth
= LOCATE_metamodel___type_formal___MMTypeFormal___init
;
290 fra
.me
.has_broke
= 0;
292 fra
.me
.nitni_local_ref_head
= NULL
;
293 fra
.me
.REG
[0] = NIT_NULL
;
294 fra
.me
.REG
[1] = NIT_NULL
;
295 fra
.me
.REG
[2] = NIT_NULL
;
296 fra
.me
.REG
[3] = NIT_NULL
;
300 /* metamodel/type_formal.nit:48 */
301 fra
.me
.REG
[3] = fra
.me
.REG
[0];
302 CALL_metamodel___static_type___MMType___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
303 /* metamodel/type_formal.nit:50 */
304 ATTR_metamodel___type_formal___MMTypeFormal____name(fra
.me
.REG
[3]) = fra
.me
.REG
[1];
305 /* metamodel/type_formal.nit:51 */
306 ATTR_metamodel___type_formal___MMTypeFormal____bound(fra
.me
.REG
[3]) = fra
.me
.REG
[2];
307 stack_frame_head
= fra
.me
.prev
;
308 init_table
[itpos0
] = 1;