1 /* This C file is generated by NIT to compile module native_interface___ni_tools. */
2 #include "native_interface___ni_tools._sep.h"
3 static const char LOCATE_native_interface___ni_tools___FunctionCompiler___signature
[] = "ni_tools::FunctionCompiler::signature";
4 val_t
native_interface___ni_tools___FunctionCompiler___signature(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_native_interface___ni_tools
;
11 fra
.me
.meth
= LOCATE_native_interface___ni_tools___FunctionCompiler___signature
;
14 fra
.me
.nitni_local_ref_head
= NULL
;
15 fra
.me
.REG
[0] = NIT_NULL
;
17 /* native_interface/ni_tools.nit:23 */
18 REGB0
= TAG_Bool(ATTR_native_interface___ni_tools___FunctionCompiler_____atsignature(fra
.me
.REG
[0])!=NIT_NULL
);
19 if (UNTAG_Bool(REGB0
)) {
21 nit_abort("Uninitialized attribute %s", "@signature", LOCATE_native_interface___ni_tools
, 23);
23 fra
.me
.REG
[0] = ATTR_native_interface___ni_tools___FunctionCompiler_____atsignature(fra
.me
.REG
[0]);
24 stack_frame_head
= fra
.me
.prev
;
27 static const char LOCATE_native_interface___ni_tools___FunctionCompiler___signature__eq
[] = "ni_tools::FunctionCompiler::signature=";
28 void native_interface___ni_tools___FunctionCompiler___signature__eq(val_t p0
, val_t p1
){
29 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
31 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
32 fra
.me
.file
= LOCATE_native_interface___ni_tools
;
34 fra
.me
.meth
= LOCATE_native_interface___ni_tools___FunctionCompiler___signature__eq
;
37 fra
.me
.nitni_local_ref_head
= NULL
;
38 fra
.me
.REG
[0] = NIT_NULL
;
39 fra
.me
.REG
[1] = NIT_NULL
;
42 /* native_interface/ni_tools.nit:23 */
43 ATTR_native_interface___ni_tools___FunctionCompiler_____atsignature(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
44 stack_frame_head
= fra
.me
.prev
;
47 static const char LOCATE_native_interface___ni_tools___FunctionCompiler___decls
[] = "ni_tools::FunctionCompiler::decls";
48 val_t
native_interface___ni_tools___FunctionCompiler___decls(val_t p0
){
49 struct {struct stack_frame_t me
;} fra
;
52 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
53 fra
.me
.file
= LOCATE_native_interface___ni_tools
;
55 fra
.me
.meth
= LOCATE_native_interface___ni_tools___FunctionCompiler___decls
;
58 fra
.me
.nitni_local_ref_head
= NULL
;
59 fra
.me
.REG
[0] = NIT_NULL
;
61 /* native_interface/ni_tools.nit:25 */
62 REGB0
= TAG_Bool(ATTR_native_interface___ni_tools___FunctionCompiler_____atdecls(fra
.me
.REG
[0])!=NIT_NULL
);
63 if (UNTAG_Bool(REGB0
)) {
65 nit_abort("Uninitialized attribute %s", "@decls", LOCATE_native_interface___ni_tools
, 25);
67 fra
.me
.REG
[0] = ATTR_native_interface___ni_tools___FunctionCompiler_____atdecls(fra
.me
.REG
[0]);
68 stack_frame_head
= fra
.me
.prev
;
71 static const char LOCATE_native_interface___ni_tools___FunctionCompiler___decls__eq
[] = "ni_tools::FunctionCompiler::decls=";
72 void native_interface___ni_tools___FunctionCompiler___decls__eq(val_t p0
, val_t p1
){
73 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
75 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
76 fra
.me
.file
= LOCATE_native_interface___ni_tools
;
78 fra
.me
.meth
= LOCATE_native_interface___ni_tools___FunctionCompiler___decls__eq
;
81 fra
.me
.nitni_local_ref_head
= NULL
;
82 fra
.me
.REG
[0] = NIT_NULL
;
83 fra
.me
.REG
[1] = NIT_NULL
;
86 /* native_interface/ni_tools.nit:25 */
87 ATTR_native_interface___ni_tools___FunctionCompiler_____atdecls(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
88 stack_frame_head
= fra
.me
.prev
;
91 static const char LOCATE_native_interface___ni_tools___FunctionCompiler___exprs
[] = "ni_tools::FunctionCompiler::exprs";
92 val_t
native_interface___ni_tools___FunctionCompiler___exprs(val_t p0
){
93 struct {struct stack_frame_t me
;} fra
;
96 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
97 fra
.me
.file
= LOCATE_native_interface___ni_tools
;
99 fra
.me
.meth
= LOCATE_native_interface___ni_tools___FunctionCompiler___exprs
;
100 fra
.me
.has_broke
= 0;
102 fra
.me
.nitni_local_ref_head
= NULL
;
103 fra
.me
.REG
[0] = NIT_NULL
;
105 /* native_interface/ni_tools.nit:26 */
106 REGB0
= TAG_Bool(ATTR_native_interface___ni_tools___FunctionCompiler_____atexprs(fra
.me
.REG
[0])!=NIT_NULL
);
107 if (UNTAG_Bool(REGB0
)) {
109 nit_abort("Uninitialized attribute %s", "@exprs", LOCATE_native_interface___ni_tools
, 26);
111 fra
.me
.REG
[0] = ATTR_native_interface___ni_tools___FunctionCompiler_____atexprs(fra
.me
.REG
[0]);
112 stack_frame_head
= fra
.me
.prev
;
113 return fra
.me
.REG
[0];
115 static const char LOCATE_native_interface___ni_tools___FunctionCompiler___exprs__eq
[] = "ni_tools::FunctionCompiler::exprs=";
116 void native_interface___ni_tools___FunctionCompiler___exprs__eq(val_t p0
, val_t p1
){
117 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_native_interface___ni_tools
;
122 fra
.me
.meth
= LOCATE_native_interface___ni_tools___FunctionCompiler___exprs__eq
;
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
;
130 /* native_interface/ni_tools.nit:26 */
131 ATTR_native_interface___ni_tools___FunctionCompiler_____atexprs(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
132 stack_frame_head
= fra
.me
.prev
;
135 static const char LOCATE_native_interface___ni_tools___FunctionCompiler___to_writer
[] = "ni_tools::FunctionCompiler::to_writer";
136 val_t
native_interface___ni_tools___FunctionCompiler___to_writer(val_t p0
){
137 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
140 static val_t once_value_1
; /* Once value */
141 static val_t once_value_2
; /* Once value */
142 static val_t once_value_3
; /* Once value */
143 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
144 fra
.me
.file
= LOCATE_native_interface___ni_tools
;
146 fra
.me
.meth
= LOCATE_native_interface___ni_tools___FunctionCompiler___to_writer
;
147 fra
.me
.has_broke
= 0;
149 fra
.me
.nitni_local_ref_head
= NULL
;
150 fra
.me
.REG
[0] = NIT_NULL
;
151 fra
.me
.REG
[1] = NIT_NULL
;
152 fra
.me
.REG
[2] = NIT_NULL
;
153 fra
.me
.REG
[3] = NIT_NULL
;
155 /* native_interface/ni_tools.nit:30 */
156 fra
.me
.REG
[1] = NEW_Writer_compiling_writer___Writer___init();
157 /* native_interface/ni_tools.nit:32 */
159 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
161 fra
.me
.REG
[3] = BOX_NativeString("");
163 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
164 once_value_1
= fra
.me
.REG
[3];
165 register_static_object(&once_value_1
);
166 } else fra
.me
.REG
[3] = once_value_1
;
167 fra
.me
.REG
[3] = fra
.me
.REG
[3];
168 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
169 fra
.me
.REG
[3] = CALL_native_interface___ni_tools___FunctionCompiler___signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
170 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
172 fra
.me
.REG
[3] = BOX_NativeString("\n{\n");
174 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
175 once_value_2
= fra
.me
.REG
[3];
176 register_static_object(&once_value_2
);
177 } else fra
.me
.REG
[3] = once_value_2
;
178 fra
.me
.REG
[3] = fra
.me
.REG
[3];
179 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
180 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
181 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
182 /* native_interface/ni_tools.nit:34 */
183 fra
.me
.REG
[2] = CALL_native_interface___ni_tools___FunctionCompiler___decls(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
184 CALL_compiling_writer___Writer___append(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
185 /* native_interface/ni_tools.nit:35 */
186 fra
.me
.REG
[0] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
187 CALL_compiling_writer___Writer___append(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
188 /* native_interface/ni_tools.nit:37 */
190 fra
.me
.REG
[0] = BOX_NativeString("}\n");
192 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
193 once_value_3
= fra
.me
.REG
[0];
194 register_static_object(&once_value_3
);
195 } else fra
.me
.REG
[0] = once_value_3
;
196 fra
.me
.REG
[0] = fra
.me
.REG
[0];
197 CALL_compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
198 /* native_interface/ni_tools.nit:39 */
201 stack_frame_head
= fra
.me
.prev
;
202 return fra
.me
.REG
[1];
204 static const char LOCATE_native_interface___ni_tools___FunctionCompiler___init
[] = "ni_tools::FunctionCompiler::init";
205 void native_interface___ni_tools___FunctionCompiler___init(val_t p0
, val_t p1
, int* init_table
){
206 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_native_interface___ni_tools___FunctionCompiler
].i
;
207 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
209 if (init_table
[itpos0
]) return;
210 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
211 fra
.me
.file
= LOCATE_native_interface___ni_tools
;
213 fra
.me
.meth
= LOCATE_native_interface___ni_tools___FunctionCompiler___init
;
214 fra
.me
.has_broke
= 0;
216 fra
.me
.nitni_local_ref_head
= NULL
;
217 fra
.me
.REG
[0] = NIT_NULL
;
218 fra
.me
.REG
[1] = NIT_NULL
;
221 ATTR_native_interface___ni_tools___FunctionCompiler_____atsignature(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
222 stack_frame_head
= fra
.me
.prev
;
223 init_table
[itpos0
] = 1;