Merge: Give top-level methods some rules
[nit.git] / c_src / separate_erasure_compiler.sep.0.h
1 #include "nit.common.h"
2 extern const int COLOR_separate_erasure_compiler__ToolContext___64dopt_erasure;
3 val* separate_erasure_compiler__ToolContext__opt_erasure(val* self);
4 void separate_erasure_compiler__ToolContext__opt_erasure_61d(val* self, val* p0);
5 extern const int COLOR_separate_erasure_compiler__ToolContext___64dopt_no_check_erasure_cast;
6 val* separate_erasure_compiler__ToolContext__opt_no_check_erasure_cast(val* self);
7 void separate_erasure_compiler__ToolContext__opt_no_check_erasure_cast_61d(val* self, val* p0);
8 extern const int COLOR_separate_erasure_compiler__ToolContext__init;
9 extern const int COLOR_toolcontext__ToolContext__option_context;
10 extern const int COLOR_separate_erasure_compiler__ToolContext__opt_erasure;
11 extern const int COLOR_separate_erasure_compiler__ToolContext__opt_no_check_erasure_cast;
12 val* NEW_array__Array(const struct type* type);
13 extern const struct type type_array__Arrayopts__Option;
14 val* NEW_array__NativeArray(int length, const struct type* type);
15 extern const struct type type_array__NativeArrayopts__Option;
16 extern const int COLOR_array__Array__with_native;
17 extern const int COLOR_opts__OptionContext__add_option;
18 void separate_erasure_compiler__ToolContext__init(val* self);
19 extern const int COLOR_time__Object__get_time;
20 extern const int COLOR_modelbuilder__ModelBuilder__toolcontext;
21 val* string__NativeString__to_s_with_length(char* self, long p0);
22 extern const int COLOR_toolcontext__ToolContext__info;
23 val* NEW_separate_erasure_compiler__SeparateErasureCompiler(const struct type* type);
24 extern const struct type type_separate_erasure_compiler__SeparateErasureCompiler;
25 extern const int COLOR_separate_erasure_compiler__SeparateErasureCompiler__init;
26 extern const int COLOR_abstract_compiler__AbstractCompiler__compile_header;
27 extern const int COLOR_mmodule__MModule__name;
28 extern const struct type type_array__Arraykernel__Object;
29 extern const struct type type_array__NativeArraykernel__Object;
30 extern const int COLOR_string__Object__to_s;
31 extern const int COLOR_abstract_compiler__AbstractCompiler__new_file;
32 extern const int COLOR_separate_compiler__SeparateCompiler__do_property_coloring;
33 extern const int COLOR_mmodule__MModule__in_importation;
34 extern const int COLOR_poset__POSetElement__greaters;
35 extern const int COLOR_abstract_collection__Collection__iterator;
36 extern const int COLOR_abstract_collection__Iterator__is_ok;
37 extern const int COLOR_abstract_collection__Iterator__item;
38 extern const int COLOR_model__MModule__intro_mclasses;
39 extern const int COLOR_separate_compiler__SeparateCompiler__compile_class_to_c;
40 extern const int COLOR_abstract_collection__Iterator__next;
41 extern const int COLOR_separate_erasure_compiler__SeparateErasureCompiler__vt_layout;
42 extern const int COLOR_layout_builders__Layout__pos;
43 extern const int COLOR_separate_compiler__SeparateCompiler__compile_color_consts;
44 extern const int COLOR_abstract_compiler__AbstractCompiler__compile_main_function;
45 extern const int COLOR_separate_compiler__SeparateCompiler__compile_module_to_c;
46 extern const int COLOR_abstract_compiler__AbstractCompiler__display_stats;
47 val* BOX_kernel__Int(long);
48 extern const int COLOR_abstract_compiler__ModelBuilder__write_and_make;
49 void separate_erasure_compiler__ModelBuilder__run_separate_erasure_compiler(val* self, val* p0, val* p1);
50 extern const int COLOR_separate_erasure_compiler__SeparateErasureCompiler___64dclass_layout;
51 val* separate_erasure_compiler__SeparateErasureCompiler__class_layout(val* self);
52 void separate_erasure_compiler__SeparateErasureCompiler__class_layout_61d(val* self, val* p0);
53 extern const int COLOR_separate_erasure_compiler__SeparateErasureCompiler___64dvt_layout;
54 val* separate_erasure_compiler__SeparateErasureCompiler__vt_layout(val* self);
55 void separate_erasure_compiler__SeparateErasureCompiler__vt_layout_61d(val* self, val* p0);
56 extern const int COLOR_separate_compiler__SeparateCompiler__init;
57 val* NEW_hash_collection__HashSet(const struct type* type);
58 extern const struct type type_hash_collection__HashSetmodel__MClass;
59 extern const int COLOR_modelbuilder__ModelBuilder__model;
60 extern const int COLOR_model__Model__mclasses;
61 extern const int COLOR_hash_collection__HashSet__from;
62 val* NEW_layout_builders__MClassColorer(const struct type* type);
63 extern const struct type type_layout_builders__MClassColorer;
64 extern const int COLOR_layout_builders__MClassColorer__init;
65 extern const int COLOR_abstract_compiler__AbstractCompiler__modelbuilder;
66 extern const int COLOR_separate_compiler__ToolContext__opt_phmod_typing;
67 extern const int COLOR_opts__Option__value;
68 val* NEW_layout_builders__MClassHasher(const struct type* type);
69 extern const struct type type_layout_builders__MClassHasher;
70 val* NEW_layout_builders__PHModOperator(const struct type* type);
71 extern const struct type type_layout_builders__PHModOperator;
72 extern const int COLOR_layout_builders__PHModOperator__init;
73 extern const int COLOR_layout_builders__MClassHasher__init;
74 extern const int COLOR_layout_builders__TypingLayoutBuilder__build_layout;
75 extern const int COLOR_separate_compiler__ToolContext__opt_phand_typing;
76 val* NEW_layout_builders__PHAndOperator(const struct type* type);
77 extern const struct type type_layout_builders__PHAndOperator;
78 extern const int COLOR_layout_builders__PHAndOperator__init;
79 extern const int COLOR_separate_compiler__ToolContext__opt_bm_typing;
80 val* NEW_layout_builders__MClassBMizer(const struct type* type);
81 extern const struct type type_layout_builders__MClassBMizer;
82 extern const int COLOR_layout_builders__MClassBMizer__init;
83 extern const int COLOR_separate_erasure_compiler__SeparateErasureCompiler__class_layout_61d;
84 extern const int COLOR_separate_erasure_compiler__SeparateErasureCompiler__build_class_typing_tables;
85 extern const int COLOR_separate_erasure_compiler__SeparateErasureCompiler__class_tables_61d;
86 val* NEW_hash_collection__HashMap(const struct type* type);
87 extern const struct type type_hash_collection__HashMapmodel__MClassabstract_collection__Setmodel__MVirtualTypeProp;
88 extern const int COLOR_hash_collection__HashMap__init;
89 extern const struct type type_hash_collection__HashSetmodel__MVirtualTypeProp;
90 extern const int COLOR_hash_collection__HashSet__init;
91 extern const int COLOR_abstract_collection__Map___91d_93d_61d;
92 extern const int COLOR_abstract_compiler__AbstractCompiler__mainmodule;
93 extern const int COLOR_abstract_compiler__MModule__properties;
94 extern const struct type type_model__MVirtualTypeProp;
95 extern const int COLOR_abstract_collection__MapRead___91d_93d;
96 extern const int COLOR_abstract_collection__SimpleCollection__add;
97 val* NEW_layout_builders__MPropertyColorer(const struct type* type);
98 extern const struct type type_layout_builders__MPropertyColorermodel__MVirtualTypeProp;
99 extern const int COLOR_layout_builders__MPropertyColorer__init;
100 extern const int COLOR_layout_builders__PropertyLayoutBuilder__build_layout;
101 extern const int COLOR_separate_erasure_compiler__SeparateErasureCompiler__build_vt_tables;
102 extern const int COLOR_separate_erasure_compiler__SeparateErasureCompiler__vt_tables_61d;
103 extern const int COLOR_separate_erasure_compiler__SeparateErasureCompiler__vt_layout_61d;
104 void separate_erasure_compiler__SeparateErasureCompiler__init(val* self, val* p0, val* p1, val* p2);
105 extern const struct type type_hash_collection__HashMapmodel__MClassarray__Arraynullable_model__MPropDef;
106 extern const struct type type_array__Arraynullable_model__MPropDef;
107 extern const int COLOR_array__Array__init;
108 extern const struct type type_array__Arraymodel__MClass;
109 extern const int COLOR_model__MModule__flatten_mclass_hierarchy;
110 extern const int COLOR_abstract_collection__Collection__has;
111 extern const int COLOR_model__MClass__in_hierarchy;
112 extern const int COLOR_array__Collection__to_a;
113 extern const int COLOR_model__MModule__linearize_mclasses;
114 extern const int COLOR_kernel__Object___61d_61d;
115 extern const int COLOR_abstract_collection__Collection__length;
116 extern const struct type type_kernel__Int;
117 val* NEW_range__Range(const struct type* type);
118 extern const struct type type_range__Rangekernel__Int;
119 extern const int COLOR_range__Range__without_last;
120 extern const int COLOR_abstract_collection__Sequence___91d_93d_61d;
121 extern const int COLOR_model__MProperty__mpropdefs;
122 extern const int COLOR_model__MPropDef__mclassdef;
123 extern const int COLOR_model__MClassDef__mclass;
124 val* separate_erasure_compiler__SeparateErasureCompiler__build_vt_tables(val* self, val* p0, val* p1);
125 extern const struct type type_hash_collection__HashMapmodel__MClassarray__Arraynullable_model__MClass;
126 extern const int COLOR_separate_erasure_compiler__SeparateErasureCompiler__class_layout;
127 extern const struct type type_array__Arraynullable_model__MClass;
128 extern const struct type type_layout_builders__PHLayoutmodel__MClassmodel__MClass;
129 extern const int COLOR_layout_builders__PHLayout__hashes;
130 val* separate_erasure_compiler__SeparateErasureCompiler__build_class_typing_tables(val* self, val* p0);
131 extern const int COLOR_abstract_compiler__AbstractCompiler__header;
132 extern const int COLOR_abstract_compiler__CodeWriter__add_decl;
133 extern const int COLOR_separate_compiler__SeparateCompiler__compile_header_attribute_structs;
134 extern const struct type type_layout_builders__PHLayoutmodel__MClassmodel__MVirtualTypeProp;
135 void separate_erasure_compiler__SeparateErasureCompiler__compile_header_structs(val* self);
136 extern const int COLOR_model__MClass__intro;
137 extern const int COLOR_model__MClassDef__bound_mtype;
138 extern const int COLOR_abstract_compiler__MClass__c_name;
139 extern const int COLOR_separate_compiler__MClass__c_instance_name;
140 extern const int COLOR_separate_compiler__SeparateCompiler__method_tables;
141 extern const int COLOR_separate_compiler__SeparateCompiler__attr_tables;
142 extern const int COLOR_separate_erasure_compiler__SeparateErasureCompiler__class_tables;
143 extern const int COLOR_abstract_compiler__AbstractCompiler__new_visitor;
144 extern const int COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl;
145 extern const int COLOR_abstract_compiler__AbstractCompiler__provide_declaration;
146 extern const int COLOR_layout_builders__Layout__ids;
147 extern const int COLOR_model__MClass__name;
148 extern const int COLOR_separate_compiler__SeparateCompiler__box_kind_of;
149 extern const int COLOR_layout_builders__PHLayout__masks;
150 extern const int COLOR_separate_erasure_compiler__SeparateErasureCompiler__build_class_vts_table;
151 extern const int COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration;
152 extern const int COLOR_abstract_collection__SequenceRead___91d_93d;
153 extern const int COLOR_abstract_compiler__MType__ctype;
154 extern const int COLOR_kernel__Object___33d_61d;
155 extern const int COLOR_abstract_compiler__MPropDef__c_name;
156 extern const int COLOR_model__MClass__intro_mmodule;
157 extern const int COLOR_model__MClassType__mclass;
158 extern const int COLOR_model__MClass__kind;
159 extern const int COLOR_model__Object__extern_kind;
160 extern const int COLOR_abstract_compiler__MType__c_name;
161 extern const int COLOR_abstract_compiler__AbstractCompilerVisitor__add;
162 extern const int COLOR_abstract_compiler__AbstractCompilerVisitor__new_named_var;
163 extern const int COLOR_abstract_compiler__RuntimeVariable__is_exact_61d;
164 extern const int COLOR_model__MClassType__arguments;
165 extern const int COLOR_abstract_collection__Collection__first;
166 extern const int COLOR_abstract_compiler__AbstractCompiler__generate_init_attr;
167 void separate_erasure_compiler__SeparateErasureCompiler__compile_class_to_c(val* self, val* p0);
168 extern const int COLOR_separate_erasure_compiler__SeparateErasureCompiler__vt_tables;
169 extern const int COLOR_abstract_collection__Collection__is_empty;
170 extern const struct type type_model__MVirtualTypeDef;
171 extern const int COLOR_model__MVirtualTypeDef__bound;
172 extern const int COLOR_separate_erasure_compiler__SeparateErasureCompiler__retrieve_vt_bound;
173 extern const struct type type_model__MNullableType;
174 extern const int COLOR_model__MNullableType__mtype;
175 extern const struct type type_model__MClassType;
176 short int separate_erasure_compiler__SeparateErasureCompiler__build_class_vts_table(val* self, val* p0);
177 extern const int COLOR_file__Object__print;
178 extern const struct type type_model__MVirtualType;
179 extern const int COLOR_model__MType__anchor_to;
180 extern const struct type type_model__MParameterType;
181 val* separate_erasure_compiler__SeparateErasureCompiler__retrieve_vt_bound(val* self, val* p0, val* p1);
182 val* NEW_separate_erasure_compiler__SeparateErasureCompilerVisitor(const struct type* type);
183 extern const struct type type_separate_erasure_compiler__SeparateErasureCompilerVisitor;
184 extern const int COLOR_abstract_compiler__AbstractCompilerVisitor__init;
185 extern const int COLOR_abstract_compiler__AbstractCompiler_VTVISITOR;
186 val* separate_erasure_compiler__SeparateErasureCompiler__new_visitor(val* self);
187 extern const int COLOR_separate_erasure_compiler__SeparateErasureCompiler___64dclass_tables;
188 val* separate_erasure_compiler__SeparateErasureCompiler__class_tables(val* self);
189 void separate_erasure_compiler__SeparateErasureCompiler__class_tables_61d(val* self, val* p0);
190 extern const int COLOR_separate_erasure_compiler__SeparateErasureCompiler___64dvt_tables;
191 val* separate_erasure_compiler__SeparateErasureCompiler__vt_tables(val* self);
192 void separate_erasure_compiler__SeparateErasureCompiler__vt_tables_61d(val* self, val* p0);
193 extern const int COLOR_abstract_collection__MapRead__iterator;
194 extern const int COLOR_abstract_collection__MapIterator__is_ok;
195 extern const int COLOR_abstract_collection__MapIterator__key;
196 extern const int COLOR_abstract_collection__MapIterator__item;
197 extern const int COLOR_abstract_collection__MapIterator__next;
198 void separate_erasure_compiler__SeparateErasureCompiler__display_sizes(val* self);
199 extern const int COLOR_separate_erasure_compiler__SeparateErasureCompilerVisitor__compile_callsite;
200 extern const int COLOR_typing__CallSite__erasure_cast;
201 extern const int COLOR_abstract_compiler__AbstractCompilerVisitor__compiler;
202 extern const int COLOR_typing__CallSite__msignature;
203 extern const int COLOR_model__MSignature__return_mtype;
204 extern const int COLOR_abstract_compiler__AbstractCompilerVisitor__type_test;
205 extern const int COLOR_abstract_compiler__AbstractCompilerVisitor__add_abort;
206 val* separate_erasure_compiler__SeparateErasureCompilerVisitor__compile_callsite(val* self, val* p0, val* p1);
207 extern const int COLOR_abstract_compiler__AbstractCompilerVisitor__new_expr;
208 val* separate_erasure_compiler__SeparateErasureCompilerVisitor__init_instance(val* self, val* p0);
209 extern const int COLOR_string__Object__inspect;
210 extern const int COLOR_abstract_compiler__AbstractCompilerVisitor__bool_type;
211 extern const int COLOR_abstract_compiler__AbstractCompilerVisitor__new_var;
212 extern const int COLOR_abstract_compiler__AbstractCompilerVisitor__get_name;
213 extern const int COLOR_separate_compiler__SeparateCompilerVisitor__maybe_null;
214 extern const int COLOR_abstract_compiler__AbstractCompilerVisitor__frame;
215 extern const int COLOR_abstract_compiler__Frame__mpropdef;
216 extern const int COLOR_model__MClassDef__mmodule;
217 extern const int COLOR_model__MType__resolve_for;
218 extern const int COLOR_abstract_compiler__RuntimeVariable__mcasttype;
219 extern const int COLOR_model__MType__is_subtype;
220 extern const int COLOR_abstract_compiler__ToolContext__opt_typing_test_metrics;
221 extern const int COLOR_abstract_compiler__AbstractCompiler__count_type_test_skipped;
222 extern const int COLOR_abstract_compiler__RuntimeVariable__mtype;
223 extern const int COLOR_array__Array__with_capacity;
224 extern const int COLOR_abstract_compiler__AbstractCompiler__count_type_test_resolved;
225 extern const int COLOR_abstract_compiler__Frame__arguments;
226 extern const int COLOR_model__MVirtualType__mproperty;
227 extern const int COLOR_separate_compiler__MProperty__const_color;
228 extern const int COLOR_abstract_compiler__AbstractCompiler__count_type_test_unresolved;
229 extern const int COLOR_abstract_compiler__AbstractCompilerVisitor__debug;
230 val* separate_erasure_compiler__SeparateErasureCompilerVisitor__type_test(val* self, val* p0, val* p1, val* p2);
231 val* separate_erasure_compiler__SeparateErasureCompilerVisitor__class_name_string(val* self, val* p0);
232 extern const int COLOR_abstract_compiler__AbstractCompilerVisitor__get_class;
233 extern const int COLOR_abstract_compiler__AbstractCompilerVisitor__anchor;
234 extern const struct type type_array__Arraymodel__MType;
235 extern const struct type type_array__NativeArraymodel__MType;
236 extern const int COLOR_model__MClass__get_mtype;
237 extern const int COLOR_abstract_compiler__AbstractCompilerVisitor__init_instance;
238 extern const int COLOR_abstract_compiler__AbstractCompilerVisitor__object_type;
239 extern const int COLOR_abstract_compiler__AbstractCompilerVisitor__autobox;
240 extern const int COLOR_abstract_compiler__AbstractCompilerVisitor__int_instance;
241 extern const int COLOR_abstract_compiler__AbstractCompilerVisitor__get_property;
242 extern const struct type type_array__Arrayabstract_compiler__RuntimeVariable;
243 extern const struct type type_array__NativeArrayabstract_compiler__RuntimeVariable;
244 extern const int COLOR_abstract_compiler__AbstractCompilerVisitor__send;
245 val* separate_erasure_compiler__SeparateErasureCompilerVisitor__array_instance(val* self, val* p0, val* p1);
246 extern const int COLOR_abstract_compiler__AbstractCompilerVisitor__ret;
247 void separate_erasure_compiler__SeparateErasureCompilerVisitor__calloc_array(val* self, val* p0, val* p1);