1 /* This C file is generated by NIT to compile module vararg. */
2 #include "vararg._sep.h"
3 val_t
vararg___MMSignature___vararg_rank(val_t p0
){
4 struct {struct stack_frame_t me
;} fra
;
7 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8 fra
.me
.file
= LOCATE_vararg
;
10 fra
.me
.meth
= LOCATE_vararg___MMSignature___vararg_rank
;
13 fra
.me
.REG
[0] = NIT_NULL
;
15 /* ./metamodel//vararg.nit:24 */
16 REGB0
= TAG_Bool(ATTR_vararg___MMSignature____vararg_rank(fra
.me
.REG
[0])!=NIT_NULL
);
17 if (UNTAG_Bool(REGB0
)) {
19 nit_abort("Uninitialized attribute %s", "_vararg_rank", LOCATE_vararg
, 24);
21 REGB0
= ATTR_vararg___MMSignature____vararg_rank(fra
.me
.REG
[0]);
22 stack_frame_head
= fra
.me
.prev
;
25 void vararg___MMSignature___vararg_rank__eq(val_t p0
, val_t p1
){
26 struct {struct stack_frame_t me
;} fra
;
29 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
30 fra
.me
.file
= LOCATE_vararg
;
32 fra
.me
.meth
= LOCATE_vararg___MMSignature___vararg_rank__eq
;
35 fra
.me
.REG
[0] = NIT_NULL
;
38 /* ./metamodel//vararg.nit:24 */
39 ATTR_vararg___MMSignature____vararg_rank(fra
.me
.REG
[0]) = REGB0
;
40 stack_frame_head
= fra
.me
.prev
;
43 val_t
vararg___MMSignature___has_vararg(val_t p0
){
44 struct {struct stack_frame_t me
;} fra
;
48 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
49 fra
.me
.file
= LOCATE_vararg
;
51 fra
.me
.meth
= LOCATE_vararg___MMSignature___has_vararg
;
54 fra
.me
.REG
[0] = NIT_NULL
;
56 /* ./metamodel//vararg.nit:30 */
57 REGB0
= TAG_Bool(ATTR_vararg___MMSignature____vararg_rank(fra
.me
.REG
[0])!=NIT_NULL
);
58 if (UNTAG_Bool(REGB0
)) {
60 nit_abort("Uninitialized attribute %s", "_vararg_rank", LOCATE_vararg
, 30);
62 REGB0
= ATTR_vararg___MMSignature____vararg_rank(fra
.me
.REG
[0]);
64 /* ./../lib/standard//kernel.nit:213 */
65 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
66 /* ./metamodel//vararg.nit:30 */
69 stack_frame_head
= fra
.me
.prev
;
72 val_t
vararg___MMSignature___adaptation_to(val_t p0
, val_t p1
){
73 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
76 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
77 fra
.me
.file
= LOCATE_vararg
;
79 fra
.me
.meth
= LOCATE_vararg___MMSignature___adaptation_to
;
82 fra
.me
.REG
[0] = NIT_NULL
;
83 fra
.me
.REG
[1] = NIT_NULL
;
84 fra
.me
.REG
[2] = NIT_NULL
;
87 /* ./metamodel//vararg.nit:33 */
88 fra
.me
.REG
[2] = fra
.me
.REG
[0];
89 /* ./metamodel//vararg.nit:35 */
90 fra
.me
.REG
[1] = CALL_SUPER_vararg___MMSignature___adaptation_to(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
91 /* ./metamodel//vararg.nit:36 */
92 REGB0
= TAG_Bool(ATTR_vararg___MMSignature____vararg_rank(fra
.me
.REG
[2])!=NIT_NULL
);
93 if (UNTAG_Bool(REGB0
)) {
95 nit_abort("Uninitialized attribute %s", "_vararg_rank", LOCATE_vararg
, 36);
97 REGB0
= ATTR_vararg___MMSignature____vararg_rank(fra
.me
.REG
[2]);
98 CALL_vararg___MMSignature___vararg_rank__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
99 /* ./metamodel//vararg.nit:37 */
102 stack_frame_head
= fra
.me
.prev
;
103 return fra
.me
.REG
[1];
105 val_t
vararg___MMSignature___not_for_self(val_t p0
){
106 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
109 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
110 fra
.me
.file
= LOCATE_vararg
;
112 fra
.me
.meth
= LOCATE_vararg___MMSignature___not_for_self
;
113 fra
.me
.has_broke
= 0;
115 fra
.me
.REG
[0] = NIT_NULL
;
116 fra
.me
.REG
[1] = NIT_NULL
;
118 /* ./metamodel//vararg.nit:40 */
119 fra
.me
.REG
[1] = fra
.me
.REG
[0];
120 /* ./metamodel//vararg.nit:42 */
121 fra
.me
.REG
[0] = CALL_SUPER_vararg___MMSignature___not_for_self(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
122 /* ./metamodel//vararg.nit:43 */
123 REGB0
= TAG_Bool(ATTR_vararg___MMSignature____vararg_rank(fra
.me
.REG
[1])!=NIT_NULL
);
124 if (UNTAG_Bool(REGB0
)) {
126 nit_abort("Uninitialized attribute %s", "_vararg_rank", LOCATE_vararg
, 43);
128 REGB0
= ATTR_vararg___MMSignature____vararg_rank(fra
.me
.REG
[1]);
129 CALL_vararg___MMSignature___vararg_rank__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
130 /* ./metamodel//vararg.nit:44 */
133 stack_frame_head
= fra
.me
.prev
;
134 return fra
.me
.REG
[0];
136 void vararg___MMSignature___init(val_t p0
, val_t p1
, val_t p2
, val_t p3
, int* init_table
){
137 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_MMSignature
].i
;
138 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
141 if (init_table
[itpos0
]) return;
142 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
143 fra
.me
.file
= LOCATE_vararg
;
145 fra
.me
.meth
= LOCATE_vararg___MMSignature___init
;
146 fra
.me
.has_broke
= 0;
148 fra
.me
.REG
[0] = NIT_NULL
;
149 fra
.me
.REG
[1] = NIT_NULL
;
150 fra
.me
.REG
[2] = NIT_NULL
;
151 fra
.me
.REG
[3] = NIT_NULL
;
152 fra
.me
.REG
[4] = NIT_NULL
;
157 /* ./metamodel//vararg.nit:47 */
158 fra
.me
.REG
[4] = fra
.me
.REG
[0];
159 /* ./metamodel//vararg.nit:49 */
160 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
);
161 /* ./metamodel//vararg.nit:50 */
163 /* ./../lib/standard//kernel.nit:216 */
164 REGB0
= TAG_Int(-UNTAG_Int(REGB0
));
165 /* ./metamodel//vararg.nit:50 */
166 ATTR_vararg___MMSignature____vararg_rank(fra
.me
.REG
[4]) = REGB0
;
167 stack_frame_head
= fra
.me
.prev
;
168 init_table
[itpos0
] = 1;