gc: add 'help' option to list all available GC
[nit.git] / c_src / vararg._sep.c
1 /* This C file is generated by NIT to compile module vararg. */
2 #include "vararg._sep.h"
3 val_t vararg___MMSignature___adaptation_to(val_t p0, val_t p1){
4 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
5 val_t REGB0;
6 val_t tmp;
7 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8 fra.me.file = LOCATE_vararg;
9 fra.me.line = 33;
10 fra.me.meth = LOCATE_vararg___MMSignature___adaptation_to;
11 fra.me.has_broke = 0;
12 fra.me.REG_size = 3;
13 fra.me.REG[0] = NIT_NULL;
14 fra.me.REG[1] = NIT_NULL;
15 fra.me.REG[2] = NIT_NULL;
16 fra.me.REG[0] = p0;
17 fra.me.REG[1] = p1;
18 fra.me.REG[2] = fra.me.REG[0];
19 fra.me.REG[1] = CALL_SUPER_vararg___MMSignature___adaptation_to(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
20 REGB0 = TAG_Bool(ATTR_vararg___MMSignature____vararg_rank(fra.me.REG[2])!=NIT_NULL);
21 /* ./metamodel//vararg.nit:36 */
22 if (UNTAG_Bool(REGB0)) {
23 } else {
24 fprintf(stderr, "Uninitialized attribute %s", "_vararg_rank");
25 fprintf(stderr, " (%s:%d)\n", LOCATE_vararg, 36);
26 nit_exit(1);
27 }
28 REGB0 = ATTR_vararg___MMSignature____vararg_rank(fra.me.REG[2]);
29 CALL_vararg___MMSignature___vararg_rank__eq(fra.me.REG[1])(fra.me.REG[1], REGB0);
30 /* ./metamodel//vararg.nit:37 */
31 goto label1;
32 label1: while(0);
33 stack_frame_head = fra.me.prev;
34 return fra.me.REG[1];
35 }
36 val_t vararg___MMSignature___not_for_self(val_t p0){
37 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
38 val_t REGB0;
39 val_t tmp;
40 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41 fra.me.file = LOCATE_vararg;
42 fra.me.line = 40;
43 fra.me.meth = LOCATE_vararg___MMSignature___not_for_self;
44 fra.me.has_broke = 0;
45 fra.me.REG_size = 2;
46 fra.me.REG[0] = NIT_NULL;
47 fra.me.REG[1] = NIT_NULL;
48 fra.me.REG[0] = p0;
49 fra.me.REG[1] = fra.me.REG[0];
50 fra.me.REG[0] = CALL_SUPER_vararg___MMSignature___not_for_self(fra.me.REG[0])(fra.me.REG[0]);
51 REGB0 = TAG_Bool(ATTR_vararg___MMSignature____vararg_rank(fra.me.REG[1])!=NIT_NULL);
52 /* ./metamodel//vararg.nit:43 */
53 if (UNTAG_Bool(REGB0)) {
54 } else {
55 fprintf(stderr, "Uninitialized attribute %s", "_vararg_rank");
56 fprintf(stderr, " (%s:%d)\n", LOCATE_vararg, 43);
57 nit_exit(1);
58 }
59 REGB0 = ATTR_vararg___MMSignature____vararg_rank(fra.me.REG[1]);
60 CALL_vararg___MMSignature___vararg_rank__eq(fra.me.REG[0])(fra.me.REG[0], REGB0);
61 /* ./metamodel//vararg.nit:44 */
62 goto label1;
63 label1: while(0);
64 stack_frame_head = fra.me.prev;
65 return fra.me.REG[0];
66 }
67 void vararg___MMSignature___init(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
68 int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_MMSignature].i;
69 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
70 val_t REGB0;
71 val_t tmp;
72 if (init_table[itpos0]) return;
73 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
74 fra.me.file = LOCATE_vararg;
75 fra.me.line = 47;
76 fra.me.meth = LOCATE_vararg___MMSignature___init;
77 fra.me.has_broke = 0;
78 fra.me.REG_size = 5;
79 fra.me.REG[0] = NIT_NULL;
80 fra.me.REG[1] = NIT_NULL;
81 fra.me.REG[2] = NIT_NULL;
82 fra.me.REG[3] = NIT_NULL;
83 fra.me.REG[4] = NIT_NULL;
84 fra.me.REG[0] = p0;
85 fra.me.REG[1] = p1;
86 fra.me.REG[2] = p2;
87 fra.me.REG[3] = p3;
88 fra.me.REG[4] = fra.me.REG[0];
89 /* ./metamodel//vararg.nit:49 */
90 CALL_SUPER_vararg___MMSignature___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], fra.me.REG[3], init_table);
91 REGB0 = TAG_Int(1);
92 REGB0 = TAG_Int(-UNTAG_Int(REGB0));
93 /* ./metamodel//vararg.nit:50 */
94 ATTR_vararg___MMSignature____vararg_rank(fra.me.REG[4]) = REGB0;
95 stack_frame_head = fra.me.prev;
96 init_table[itpos0] = 1;
97 return;
98 }
99 val_t vararg___MMSignature___vararg_rank(val_t p0){
100 struct {struct stack_frame_t me;} fra;
101 val_t REGB0;
102 val_t tmp;
103 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
104 fra.me.file = LOCATE_vararg;
105 fra.me.line = 24;
106 fra.me.meth = LOCATE_vararg___MMSignature___vararg_rank;
107 fra.me.has_broke = 0;
108 fra.me.REG_size = 1;
109 fra.me.REG[0] = NIT_NULL;
110 fra.me.REG[0] = p0;
111 REGB0 = TAG_Bool(ATTR_vararg___MMSignature____vararg_rank(fra.me.REG[0])!=NIT_NULL);
112 /* ./metamodel//vararg.nit:24 */
113 if (UNTAG_Bool(REGB0)) {
114 } else {
115 fprintf(stderr, "Uninitialized attribute %s", "_vararg_rank");
116 fprintf(stderr, " (%s:%d)\n", LOCATE_vararg, 24);
117 nit_exit(1);
118 }
119 REGB0 = ATTR_vararg___MMSignature____vararg_rank(fra.me.REG[0]);
120 stack_frame_head = fra.me.prev;
121 return REGB0;
122 }
123 void vararg___MMSignature___vararg_rank__eq(val_t p0, val_t p1){
124 struct {struct stack_frame_t me;} fra;
125 val_t REGB0;
126 val_t tmp;
127 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
128 fra.me.file = LOCATE_vararg;
129 fra.me.line = 24;
130 fra.me.meth = LOCATE_vararg___MMSignature___vararg_rank__eq;
131 fra.me.has_broke = 0;
132 fra.me.REG_size = 1;
133 fra.me.REG[0] = NIT_NULL;
134 fra.me.REG[0] = p0;
135 REGB0 = p1;
136 /* ./metamodel//vararg.nit:24 */
137 ATTR_vararg___MMSignature____vararg_rank(fra.me.REG[0]) = REGB0;
138 stack_frame_head = fra.me.prev;
139 return;
140 }
141 val_t vararg___MMSignature___has_vararg(val_t p0){
142 struct {struct stack_frame_t me;} fra;
143 val_t REGB0;
144 val_t REGB1;
145 val_t tmp;
146 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
147 fra.me.file = LOCATE_vararg;
148 fra.me.line = 27;
149 fra.me.meth = LOCATE_vararg___MMSignature___has_vararg;
150 fra.me.has_broke = 0;
151 fra.me.REG_size = 1;
152 fra.me.REG[0] = NIT_NULL;
153 fra.me.REG[0] = p0;
154 REGB0 = TAG_Bool(ATTR_vararg___MMSignature____vararg_rank(fra.me.REG[0])!=NIT_NULL);
155 /* ./metamodel//vararg.nit:30 */
156 if (UNTAG_Bool(REGB0)) {
157 } else {
158 fprintf(stderr, "Uninitialized attribute %s", "_vararg_rank");
159 fprintf(stderr, " (%s:%d)\n", LOCATE_vararg, 30);
160 nit_exit(1);
161 }
162 REGB0 = ATTR_vararg___MMSignature____vararg_rank(fra.me.REG[0]);
163 REGB1 = TAG_Int(0);
164 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
165 /* ./metamodel//vararg.nit:30 */
166 goto label1;
167 label1: while(0);
168 stack_frame_head = fra.me.prev;
169 return REGB1;
170 }