Only one gcc pass for initial bootstrap
[nit.git] / c_src / type_formal._sep.c
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 self) {
4 struct trace_t trace = {NULL, LOCATE_type_formal, 24, LOCATE_type_formal___MMType___direct_type};
5 val_t variable0;
6 trace.prev = tracehead; tracehead = &trace;
7 variable0 = self;
8 goto return_label0;
9 return_label0: while(false);
10 tracehead = trace.prev;
11 return variable0;
12 }
13 val_t type_formal___MMTypeFormal___name(val_t self) {
14 struct trace_t trace = {NULL, LOCATE_type_formal, 31, LOCATE_type_formal___MMTypeFormal___name};
15 trace.prev = tracehead; tracehead = &trace;
16 tracehead = trace.prev;
17 return ATTR_type_formal___MMTypeFormal____name( self) /*MMTypeFormal::_name*/;
18 }
19 val_t type_formal___MMTypeFormal___bound(val_t self) {
20 struct trace_t trace = {NULL, LOCATE_type_formal, 34, LOCATE_type_formal___MMTypeFormal___bound};
21 trace.prev = tracehead; tracehead = &trace;
22 tracehead = trace.prev;
23 return ATTR_type_formal___MMTypeFormal____bound( self) /*MMTypeFormal::_bound*/;
24 }
25 val_t type_formal___MMTypeFormal_____l(val_t self, val_t param0) {
26 struct trace_t trace = {NULL, LOCATE_type_formal, 37, LOCATE_type_formal___MMTypeFormal_____l};
27 val_t variable0;
28 val_t variable1;
29 val_t variable2;
30 val_t variable3;
31 trace.prev = tracehead; tracehead = &trace;
32 variable0 = param0;
33 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*t*/ == NIT_NULL /*null*/) || (( variable0 /*t*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*t*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*t*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*t*/,COLOR_kernel___Object_____eqeq))( variable0 /*t*/, NIT_NULL /*null*/) /*Object::==*/)))))));
34 variable2 = variable1;
35 if (UNTAG_Bool(variable2)) { /* and */
36 variable2 = TAG_Bool(( variable0 /*t*/ == self) || (( variable0 /*t*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*t*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*t*/, self)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*t*/,COLOR_kernel___Object_____eqeq))( variable0 /*t*/, self) /*Object::==*/)))));
37 variable3 = variable2;
38 if (!UNTAG_Bool(variable3)) { /* or */
39 variable3 = ATTR_type_formal___MMTypeFormal____bound( self) /*MMTypeFormal::_bound*/;
40 variable3 = ((static_type___MMType___is_supertype_t)CALL( variable0 /*t*/,COLOR_static_type___MMType___is_supertype))( variable0 /*t*/, variable3) /*MMType::is_supertype*/;
41 }
42 variable2 = variable3;
43 }
44 variable1 = variable2;
45 goto return_label1;
46 return_label1: while(false);
47 tracehead = trace.prev;
48 return variable1;
49 }
50 val_t type_formal___MMTypeFormal___is_supertype(val_t self, val_t param0) {
51 struct trace_t trace = {NULL, LOCATE_type_formal, 38, LOCATE_type_formal___MMTypeFormal___is_supertype};
52 val_t variable0;
53 val_t variable1;
54 trace.prev = tracehead; tracehead = &trace;
55 variable0 = param0;
56 variable1 = ATTR_type_formal___MMTypeFormal____bound( self) /*MMTypeFormal::_bound*/;
57 variable1 = ((static_type___MMType___is_supertype_t)CALL(variable1,COLOR_static_type___MMType___is_supertype))(variable1, variable0 /*t*/) /*MMType::is_supertype*/;
58 goto return_label2;
59 return_label2: while(false);
60 tracehead = trace.prev;
61 return variable1;
62 }
63 val_t type_formal___MMTypeFormal___direct_type(val_t self) {
64 struct trace_t trace = {NULL, LOCATE_type_formal, 39, LOCATE_type_formal___MMTypeFormal___direct_type};
65 val_t variable0;
66 trace.prev = tracehead; tracehead = &trace;
67 variable0 = ATTR_type_formal___MMTypeFormal____bound( self) /*MMTypeFormal::_bound*/;
68 variable0 = ((type_formal___MMType___direct_type_t)CALL(variable0,COLOR_type_formal___MMType___direct_type))(variable0) /*MMType::direct_type*/;
69 goto return_label3;
70 return_label3: while(false);
71 tracehead = trace.prev;
72 return variable0;
73 }
74 val_t type_formal___MMTypeFormal___local_class(val_t self) {
75 struct trace_t trace = {NULL, LOCATE_type_formal, 40, LOCATE_type_formal___MMTypeFormal___local_class};
76 val_t variable0;
77 trace.prev = tracehead; tracehead = &trace;
78 variable0 = ATTR_type_formal___MMTypeFormal____bound( self) /*MMTypeFormal::_bound*/;
79 variable0 = TAG_Bool((variable0 == NIT_NULL /*null*/) || ((variable0 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable0, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable0,COLOR_kernel___Object_____eqeq))(variable0, NIT_NULL /*null*/) /*Object::==*/)))));
80 if (UNTAG_Bool(variable0)) { /*if*/
81 variable0 = NIT_NULL /*null*/;
82 goto return_label4;
83 }
84 variable0 = ATTR_type_formal___MMTypeFormal____bound( self) /*MMTypeFormal::_bound*/;
85 variable0 = ((static_type___MMType___local_class_t)CALL(variable0,COLOR_static_type___MMType___local_class))(variable0) /*MMType::local_class*/;
86 goto return_label4;
87 return_label4: while(false);
88 tracehead = trace.prev;
89 return variable0;
90 }
91 val_t type_formal___MMTypeFormal___to_s(val_t self) {
92 struct trace_t trace = {NULL, LOCATE_type_formal, 46, LOCATE_type_formal___MMTypeFormal___to_s};
93 val_t variable0;
94 trace.prev = tracehead; tracehead = &trace;
95 variable0 = ATTR_type_formal___MMTypeFormal____name( self) /*MMTypeFormal::_name*/;
96 variable0 = ((symbol___Symbol___to_s_t)CALL(variable0,COLOR_string___Object___to_s))(variable0) /*Symbol::to_s*/;
97 goto return_label5;
98 return_label5: while(false);
99 tracehead = trace.prev;
100 return variable0;
101 }
102 void type_formal___MMTypeFormal___init(val_t self, val_t param0, val_t param1, int* init_table) {
103 struct trace_t trace = {NULL, LOCATE_type_formal, 48, LOCATE_type_formal___MMTypeFormal___init};
104 val_t variable0;
105 val_t variable1;
106 trace.prev = tracehead; tracehead = &trace;
107 variable0 = param0;
108 variable1 = param1;
109 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMTypeFormal].i]) return;
110 ATTR_type_formal___MMTypeFormal____name( self) /*MMTypeFormal::_name*/ = variable0 /*name*/;
111 ATTR_type_formal___MMTypeFormal____bound( self) /*MMTypeFormal::_bound*/ = variable1 /*bound*/;
112 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_MMTypeFormal].i] = 1;
113 tracehead = trace.prev;
114 return;
115 }