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
.REG
[0] = NIT_NULL
;
14 /* ./metamodel//type_formal.nit:25 */
17 stack_frame_head
= fra
.me
.prev
;
20 val_t
metamodel___type_formal___MMTypeFormal___is_valid(val_t p0
){
21 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_metamodel___type_formal
;
28 fra
.me
.meth
= LOCATE_metamodel___type_formal___MMTypeFormal___is_valid
;
31 fra
.me
.REG
[0] = NIT_NULL
;
32 fra
.me
.REG
[1] = NIT_NULL
;
34 /* ./metamodel//type_formal.nit:31 */
35 fra
.me
.REG
[1] = ATTR_metamodel___type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]);
36 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
37 if (UNTAG_Bool(REGB0
)) {
39 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
40 if (UNTAG_Bool(REGB1
)) {
41 REGB1
= TAG_Bool(false);
44 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
48 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
49 if (UNTAG_Bool(REGB0
)) {
50 fra
.me
.REG
[0] = ATTR_metamodel___type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]);
51 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
52 if (UNTAG_Bool(REGB0
)) {
53 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___type_formal
, 31);
55 REGB0
= CALL_metamodel___static_type___MMType___is_valid(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
57 REGB1
= TAG_Bool(false);
62 stack_frame_head
= fra
.me
.prev
;
65 val_t
metamodel___type_formal___MMTypeFormal___name(val_t p0
){
66 struct {struct stack_frame_t me
;} fra
;
69 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
70 fra
.me
.file
= LOCATE_metamodel___type_formal
;
72 fra
.me
.meth
= LOCATE_metamodel___type_formal___MMTypeFormal___name
;
75 fra
.me
.REG
[0] = NIT_NULL
;
77 /* ./metamodel//type_formal.nit:33 */
78 REGB0
= TAG_Bool(ATTR_metamodel___type_formal___MMTypeFormal____name(fra
.me
.REG
[0])!=NIT_NULL
);
79 if (UNTAG_Bool(REGB0
)) {
81 nit_abort("Uninitialized attribute %s", "_name", LOCATE_metamodel___type_formal
, 33);
83 fra
.me
.REG
[0] = ATTR_metamodel___type_formal___MMTypeFormal____name(fra
.me
.REG
[0]);
84 stack_frame_head
= fra
.me
.prev
;
87 val_t
metamodel___type_formal___MMTypeFormal___bound(val_t p0
){
88 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
91 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
92 fra
.me
.file
= LOCATE_metamodel___type_formal
;
94 fra
.me
.meth
= LOCATE_metamodel___type_formal___MMTypeFormal___bound
;
97 fra
.me
.REG
[0] = NIT_NULL
;
98 fra
.me
.REG
[1] = NIT_NULL
;
100 /* ./metamodel//type_formal.nit:36 */
101 fra
.me
.REG
[1] = fra
.me
.REG
[0];
102 /* ./metamodel//type_formal.nit:37 */
103 fra
.me
.REG
[1] = ATTR_metamodel___type_formal___MMTypeFormal____bound(fra
.me
.REG
[1]);
104 REGB0
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
105 if (UNTAG_Bool(REGB0
)) {
107 nit_abort("Cast failed", NULL
, LOCATE_metamodel___type_formal
, 37);
111 stack_frame_head
= fra
.me
.prev
;
112 return fra
.me
.REG
[1];
114 val_t
metamodel___type_formal___MMTypeFormal_____l(val_t p0
, val_t p1
){
115 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_____l
;
123 fra
.me
.has_broke
= 0;
125 fra
.me
.REG
[0] = NIT_NULL
;
126 fra
.me
.REG
[1] = NIT_NULL
;
129 /* ./metamodel//type_formal.nit:40 */
130 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[1],fra
.me
.REG
[0]));
131 if (UNTAG_Bool(REGB0
)) {
133 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
136 if (UNTAG_Bool(REGB0
)) {
137 REGB0
= TAG_Bool(true);
139 fra
.me
.REG
[0] = CALL_metamodel___type_formal___MMTypeFormal___bound(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
140 REGB1
= CALL_metamodel___static_type___MMType___is_supertype(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
145 stack_frame_head
= fra
.me
.prev
;
148 val_t
metamodel___type_formal___MMTypeFormal___is_supertype(val_t p0
, val_t p1
){
149 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
152 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
153 fra
.me
.file
= LOCATE_metamodel___type_formal
;
155 fra
.me
.meth
= LOCATE_metamodel___type_formal___MMTypeFormal___is_supertype
;
156 fra
.me
.has_broke
= 0;
158 fra
.me
.REG
[0] = NIT_NULL
;
159 fra
.me
.REG
[1] = NIT_NULL
;
162 /* ./metamodel//type_formal.nit:41 */
163 fra
.me
.REG
[0] = ATTR_metamodel___type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]);
164 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
165 if (UNTAG_Bool(REGB0
)) {
166 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___type_formal
, 41);
168 REGB0
= CALL_metamodel___static_type___MMType___is_supertype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
171 stack_frame_head
= fra
.me
.prev
;
174 val_t
metamodel___type_formal___MMTypeFormal___is_nullable(val_t p0
){
175 struct {struct stack_frame_t me
;} fra
;
178 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
179 fra
.me
.file
= LOCATE_metamodel___type_formal
;
181 fra
.me
.meth
= LOCATE_metamodel___type_formal___MMTypeFormal___is_nullable
;
182 fra
.me
.has_broke
= 0;
184 fra
.me
.REG
[0] = NIT_NULL
;
186 /* ./metamodel//type_formal.nit:42 */
187 fra
.me
.REG
[0] = ATTR_metamodel___type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]);
188 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
189 if (UNTAG_Bool(REGB0
)) {
190 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___type_formal
, 42);
192 REGB0
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
195 stack_frame_head
= fra
.me
.prev
;
198 val_t
metamodel___type_formal___MMTypeFormal___direct_type(val_t p0
){
199 struct {struct stack_frame_t me
;} fra
;
202 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
203 fra
.me
.file
= LOCATE_metamodel___type_formal
;
205 fra
.me
.meth
= LOCATE_metamodel___type_formal___MMTypeFormal___direct_type
;
206 fra
.me
.has_broke
= 0;
208 fra
.me
.REG
[0] = NIT_NULL
;
210 /* ./metamodel//type_formal.nit:43 */
211 fra
.me
.REG
[0] = ATTR_metamodel___type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]);
212 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
213 if (UNTAG_Bool(REGB0
)) {
214 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___type_formal
, 43);
216 fra
.me
.REG
[0] = CALL_metamodel___type_formal___MMType___direct_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
219 stack_frame_head
= fra
.me
.prev
;
220 return fra
.me
.REG
[0];
222 val_t
metamodel___type_formal___MMTypeFormal___local_class(val_t p0
){
223 struct {struct stack_frame_t me
;} fra
;
226 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
227 fra
.me
.file
= LOCATE_metamodel___type_formal
;
229 fra
.me
.meth
= LOCATE_metamodel___type_formal___MMTypeFormal___local_class
;
230 fra
.me
.has_broke
= 0;
232 fra
.me
.REG
[0] = NIT_NULL
;
234 /* ./metamodel//type_formal.nit:44 */
235 fra
.me
.REG
[0] = ATTR_metamodel___type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]);
236 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
237 if (UNTAG_Bool(REGB0
)) {
238 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___type_formal
, 44);
240 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
243 stack_frame_head
= fra
.me
.prev
;
244 return fra
.me
.REG
[0];
246 val_t
metamodel___type_formal___MMTypeFormal___to_s(val_t p0
){
247 struct {struct stack_frame_t me
;} fra
;
250 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
251 fra
.me
.file
= LOCATE_metamodel___type_formal
;
253 fra
.me
.meth
= LOCATE_metamodel___type_formal___MMTypeFormal___to_s
;
254 fra
.me
.has_broke
= 0;
256 fra
.me
.REG
[0] = NIT_NULL
;
258 /* ./metamodel//type_formal.nit:46 */
259 REGB0
= TAG_Bool(ATTR_metamodel___type_formal___MMTypeFormal____name(fra
.me
.REG
[0])!=NIT_NULL
);
260 if (UNTAG_Bool(REGB0
)) {
262 nit_abort("Uninitialized attribute %s", "_name", LOCATE_metamodel___type_formal
, 46);
264 fra
.me
.REG
[0] = ATTR_metamodel___type_formal___MMTypeFormal____name(fra
.me
.REG
[0]);
265 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
268 stack_frame_head
= fra
.me
.prev
;
269 return fra
.me
.REG
[0];
271 void metamodel___type_formal___MMTypeFormal___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
272 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_metamodel___type_formal___MMTypeFormal
].i
;
273 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
275 if (init_table
[itpos0
]) return;
276 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
277 fra
.me
.file
= LOCATE_metamodel___type_formal
;
279 fra
.me
.meth
= LOCATE_metamodel___type_formal___MMTypeFormal___init
;
280 fra
.me
.has_broke
= 0;
282 fra
.me
.REG
[0] = NIT_NULL
;
283 fra
.me
.REG
[1] = NIT_NULL
;
284 fra
.me
.REG
[2] = NIT_NULL
;
285 fra
.me
.REG
[3] = NIT_NULL
;
289 /* ./metamodel//type_formal.nit:48 */
290 fra
.me
.REG
[3] = fra
.me
.REG
[0];
291 CALL_metamodel___static_type___MMType___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
292 /* ./metamodel//type_formal.nit:50 */
293 ATTR_metamodel___type_formal___MMTypeFormal____name(fra
.me
.REG
[3]) = fra
.me
.REG
[1];
294 /* ./metamodel//type_formal.nit:51 */
295 ATTR_metamodel___type_formal___MMTypeFormal____bound(fra
.me
.REG
[3]) = fra
.me
.REG
[2];
296 stack_frame_head
= fra
.me
.prev
;
297 init_table
[itpos0
] = 1;