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 self
, val_t param0
) {
4 struct trace_t trace
= {NULL
, NULL
, 33, LOCATE_vararg___MMSignature___adaptation_to
};
6 void **closurevariable
= NULL
;
7 trace
.prev
= tracehead
; tracehead
= &trace
;
8 trace
.file
= LOCATE_vararg
;
11 variable
[4] = CALL_SUPER_vararg___MMSignature___adaptation_to(variable
[0])(variable
[0], variable
[1] /*r*/) /*super MMSignature::adaptation_to*/;
12 variable
[3] = variable
[4];
13 variable
[4] = variable
[0];
14 variable
[4] = ATTR_vararg___MMSignature____vararg_rank(variable
[4]) /*MMSignature::_vararg_rank*/;
15 CALL_vararg___MMSignature___vararg_rank__eq( variable
[3] /*s*/)( variable
[3] /*s*/, variable
[4]) /*MMSignature::vararg_rank=*/;
16 variable
[2] = variable
[3] /*s*/;
18 return_label0
: while(false);
19 tracehead
= trace
.prev
;
22 val_t
vararg___MMSignature___not_for_self(val_t self
) {
23 struct trace_t trace
= {NULL
, NULL
, 40, LOCATE_vararg___MMSignature___not_for_self
};
25 void **closurevariable
= NULL
;
26 trace
.prev
= tracehead
; tracehead
= &trace
;
27 trace
.file
= LOCATE_vararg
;
29 variable
[3] = CALL_SUPER_vararg___MMSignature___not_for_self(variable
[0])(variable
[0]) /*super MMSignature::not_for_self*/;
30 variable
[2] = variable
[3];
31 variable
[3] = variable
[0];
32 variable
[3] = ATTR_vararg___MMSignature____vararg_rank(variable
[3]) /*MMSignature::_vararg_rank*/;
33 CALL_vararg___MMSignature___vararg_rank__eq( variable
[2] /*s*/)( variable
[2] /*s*/, variable
[3]) /*MMSignature::vararg_rank=*/;
34 variable
[1] = variable
[2] /*s*/;
36 return_label1
: while(false);
37 tracehead
= trace
.prev
;
40 void vararg___MMSignature___init(val_t self
, val_t param0
, val_t param1
, val_t param2
, int* init_table
) {
41 struct trace_t trace
= {NULL
, NULL
, 47, LOCATE_vararg___MMSignature___init
};
43 void **closurevariable
= NULL
;
44 trace
.prev
= tracehead
; tracehead
= &trace
;
45 trace
.file
= LOCATE_vararg
;
50 if (init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_MMSignature
].i
]) return;
51 CALL_SUPER_vararg___MMSignature___init(variable
[0])(variable
[0], variable
[1], variable
[2], variable
[3], init_table
) /*super MMSignature::init*/;
52 variable
[5] = variable
[0];
53 variable
[6] = TAG_Int(-UNTAG_Int( TAG_Int(1)));
54 ATTR_vararg___MMSignature____vararg_rank(variable
[5]) /*MMSignature::_vararg_rank*/ = variable
[6];
55 return_label2
: while(false);
56 init_table
[VAL2OBJ(variable
[0])->vft
[INIT_TABLE_POS_MMSignature
].i
] = 1;
57 tracehead
= trace
.prev
;
60 val_t
vararg___MMSignature___vararg_rank(val_t self
) {
61 struct trace_t trace
= {NULL
, NULL
, 24, LOCATE_vararg___MMSignature___vararg_rank
};
62 val_t
*variable
= NULL
;
63 void **closurevariable
= NULL
;
64 trace
.prev
= tracehead
; tracehead
= &trace
;
65 trace
.file
= LOCATE_vararg
;
66 tracehead
= trace
.prev
;
67 return ATTR_vararg___MMSignature____vararg_rank( self
) /*MMSignature::_vararg_rank*/;
69 void vararg___MMSignature___vararg_rank__eq(val_t self
, val_t param0
) {
70 struct trace_t trace
= {NULL
, NULL
, 24, LOCATE_vararg___MMSignature___vararg_rank__eq
};
71 val_t
*variable
= NULL
;
72 void **closurevariable
= NULL
;
73 trace
.prev
= tracehead
; tracehead
= &trace
;
74 trace
.file
= LOCATE_vararg
;
75 ATTR_vararg___MMSignature____vararg_rank( self
) /*MMSignature::_vararg_rank*/ = param0
;
76 tracehead
= trace
.prev
;
79 val_t
vararg___MMSignature___has_vararg(val_t self
) {
80 struct trace_t trace
= {NULL
, NULL
, 27, LOCATE_vararg___MMSignature___has_vararg
};
82 void **closurevariable
= NULL
;
83 trace
.prev
= tracehead
; tracehead
= &trace
;
84 trace
.file
= LOCATE_vararg
;
86 variable
[2] = variable
[0];
87 variable
[2] = ATTR_vararg___MMSignature____vararg_rank(variable
[2]) /*MMSignature::_vararg_rank*/;
88 variable
[2] = TAG_Bool(UNTAG_Int(variable
[2])>=UNTAG_Int( TAG_Int(0)));
89 variable
[1] = variable
[2];
91 return_label3
: while(false);
92 tracehead
= trace
.prev
;