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
.REG
[0] = NIT_NULL
;
15 /* ./native_interface//ni_tools.nit:23 */
16 REGB0
= TAG_Bool(ATTR_native_interface___ni_tools___FunctionCompiler_____atsignature(fra
.me
.REG
[0])!=NIT_NULL
);
17 if (UNTAG_Bool(REGB0
)) {
19 nit_abort("Uninitialized attribute %s", "@signature", LOCATE_native_interface___ni_tools
, 23);
21 fra
.me
.REG
[0] = ATTR_native_interface___ni_tools___FunctionCompiler_____atsignature(fra
.me
.REG
[0]);
22 stack_frame_head
= fra
.me
.prev
;
25 void native_interface___ni_tools___FunctionCompiler___signature__eq(val_t p0
, val_t p1
){
26 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
28 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
29 fra
.me
.file
= LOCATE_native_interface___ni_tools
;
31 fra
.me
.meth
= LOCATE_native_interface___ni_tools___FunctionCompiler___signature__eq
;
34 fra
.me
.REG
[0] = NIT_NULL
;
35 fra
.me
.REG
[1] = NIT_NULL
;
38 /* ./native_interface//ni_tools.nit:23 */
39 ATTR_native_interface___ni_tools___FunctionCompiler_____atsignature(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
40 stack_frame_head
= fra
.me
.prev
;
43 val_t
native_interface___ni_tools___FunctionCompiler___decls(val_t p0
){
44 struct {struct stack_frame_t me
;} fra
;
47 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
48 fra
.me
.file
= LOCATE_native_interface___ni_tools
;
50 fra
.me
.meth
= LOCATE_native_interface___ni_tools___FunctionCompiler___decls
;
53 fra
.me
.REG
[0] = NIT_NULL
;
55 /* ./native_interface//ni_tools.nit:25 */
56 REGB0
= TAG_Bool(ATTR_native_interface___ni_tools___FunctionCompiler_____atdecls(fra
.me
.REG
[0])!=NIT_NULL
);
57 if (UNTAG_Bool(REGB0
)) {
59 nit_abort("Uninitialized attribute %s", "@decls", LOCATE_native_interface___ni_tools
, 25);
61 fra
.me
.REG
[0] = ATTR_native_interface___ni_tools___FunctionCompiler_____atdecls(fra
.me
.REG
[0]);
62 stack_frame_head
= fra
.me
.prev
;
65 void native_interface___ni_tools___FunctionCompiler___decls__eq(val_t p0
, val_t p1
){
66 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
68 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
69 fra
.me
.file
= LOCATE_native_interface___ni_tools
;
71 fra
.me
.meth
= LOCATE_native_interface___ni_tools___FunctionCompiler___decls__eq
;
74 fra
.me
.REG
[0] = NIT_NULL
;
75 fra
.me
.REG
[1] = NIT_NULL
;
78 /* ./native_interface//ni_tools.nit:25 */
79 ATTR_native_interface___ni_tools___FunctionCompiler_____atdecls(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
80 stack_frame_head
= fra
.me
.prev
;
83 val_t
native_interface___ni_tools___FunctionCompiler___exprs(val_t p0
){
84 struct {struct stack_frame_t me
;} fra
;
87 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
88 fra
.me
.file
= LOCATE_native_interface___ni_tools
;
90 fra
.me
.meth
= LOCATE_native_interface___ni_tools___FunctionCompiler___exprs
;
93 fra
.me
.REG
[0] = NIT_NULL
;
95 /* ./native_interface//ni_tools.nit:26 */
96 REGB0
= TAG_Bool(ATTR_native_interface___ni_tools___FunctionCompiler_____atexprs(fra
.me
.REG
[0])!=NIT_NULL
);
97 if (UNTAG_Bool(REGB0
)) {
99 nit_abort("Uninitialized attribute %s", "@exprs", LOCATE_native_interface___ni_tools
, 26);
101 fra
.me
.REG
[0] = ATTR_native_interface___ni_tools___FunctionCompiler_____atexprs(fra
.me
.REG
[0]);
102 stack_frame_head
= fra
.me
.prev
;
103 return fra
.me
.REG
[0];
105 void native_interface___ni_tools___FunctionCompiler___exprs__eq(val_t p0
, val_t p1
){
106 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
108 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
109 fra
.me
.file
= LOCATE_native_interface___ni_tools
;
111 fra
.me
.meth
= LOCATE_native_interface___ni_tools___FunctionCompiler___exprs__eq
;
112 fra
.me
.has_broke
= 0;
114 fra
.me
.REG
[0] = NIT_NULL
;
115 fra
.me
.REG
[1] = NIT_NULL
;
118 /* ./native_interface//ni_tools.nit:26 */
119 ATTR_native_interface___ni_tools___FunctionCompiler_____atexprs(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
120 stack_frame_head
= fra
.me
.prev
;
123 val_t
native_interface___ni_tools___FunctionCompiler___to_writer(val_t p0
){
124 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
127 static val_t once_value_1
; /* Once value */
128 static val_t once_value_2
; /* Once value */
129 static val_t once_value_3
; /* Once value */
130 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
131 fra
.me
.file
= LOCATE_native_interface___ni_tools
;
133 fra
.me
.meth
= LOCATE_native_interface___ni_tools___FunctionCompiler___to_writer
;
134 fra
.me
.has_broke
= 0;
136 fra
.me
.REG
[0] = NIT_NULL
;
137 fra
.me
.REG
[1] = NIT_NULL
;
138 fra
.me
.REG
[2] = NIT_NULL
;
139 fra
.me
.REG
[3] = NIT_NULL
;
141 /* ./native_interface//ni_tools.nit:30 */
142 fra
.me
.REG
[1] = NEW_Writer_compiling___compiling_writer___Writer___init();
143 /* ./native_interface//ni_tools.nit:32 */
145 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
147 fra
.me
.REG
[3] = BOX_NativeString("");
149 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
150 once_value_1
= fra
.me
.REG
[3];
151 register_static_object(&once_value_1
);
152 } else fra
.me
.REG
[3] = once_value_1
;
153 fra
.me
.REG
[3] = fra
.me
.REG
[3];
154 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
155 fra
.me
.REG
[3] = CALL_native_interface___ni_tools___FunctionCompiler___signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
156 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
158 fra
.me
.REG
[3] = BOX_NativeString("\n{\n");
160 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
161 once_value_2
= fra
.me
.REG
[3];
162 register_static_object(&once_value_2
);
163 } else fra
.me
.REG
[3] = once_value_2
;
164 fra
.me
.REG
[3] = fra
.me
.REG
[3];
165 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
166 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
167 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
168 /* ./native_interface//ni_tools.nit:34 */
169 fra
.me
.REG
[2] = CALL_native_interface___ni_tools___FunctionCompiler___decls(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
170 CALL_compiling___compiling_writer___Writer___append(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
171 /* ./native_interface//ni_tools.nit:35 */
172 fra
.me
.REG
[0] = CALL_native_interface___ni_tools___FunctionCompiler___exprs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
173 CALL_compiling___compiling_writer___Writer___append(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
174 /* ./native_interface//ni_tools.nit:37 */
176 fra
.me
.REG
[0] = BOX_NativeString("}\n");
178 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
179 once_value_3
= fra
.me
.REG
[0];
180 register_static_object(&once_value_3
);
181 } else fra
.me
.REG
[0] = once_value_3
;
182 fra
.me
.REG
[0] = fra
.me
.REG
[0];
183 CALL_compiling___compiling_writer___Writer___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
184 /* ./native_interface//ni_tools.nit:39 */
187 stack_frame_head
= fra
.me
.prev
;
188 return fra
.me
.REG
[1];
190 void native_interface___ni_tools___FunctionCompiler___init(val_t p0
, val_t p1
, int* init_table
){
191 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_native_interface___ni_tools___FunctionCompiler
].i
;
192 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
194 if (init_table
[itpos0
]) return;
195 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
196 fra
.me
.file
= LOCATE_native_interface___ni_tools
;
198 fra
.me
.meth
= LOCATE_native_interface___ni_tools___FunctionCompiler___init
;
199 fra
.me
.has_broke
= 0;
201 fra
.me
.REG
[0] = NIT_NULL
;
202 fra
.me
.REG
[1] = NIT_NULL
;
205 ATTR_native_interface___ni_tools___FunctionCompiler_____atsignature(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
206 stack_frame_head
= fra
.me
.prev
;
207 init_table
[itpos0
] = 1;