c_src: update
[nit.git] / c_src / array._sep.h
index 48dc5fa..fb5ad23 100644 (file)
@@ -21,7 +21,6 @@ extern const classtable_elt_t VFT_ArrayMap[];
 extern const classtable_elt_t VFT_ArrayCapable[];
 
 extern const classtable_elt_t VFT_NativeArray[];
-val_t NEW_NativeArray(size_t length, size_t size);
 extern const char *LOCATE_array;
 extern const int SFT_array[];
 #define ID_AbstractArrayRead (SFT_array[0])
@@ -50,6 +49,8 @@ extern const int SFT_array[];
 #define CALL_array___Array___filled_with(recv) ((array___Array___filled_with_t)CALL((recv), (SFT_array[10] + 4)))
 #define CALL_array___Array___with_native(recv) ((array___Array___with_native_t)CALL((recv), (SFT_array[10] + 5)))
 #define CALL_array___Array___intern_items(recv) ((array___Array___intern_items_t)CALL((recv), (SFT_array[10] + 6)))
+#define CALL_array___Array___sort(recv) ((array___Array___sort_t)CALL((recv), (SFT_array[10] + 7)))
+#define CALL_array___Array___sub_sort(recv) ((array___Array___sub_sort_t)CALL((recv), (SFT_array[10] + 8)))
 #define ID_ArrayIterator (SFT_array[11])
 #define COLOR_ArrayIterator (SFT_array[12])
 #define ATTR_array___ArrayIterator____index(recv) ATTR(recv, (SFT_array[13] + 0))
@@ -90,268 +91,286 @@ extern const int SFT_array[];
 #define CALL_array___NativeArray_____bra(recv) ((array___NativeArray_____bra_t)CALL((recv), (SFT_array[34] + 1)))
 #define CALL_array___NativeArray_____braeq(recv) ((array___NativeArray_____braeq_t)CALL((recv), (SFT_array[34] + 2)))
 #define CALL_array___NativeArray___copy_to(recv) ((array___NativeArray___copy_to_t)CALL((recv), (SFT_array[34] + 3)))
-#define LOCATE_array___AbstractArrayRead_____eqeq "array::AbstractArrayRead::(kernel::Object::==)"
-val_t array___AbstractArrayRead_____eqeq(val_t p0, val_t p1);
-typedef val_t (*array___AbstractArrayRead_____eqeq_t)(val_t p0, val_t p1);
-#define LOCATE_array___AbstractArrayRead___output "array::AbstractArrayRead::(kernel::Object::output)"
-void array___AbstractArrayRead___output(val_t p0);
-typedef void (*array___AbstractArrayRead___output_t)(val_t p0);
-#define LOCATE_array___AbstractArrayRead___iterator "array::AbstractArrayRead::(abstract_collection::Collection::iterator)"
-val_t array___AbstractArrayRead___iterator(val_t p0);
-typedef val_t (*array___AbstractArrayRead___iterator_t)(val_t p0);
-#define LOCATE_array___AbstractArrayRead___is_empty "array::AbstractArrayRead::(abstract_collection::Collection::is_empty)"
-val_t array___AbstractArrayRead___is_empty(val_t p0);
-typedef val_t (*array___AbstractArrayRead___is_empty_t)(val_t p0);
-#define LOCATE_array___AbstractArrayRead___length "array::AbstractArrayRead::(abstract_collection::Collection::length)"
+static const char * const LOCATE_array___AbstractArrayRead___length = "array::AbstractArrayRead::(abstract_collection::Collection::length)";
 val_t array___AbstractArrayRead___length(val_t p0);
 typedef val_t (*array___AbstractArrayRead___length_t)(val_t p0);
-#define LOCATE_array___AbstractArrayRead___has "array::AbstractArrayRead::(abstract_collection::Collection::has)"
+static const char * const LOCATE_array___AbstractArrayRead___is_empty = "array::AbstractArrayRead::(abstract_collection::Collection::is_empty)";
+val_t array___AbstractArrayRead___is_empty(val_t p0);
+typedef val_t (*array___AbstractArrayRead___is_empty_t)(val_t p0);
+static const char * const LOCATE_array___AbstractArrayRead___has = "array::AbstractArrayRead::(abstract_collection::Collection::has)";
 val_t array___AbstractArrayRead___has(val_t p0, val_t p1);
 typedef val_t (*array___AbstractArrayRead___has_t)(val_t p0, val_t p1);
-#define LOCATE_array___AbstractArrayRead___has_only "array::AbstractArrayRead::(abstract_collection::Collection::has_only)"
+static const char * const LOCATE_array___AbstractArrayRead___has_only = "array::AbstractArrayRead::(abstract_collection::Collection::has_only)";
 val_t array___AbstractArrayRead___has_only(val_t p0, val_t p1);
 typedef val_t (*array___AbstractArrayRead___has_only_t)(val_t p0, val_t p1);
-#define LOCATE_array___AbstractArrayRead___count "array::AbstractArrayRead::(abstract_collection::Collection::count)"
-val_t array___AbstractArrayRead___count(val_t p0, val_t p1);
-typedef val_t (*array___AbstractArrayRead___count_t)(val_t p0, val_t p1);
-#define LOCATE_array___AbstractArrayRead___has_key "array::AbstractArrayRead::(abstract_collection::MapRead::has_key)"
+static const char * const LOCATE_array___AbstractArrayRead___has_key = "array::AbstractArrayRead::(abstract_collection::MapRead::has_key)";
 val_t array___AbstractArrayRead___has_key(val_t p0, val_t p1);
 typedef val_t (*array___AbstractArrayRead___has_key_t)(val_t p0, val_t p1);
-#define LOCATE_array___AbstractArrayRead___index_of "array::AbstractArrayRead::(abstract_collection::SequenceRead::index_of)"
+static const char * const LOCATE_array___AbstractArrayRead___count = "array::AbstractArrayRead::(abstract_collection::Collection::count)";
+val_t array___AbstractArrayRead___count(val_t p0, val_t p1);
+typedef val_t (*array___AbstractArrayRead___count_t)(val_t p0, val_t p1);
+static const char * const LOCATE_array___AbstractArrayRead___index_of = "array::AbstractArrayRead::(abstract_collection::SequenceRead::index_of)";
 val_t array___AbstractArrayRead___index_of(val_t p0, val_t p1);
 typedef val_t (*array___AbstractArrayRead___index_of_t)(val_t p0, val_t p1);
-#define LOCATE_array___AbstractArrayRead___last_index_of "array::AbstractArrayRead::last_index_of"
+static const char * const LOCATE_array___AbstractArrayRead___last_index_of = "array::AbstractArrayRead::last_index_of";
 val_t array___AbstractArrayRead___last_index_of(val_t p0, val_t p1);
 typedef val_t (*array___AbstractArrayRead___last_index_of_t)(val_t p0, val_t p1);
-#define LOCATE_array___AbstractArrayRead___index_of_from "array::AbstractArrayRead::index_of_from"
+static const char * const LOCATE_array___AbstractArrayRead___index_of_from = "array::AbstractArrayRead::index_of_from";
 val_t array___AbstractArrayRead___index_of_from(val_t p0, val_t p1, val_t p2);
 typedef val_t (*array___AbstractArrayRead___index_of_from_t)(val_t p0, val_t p1, val_t p2);
-#define LOCATE_array___AbstractArrayRead___last_index_of_from "array::AbstractArrayRead::last_index_of_from"
+static const char * const LOCATE_array___AbstractArrayRead___last_index_of_from = "array::AbstractArrayRead::last_index_of_from";
 val_t array___AbstractArrayRead___last_index_of_from(val_t p0, val_t p1, val_t p2);
 typedef val_t (*array___AbstractArrayRead___last_index_of_from_t)(val_t p0, val_t p1, val_t p2);
-#define LOCATE_array___AbstractArrayRead___reversed "array::AbstractArrayRead::reversed"
+static const char * const LOCATE_array___AbstractArrayRead___reversed = "array::AbstractArrayRead::reversed";
 val_t array___AbstractArrayRead___reversed(val_t p0);
 typedef val_t (*array___AbstractArrayRead___reversed_t)(val_t p0);
-#define LOCATE_array___AbstractArrayRead___copy_to "array::AbstractArrayRead::copy_to"
+static const char * const LOCATE_array___AbstractArrayRead___copy_to = "array::AbstractArrayRead::copy_to";
 void array___AbstractArrayRead___copy_to(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
 typedef void (*array___AbstractArrayRead___copy_to_t)(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
-#define LOCATE_array___AbstractArrayRead___init "array::AbstractArrayRead::init"
+static const char * const LOCATE_array___AbstractArrayRead___output = "array::AbstractArrayRead::(kernel::Object::output)";
+void array___AbstractArrayRead___output(val_t p0);
+typedef void (*array___AbstractArrayRead___output_t)(val_t p0);
+static const char * const LOCATE_array___AbstractArrayRead___iterator = "array::AbstractArrayRead::(abstract_collection::Collection::iterator)";
+val_t array___AbstractArrayRead___iterator(val_t p0);
+typedef val_t (*array___AbstractArrayRead___iterator_t)(val_t p0);
+static const char * const LOCATE_array___AbstractArrayRead_____eqeq = "array::AbstractArrayRead::(kernel::Object::==)";
+val_t array___AbstractArrayRead_____eqeq(val_t p0, val_t p1);
+typedef val_t (*array___AbstractArrayRead_____eqeq_t)(val_t p0, val_t p1);
+static const char * const LOCATE_array___AbstractArrayRead___init = "array::AbstractArrayRead::init";
 void array___AbstractArrayRead___init(val_t p0, int* init_table);
 typedef void (*array___AbstractArrayRead___init_t)(val_t p0, int* init_table);
 val_t NEW_AbstractArrayRead_array___AbstractArrayRead___init();
-val_t NEW_AbstractArray_array___AbstractArrayRead___init();
-#define LOCATE_array___AbstractArray___clear "array::AbstractArray::(abstract_collection::RemovableCollection::clear)"
-void array___AbstractArray___clear(val_t p0);
-typedef void (*array___AbstractArray___clear_t)(val_t p0);
-#define LOCATE_array___AbstractArray___remove "array::AbstractArray::(abstract_collection::RemovableCollection::remove)"
-void array___AbstractArray___remove(val_t p0, val_t p1);
-typedef void (*array___AbstractArray___remove_t)(val_t p0, val_t p1);
-#define LOCATE_array___AbstractArray___remove_all "array::AbstractArray::(abstract_collection::RemovableCollection::remove_all)"
-void array___AbstractArray___remove_all(val_t p0, val_t p1);
-typedef void (*array___AbstractArray___remove_all_t)(val_t p0, val_t p1);
-#define LOCATE_array___AbstractArray___remove_at "array::AbstractArray::(abstract_collection::Map::remove_at)"
-void array___AbstractArray___remove_at(val_t p0, val_t p1);
-typedef void (*array___AbstractArray___remove_at_t)(val_t p0, val_t p1);
-#define LOCATE_array___AbstractArray___add "array::AbstractArray::(abstract_collection::SimpleCollection::add)"
-void array___AbstractArray___add(val_t p0, val_t p1);
-typedef void (*array___AbstractArray___add_t)(val_t p0, val_t p1);
-#define LOCATE_array___AbstractArray___push "array::AbstractArray::(abstract_collection::Sequence::push)"
+static const char * const LOCATE_array___AbstractArray___enlarge = "array::AbstractArray::enlarge";
+void array___AbstractArray___enlarge(val_t p0, val_t p1);
+typedef void (*array___AbstractArray___enlarge_t)(val_t p0, val_t p1);
+static const char * const LOCATE_array___AbstractArray___push = "array::AbstractArray::(abstract_collection::Sequence::push)";
 void array___AbstractArray___push(val_t p0, val_t p1);
 typedef void (*array___AbstractArray___push_t)(val_t p0, val_t p1);
-#define LOCATE_array___AbstractArray___pop "array::AbstractArray::(abstract_collection::Sequence::pop)"
+static const char * const LOCATE_array___AbstractArray___pop = "array::AbstractArray::(abstract_collection::Sequence::pop)";
 val_t array___AbstractArray___pop(val_t p0);
 typedef val_t (*array___AbstractArray___pop_t)(val_t p0);
-#define LOCATE_array___AbstractArray___unshift "array::AbstractArray::(abstract_collection::Sequence::unshift)"
-void array___AbstractArray___unshift(val_t p0, val_t p1);
-typedef void (*array___AbstractArray___unshift_t)(val_t p0, val_t p1);
-#define LOCATE_array___AbstractArray___shift "array::AbstractArray::(abstract_collection::Sequence::shift)"
+static const char * const LOCATE_array___AbstractArray___shift = "array::AbstractArray::(abstract_collection::Sequence::shift)";
 val_t array___AbstractArray___shift(val_t p0);
 typedef val_t (*array___AbstractArray___shift_t)(val_t p0);
-#define LOCATE_array___AbstractArray___enlarge "array::AbstractArray::enlarge"
-void array___AbstractArray___enlarge(val_t p0, val_t p1);
-typedef void (*array___AbstractArray___enlarge_t)(val_t p0, val_t p1);
-#define LOCATE_array___AbstractArray___insert "array::AbstractArray::insert"
+static const char * const LOCATE_array___AbstractArray___unshift = "array::AbstractArray::(abstract_collection::Sequence::unshift)";
+void array___AbstractArray___unshift(val_t p0, val_t p1);
+typedef void (*array___AbstractArray___unshift_t)(val_t p0, val_t p1);
+static const char * const LOCATE_array___AbstractArray___insert = "array::AbstractArray::insert";
 void array___AbstractArray___insert(val_t p0, val_t p1, val_t p2);
 typedef void (*array___AbstractArray___insert_t)(val_t p0, val_t p1, val_t p2);
-#define LOCATE_array___Array_____bra "array::Array::(abstract_collection::MapRead::[])"
+static const char * const LOCATE_array___AbstractArray___add = "array::AbstractArray::(abstract_collection::SimpleCollection::add)";
+void array___AbstractArray___add(val_t p0, val_t p1);
+typedef void (*array___AbstractArray___add_t)(val_t p0, val_t p1);
+static const char * const LOCATE_array___AbstractArray___clear = "array::AbstractArray::(abstract_collection::RemovableCollection::clear)";
+void array___AbstractArray___clear(val_t p0);
+typedef void (*array___AbstractArray___clear_t)(val_t p0);
+static const char * const LOCATE_array___AbstractArray___remove = "array::AbstractArray::(abstract_collection::RemovableCollection::remove)";
+void array___AbstractArray___remove(val_t p0, val_t p1);
+typedef void (*array___AbstractArray___remove_t)(val_t p0, val_t p1);
+static const char * const LOCATE_array___AbstractArray___remove_all = "array::AbstractArray::(abstract_collection::RemovableCollection::remove_all)";
+void array___AbstractArray___remove_all(val_t p0, val_t p1);
+typedef void (*array___AbstractArray___remove_all_t)(val_t p0, val_t p1);
+static const char * const LOCATE_array___AbstractArray___remove_at = "array::AbstractArray::(abstract_collection::Map::remove_at)";
+void array___AbstractArray___remove_at(val_t p0, val_t p1);
+typedef void (*array___AbstractArray___remove_at_t)(val_t p0, val_t p1);
+val_t NEW_AbstractArray_array___AbstractArrayRead___init();
+typedef void (*CLOS_array___Array___iterate_0)(struct stack_frame_t *, val_t);
+static const char * const LOCATE_array___Array___iterate = "array::Array::(abstract_collection::Collection::iterate)";
+void array___Array___iterate(val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
+typedef void (*array___Array___iterate_t)(val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
+static const char * const LOCATE_array___Array_____bra = "array::Array::(abstract_collection::MapRead::[])";
 val_t array___Array_____bra(val_t p0, val_t p1);
 typedef val_t (*array___Array_____bra_t)(val_t p0, val_t p1);
-#define LOCATE_array___Array_____braeq "array::Array::(abstract_collection::Map::[]=)"
+static const char * const LOCATE_array___Array_____braeq = "array::Array::(abstract_collection::Map::[]=)";
 void array___Array_____braeq(val_t p0, val_t p1, val_t p2);
 typedef void (*array___Array_____braeq_t)(val_t p0, val_t p1, val_t p2);
-#define LOCATE_array___Array___add "array::Array::(abstract_collection::SimpleCollection::add)"
+static const char * const LOCATE_array___Array___add = "array::Array::(abstract_collection::SimpleCollection::add)";
 void array___Array___add(val_t p0, val_t p1);
 typedef void (*array___Array___add_t)(val_t p0, val_t p1);
-#define LOCATE_array___Array___enlarge "array::Array::(array::AbstractArray::enlarge)"
+static const char * const LOCATE_array___Array___enlarge = "array::Array::(array::AbstractArray::enlarge)";
 void array___Array___enlarge(val_t p0, val_t p1);
 typedef void (*array___Array___enlarge_t)(val_t p0, val_t p1);
-#define LOCATE_array___Array___init "array::Array::init"
+static const char * const LOCATE_array___Array___init = "array::Array::init";
 void array___Array___init(val_t p0, int* init_table);
 typedef void (*array___Array___init_t)(val_t p0, int* init_table);
 val_t NEW_Array_array___Array___init();
-#define LOCATE_array___Array___with_items "array::Array::with_items"
+static const char * const LOCATE_array___Array___with_items = "array::Array::with_items";
 void array___Array___with_items(val_t p0, val_t p1, int* init_table);
 typedef void (*array___Array___with_items_t)(val_t p0, val_t p1, int* init_table);
 val_t NEW_Array_array___Array___with_items(val_t p0);
-#define LOCATE_array___Array___with_capacity "array::Array::with_capacity"
+static const char * const LOCATE_array___Array___with_capacity = "array::Array::with_capacity";
 void array___Array___with_capacity(val_t p0, val_t p1, int* init_table);
 typedef void (*array___Array___with_capacity_t)(val_t p0, val_t p1, int* init_table);
 val_t NEW_Array_array___Array___with_capacity(val_t p0);
-#define LOCATE_array___Array___filled_with "array::Array::filled_with"
+static const char * const LOCATE_array___Array___filled_with = "array::Array::filled_with";
 void array___Array___filled_with(val_t p0, val_t p1, val_t p2, int* init_table);
 typedef void (*array___Array___filled_with_t)(val_t p0, val_t p1, val_t p2, int* init_table);
 val_t NEW_Array_array___Array___filled_with(val_t p0, val_t p1);
-#define LOCATE_array___Array___with_native "array::Array::with_native"
+static const char * const LOCATE_array___Array___with_native = "array::Array::with_native";
 void array___Array___with_native(val_t p0, val_t p1, val_t p2, int* init_table);
 typedef void (*array___Array___with_native_t)(val_t p0, val_t p1, val_t p2, int* init_table);
 val_t NEW_Array_array___Array___with_native(val_t p0, val_t p1);
-#define LOCATE_array___Array___intern_items "array::Array::intern_items"
+static const char * const LOCATE_array___Array___intern_items = "array::Array::intern_items";
 val_t array___Array___intern_items(val_t p0);
 typedef val_t (*array___Array___intern_items_t)(val_t p0);
-#define LOCATE_array___ArrayIterator___item "array::ArrayIterator::(abstract_collection::Iterator::item)"
+typedef val_t (*CLOS_array___Array___sort_0)(struct stack_frame_t *, val_t, val_t);
+static const char * const LOCATE_array___Array___sort = "array::Array::sort";
+void array___Array___sort(val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
+typedef void (*array___Array___sort_t)(val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
+  val_t OC_array___Array___sort_1(struct stack_frame_t *closctx, val_t p0, val_t p1);
+  typedef val_t (*OC_array___Array___sort_1_t)(struct stack_frame_t *closctx, val_t p0, val_t p1);
+typedef val_t (*CLOS_array___Array___sub_sort_0)(struct stack_frame_t *, val_t, val_t);
+static const char * const LOCATE_array___Array___sub_sort = "array::Array::sub_sort";
+void array___Array___sub_sort(val_t p0, val_t p1, val_t p2, struct stack_frame_t *closctx_param, fun_t clos_fun0);
+typedef void (*array___Array___sub_sort_t)(val_t p0, val_t p1, val_t p2, struct stack_frame_t *closctx_param, fun_t clos_fun0);
+      val_t OC_array___Array___sub_sort_11(struct stack_frame_t *closctx, val_t p0, val_t p1);
+      typedef val_t (*OC_array___Array___sub_sort_11_t)(struct stack_frame_t *closctx, val_t p0, val_t p1);
+      val_t OC_array___Array___sub_sort_13(struct stack_frame_t *closctx, val_t p0, val_t p1);
+      typedef val_t (*OC_array___Array___sub_sort_13_t)(struct stack_frame_t *closctx, val_t p0, val_t p1);
+static const char * const LOCATE_array___ArrayIterator___item = "array::ArrayIterator::(abstract_collection::Iterator::item)";
 val_t array___ArrayIterator___item(val_t p0);
 typedef val_t (*array___ArrayIterator___item_t)(val_t p0);
-#define LOCATE_array___ArrayIterator___next "array::ArrayIterator::(abstract_collection::Iterator::next)"
-void array___ArrayIterator___next(val_t p0);
-typedef void (*array___ArrayIterator___next_t)(val_t p0);
-#define LOCATE_array___ArrayIterator___is_ok "array::ArrayIterator::(abstract_collection::Iterator::is_ok)"
+static const char * const LOCATE_array___ArrayIterator___is_ok = "array::ArrayIterator::(abstract_collection::Iterator::is_ok)";
 val_t array___ArrayIterator___is_ok(val_t p0);
 typedef val_t (*array___ArrayIterator___is_ok_t)(val_t p0);
-#define LOCATE_array___ArrayIterator___index "array::ArrayIterator::(abstract_collection::IndexedIterator::index)"
-val_t array___ArrayIterator___index(val_t p0);
-typedef val_t (*array___ArrayIterator___index_t)(val_t p0);
-#define LOCATE_array___ArrayIterator___init "array::ArrayIterator::init"
+static const char * const LOCATE_array___ArrayIterator___next = "array::ArrayIterator::(abstract_collection::Iterator::next)";
+void array___ArrayIterator___next(val_t p0);
+typedef void (*array___ArrayIterator___next_t)(val_t p0);
+static const char * const LOCATE_array___ArrayIterator___init = "array::ArrayIterator::init";
 void array___ArrayIterator___init(val_t p0, val_t p1, int* init_table);
 typedef void (*array___ArrayIterator___init_t)(val_t p0, val_t p1, int* init_table);
 val_t NEW_ArrayIterator_array___ArrayIterator___init(val_t p0);
-#define LOCATE_array___ArraySet___iterator "array::ArraySet::(abstract_collection::Collection::iterator)"
-val_t array___ArraySet___iterator(val_t p0);
-typedef val_t (*array___ArraySet___iterator_t)(val_t p0);
-#define LOCATE_array___ArraySet___is_empty "array::ArraySet::(abstract_collection::Collection::is_empty)"
+static const char * const LOCATE_array___ArrayIterator___index = "array::ArrayIterator::(abstract_collection::IndexedIterator::index)";
+val_t array___ArrayIterator___index(val_t p0);
+typedef val_t (*array___ArrayIterator___index_t)(val_t p0);
+static const char * const LOCATE_array___ArraySet___has = "array::ArraySet::(abstract_collection::Collection::has)";
+val_t array___ArraySet___has(val_t p0, val_t p1);
+typedef val_t (*array___ArraySet___has_t)(val_t p0, val_t p1);
+static const char * const LOCATE_array___ArraySet___add = "array::ArraySet::(abstract_collection::SimpleCollection::add)";
+void array___ArraySet___add(val_t p0, val_t p1);
+typedef void (*array___ArraySet___add_t)(val_t p0, val_t p1);
+static const char * const LOCATE_array___ArraySet___is_empty = "array::ArraySet::(abstract_collection::Collection::is_empty)";
 val_t array___ArraySet___is_empty(val_t p0);
 typedef val_t (*array___ArraySet___is_empty_t)(val_t p0);
-#define LOCATE_array___ArraySet___length "array::ArraySet::(abstract_collection::Collection::length)"
+static const char * const LOCATE_array___ArraySet___length = "array::ArraySet::(abstract_collection::Collection::length)";
 val_t array___ArraySet___length(val_t p0);
 typedef val_t (*array___ArraySet___length_t)(val_t p0);
-#define LOCATE_array___ArraySet___has "array::ArraySet::(abstract_collection::Collection::has)"
-val_t array___ArraySet___has(val_t p0, val_t p1);
-typedef val_t (*array___ArraySet___has_t)(val_t p0, val_t p1);
-#define LOCATE_array___ArraySet___first "array::ArraySet::(abstract_collection::Collection::first)"
+static const char * const LOCATE_array___ArraySet___first = "array::ArraySet::(abstract_collection::Collection::first)";
 val_t array___ArraySet___first(val_t p0);
 typedef val_t (*array___ArraySet___first_t)(val_t p0);
-#define LOCATE_array___ArraySet___clear "array::ArraySet::(abstract_collection::RemovableCollection::clear)"
-void array___ArraySet___clear(val_t p0);
-typedef void (*array___ArraySet___clear_t)(val_t p0);
-#define LOCATE_array___ArraySet___remove "array::ArraySet::(abstract_collection::RemovableCollection::remove)"
+static const char * const LOCATE_array___ArraySet___remove = "array::ArraySet::(abstract_collection::RemovableCollection::remove)";
 void array___ArraySet___remove(val_t p0, val_t p1);
 typedef void (*array___ArraySet___remove_t)(val_t p0, val_t p1);
-#define LOCATE_array___ArraySet___remove_all "array::ArraySet::(abstract_collection::RemovableCollection::remove_all)"
+static const char * const LOCATE_array___ArraySet___remove_all = "array::ArraySet::(abstract_collection::RemovableCollection::remove_all)";
 void array___ArraySet___remove_all(val_t p0, val_t p1);
 typedef void (*array___ArraySet___remove_all_t)(val_t p0, val_t p1);
-#define LOCATE_array___ArraySet___add "array::ArraySet::(abstract_collection::SimpleCollection::add)"
-void array___ArraySet___add(val_t p0, val_t p1);
-typedef void (*array___ArraySet___add_t)(val_t p0, val_t p1);
-#define LOCATE_array___ArraySet___enlarge "array::ArraySet::enlarge"
+static const char * const LOCATE_array___ArraySet___clear = "array::ArraySet::(abstract_collection::RemovableCollection::clear)";
+void array___ArraySet___clear(val_t p0);
+typedef void (*array___ArraySet___clear_t)(val_t p0);
+static const char * const LOCATE_array___ArraySet___iterator = "array::ArraySet::(abstract_collection::Collection::iterator)";
+val_t array___ArraySet___iterator(val_t p0);
+typedef val_t (*array___ArraySet___iterator_t)(val_t p0);
+static const char * const LOCATE_array___ArraySet___enlarge = "array::ArraySet::enlarge";
 void array___ArraySet___enlarge(val_t p0, val_t p1);
 typedef void (*array___ArraySet___enlarge_t)(val_t p0, val_t p1);
-#define LOCATE_array___ArraySet___remove_at "array::ArraySet::remove_at"
+static const char * const LOCATE_array___ArraySet___remove_at = "array::ArraySet::remove_at";
 void array___ArraySet___remove_at(val_t p0, val_t p1);
 typedef void (*array___ArraySet___remove_at_t)(val_t p0, val_t p1);
-#define LOCATE_array___ArraySet___init "array::ArraySet::init"
+static const char * const LOCATE_array___ArraySet___init = "array::ArraySet::init";
 void array___ArraySet___init(val_t p0, int* init_table);
 typedef void (*array___ArraySet___init_t)(val_t p0, int* init_table);
 val_t NEW_ArraySet_array___ArraySet___init();
-#define LOCATE_array___ArraySet___with_capacity "array::ArraySet::with_capacity"
+static const char * const LOCATE_array___ArraySet___with_capacity = "array::ArraySet::with_capacity";
 void array___ArraySet___with_capacity(val_t p0, val_t p1, int* init_table);
 typedef void (*array___ArraySet___with_capacity_t)(val_t p0, val_t p1, int* init_table);
 val_t NEW_ArraySet_array___ArraySet___with_capacity(val_t p0);
-#define LOCATE_array___ArraySetIterator___item "array::ArraySetIterator::(abstract_collection::Iterator::item)"
-val_t array___ArraySetIterator___item(val_t p0);
-typedef val_t (*array___ArraySetIterator___item_t)(val_t p0);
-#define LOCATE_array___ArraySetIterator___next "array::ArraySetIterator::(abstract_collection::Iterator::next)"
-void array___ArraySetIterator___next(val_t p0);
-typedef void (*array___ArraySetIterator___next_t)(val_t p0);
-#define LOCATE_array___ArraySetIterator___is_ok "array::ArraySetIterator::(abstract_collection::Iterator::is_ok)"
+static const char * const LOCATE_array___ArraySetIterator___is_ok = "array::ArraySetIterator::(abstract_collection::Iterator::is_ok)";
 val_t array___ArraySetIterator___is_ok(val_t p0);
 typedef val_t (*array___ArraySetIterator___is_ok_t)(val_t p0);
-#define LOCATE_array___ArraySetIterator___init "array::ArraySetIterator::init"
+static const char * const LOCATE_array___ArraySetIterator___next = "array::ArraySetIterator::(abstract_collection::Iterator::next)";
+void array___ArraySetIterator___next(val_t p0);
+typedef void (*array___ArraySetIterator___next_t)(val_t p0);
+static const char * const LOCATE_array___ArraySetIterator___item = "array::ArraySetIterator::(abstract_collection::Iterator::item)";
+val_t array___ArraySetIterator___item(val_t p0);
+typedef val_t (*array___ArraySetIterator___item_t)(val_t p0);
+static const char * const LOCATE_array___ArraySetIterator___init = "array::ArraySetIterator::init";
 void array___ArraySetIterator___init(val_t p0, val_t p1, int* init_table);
 typedef void (*array___ArraySetIterator___init_t)(val_t p0, val_t p1, int* init_table);
 val_t NEW_ArraySetIterator_array___ArraySetIterator___init(val_t p0);
-#define LOCATE_array___ArrayMap___iterator "array::ArrayMap::(abstract_collection::Collection::iterator)"
-val_t array___ArrayMap___iterator(val_t p0);
-typedef val_t (*array___ArrayMap___iterator_t)(val_t p0);
-#define LOCATE_array___ArrayMap___is_empty "array::ArrayMap::(abstract_collection::Collection::is_empty)"
-val_t array___ArrayMap___is_empty(val_t p0);
-typedef val_t (*array___ArrayMap___is_empty_t)(val_t p0);
-#define LOCATE_array___ArrayMap___length "array::ArrayMap::(abstract_collection::Collection::length)"
-val_t array___ArrayMap___length(val_t p0);
-typedef val_t (*array___ArrayMap___length_t)(val_t p0);
-#define LOCATE_array___ArrayMap___has "array::ArrayMap::(abstract_collection::Collection::has)"
+static const char * const LOCATE_array___ArrayMap_____bra = "array::ArrayMap::(abstract_collection::MapRead::[])";
+val_t array___ArrayMap_____bra(val_t p0, val_t p1);
+typedef val_t (*array___ArrayMap_____bra_t)(val_t p0, val_t p1);
+static const char * const LOCATE_array___ArrayMap_____braeq = "array::ArrayMap::(abstract_collection::Map::[]=)";
+void array___ArrayMap_____braeq(val_t p0, val_t p1, val_t p2);
+typedef void (*array___ArrayMap_____braeq_t)(val_t p0, val_t p1, val_t p2);
+static const char * const LOCATE_array___ArrayMap___has_key = "array::ArrayMap::(abstract_collection::MapRead::has_key)";
+val_t array___ArrayMap___has_key(val_t p0, val_t p1);
+typedef val_t (*array___ArrayMap___has_key_t)(val_t p0, val_t p1);
+static const char * const LOCATE_array___ArrayMap___has = "array::ArrayMap::(abstract_collection::Collection::has)";
 val_t array___ArrayMap___has(val_t p0, val_t p1);
 typedef val_t (*array___ArrayMap___has_t)(val_t p0, val_t p1);
-#define LOCATE_array___ArrayMap___has_only "array::ArrayMap::(abstract_collection::Collection::has_only)"
+static const char * const LOCATE_array___ArrayMap___has_only = "array::ArrayMap::(abstract_collection::Collection::has_only)";
 val_t array___ArrayMap___has_only(val_t p0, val_t p1);
 typedef val_t (*array___ArrayMap___has_only_t)(val_t p0, val_t p1);
-#define LOCATE_array___ArrayMap___count "array::ArrayMap::(abstract_collection::Collection::count)"
-val_t array___ArrayMap___count(val_t p0, val_t p1);
-typedef val_t (*array___ArrayMap___count_t)(val_t p0, val_t p1);
-#define LOCATE_array___ArrayMap___first "array::ArrayMap::(abstract_collection::Collection::first)"
+static const char * const LOCATE_array___ArrayMap___length = "array::ArrayMap::(abstract_collection::Collection::length)";
+val_t array___ArrayMap___length(val_t p0);
+typedef val_t (*array___ArrayMap___length_t)(val_t p0);
+static const char * const LOCATE_array___ArrayMap___first = "array::ArrayMap::(abstract_collection::Collection::first)";
 val_t array___ArrayMap___first(val_t p0);
 typedef val_t (*array___ArrayMap___first_t)(val_t p0);
-#define LOCATE_array___ArrayMap___clear "array::ArrayMap::(abstract_collection::RemovableCollection::clear)"
-void array___ArrayMap___clear(val_t p0);
-typedef void (*array___ArrayMap___clear_t)(val_t p0);
-#define LOCATE_array___ArrayMap___remove "array::ArrayMap::(abstract_collection::RemovableCollection::remove)"
+static const char * const LOCATE_array___ArrayMap___count = "array::ArrayMap::(abstract_collection::Collection::count)";
+val_t array___ArrayMap___count(val_t p0, val_t p1);
+typedef val_t (*array___ArrayMap___count_t)(val_t p0, val_t p1);
+static const char * const LOCATE_array___ArrayMap___iterator = "array::ArrayMap::(abstract_collection::Collection::iterator)";
+val_t array___ArrayMap___iterator(val_t p0);
+typedef val_t (*array___ArrayMap___iterator_t)(val_t p0);
+static const char * const LOCATE_array___ArrayMap___is_empty = "array::ArrayMap::(abstract_collection::Collection::is_empty)";
+val_t array___ArrayMap___is_empty(val_t p0);
+typedef val_t (*array___ArrayMap___is_empty_t)(val_t p0);
+static const char * const LOCATE_array___ArrayMap___remove = "array::ArrayMap::(abstract_collection::RemovableCollection::remove)";
 void array___ArrayMap___remove(val_t p0, val_t p1);
 typedef void (*array___ArrayMap___remove_t)(val_t p0, val_t p1);
-#define LOCATE_array___ArrayMap___remove_all "array::ArrayMap::(abstract_collection::RemovableCollection::remove_all)"
+static const char * const LOCATE_array___ArrayMap___remove_all = "array::ArrayMap::(abstract_collection::RemovableCollection::remove_all)";
 void array___ArrayMap___remove_all(val_t p0, val_t p1);
 typedef void (*array___ArrayMap___remove_all_t)(val_t p0, val_t p1);
-#define LOCATE_array___ArrayMap_____bra "array::ArrayMap::(abstract_collection::MapRead::[])"
-val_t array___ArrayMap_____bra(val_t p0, val_t p1);
-typedef val_t (*array___ArrayMap_____bra_t)(val_t p0, val_t p1);
-#define LOCATE_array___ArrayMap___has_key "array::ArrayMap::(abstract_collection::MapRead::has_key)"
-val_t array___ArrayMap___has_key(val_t p0, val_t p1);
-typedef val_t (*array___ArrayMap___has_key_t)(val_t p0, val_t p1);
-#define LOCATE_array___ArrayMap_____braeq "array::ArrayMap::(abstract_collection::Map::[]=)"
-void array___ArrayMap_____braeq(val_t p0, val_t p1, val_t p2);
-typedef void (*array___ArrayMap_____braeq_t)(val_t p0, val_t p1, val_t p2);
-#define LOCATE_array___ArrayMap___remove_at "array::ArrayMap::(abstract_collection::Map::remove_at)"
+static const char * const LOCATE_array___ArrayMap___remove_at = "array::ArrayMap::(abstract_collection::Map::remove_at)";
 void array___ArrayMap___remove_at(val_t p0, val_t p1);
 typedef void (*array___ArrayMap___remove_at_t)(val_t p0, val_t p1);
-#define LOCATE_array___ArrayMap___couple_at "array::ArrayMap::(abstract_collection::CoupleMap::couple_at)"
-val_t array___ArrayMap___couple_at(val_t p0, val_t p1);
-typedef val_t (*array___ArrayMap___couple_at_t)(val_t p0, val_t p1);
-#define LOCATE_array___ArrayMap___enlarge "array::ArrayMap::enlarge"
+static const char * const LOCATE_array___ArrayMap___clear = "array::ArrayMap::(abstract_collection::RemovableCollection::clear)";
+void array___ArrayMap___clear(val_t p0);
+typedef void (*array___ArrayMap___clear_t)(val_t p0);
+static const char * const LOCATE_array___ArrayMap___enlarge = "array::ArrayMap::enlarge";
 void array___ArrayMap___enlarge(val_t p0, val_t p1);
 typedef void (*array___ArrayMap___enlarge_t)(val_t p0, val_t p1);
-#define LOCATE_array___ArrayMap___remove_at_index "array::ArrayMap::remove_at_index"
+static const char * const LOCATE_array___ArrayMap___couple_at = "array::ArrayMap::(abstract_collection::CoupleMap::couple_at)";
+val_t array___ArrayMap___couple_at(val_t p0, val_t p1);
+typedef val_t (*array___ArrayMap___couple_at_t)(val_t p0, val_t p1);
+static const char * const LOCATE_array___ArrayMap___remove_at_index = "array::ArrayMap::remove_at_index";
 void array___ArrayMap___remove_at_index(val_t p0, val_t p1);
 typedef void (*array___ArrayMap___remove_at_index_t)(val_t p0, val_t p1);
-#define LOCATE_array___ArrayMap___index "array::ArrayMap::index"
+static const char * const LOCATE_array___ArrayMap___index = "array::ArrayMap::index";
 val_t array___ArrayMap___index(val_t p0, val_t p1);
 typedef val_t (*array___ArrayMap___index_t)(val_t p0, val_t p1);
-#define LOCATE_array___ArrayMap___init "array::ArrayMap::init"
+static const char * const LOCATE_array___ArrayMap___init = "array::ArrayMap::init";
 void array___ArrayMap___init(val_t p0, int* init_table);
 typedef void (*array___ArrayMap___init_t)(val_t p0, int* init_table);
 val_t NEW_ArrayMap_array___ArrayMap___init();
-#define LOCATE_array___Iterator___to_a "array::Iterator::to_a"
+static const char * const LOCATE_array___Iterator___to_a = "array::Iterator::to_a";
 val_t array___Iterator___to_a(val_t p0);
 typedef val_t (*array___Iterator___to_a_t)(val_t p0);
-#define LOCATE_array___Collection___to_a "array::Collection::to_a"
+static const char * const LOCATE_array___Collection___to_a = "array::Collection::to_a";
 val_t array___Collection___to_a(val_t p0);
 typedef val_t (*array___Collection___to_a_t)(val_t p0);
-#define LOCATE_array___ArrayCapable___calloc_array "array::ArrayCapable::calloc_array"
+static const char * const LOCATE_array___ArrayCapable___calloc_array = "array::ArrayCapable::calloc_array";
 val_t array___ArrayCapable___calloc_array(val_t p0, val_t p1);
 typedef val_t (*array___ArrayCapable___calloc_array_t)(val_t p0, val_t p1);
-#define LOCATE_array___NativeArray_____bra "array::NativeArray::[]"
+static const char * const LOCATE_array___NativeArray_____bra = "array::NativeArray::[]";
 val_t array___NativeArray_____bra(val_t p0, val_t p1);
 typedef val_t (*array___NativeArray_____bra_t)(val_t p0, val_t p1);
-#define LOCATE_array___NativeArray_____braeq "array::NativeArray::[]="
+static const char * const LOCATE_array___NativeArray_____braeq = "array::NativeArray::[]=";
 void array___NativeArray_____braeq(val_t p0, val_t p1, val_t p2);
 typedef void (*array___NativeArray_____braeq_t)(val_t p0, val_t p1, val_t p2);
-#define LOCATE_array___NativeArray___copy_to "array::NativeArray::copy_to"
+static const char * const LOCATE_array___NativeArray___copy_to = "array::NativeArray::copy_to";
 void array___NativeArray___copy_to(val_t p0, val_t p1, val_t p2);
 typedef void (*array___NativeArray___copy_to_t)(val_t p0, val_t p1, val_t p2);
 #endif