1 /* This C file is generated by NIT to compile module metamodel___vararg. */
2 #include "metamodel___vararg._sep.h"
3 val_t
metamodel___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_metamodel___vararg
;
10 fra
.me
.meth
= LOCATE_metamodel___vararg___MMSignature___vararg_rank
;
13 fra
.me
.nitni_local_ref_head
= NULL
;
14 fra
.me
.REG
[0] = NIT_NULL
;
16 /* metamodel/vararg.nit:24 */
17 REGB0
= TAG_Bool(ATTR_metamodel___vararg___MMSignature____vararg_rank(fra
.me
.REG
[0])!=NIT_NULL
);
18 if (UNTAG_Bool(REGB0
)) {
20 nit_abort("Uninitialized attribute %s", "_vararg_rank", LOCATE_metamodel___vararg
, 24);
22 REGB0
= ATTR_metamodel___vararg___MMSignature____vararg_rank(fra
.me
.REG
[0]);
23 stack_frame_head
= fra
.me
.prev
;
26 void metamodel___vararg___MMSignature___vararg_rank__eq(val_t p0
, val_t p1
){
27 struct {struct stack_frame_t me
;} fra
;
30 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
31 fra
.me
.file
= LOCATE_metamodel___vararg
;
33 fra
.me
.meth
= LOCATE_metamodel___vararg___MMSignature___vararg_rank__eq
;
36 fra
.me
.nitni_local_ref_head
= NULL
;
37 fra
.me
.REG
[0] = NIT_NULL
;
40 /* metamodel/vararg.nit:24 */
41 ATTR_metamodel___vararg___MMSignature____vararg_rank(fra
.me
.REG
[0]) = REGB0
;
42 stack_frame_head
= fra
.me
.prev
;
45 val_t
metamodel___vararg___MMSignature___has_vararg(val_t p0
){
46 struct {struct stack_frame_t me
;} fra
;
51 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
52 fra
.me
.file
= LOCATE_metamodel___vararg
;
54 fra
.me
.meth
= LOCATE_metamodel___vararg___MMSignature___has_vararg
;
57 fra
.me
.nitni_local_ref_head
= NULL
;
58 fra
.me
.REG
[0] = NIT_NULL
;
60 /* metamodel/vararg.nit:30 */
61 REGB0
= TAG_Bool(ATTR_metamodel___vararg___MMSignature____vararg_rank(fra
.me
.REG
[0])!=NIT_NULL
);
62 if (UNTAG_Bool(REGB0
)) {
64 nit_abort("Uninitialized attribute %s", "_vararg_rank", LOCATE_metamodel___vararg
, 30);
66 REGB0
= ATTR_metamodel___vararg___MMSignature____vararg_rank(fra
.me
.REG
[0]);
68 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
69 if (UNTAG_Bool(REGB2
)) {
71 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
73 /* ../lib/standard/kernel.nit:233 */
74 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
75 /* metamodel/vararg.nit:30 */
78 stack_frame_head
= fra
.me
.prev
;
81 val_t
metamodel___vararg___MMSignature___adaptation_to(val_t p0
, val_t p1
){
82 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
85 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
86 fra
.me
.file
= LOCATE_metamodel___vararg
;
88 fra
.me
.meth
= LOCATE_metamodel___vararg___MMSignature___adaptation_to
;
91 fra
.me
.nitni_local_ref_head
= NULL
;
92 fra
.me
.REG
[0] = NIT_NULL
;
93 fra
.me
.REG
[1] = NIT_NULL
;
94 fra
.me
.REG
[2] = NIT_NULL
;
97 /* metamodel/vararg.nit:33 */
98 fra
.me
.REG
[2] = fra
.me
.REG
[0];
99 /* metamodel/vararg.nit:35 */
100 fra
.me
.REG
[1] = CALL_SUPER_metamodel___vararg___MMSignature___adaptation_to(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
101 /* metamodel/vararg.nit:36 */
102 REGB0
= TAG_Bool(ATTR_metamodel___vararg___MMSignature____vararg_rank(fra
.me
.REG
[2])!=NIT_NULL
);
103 if (UNTAG_Bool(REGB0
)) {
105 nit_abort("Uninitialized attribute %s", "_vararg_rank", LOCATE_metamodel___vararg
, 36);
107 REGB0
= ATTR_metamodel___vararg___MMSignature____vararg_rank(fra
.me
.REG
[2]);
108 CALL_metamodel___vararg___MMSignature___vararg_rank__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
109 /* metamodel/vararg.nit:37 */
112 stack_frame_head
= fra
.me
.prev
;
113 return fra
.me
.REG
[1];
115 val_t
metamodel___vararg___MMSignature___not_for_self(val_t p0
){
116 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
119 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
120 fra
.me
.file
= LOCATE_metamodel___vararg
;
122 fra
.me
.meth
= LOCATE_metamodel___vararg___MMSignature___not_for_self
;
123 fra
.me
.has_broke
= 0;
125 fra
.me
.nitni_local_ref_head
= NULL
;
126 fra
.me
.REG
[0] = NIT_NULL
;
127 fra
.me
.REG
[1] = NIT_NULL
;
129 /* metamodel/vararg.nit:40 */
130 fra
.me
.REG
[1] = fra
.me
.REG
[0];
131 /* metamodel/vararg.nit:42 */
132 fra
.me
.REG
[0] = CALL_SUPER_metamodel___vararg___MMSignature___not_for_self(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
133 /* metamodel/vararg.nit:43 */
134 REGB0
= TAG_Bool(ATTR_metamodel___vararg___MMSignature____vararg_rank(fra
.me
.REG
[1])!=NIT_NULL
);
135 if (UNTAG_Bool(REGB0
)) {
137 nit_abort("Uninitialized attribute %s", "_vararg_rank", LOCATE_metamodel___vararg
, 43);
139 REGB0
= ATTR_metamodel___vararg___MMSignature____vararg_rank(fra
.me
.REG
[1]);
140 CALL_metamodel___vararg___MMSignature___vararg_rank__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
141 /* metamodel/vararg.nit:44 */
144 stack_frame_head
= fra
.me
.prev
;
145 return fra
.me
.REG
[0];
147 void metamodel___vararg___MMSignature___init(val_t p0
, val_t p1
, val_t p2
, val_t p3
, int* init_table
){
148 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_metamodel___static_type___MMSignature
].i
;
149 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
152 if (init_table
[itpos0
]) return;
153 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
154 fra
.me
.file
= LOCATE_metamodel___vararg
;
156 fra
.me
.meth
= LOCATE_metamodel___vararg___MMSignature___init
;
157 fra
.me
.has_broke
= 0;
159 fra
.me
.nitni_local_ref_head
= NULL
;
160 fra
.me
.REG
[0] = NIT_NULL
;
161 fra
.me
.REG
[1] = NIT_NULL
;
162 fra
.me
.REG
[2] = NIT_NULL
;
163 fra
.me
.REG
[3] = NIT_NULL
;
164 fra
.me
.REG
[4] = NIT_NULL
;
169 /* metamodel/vararg.nit:47 */
170 fra
.me
.REG
[4] = fra
.me
.REG
[0];
171 /* metamodel/vararg.nit:49 */
172 CALL_SUPER_metamodel___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
);
173 /* metamodel/vararg.nit:50 */
175 /* ../lib/standard/kernel.nit:236 */
176 REGB0
= TAG_Int(-UNTAG_Int(REGB0
));
177 /* metamodel/vararg.nit:50 */
178 ATTR_metamodel___vararg___MMSignature____vararg_rank(fra
.me
.REG
[4]) = REGB0
;
179 stack_frame_head
= fra
.me
.prev
;
180 init_table
[itpos0
] = 1;