1 /* This C file is generated by NIT to compile module type_formal. */
2 #include "type_formal._sep.h"
3 val_t
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_type_formal
;
9 fra
.me
.meth
= LOCATE_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
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_type_formal
;
28 fra
.me
.meth
= LOCATE_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_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_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_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_type_formal
, 31);
55 REGB0
= CALL_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
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_type_formal
;
72 fra
.me
.meth
= LOCATE_type_formal___MMTypeFormal___name
;
75 fra
.me
.REG
[0] = NIT_NULL
;
77 /* ./metamodel//type_formal.nit:33 */
78 REGB0
= TAG_Bool(ATTR_type_formal___MMTypeFormal____name(fra
.me
.REG
[0])!=NIT_NULL
);
79 if (UNTAG_Bool(REGB0
)) {
81 nit_abort("Uninitialized attribute %s", "_name", LOCATE_type_formal
, 33);
83 fra
.me
.REG
[0] = ATTR_type_formal___MMTypeFormal____name(fra
.me
.REG
[0]);
84 stack_frame_head
= fra
.me
.prev
;
87 val_t
type_formal___MMTypeFormal___bound(val_t p0
){
88 struct {struct stack_frame_t me
;} fra
;
91 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
92 fra
.me
.file
= LOCATE_type_formal
;
94 fra
.me
.meth
= LOCATE_type_formal___MMTypeFormal___bound
;
97 fra
.me
.REG
[0] = NIT_NULL
;
99 /* ./metamodel//type_formal.nit:37 */
100 fra
.me
.REG
[0] = ATTR_type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]);
101 REGB0
= TAG_Bool(fra
.me
.REG
[0]!=NIT_NULL
);
102 if (UNTAG_Bool(REGB0
)) {
104 nit_abort("Cast failed", NULL
, LOCATE_type_formal
, 37);
108 stack_frame_head
= fra
.me
.prev
;
109 return fra
.me
.REG
[0];
111 val_t
type_formal___MMTypeFormal_____l(val_t p0
, val_t p1
){
112 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
116 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
117 fra
.me
.file
= LOCATE_type_formal
;
119 fra
.me
.meth
= LOCATE_type_formal___MMTypeFormal_____l
;
120 fra
.me
.has_broke
= 0;
122 fra
.me
.REG
[0] = NIT_NULL
;
123 fra
.me
.REG
[1] = NIT_NULL
;
126 /* ./metamodel//type_formal.nit:40 */
127 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[1],fra
.me
.REG
[0]));
128 if (UNTAG_Bool(REGB0
)) {
130 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
133 if (UNTAG_Bool(REGB0
)) {
134 REGB0
= TAG_Bool(true);
136 fra
.me
.REG
[0] = CALL_type_formal___MMTypeFormal___bound(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
137 REGB1
= CALL_static_type___MMType___is_supertype(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
142 stack_frame_head
= fra
.me
.prev
;
145 val_t
type_formal___MMTypeFormal___is_supertype(val_t p0
, val_t p1
){
146 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_type_formal
;
152 fra
.me
.meth
= LOCATE_type_formal___MMTypeFormal___is_supertype
;
153 fra
.me
.has_broke
= 0;
155 fra
.me
.REG
[0] = NIT_NULL
;
156 fra
.me
.REG
[1] = NIT_NULL
;
159 /* ./metamodel//type_formal.nit:41 */
160 fra
.me
.REG
[0] = ATTR_type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]);
161 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
162 if (UNTAG_Bool(REGB0
)) {
163 nit_abort("Reciever is null", NULL
, LOCATE_type_formal
, 41);
165 REGB0
= CALL_static_type___MMType___is_supertype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
168 stack_frame_head
= fra
.me
.prev
;
171 val_t
type_formal___MMTypeFormal___is_nullable(val_t p0
){
172 struct {struct stack_frame_t me
;} fra
;
175 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
176 fra
.me
.file
= LOCATE_type_formal
;
178 fra
.me
.meth
= LOCATE_type_formal___MMTypeFormal___is_nullable
;
179 fra
.me
.has_broke
= 0;
181 fra
.me
.REG
[0] = NIT_NULL
;
183 /* ./metamodel//type_formal.nit:42 */
184 fra
.me
.REG
[0] = ATTR_type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]);
185 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
186 if (UNTAG_Bool(REGB0
)) {
187 nit_abort("Reciever is null", NULL
, LOCATE_type_formal
, 42);
189 REGB0
= CALL_static_type___MMType___is_nullable(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
192 stack_frame_head
= fra
.me
.prev
;
195 val_t
type_formal___MMTypeFormal___direct_type(val_t p0
){
196 struct {struct stack_frame_t me
;} fra
;
199 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
200 fra
.me
.file
= LOCATE_type_formal
;
202 fra
.me
.meth
= LOCATE_type_formal___MMTypeFormal___direct_type
;
203 fra
.me
.has_broke
= 0;
205 fra
.me
.REG
[0] = NIT_NULL
;
207 /* ./metamodel//type_formal.nit:43 */
208 fra
.me
.REG
[0] = ATTR_type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]);
209 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
210 if (UNTAG_Bool(REGB0
)) {
211 nit_abort("Reciever is null", NULL
, LOCATE_type_formal
, 43);
213 fra
.me
.REG
[0] = CALL_type_formal___MMType___direct_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
216 stack_frame_head
= fra
.me
.prev
;
217 return fra
.me
.REG
[0];
219 val_t
type_formal___MMTypeFormal___local_class(val_t p0
){
220 struct {struct stack_frame_t me
;} fra
;
223 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
224 fra
.me
.file
= LOCATE_type_formal
;
226 fra
.me
.meth
= LOCATE_type_formal___MMTypeFormal___local_class
;
227 fra
.me
.has_broke
= 0;
229 fra
.me
.REG
[0] = NIT_NULL
;
231 /* ./metamodel//type_formal.nit:44 */
232 fra
.me
.REG
[0] = ATTR_type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]);
233 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
234 if (UNTAG_Bool(REGB0
)) {
235 nit_abort("Reciever is null", NULL
, LOCATE_type_formal
, 44);
237 fra
.me
.REG
[0] = CALL_static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
240 stack_frame_head
= fra
.me
.prev
;
241 return fra
.me
.REG
[0];
243 val_t
type_formal___MMTypeFormal___to_s(val_t p0
){
244 struct {struct stack_frame_t me
;} fra
;
247 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
248 fra
.me
.file
= LOCATE_type_formal
;
250 fra
.me
.meth
= LOCATE_type_formal___MMTypeFormal___to_s
;
251 fra
.me
.has_broke
= 0;
253 fra
.me
.REG
[0] = NIT_NULL
;
255 /* ./metamodel//type_formal.nit:46 */
256 REGB0
= TAG_Bool(ATTR_type_formal___MMTypeFormal____name(fra
.me
.REG
[0])!=NIT_NULL
);
257 if (UNTAG_Bool(REGB0
)) {
259 nit_abort("Uninitialized attribute %s", "_name", LOCATE_type_formal
, 46);
261 fra
.me
.REG
[0] = ATTR_type_formal___MMTypeFormal____name(fra
.me
.REG
[0]);
262 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
265 stack_frame_head
= fra
.me
.prev
;
266 return fra
.me
.REG
[0];
268 void type_formal___MMTypeFormal___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
269 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_MMTypeFormal
].i
;
270 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
272 if (init_table
[itpos0
]) return;
273 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
274 fra
.me
.file
= LOCATE_type_formal
;
276 fra
.me
.meth
= LOCATE_type_formal___MMTypeFormal___init
;
277 fra
.me
.has_broke
= 0;
279 fra
.me
.REG
[0] = NIT_NULL
;
280 fra
.me
.REG
[1] = NIT_NULL
;
281 fra
.me
.REG
[2] = NIT_NULL
;
282 fra
.me
.REG
[3] = NIT_NULL
;
286 /* ./metamodel//type_formal.nit:48 */
287 fra
.me
.REG
[3] = fra
.me
.REG
[0];
288 CALL_static_type___MMType___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
289 /* ./metamodel//type_formal.nit:50 */
290 ATTR_type_formal___MMTypeFormal____name(fra
.me
.REG
[3]) = fra
.me
.REG
[1];
291 /* ./metamodel//type_formal.nit:51 */
292 ATTR_type_formal___MMTypeFormal____bound(fra
.me
.REG
[3]) = fra
.me
.REG
[2];
293 stack_frame_head
= fra
.me
.prev
;
294 init_table
[itpos0
] = 1;