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___to_s(val_t p0
){
21 struct {struct stack_frame_t me
;} fra
;
24 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
25 fra
.me
.file
= LOCATE_type_formal
;
27 fra
.me
.meth
= LOCATE_type_formal___MMTypeFormal___to_s
;
30 fra
.me
.REG
[0] = NIT_NULL
;
32 REGB0
= TAG_Bool(ATTR_type_formal___MMTypeFormal____name(fra
.me
.REG
[0])!=NIT_NULL
);
33 /* ./metamodel//type_formal.nit:46 */
34 if (UNTAG_Bool(REGB0
)) {
36 fprintf(stderr
, "Uninitialized attribute %s", "_name");
37 fprintf(stderr
, " (%s:%d)\n", LOCATE_type_formal
, 46);
40 fra
.me
.REG
[0] = ATTR_type_formal___MMTypeFormal____name(fra
.me
.REG
[0]);
41 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
44 stack_frame_head
= fra
.me
.prev
;
47 val_t
type_formal___MMTypeFormal___local_class(val_t p0
){
48 struct {struct stack_frame_t me
;} fra
;
51 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
52 fra
.me
.file
= LOCATE_type_formal
;
54 fra
.me
.meth
= LOCATE_type_formal___MMTypeFormal___local_class
;
57 fra
.me
.REG
[0] = NIT_NULL
;
59 fra
.me
.REG
[0] = ATTR_type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]);
60 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
61 /* ./metamodel//type_formal.nit:44 */
62 if (UNTAG_Bool(REGB0
)) {
63 fprintf(stderr
, "Reciever is null");
64 fprintf(stderr
, " (%s:%d)\n", LOCATE_type_formal
, 44);
67 fra
.me
.REG
[0] = CALL_static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
70 stack_frame_head
= fra
.me
.prev
;
73 val_t
type_formal___MMTypeFormal___is_valid(val_t p0
){
74 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
78 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
79 fra
.me
.file
= LOCATE_type_formal
;
81 fra
.me
.meth
= LOCATE_type_formal___MMTypeFormal___is_valid
;
84 fra
.me
.REG
[0] = NIT_NULL
;
85 fra
.me
.REG
[1] = NIT_NULL
;
87 fra
.me
.REG
[1] = ATTR_type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]);
88 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
89 /* ./metamodel//type_formal.nit:31 */
90 if (UNTAG_Bool(REGB0
)) {
92 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
93 if (UNTAG_Bool(REGB1
)) {
94 REGB1
= TAG_Bool(false);
97 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
101 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
102 if (UNTAG_Bool(REGB0
)) {
103 fra
.me
.REG
[0] = ATTR_type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]);
104 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
105 if (UNTAG_Bool(REGB0
)) {
106 fprintf(stderr
, "Reciever is null");
107 fprintf(stderr
, " (%s:%d)\n", LOCATE_type_formal
, 31);
110 REGB0
= CALL_static_type___MMType___is_valid(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
112 REGB1
= TAG_Bool(false);
117 stack_frame_head
= fra
.me
.prev
;
120 val_t
type_formal___MMTypeFormal_____l(val_t p0
, val_t p1
){
121 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
125 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
126 fra
.me
.file
= LOCATE_type_formal
;
128 fra
.me
.meth
= LOCATE_type_formal___MMTypeFormal_____l
;
129 fra
.me
.has_broke
= 0;
131 fra
.me
.REG
[0] = NIT_NULL
;
132 fra
.me
.REG
[1] = NIT_NULL
;
135 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[1],fra
.me
.REG
[0]));
136 /* ./metamodel//type_formal.nit:40 */
137 if (UNTAG_Bool(REGB0
)) {
139 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
142 if (UNTAG_Bool(REGB0
)) {
143 REGB0
= TAG_Bool(true);
145 fra
.me
.REG
[0] = CALL_type_formal___MMTypeFormal___bound(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
146 REGB1
= CALL_static_type___MMType___is_supertype(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
151 stack_frame_head
= fra
.me
.prev
;
154 val_t
type_formal___MMTypeFormal___is_supertype(val_t p0
, val_t p1
){
155 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
158 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
159 fra
.me
.file
= LOCATE_type_formal
;
161 fra
.me
.meth
= LOCATE_type_formal___MMTypeFormal___is_supertype
;
162 fra
.me
.has_broke
= 0;
164 fra
.me
.REG
[0] = NIT_NULL
;
165 fra
.me
.REG
[1] = NIT_NULL
;
168 fra
.me
.REG
[0] = ATTR_type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]);
169 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
170 /* ./metamodel//type_formal.nit:41 */
171 if (UNTAG_Bool(REGB0
)) {
172 fprintf(stderr
, "Reciever is null");
173 fprintf(stderr
, " (%s:%d)\n", LOCATE_type_formal
, 41);
176 REGB0
= CALL_static_type___MMType___is_supertype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
179 stack_frame_head
= fra
.me
.prev
;
182 val_t
type_formal___MMTypeFormal___is_nullable(val_t p0
){
183 struct {struct stack_frame_t me
;} fra
;
186 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
187 fra
.me
.file
= LOCATE_type_formal
;
189 fra
.me
.meth
= LOCATE_type_formal___MMTypeFormal___is_nullable
;
190 fra
.me
.has_broke
= 0;
192 fra
.me
.REG
[0] = NIT_NULL
;
194 fra
.me
.REG
[0] = ATTR_type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]);
195 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
196 /* ./metamodel//type_formal.nit:42 */
197 if (UNTAG_Bool(REGB0
)) {
198 fprintf(stderr
, "Reciever is null");
199 fprintf(stderr
, " (%s:%d)\n", LOCATE_type_formal
, 42);
202 REGB0
= CALL_static_type___MMType___is_nullable(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
205 stack_frame_head
= fra
.me
.prev
;
208 val_t
type_formal___MMTypeFormal___direct_type(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_type_formal
;
215 fra
.me
.meth
= LOCATE_type_formal___MMTypeFormal___direct_type
;
216 fra
.me
.has_broke
= 0;
218 fra
.me
.REG
[0] = NIT_NULL
;
220 fra
.me
.REG
[0] = ATTR_type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]);
221 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
222 /* ./metamodel//type_formal.nit:43 */
223 if (UNTAG_Bool(REGB0
)) {
224 fprintf(stderr
, "Reciever is null");
225 fprintf(stderr
, " (%s:%d)\n", LOCATE_type_formal
, 43);
228 fra
.me
.REG
[0] = CALL_type_formal___MMType___direct_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
231 stack_frame_head
= fra
.me
.prev
;
232 return fra
.me
.REG
[0];
234 val_t
type_formal___MMTypeFormal___name(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_type_formal
;
241 fra
.me
.meth
= LOCATE_type_formal___MMTypeFormal___name
;
242 fra
.me
.has_broke
= 0;
244 fra
.me
.REG
[0] = NIT_NULL
;
246 REGB0
= TAG_Bool(ATTR_type_formal___MMTypeFormal____name(fra
.me
.REG
[0])!=NIT_NULL
);
247 /* ./metamodel//type_formal.nit:33 */
248 if (UNTAG_Bool(REGB0
)) {
250 fprintf(stderr
, "Uninitialized attribute %s", "_name");
251 fprintf(stderr
, " (%s:%d)\n", LOCATE_type_formal
, 33);
254 fra
.me
.REG
[0] = ATTR_type_formal___MMTypeFormal____name(fra
.me
.REG
[0]);
255 stack_frame_head
= fra
.me
.prev
;
256 return fra
.me
.REG
[0];
258 val_t
type_formal___MMTypeFormal___bound(val_t p0
){
259 struct {struct stack_frame_t me
;} fra
;
262 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
263 fra
.me
.file
= LOCATE_type_formal
;
265 fra
.me
.meth
= LOCATE_type_formal___MMTypeFormal___bound
;
266 fra
.me
.has_broke
= 0;
268 fra
.me
.REG
[0] = NIT_NULL
;
270 fra
.me
.REG
[0] = ATTR_type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]);
271 REGB0
= TAG_Bool(fra
.me
.REG
[0]!=NIT_NULL
);
272 /* ./metamodel//type_formal.nit:37 */
273 if (UNTAG_Bool(REGB0
)) {
275 fprintf(stderr
, "Cast failed");
276 fprintf(stderr
, " (%s:%d)\n", LOCATE_type_formal
, 37);
281 stack_frame_head
= fra
.me
.prev
;
282 return fra
.me
.REG
[0];
284 void type_formal___MMTypeFormal___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
285 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_MMTypeFormal
].i
;
286 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
288 if (init_table
[itpos0
]) return;
289 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
290 fra
.me
.file
= LOCATE_type_formal
;
292 fra
.me
.meth
= LOCATE_type_formal___MMTypeFormal___init
;
293 fra
.me
.has_broke
= 0;
295 fra
.me
.REG
[0] = NIT_NULL
;
296 fra
.me
.REG
[1] = NIT_NULL
;
297 fra
.me
.REG
[2] = NIT_NULL
;
298 fra
.me
.REG
[3] = NIT_NULL
;
302 fra
.me
.REG
[3] = fra
.me
.REG
[0];
303 /* ./metamodel//type_formal.nit:48 */
304 CALL_static_type___MMType___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
305 /* ./metamodel//type_formal.nit:50 */
306 ATTR_type_formal___MMTypeFormal____name(fra
.me
.REG
[3]) = fra
.me
.REG
[1];
307 /* ./metamodel//type_formal.nit:51 */
308 ATTR_type_formal___MMTypeFormal____bound(fra
.me
.REG
[3]) = fra
.me
.REG
[2];
309 stack_frame_head
= fra
.me
.prev
;
310 init_table
[itpos0
] = 1;