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
;
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___adaptation_to
;
13 fra
.me
.REG
[0] = NIT_NULL
;
14 fra
.me
.REG
[1] = NIT_NULL
;
15 fra
.me
.REG
[2] = NIT_NULL
;
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
)) {
24 fprintf(stderr
, "Uninitialized attribute %s", "_vararg_rank");
25 fprintf(stderr
, " (%s:%d)\n", LOCATE_vararg
, 36);
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 */
33 stack_frame_head
= fra
.me
.prev
;
36 val_t
vararg___MMSignature___not_for_self(val_t p0
){
37 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
40 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
41 fra
.me
.file
= LOCATE_vararg
;
43 fra
.me
.meth
= LOCATE_vararg___MMSignature___not_for_self
;
46 fra
.me
.REG
[0] = NIT_NULL
;
47 fra
.me
.REG
[1] = NIT_NULL
;
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
)) {
55 fprintf(stderr
, "Uninitialized attribute %s", "_vararg_rank");
56 fprintf(stderr
, " (%s:%d)\n", LOCATE_vararg
, 43);
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 */
64 stack_frame_head
= fra
.me
.prev
;
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
;
72 if (init_table
[itpos0
]) return;
73 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
74 fra
.me
.file
= LOCATE_vararg
;
76 fra
.me
.meth
= LOCATE_vararg___MMSignature___init
;
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
;
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
);
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;
99 val_t
vararg___MMSignature___vararg_rank(val_t p0
){
100 struct {struct stack_frame_t me
;} fra
;
103 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
104 fra
.me
.file
= LOCATE_vararg
;
106 fra
.me
.meth
= LOCATE_vararg___MMSignature___vararg_rank
;
107 fra
.me
.has_broke
= 0;
109 fra
.me
.REG
[0] = NIT_NULL
;
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
)) {
115 fprintf(stderr
, "Uninitialized attribute %s", "_vararg_rank");
116 fprintf(stderr
, " (%s:%d)\n", LOCATE_vararg
, 24);
119 REGB0
= ATTR_vararg___MMSignature____vararg_rank(fra
.me
.REG
[0]);
120 stack_frame_head
= fra
.me
.prev
;
123 void vararg___MMSignature___vararg_rank__eq(val_t p0
, val_t p1
){
124 struct {struct stack_frame_t me
;} fra
;
127 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
128 fra
.me
.file
= LOCATE_vararg
;
130 fra
.me
.meth
= LOCATE_vararg___MMSignature___vararg_rank__eq
;
131 fra
.me
.has_broke
= 0;
133 fra
.me
.REG
[0] = NIT_NULL
;
136 /* ./metamodel//vararg.nit:24 */
137 ATTR_vararg___MMSignature____vararg_rank(fra
.me
.REG
[0]) = REGB0
;
138 stack_frame_head
= fra
.me
.prev
;
141 val_t
vararg___MMSignature___has_vararg(val_t p0
){
142 struct {struct stack_frame_t me
;} fra
;
146 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
147 fra
.me
.file
= LOCATE_vararg
;
149 fra
.me
.meth
= LOCATE_vararg___MMSignature___has_vararg
;
150 fra
.me
.has_broke
= 0;
152 fra
.me
.REG
[0] = NIT_NULL
;
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
)) {
158 fprintf(stderr
, "Uninitialized attribute %s", "_vararg_rank");
159 fprintf(stderr
, " (%s:%d)\n", LOCATE_vararg
, 30);
162 REGB0
= ATTR_vararg___MMSignature____vararg_rank(fra
.me
.REG
[0]);
164 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
165 /* ./metamodel//vararg.nit:30 */
168 stack_frame_head
= fra
.me
.prev
;