1 /* This C file is generated by NIT to compile module metamodel___vararg. */
2 #include "metamodel___vararg._sep.h"
3 static const char LOCATE_metamodel___vararg___MMSignature___vararg_rank
[] = "vararg::MMSignature::vararg_rank";
4 val_t
metamodel___vararg___MMSignature___vararg_rank(val_t p0
){
5 struct {struct stack_frame_t me
;} fra
;
8 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9 fra
.me
.file
= LOCATE_metamodel___vararg
;
11 fra
.me
.meth
= LOCATE_metamodel___vararg___MMSignature___vararg_rank
;
14 fra
.me
.nitni_local_ref_head
= NULL
;
15 fra
.me
.REG
[0] = NIT_NULL
;
17 /* metamodel/vararg.nit:24 */
18 REGB0
= TAG_Bool(ATTR_metamodel___vararg___MMSignature____vararg_rank(fra
.me
.REG
[0])!=NIT_NULL
);
19 if (UNTAG_Bool(REGB0
)) {
21 nit_abort("Uninitialized attribute %s", "_vararg_rank", LOCATE_metamodel___vararg
, 24);
23 REGB0
= ATTR_metamodel___vararg___MMSignature____vararg_rank(fra
.me
.REG
[0]);
24 stack_frame_head
= fra
.me
.prev
;
27 static const char LOCATE_metamodel___vararg___MMSignature___vararg_rank__eq
[] = "vararg::MMSignature::vararg_rank=";
28 void metamodel___vararg___MMSignature___vararg_rank__eq(val_t p0
, val_t p1
){
29 struct {struct stack_frame_t me
;} fra
;
32 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
33 fra
.me
.file
= LOCATE_metamodel___vararg
;
35 fra
.me
.meth
= LOCATE_metamodel___vararg___MMSignature___vararg_rank__eq
;
38 fra
.me
.nitni_local_ref_head
= NULL
;
39 fra
.me
.REG
[0] = NIT_NULL
;
42 /* metamodel/vararg.nit:24 */
43 ATTR_metamodel___vararg___MMSignature____vararg_rank(fra
.me
.REG
[0]) = REGB0
;
44 stack_frame_head
= fra
.me
.prev
;
47 static const char LOCATE_metamodel___vararg___MMSignature___has_vararg
[] = "vararg::MMSignature::has_vararg";
48 val_t
metamodel___vararg___MMSignature___has_vararg(val_t p0
){
49 struct {struct stack_frame_t me
;} fra
;
54 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
55 fra
.me
.file
= LOCATE_metamodel___vararg
;
57 fra
.me
.meth
= LOCATE_metamodel___vararg___MMSignature___has_vararg
;
60 fra
.me
.nitni_local_ref_head
= NULL
;
61 fra
.me
.REG
[0] = NIT_NULL
;
63 /* metamodel/vararg.nit:30 */
64 REGB0
= TAG_Bool(ATTR_metamodel___vararg___MMSignature____vararg_rank(fra
.me
.REG
[0])!=NIT_NULL
);
65 if (UNTAG_Bool(REGB0
)) {
67 nit_abort("Uninitialized attribute %s", "_vararg_rank", LOCATE_metamodel___vararg
, 30);
69 REGB0
= ATTR_metamodel___vararg___MMSignature____vararg_rank(fra
.me
.REG
[0]);
71 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
72 if (UNTAG_Bool(REGB2
)) {
74 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
76 /* ../lib/standard/kernel.nit:236 */
77 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
78 /* metamodel/vararg.nit:30 */
81 stack_frame_head
= fra
.me
.prev
;
84 static const char LOCATE_metamodel___vararg___MMSignature___adaptation_to
[] = "vararg::MMSignature::(static_type::MMSignature::adaptation_to)";
85 val_t
metamodel___vararg___MMSignature___adaptation_to(val_t p0
, val_t p1
){
86 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
89 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
90 fra
.me
.file
= LOCATE_metamodel___vararg
;
92 fra
.me
.meth
= LOCATE_metamodel___vararg___MMSignature___adaptation_to
;
95 fra
.me
.nitni_local_ref_head
= NULL
;
96 fra
.me
.REG
[0] = NIT_NULL
;
97 fra
.me
.REG
[1] = NIT_NULL
;
98 fra
.me
.REG
[2] = NIT_NULL
;
101 /* metamodel/vararg.nit:33 */
102 fra
.me
.REG
[2] = fra
.me
.REG
[0];
103 /* metamodel/vararg.nit:35 */
104 fra
.me
.REG
[1] = CALL_SUPER_metamodel___vararg___MMSignature___adaptation_to(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
105 /* metamodel/vararg.nit:36 */
106 REGB0
= TAG_Bool(ATTR_metamodel___vararg___MMSignature____vararg_rank(fra
.me
.REG
[2])!=NIT_NULL
);
107 if (UNTAG_Bool(REGB0
)) {
109 nit_abort("Uninitialized attribute %s", "_vararg_rank", LOCATE_metamodel___vararg
, 36);
111 REGB0
= ATTR_metamodel___vararg___MMSignature____vararg_rank(fra
.me
.REG
[2]);
112 CALL_metamodel___vararg___MMSignature___vararg_rank__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
113 /* metamodel/vararg.nit:37 */
116 stack_frame_head
= fra
.me
.prev
;
117 return fra
.me
.REG
[1];
119 static const char LOCATE_metamodel___vararg___MMSignature___not_for_self
[] = "vararg::MMSignature::(static_type::MMSignature::not_for_self)";
120 val_t
metamodel___vararg___MMSignature___not_for_self(val_t p0
){
121 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
124 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
125 fra
.me
.file
= LOCATE_metamodel___vararg
;
127 fra
.me
.meth
= LOCATE_metamodel___vararg___MMSignature___not_for_self
;
128 fra
.me
.has_broke
= 0;
130 fra
.me
.nitni_local_ref_head
= NULL
;
131 fra
.me
.REG
[0] = NIT_NULL
;
132 fra
.me
.REG
[1] = NIT_NULL
;
134 /* metamodel/vararg.nit:40 */
135 fra
.me
.REG
[1] = fra
.me
.REG
[0];
136 /* metamodel/vararg.nit:42 */
137 fra
.me
.REG
[0] = CALL_SUPER_metamodel___vararg___MMSignature___not_for_self(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
138 /* metamodel/vararg.nit:43 */
139 REGB0
= TAG_Bool(ATTR_metamodel___vararg___MMSignature____vararg_rank(fra
.me
.REG
[1])!=NIT_NULL
);
140 if (UNTAG_Bool(REGB0
)) {
142 nit_abort("Uninitialized attribute %s", "_vararg_rank", LOCATE_metamodel___vararg
, 43);
144 REGB0
= ATTR_metamodel___vararg___MMSignature____vararg_rank(fra
.me
.REG
[1]);
145 CALL_metamodel___vararg___MMSignature___vararg_rank__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
146 /* metamodel/vararg.nit:44 */
149 stack_frame_head
= fra
.me
.prev
;
150 return fra
.me
.REG
[0];
152 static const char LOCATE_metamodel___vararg___MMSignature___init
[] = "vararg::MMSignature::(static_type::MMSignature::init)";
153 void metamodel___vararg___MMSignature___init(val_t p0
, val_t p1
, val_t p2
, val_t p3
, int* init_table
){
154 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_metamodel___static_type___MMSignature
].i
;
155 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
158 if (init_table
[itpos0
]) return;
159 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
160 fra
.me
.file
= LOCATE_metamodel___vararg
;
162 fra
.me
.meth
= LOCATE_metamodel___vararg___MMSignature___init
;
163 fra
.me
.has_broke
= 0;
165 fra
.me
.nitni_local_ref_head
= NULL
;
166 fra
.me
.REG
[0] = NIT_NULL
;
167 fra
.me
.REG
[1] = NIT_NULL
;
168 fra
.me
.REG
[2] = NIT_NULL
;
169 fra
.me
.REG
[3] = NIT_NULL
;
170 fra
.me
.REG
[4] = NIT_NULL
;
175 /* metamodel/vararg.nit:47 */
176 fra
.me
.REG
[4] = fra
.me
.REG
[0];
177 /* metamodel/vararg.nit:49 */
178 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
);
179 /* metamodel/vararg.nit:50 */
181 /* ../lib/standard/kernel.nit:239 */
182 REGB0
= TAG_Int(-UNTAG_Int(REGB0
));
183 /* metamodel/vararg.nit:50 */
184 ATTR_metamodel___vararg___MMSignature____vararg_rank(fra
.me
.REG
[4]) = REGB0
;
185 stack_frame_head
= fra
.me
.prev
;
186 init_table
[itpos0
] = 1;