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___MMTypeFormal___is_valid
[] = "type_formal::MMTypeFormal::(static_type::MMType::is_valid)";
23 val_t
metamodel___type_formal___MMTypeFormal___is_valid(val_t p0
){
24 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
28 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
29 fra
.me
.file
= LOCATE_metamodel___type_formal
;
31 fra
.me
.meth
= LOCATE_metamodel___type_formal___MMTypeFormal___is_valid
;
34 fra
.me
.nitni_local_ref_head
= NULL
;
35 fra
.me
.REG
[0] = NIT_NULL
;
36 fra
.me
.REG
[1] = NIT_NULL
;
38 /* metamodel/type_formal.nit:31 */
39 fra
.me
.REG
[1] = ATTR_metamodel___type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]);
40 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
41 if (UNTAG_Bool(REGB0
)) {
43 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
44 if (UNTAG_Bool(REGB1
)) {
48 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
52 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
53 if (UNTAG_Bool(REGB0
)) {
54 fra
.me
.REG
[0] = ATTR_metamodel___type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]);
55 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
56 if (UNTAG_Bool(REGB0
)) {
57 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___type_formal
, 31);
59 REGB0
= CALL_metamodel___static_type___MMType___is_valid(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
66 stack_frame_head
= fra
.me
.prev
;
69 static const char LOCATE_metamodel___type_formal___MMTypeFormal___name
[] = "type_formal::MMTypeFormal::name";
70 val_t
metamodel___type_formal___MMTypeFormal___name(val_t p0
){
71 struct {struct stack_frame_t me
;} fra
;
74 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
75 fra
.me
.file
= LOCATE_metamodel___type_formal
;
77 fra
.me
.meth
= LOCATE_metamodel___type_formal___MMTypeFormal___name
;
80 fra
.me
.nitni_local_ref_head
= NULL
;
81 fra
.me
.REG
[0] = NIT_NULL
;
83 /* metamodel/type_formal.nit:33 */
84 REGB0
= TAG_Bool(ATTR_metamodel___type_formal___MMTypeFormal____name(fra
.me
.REG
[0])!=NIT_NULL
);
85 if (UNTAG_Bool(REGB0
)) {
87 nit_abort("Uninitialized attribute %s", "_name", LOCATE_metamodel___type_formal
, 33);
89 fra
.me
.REG
[0] = ATTR_metamodel___type_formal___MMTypeFormal____name(fra
.me
.REG
[0]);
90 stack_frame_head
= fra
.me
.prev
;
93 static const char LOCATE_metamodel___type_formal___MMTypeFormal___bound
[] = "type_formal::MMTypeFormal::bound";
94 val_t
metamodel___type_formal___MMTypeFormal___bound(val_t p0
){
95 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
98 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
99 fra
.me
.file
= LOCATE_metamodel___type_formal
;
101 fra
.me
.meth
= LOCATE_metamodel___type_formal___MMTypeFormal___bound
;
102 fra
.me
.has_broke
= 0;
104 fra
.me
.nitni_local_ref_head
= NULL
;
105 fra
.me
.REG
[0] = NIT_NULL
;
106 fra
.me
.REG
[1] = NIT_NULL
;
108 /* metamodel/type_formal.nit:36 */
109 fra
.me
.REG
[1] = fra
.me
.REG
[0];
110 /* metamodel/type_formal.nit:37 */
111 fra
.me
.REG
[1] = ATTR_metamodel___type_formal___MMTypeFormal____bound(fra
.me
.REG
[1]);
112 REGB0
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
113 if (UNTAG_Bool(REGB0
)) {
115 nit_abort("Cast failed", NULL
, LOCATE_metamodel___type_formal
, 37);
119 stack_frame_head
= fra
.me
.prev
;
120 return fra
.me
.REG
[1];
122 static const char LOCATE_metamodel___type_formal___MMTypeFormal_____l
[] = "type_formal::MMTypeFormal::(static_type::MMType::<)";
123 val_t
metamodel___type_formal___MMTypeFormal_____l(val_t p0
, val_t p1
){
124 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
128 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
129 fra
.me
.file
= LOCATE_metamodel___type_formal
;
131 fra
.me
.meth
= LOCATE_metamodel___type_formal___MMTypeFormal_____l
;
132 fra
.me
.has_broke
= 0;
134 fra
.me
.nitni_local_ref_head
= NULL
;
135 fra
.me
.REG
[0] = NIT_NULL
;
136 fra
.me
.REG
[1] = NIT_NULL
;
139 /* metamodel/type_formal.nit:40 */
140 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[1],fra
.me
.REG
[0]));
141 if (UNTAG_Bool(REGB0
)) {
143 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
146 if (UNTAG_Bool(REGB0
)) {
149 fra
.me
.REG
[0] = CALL_metamodel___type_formal___MMTypeFormal___bound(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
150 REGB1
= CALL_metamodel___static_type___MMType___is_supertype(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
155 stack_frame_head
= fra
.me
.prev
;
158 static const char LOCATE_metamodel___type_formal___MMTypeFormal___is_supertype
[] = "type_formal::MMTypeFormal::(static_type::MMType::is_supertype)";
159 val_t
metamodel___type_formal___MMTypeFormal___is_supertype(val_t p0
, val_t p1
){
160 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
163 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
164 fra
.me
.file
= LOCATE_metamodel___type_formal
;
166 fra
.me
.meth
= LOCATE_metamodel___type_formal___MMTypeFormal___is_supertype
;
167 fra
.me
.has_broke
= 0;
169 fra
.me
.nitni_local_ref_head
= NULL
;
170 fra
.me
.REG
[0] = NIT_NULL
;
171 fra
.me
.REG
[1] = NIT_NULL
;
174 /* metamodel/type_formal.nit:41 */
175 fra
.me
.REG
[0] = ATTR_metamodel___type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]);
176 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
177 if (UNTAG_Bool(REGB0
)) {
178 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___type_formal
, 41);
180 REGB0
= CALL_metamodel___static_type___MMType___is_supertype(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
183 stack_frame_head
= fra
.me
.prev
;
186 static const char LOCATE_metamodel___type_formal___MMTypeFormal___is_nullable
[] = "type_formal::MMTypeFormal::(static_type::MMType::is_nullable)";
187 val_t
metamodel___type_formal___MMTypeFormal___is_nullable(val_t p0
){
188 struct {struct stack_frame_t me
;} fra
;
191 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
192 fra
.me
.file
= LOCATE_metamodel___type_formal
;
194 fra
.me
.meth
= LOCATE_metamodel___type_formal___MMTypeFormal___is_nullable
;
195 fra
.me
.has_broke
= 0;
197 fra
.me
.nitni_local_ref_head
= NULL
;
198 fra
.me
.REG
[0] = NIT_NULL
;
200 /* metamodel/type_formal.nit:42 */
201 fra
.me
.REG
[0] = ATTR_metamodel___type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]);
202 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
203 if (UNTAG_Bool(REGB0
)) {
204 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___type_formal
, 42);
206 REGB0
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
209 stack_frame_head
= fra
.me
.prev
;
212 static const char LOCATE_metamodel___type_formal___MMTypeFormal___direct_type
[] = "type_formal::MMTypeFormal::(type_formal::MMType::direct_type)";
213 val_t
metamodel___type_formal___MMTypeFormal___direct_type(val_t p0
){
214 struct {struct stack_frame_t me
;} fra
;
217 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
218 fra
.me
.file
= LOCATE_metamodel___type_formal
;
220 fra
.me
.meth
= LOCATE_metamodel___type_formal___MMTypeFormal___direct_type
;
221 fra
.me
.has_broke
= 0;
223 fra
.me
.nitni_local_ref_head
= NULL
;
224 fra
.me
.REG
[0] = NIT_NULL
;
226 /* metamodel/type_formal.nit:43 */
227 fra
.me
.REG
[0] = ATTR_metamodel___type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]);
228 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
229 if (UNTAG_Bool(REGB0
)) {
230 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___type_formal
, 43);
232 fra
.me
.REG
[0] = CALL_metamodel___type_formal___MMType___direct_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
235 stack_frame_head
= fra
.me
.prev
;
236 return fra
.me
.REG
[0];
238 static const char LOCATE_metamodel___type_formal___MMTypeFormal___local_class
[] = "type_formal::MMTypeFormal::(static_type::MMType::local_class)";
239 val_t
metamodel___type_formal___MMTypeFormal___local_class(val_t p0
){
240 struct {struct stack_frame_t me
;} fra
;
243 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
244 fra
.me
.file
= LOCATE_metamodel___type_formal
;
246 fra
.me
.meth
= LOCATE_metamodel___type_formal___MMTypeFormal___local_class
;
247 fra
.me
.has_broke
= 0;
249 fra
.me
.nitni_local_ref_head
= NULL
;
250 fra
.me
.REG
[0] = NIT_NULL
;
252 /* metamodel/type_formal.nit:44 */
253 fra
.me
.REG
[0] = ATTR_metamodel___type_formal___MMTypeFormal____bound(fra
.me
.REG
[0]);
254 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
255 if (UNTAG_Bool(REGB0
)) {
256 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___type_formal
, 44);
258 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
261 stack_frame_head
= fra
.me
.prev
;
262 return fra
.me
.REG
[0];
264 static const char LOCATE_metamodel___type_formal___MMTypeFormal___to_s
[] = "type_formal::MMTypeFormal::(string::Object::to_s)";
265 val_t
metamodel___type_formal___MMTypeFormal___to_s(val_t p0
){
266 struct {struct stack_frame_t me
;} fra
;
269 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
270 fra
.me
.file
= LOCATE_metamodel___type_formal
;
272 fra
.me
.meth
= LOCATE_metamodel___type_formal___MMTypeFormal___to_s
;
273 fra
.me
.has_broke
= 0;
275 fra
.me
.nitni_local_ref_head
= NULL
;
276 fra
.me
.REG
[0] = NIT_NULL
;
278 /* metamodel/type_formal.nit:46 */
279 REGB0
= TAG_Bool(ATTR_metamodel___type_formal___MMTypeFormal____name(fra
.me
.REG
[0])!=NIT_NULL
);
280 if (UNTAG_Bool(REGB0
)) {
282 nit_abort("Uninitialized attribute %s", "_name", LOCATE_metamodel___type_formal
, 46);
284 fra
.me
.REG
[0] = ATTR_metamodel___type_formal___MMTypeFormal____name(fra
.me
.REG
[0]);
285 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
288 stack_frame_head
= fra
.me
.prev
;
289 return fra
.me
.REG
[0];
291 static const char LOCATE_metamodel___type_formal___MMTypeFormal___init
[] = "type_formal::MMTypeFormal::init";
292 void metamodel___type_formal___MMTypeFormal___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
293 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_metamodel___type_formal___MMTypeFormal
].i
;
294 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
296 if (init_table
[itpos0
]) return;
297 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
298 fra
.me
.file
= LOCATE_metamodel___type_formal
;
300 fra
.me
.meth
= LOCATE_metamodel___type_formal___MMTypeFormal___init
;
301 fra
.me
.has_broke
= 0;
303 fra
.me
.nitni_local_ref_head
= NULL
;
304 fra
.me
.REG
[0] = NIT_NULL
;
305 fra
.me
.REG
[1] = NIT_NULL
;
306 fra
.me
.REG
[2] = NIT_NULL
;
307 fra
.me
.REG
[3] = NIT_NULL
;
311 /* metamodel/type_formal.nit:48 */
312 fra
.me
.REG
[3] = fra
.me
.REG
[0];
313 CALL_metamodel___static_type___MMType___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
314 /* metamodel/type_formal.nit:50 */
315 ATTR_metamodel___type_formal___MMTypeFormal____name(fra
.me
.REG
[3]) = fra
.me
.REG
[1];
316 /* metamodel/type_formal.nit:51 */
317 ATTR_metamodel___type_formal___MMTypeFormal____bound(fra
.me
.REG
[3]) = fra
.me
.REG
[2];
318 stack_frame_head
= fra
.me
.prev
;
319 init_table
[itpos0
] = 1;