1 /* This C file is generated by NIT to compile module native_interface___ni_tools. */
2 #include "native_interface___ni_tools._sep.h"
3 val_t
native_interface___ni_tools___FunctionCompiler___signature(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_native_interface___ni_tools
;
10 fra
.me
.meth
= LOCATE_native_interface___ni_tools___FunctionCompiler___signature
;
13 fra
.me
.nitni_local_ref_head
= NULL
;
14 fra
.me
.REG
[0] = NIT_NULL
;
16 /* native_interface/ni_tools.nit:23 */
17 REGB0
= TAG_Bool(ATTR_native_interface___ni_tools___FunctionCompiler_____atsignature(fra
.me
.REG
[0])!=NIT_NULL
);
18 if (UNTAG_Bool(REGB0
)) {
20 nit_abort("Uninitialized attribute %s", "@signature", LOCATE_native_interface___ni_tools
, 23);
22 fra
.me
.REG
[0] = ATTR_native_interface___ni_tools___FunctionCompiler_____atsignature(fra
.me
.REG
[0]);
23 stack_frame_head
= fra
.me
.prev
;
26 void native_interface___ni_tools___FunctionCompiler___signature__eq(val_t p0
, val_t p1
){
27 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
29 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
30 fra
.me
.file
= LOCATE_native_interface___ni_tools
;
32 fra
.me
.meth
= LOCATE_native_interface___ni_tools___FunctionCompiler___signature__eq
;
35 fra
.me
.nitni_local_ref_head
= NULL
;
36 fra
.me
.REG
[0] = NIT_NULL
;
37 fra
.me
.REG
[1] = NIT_NULL
;
40 /* native_interface/ni_tools.nit:23 */
41 ATTR_native_interface___ni_tools___FunctionCompiler_____atsignature(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
42 stack_frame_head
= fra
.me
.prev
;
45 val_t
native_interface___ni_tools___FunctionCompiler___decls(val_t p0
){
46 struct {struct stack_frame_t me
;} fra
;
49 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
50 fra
.me
.file
= LOCATE_native_interface___ni_tools
;
52 fra
.me
.meth
= LOCATE_native_interface___ni_tools___FunctionCompiler___decls
;
55 fra
.me
.nitni_local_ref_head
= NULL
;
56 fra
.me
.REG
[0] = NIT_NULL
;
58 /* native_interface/ni_tools.nit:25 */
59 REGB0
= TAG_Bool(ATTR_native_interface___ni_tools___FunctionCompiler_____atdecls(fra
.me
.REG
[0])!=NIT_NULL
);
60 if (UNTAG_Bool(REGB0
)) {
62 nit_abort("Uninitialized attribute %s", "@decls", LOCATE_native_interface___ni_tools
, 25);
64 fra
.me
.REG
[0] = ATTR_native_interface___ni_tools___FunctionCompiler_____atdecls(fra
.me
.REG
[0]);
65 stack_frame_head
= fra
.me
.prev
;
68 void native_interface___ni_tools___FunctionCompiler___decls__eq(val_t p0
, val_t p1
){
69 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
71 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
72 fra
.me
.file
= LOCATE_native_interface___ni_tools
;
74 fra
.me
.meth
= LOCATE_native_interface___ni_tools___FunctionCompiler___decls__eq
;
77 fra
.me
.nitni_local_ref_head
= NULL
;
78 fra
.me
.REG
[0] = NIT_NULL
;
79 fra
.me
.REG
[1] = NIT_NULL
;
82 /* native_interface/ni_tools.nit:25 */
83 ATTR_native_interface___ni_tools___FunctionCompiler_____atdecls(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
84 stack_frame_head
= fra
.me
.prev
;
87 val_t
native_interface___ni_tools___FunctionCompiler___exprs(val_t p0
){
88 struct {struct stack_frame_t me
;} fra
;
91 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
92 fra
.me
.file
= LOCATE_native_interface___ni_tools
;
94 fra
.me
.meth
= LOCATE_native_interface___ni_tools___FunctionCompiler___exprs
;
97 fra
.me
.nitni_local_ref_head
= NULL
;
98 fra
.me
.REG
[0] = NIT_NULL
;
100 /* native_interface/ni_tools.nit:26 */
101 REGB0
= TAG_Bool(ATTR_native_interface___ni_tools___FunctionCompiler_____atexprs(fra
.me
.REG
[0])!=NIT_NULL
);
102 if (UNTAG_Bool(REGB0
)) {
104 nit_abort("Uninitialized attribute %s", "@exprs", LOCATE_native_interface___ni_tools
, 26);
106 fra
.me
.REG
[0] = ATTR_native_interface___ni_tools___FunctionCompiler_____atexprs(fra
.me
.REG
[0]);
107 stack_frame_head
= fra
.me
.prev
;
108 return fra
.me
.REG
[0];
110 void native_interface___ni_tools___FunctionCompiler___exprs__eq(val_t p0
, val_t p1
){
111 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
113 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
114 fra
.me
.file
= LOCATE_native_interface___ni_tools
;
116 fra
.me
.meth
= LOCATE_native_interface___ni_tools___FunctionCompiler___exprs__eq
;
117 fra
.me
.has_broke
= 0;
119 fra
.me
.nitni_local_ref_head
= NULL
;
120 fra
.me
.REG
[0] = NIT_NULL
;
121 fra
.me
.REG
[1] = NIT_NULL
;
124 /* native_interface/ni_tools.nit:26 */
125 ATTR_native_interface___ni_tools___FunctionCompiler_____atexprs(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
126 stack_frame_head
= fra
.me
.prev
;
129 val_t
native_interface___ni_tools___FunctionCompiler___to_writer(val_t p0
){
130 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
133 static val_t once_value_1
; /* Once value */
134 static val_t once_value_2
; /* Once value */
135 static val_t once_value_3
; /* Once value */
136 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
137 fra
.me
.file
= LOCATE_native_interface___ni_tools
;
139 fra
.me
.meth
= LOCATE_native_interface___ni_tools___FunctionCompiler___to_writer
;
140 fra
.me
.has_broke
= 0;
142 fra
.me
.nitni_local_ref_head
= NULL
;
143 fra
.me
.REG
[0] = NIT_NULL
;
144 fra
.me
.REG
[1] = NIT_NULL
;
145 fra
.me
.REG
[2] = NIT_NULL
;
146 fra
.me
.REG
[3] = NIT_NULL
;
148 /* native_interface/ni_tools.nit:30 */
149 fra
.me
.REG
[1] = NEW_Writer_compiling___compiling_writer___Writer___init();
150 /* native_interface/ni_tools.nit:32 */
152 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
154 fra
.me
.REG
[3] = BOX_NativeString("");
156 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
157 once_value_1
= fra
.me
.REG
[3];
158 register_static_object(&once_value_1
);
159 } else fra
.me
.REG
[3] = once_value_1
;
160 fra
.me
.REG
[3] = fra
.me
.REG
[3];
161 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
162 fra
.me
.REG
[3] = CALL_native_interface___ni_tools___FunctionCompiler___signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
163 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
165 fra
.me
.REG
[3] = BOX_NativeString("\n{\n");
167 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
168 once_value_2
= fra
.me
.REG
[3];
169 register_static_object(&once_value_2
);
170 } else fra
.me
.REG
[3] = once_value_2
;
171 fra
.me
.REG
[3] = fra
.me
.REG
[3];
172 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
173 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
174 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
175 /* native_interface/ni_tools.nit:34 */
176 fra
.me
.REG
[2] = CALL_native_interface___ni_tools___FunctionCompiler___decls(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
177 CALL_compiling___compiling_writer___Writer___append(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
178 /* native_interface/ni_tools.nit:35 */
179 fra
.me
.REG
[0] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
180 CALL_compiling___compiling_writer___Writer___append(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
181 /* native_interface/ni_tools.nit:37 */
183 fra
.me
.REG
[0] = BOX_NativeString("}\n");
185 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
186 once_value_3
= fra
.me
.REG
[0];
187 register_static_object(&once_value_3
);
188 } else fra
.me
.REG
[0] = once_value_3
;
189 fra
.me
.REG
[0] = fra
.me
.REG
[0];
190 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
191 /* native_interface/ni_tools.nit:39 */
194 stack_frame_head
= fra
.me
.prev
;
195 return fra
.me
.REG
[1];
197 void native_interface___ni_tools___FunctionCompiler___init(val_t p0
, val_t p1
, int* init_table
){
198 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_native_interface___ni_tools___FunctionCompiler
].i
;
199 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
201 if (init_table
[itpos0
]) return;
202 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
203 fra
.me
.file
= LOCATE_native_interface___ni_tools
;
205 fra
.me
.meth
= LOCATE_native_interface___ni_tools___FunctionCompiler___init
;
206 fra
.me
.has_broke
= 0;
208 fra
.me
.nitni_local_ref_head
= NULL
;
209 fra
.me
.REG
[0] = NIT_NULL
;
210 fra
.me
.REG
[1] = NIT_NULL
;
213 ATTR_native_interface___ni_tools___FunctionCompiler_____atsignature(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
214 stack_frame_head
= fra
.me
.prev
;
215 init_table
[itpos0
] = 1;