update c_src (now with ffi)
[nit.git] / c_src / native_interface___frontier._sep.h
index b763fd1..61facb5 100644 (file)
 #include "syntax._sep.h"
 #include <nit_common.h>
 
+extern const classtable_elt_t VFT_native_interface___frontier___NiVariable[];
+
+extern const classtable_elt_t VFT_native_interface___frontier___ReceiverVariable[];
+
+extern const classtable_elt_t VFT_native_interface___frontier___ReturnVariable[];
+
 extern const classtable_elt_t VFT_native_interface___frontier___FrontierVisitor[];
-extern const char *LOCATE_native_interface___frontier;
+extern const char LOCATE_native_interface___frontier[];
 extern const int SFT_native_interface___frontier[];
-#define CALL_native_interface___frontier___MMSrcModule___compile_frontier(recv) ((native_interface___frontier___MMSrcModule___compile_frontier_t)CALL((recv), (SFT_native_interface___frontier[0] + 0)))
-#define CALL_native_interface___frontier___MMSrcMethod___compile_extern_to_frontier(recv) ((native_interface___frontier___MMSrcMethod___compile_extern_to_frontier_t)CALL((recv), (SFT_native_interface___frontier[1] + 0)))
-#define CALL_native_interface___frontier___MMSrcMethod___compile_super_to_frontier(recv) ((native_interface___frontier___MMSrcMethod___compile_super_to_frontier_t)CALL((recv), (SFT_native_interface___frontier[1] + 1)))
-#define CALL_native_interface___frontier___MMSrcMethod___compile_out_to_frontier(recv) ((native_interface___frontier___MMSrcMethod___compile_out_to_frontier_t)CALL((recv), (SFT_native_interface___frontier[1] + 2)))
-#define CALL_native_interface___frontier___MMLocalClass___compile_defaut_extern_type(recv) ((native_interface___frontier___MMLocalClass___compile_defaut_extern_type_t)CALL((recv), (SFT_native_interface___frontier[2] + 0)))
-#define CALL_native_interface___frontier___MMSignature___compile_frontier(recv) ((native_interface___frontier___MMSignature___compile_frontier_t)CALL((recv), (SFT_native_interface___frontier[3] + 0)))
-#define ID_native_interface___frontier___FrontierVisitor (SFT_native_interface___frontier[4])
-#define COLOR_native_interface___frontier___FrontierVisitor (SFT_native_interface___frontier[5])
-#define ATTR_native_interface___frontier___FrontierVisitor_____atheader_top(recv) ATTR(recv, (SFT_native_interface___frontier[6] + 0))
-#define ATTR_native_interface___frontier___FrontierVisitor_____atheader(recv) ATTR(recv, (SFT_native_interface___frontier[6] + 1))
-#define ATTR_native_interface___frontier___FrontierVisitor_____atbody(recv) ATTR(recv, (SFT_native_interface___frontier[6] + 2))
-#define ATTR_native_interface___frontier___FrontierVisitor_____atfriendlys(recv) ATTR(recv, (SFT_native_interface___frontier[6] + 3))
-#define ATTR_native_interface___frontier___FrontierVisitor_____attypes(recv) ATTR(recv, (SFT_native_interface___frontier[6] + 4))
-#define ATTR_native_interface___frontier___FrontierVisitor_____atcasts(recv) ATTR(recv, (SFT_native_interface___frontier[6] + 5))
-#define ATTR_native_interface___frontier___FrontierVisitor_____atmmmodule(recv) ATTR(recv, (SFT_native_interface___frontier[6] + 6))
-#define ATTR_native_interface___frontier___FrontierVisitor_____atcprogram(recv) ATTR(recv, (SFT_native_interface___frontier[6] + 7))
-#define INIT_TABLE_POS_native_interface___frontier___FrontierVisitor (SFT_native_interface___frontier[7] + 0)
-#define CALL_native_interface___frontier___FrontierVisitor___header_top(recv) ((native_interface___frontier___FrontierVisitor___header_top_t)CALL((recv), (SFT_native_interface___frontier[7] + 1)))
-#define CALL_native_interface___frontier___FrontierVisitor___header_top__eq(recv) ((native_interface___frontier___FrontierVisitor___header_top__eq_t)CALL((recv), (SFT_native_interface___frontier[7] + 2)))
-#define CALL_native_interface___frontier___FrontierVisitor___header(recv) ((native_interface___frontier___FrontierVisitor___header_t)CALL((recv), (SFT_native_interface___frontier[7] + 3)))
-#define CALL_native_interface___frontier___FrontierVisitor___header__eq(recv) ((native_interface___frontier___FrontierVisitor___header__eq_t)CALL((recv), (SFT_native_interface___frontier[7] + 4)))
-#define CALL_native_interface___frontier___FrontierVisitor___body(recv) ((native_interface___frontier___FrontierVisitor___body_t)CALL((recv), (SFT_native_interface___frontier[7] + 5)))
-#define CALL_native_interface___frontier___FrontierVisitor___body__eq(recv) ((native_interface___frontier___FrontierVisitor___body__eq_t)CALL((recv), (SFT_native_interface___frontier[7] + 6)))
-#define CALL_native_interface___frontier___FrontierVisitor___friendlys(recv) ((native_interface___frontier___FrontierVisitor___friendlys_t)CALL((recv), (SFT_native_interface___frontier[7] + 7)))
-#define CALL_native_interface___frontier___FrontierVisitor___friendlys__eq(recv) ((native_interface___frontier___FrontierVisitor___friendlys__eq_t)CALL((recv), (SFT_native_interface___frontier[7] + 8)))
-#define CALL_native_interface___frontier___FrontierVisitor___types(recv) ((native_interface___frontier___FrontierVisitor___types_t)CALL((recv), (SFT_native_interface___frontier[7] + 9)))
-#define CALL_native_interface___frontier___FrontierVisitor___types__eq(recv) ((native_interface___frontier___FrontierVisitor___types__eq_t)CALL((recv), (SFT_native_interface___frontier[7] + 10)))
-#define CALL_native_interface___frontier___FrontierVisitor___casts(recv) ((native_interface___frontier___FrontierVisitor___casts_t)CALL((recv), (SFT_native_interface___frontier[7] + 11)))
-#define CALL_native_interface___frontier___FrontierVisitor___casts__eq(recv) ((native_interface___frontier___FrontierVisitor___casts__eq_t)CALL((recv), (SFT_native_interface___frontier[7] + 12)))
-#define CALL_native_interface___frontier___FrontierVisitor___mmmodule(recv) ((native_interface___frontier___FrontierVisitor___mmmodule_t)CALL((recv), (SFT_native_interface___frontier[7] + 13)))
-#define CALL_native_interface___frontier___FrontierVisitor___mmmodule__eq(recv) ((native_interface___frontier___FrontierVisitor___mmmodule__eq_t)CALL((recv), (SFT_native_interface___frontier[7] + 14)))
-#define CALL_native_interface___frontier___FrontierVisitor___cprogram(recv) ((native_interface___frontier___FrontierVisitor___cprogram_t)CALL((recv), (SFT_native_interface___frontier[7] + 15)))
-#define CALL_native_interface___frontier___FrontierVisitor___cprogram__eq(recv) ((native_interface___frontier___FrontierVisitor___cprogram__eq_t)CALL((recv), (SFT_native_interface___frontier[7] + 16)))
-#define CALL_native_interface___frontier___FrontierVisitor___compile_cached(recv) ((native_interface___frontier___FrontierVisitor___compile_cached_t)CALL((recv), (SFT_native_interface___frontier[7] + 17)))
-#define CALL_native_interface___frontier___FrontierVisitor___write_to_files(recv) ((native_interface___frontier___FrontierVisitor___write_to_files_t)CALL((recv), (SFT_native_interface___frontier[7] + 18)))
-#define CALL_native_interface___frontier___FrontierVisitor___init(recv) ((native_interface___frontier___FrontierVisitor___init_t)CALL((recv), (SFT_native_interface___frontier[7] + 19)))
-#define CALL_native_interface___frontier___MMImportedCast___compile_to_frontier(recv) ((native_interface___frontier___MMImportedCast___compile_to_frontier_t)CALL((recv), (SFT_native_interface___frontier[8] + 0)))
-#define CALL_native_interface___frontier___MMImportedCast___compile_as(recv) ((native_interface___frontier___MMImportedCast___compile_as_t)CALL((recv), (SFT_native_interface___frontier[8] + 1)))
-#define CALL_native_interface___frontier___MMImportedCast___compile_is(recv) ((native_interface___frontier___MMImportedCast___compile_is_t)CALL((recv), (SFT_native_interface___frontier[8] + 2)))
-#define CALL_native_interface___frontier___MMImportedCast___compile_check_is_not_null(recv) ((native_interface___frontier___MMImportedCast___compile_check_is_not_null_t)CALL((recv), (SFT_native_interface___frontier[8] + 3)))
-#define CALL_native_interface___frontier___MMType___compile_check_isa(recv) ((native_interface___frontier___MMType___compile_check_isa_t)CALL((recv), (SFT_native_interface___frontier[9] + 0)))
-#define CALL_native_interface___frontier___MMType___compile_condition_isa(recv) ((native_interface___frontier___MMType___compile_condition_isa_t)CALL((recv), (SFT_native_interface___frontier[9] + 1)))
-#define CALL_native_interface___frontier___MMType___compile_to_frontier(recv) ((native_interface___frontier___MMType___compile_to_frontier_t)CALL((recv), (SFT_native_interface___frontier[9] + 2)))
-#define CALL_native_interface___frontier___MMType___compile_new_local_ref(recv) ((native_interface___frontier___MMType___compile_new_local_ref_t)CALL((recv), (SFT_native_interface___frontier[9] + 3)))
-#define CALL_native_interface___frontier___MMExplicitImport___compile_friendly_to_frontier(recv) ((native_interface___frontier___MMExplicitImport___compile_friendly_to_frontier_t)CALL((recv), (SFT_native_interface___frontier[10] + 0)))
-static const char * const LOCATE_native_interface___frontier___MMSrcModule___compile_frontier = "frontier::MMSrcModule::compile_frontier";
+#define ID_native_interface___frontier___NiVariable (SFT_native_interface___frontier[0])
+#define COLOR_native_interface___frontier___NiVariable (SFT_native_interface___frontier[1])
+#define INIT_TABLE_POS_native_interface___frontier___NiVariable (SFT_native_interface___frontier[2] + 0)
+#define CALL_native_interface___frontier___NiVariable___ni_from_name(recv) ((native_interface___frontier___NiVariable___ni_from_name_t)CALL((recv), (SFT_native_interface___frontier[2] + 1)))
+#define CALL_native_interface___frontier___NiVariable___ni_to_name(recv) ((native_interface___frontier___NiVariable___ni_to_name_t)CALL((recv), (SFT_native_interface___frontier[2] + 2)))
+#define CALL_native_interface___frontier___NiVariable___ni_type(recv) ((native_interface___frontier___NiVariable___ni_type_t)CALL((recv), (SFT_native_interface___frontier[2] + 3)))
+#define CALL_native_interface___frontier___NiVariable___needs_preparation(recv) ((native_interface___frontier___NiVariable___needs_preparation_t)CALL((recv), (SFT_native_interface___frontier[2] + 4)))
+#define CALL_native_interface___frontier___NiVariable___prepare_for_nit(recv) ((native_interface___frontier___NiVariable___prepare_for_nit_t)CALL((recv), (SFT_native_interface___frontier[2] + 5)))
+#define CALL_native_interface___frontier___NiVariable___prepare_for_c(recv) ((native_interface___frontier___NiVariable___prepare_for_c_t)CALL((recv), (SFT_native_interface___frontier[2] + 6)))
+#define CALL_native_interface___frontier___NiVariable___as_arg_to_nit(recv) ((native_interface___frontier___NiVariable___as_arg_to_nit_t)CALL((recv), (SFT_native_interface___frontier[2] + 7)))
+#define CALL_native_interface___frontier___NiVariable___as_arg_to_c(recv) ((native_interface___frontier___NiVariable___as_arg_to_c_t)CALL((recv), (SFT_native_interface___frontier[2] + 8)))
+#define CALL_native_interface___frontier___NiVariable___init(recv) ((native_interface___frontier___NiVariable___init_t)CALL((recv), (SFT_native_interface___frontier[2] + 9)))
+#define ID_native_interface___frontier___ReceiverVariable (SFT_native_interface___frontier[3])
+#define COLOR_native_interface___frontier___ReceiverVariable (SFT_native_interface___frontier[4])
+#define ATTR_native_interface___frontier___ReceiverVariable_____atni_type(recv) ATTR(recv, (SFT_native_interface___frontier[5] + 0))
+#define INIT_TABLE_POS_native_interface___frontier___ReceiverVariable (SFT_native_interface___frontier[6] + 0)
+#define CALL_native_interface___frontier___ReceiverVariable___ni_type__eq(recv) ((native_interface___frontier___ReceiverVariable___ni_type__eq_t)CALL((recv), (SFT_native_interface___frontier[6] + 1)))
+#define CALL_native_interface___frontier___ReceiverVariable___init(recv) ((native_interface___frontier___ReceiverVariable___init_t)CALL((recv), (SFT_native_interface___frontier[6] + 2)))
+#define ID_native_interface___frontier___ReturnVariable (SFT_native_interface___frontier[7])
+#define COLOR_native_interface___frontier___ReturnVariable (SFT_native_interface___frontier[8])
+#define ATTR_native_interface___frontier___ReturnVariable_____atni_type(recv) ATTR(recv, (SFT_native_interface___frontier[9] + 0))
+#define INIT_TABLE_POS_native_interface___frontier___ReturnVariable (SFT_native_interface___frontier[10] + 0)
+#define CALL_native_interface___frontier___ReturnVariable___ni_type__eq(recv) ((native_interface___frontier___ReturnVariable___ni_type__eq_t)CALL((recv), (SFT_native_interface___frontier[10] + 1)))
+#define CALL_native_interface___frontier___ReturnVariable___init(recv) ((native_interface___frontier___ReturnVariable___init_t)CALL((recv), (SFT_native_interface___frontier[10] + 2)))
+#define CALL_native_interface___frontier___MMSrcModule___compile_frontier(recv) ((native_interface___frontier___MMSrcModule___compile_frontier_t)CALL((recv), (SFT_native_interface___frontier[11] + 0)))
+#define CALL_native_interface___frontier___MMSrcMethod___compile_extern_to_frontier(recv) ((native_interface___frontier___MMSrcMethod___compile_extern_to_frontier_t)CALL((recv), (SFT_native_interface___frontier[12] + 0)))
+#define CALL_native_interface___frontier___MMSrcMethod___compile_super_to_frontier(recv) ((native_interface___frontier___MMSrcMethod___compile_super_to_frontier_t)CALL((recv), (SFT_native_interface___frontier[12] + 1)))
+#define CALL_native_interface___frontier___MMSrcMethod___compile_out_to_frontier(recv) ((native_interface___frontier___MMSrcMethod___compile_out_to_frontier_t)CALL((recv), (SFT_native_interface___frontier[12] + 2)))
+#define ATTR_native_interface___frontier___MMSignature_____atrecv_ni_variable(recv) ATTR(recv, (SFT_native_interface___frontier[13] + 0))
+#define ATTR_native_interface___frontier___MMSignature_____atreturn_ni_variable(recv) ATTR(recv, (SFT_native_interface___frontier[13] + 1))
+#define CALL_native_interface___frontier___MMSignature___recv_ni_variable(recv) ((native_interface___frontier___MMSignature___recv_ni_variable_t)CALL((recv), (SFT_native_interface___frontier[14] + 0)))
+#define CALL_native_interface___frontier___MMSignature___recv_ni_variable__eq(recv) ((native_interface___frontier___MMSignature___recv_ni_variable__eq_t)CALL((recv), (SFT_native_interface___frontier[14] + 1)))
+#define CALL_native_interface___frontier___MMSignature___return_ni_variable(recv) ((native_interface___frontier___MMSignature___return_ni_variable_t)CALL((recv), (SFT_native_interface___frontier[14] + 2)))
+#define CALL_native_interface___frontier___MMSignature___return_ni_variable__eq(recv) ((native_interface___frontier___MMSignature___return_ni_variable__eq_t)CALL((recv), (SFT_native_interface___frontier[14] + 3)))
+#define CALL_SUPER_native_interface___frontier___MMSignature___init(recv) ((native_interface___frontier___MMSignature___init_t)CALL((recv), (SFT_native_interface___frontier[14] + 4)))
+#define CALL_native_interface___frontier___MMSignature___compile_frontier(recv) ((native_interface___frontier___MMSignature___compile_frontier_t)CALL((recv), (SFT_native_interface___frontier[14] + 5)))
+#define ID_native_interface___frontier___FrontierVisitor (SFT_native_interface___frontier[15])
+#define COLOR_native_interface___frontier___FrontierVisitor (SFT_native_interface___frontier[16])
+#define ATTR_native_interface___frontier___FrontierVisitor_____atheader_top(recv) ATTR(recv, (SFT_native_interface___frontier[17] + 0))
+#define ATTR_native_interface___frontier___FrontierVisitor_____atheader(recv) ATTR(recv, (SFT_native_interface___frontier[17] + 1))
+#define ATTR_native_interface___frontier___FrontierVisitor_____atbody(recv) ATTR(recv, (SFT_native_interface___frontier[17] + 2))
+#define ATTR_native_interface___frontier___FrontierVisitor_____atfriendlys(recv) ATTR(recv, (SFT_native_interface___frontier[17] + 3))
+#define ATTR_native_interface___frontier___FrontierVisitor_____attypes(recv) ATTR(recv, (SFT_native_interface___frontier[17] + 4))
+#define ATTR_native_interface___frontier___FrontierVisitor_____atcasts(recv) ATTR(recv, (SFT_native_interface___frontier[17] + 5))
+#define ATTR_native_interface___frontier___FrontierVisitor_____atmmmodule(recv) ATTR(recv, (SFT_native_interface___frontier[17] + 6))
+#define ATTR_native_interface___frontier___FrontierVisitor_____atcprogram(recv) ATTR(recv, (SFT_native_interface___frontier[17] + 7))
+#define INIT_TABLE_POS_native_interface___frontier___FrontierVisitor (SFT_native_interface___frontier[18] + 0)
+#define CALL_native_interface___frontier___FrontierVisitor___header_top(recv) ((native_interface___frontier___FrontierVisitor___header_top_t)CALL((recv), (SFT_native_interface___frontier[18] + 1)))
+#define CALL_native_interface___frontier___FrontierVisitor___header_top__eq(recv) ((native_interface___frontier___FrontierVisitor___header_top__eq_t)CALL((recv), (SFT_native_interface___frontier[18] + 2)))
+#define CALL_native_interface___frontier___FrontierVisitor___header(recv) ((native_interface___frontier___FrontierVisitor___header_t)CALL((recv), (SFT_native_interface___frontier[18] + 3)))
+#define CALL_native_interface___frontier___FrontierVisitor___header__eq(recv) ((native_interface___frontier___FrontierVisitor___header__eq_t)CALL((recv), (SFT_native_interface___frontier[18] + 4)))
+#define CALL_native_interface___frontier___FrontierVisitor___body(recv) ((native_interface___frontier___FrontierVisitor___body_t)CALL((recv), (SFT_native_interface___frontier[18] + 5)))
+#define CALL_native_interface___frontier___FrontierVisitor___body__eq(recv) ((native_interface___frontier___FrontierVisitor___body__eq_t)CALL((recv), (SFT_native_interface___frontier[18] + 6)))
+#define CALL_native_interface___frontier___FrontierVisitor___friendlys(recv) ((native_interface___frontier___FrontierVisitor___friendlys_t)CALL((recv), (SFT_native_interface___frontier[18] + 7)))
+#define CALL_native_interface___frontier___FrontierVisitor___friendlys__eq(recv) ((native_interface___frontier___FrontierVisitor___friendlys__eq_t)CALL((recv), (SFT_native_interface___frontier[18] + 8)))
+#define CALL_native_interface___frontier___FrontierVisitor___types(recv) ((native_interface___frontier___FrontierVisitor___types_t)CALL((recv), (SFT_native_interface___frontier[18] + 9)))
+#define CALL_native_interface___frontier___FrontierVisitor___types__eq(recv) ((native_interface___frontier___FrontierVisitor___types__eq_t)CALL((recv), (SFT_native_interface___frontier[18] + 10)))
+#define CALL_native_interface___frontier___FrontierVisitor___casts(recv) ((native_interface___frontier___FrontierVisitor___casts_t)CALL((recv), (SFT_native_interface___frontier[18] + 11)))
+#define CALL_native_interface___frontier___FrontierVisitor___casts__eq(recv) ((native_interface___frontier___FrontierVisitor___casts__eq_t)CALL((recv), (SFT_native_interface___frontier[18] + 12)))
+#define CALL_native_interface___frontier___FrontierVisitor___mmmodule(recv) ((native_interface___frontier___FrontierVisitor___mmmodule_t)CALL((recv), (SFT_native_interface___frontier[18] + 13)))
+#define CALL_native_interface___frontier___FrontierVisitor___mmmodule__eq(recv) ((native_interface___frontier___FrontierVisitor___mmmodule__eq_t)CALL((recv), (SFT_native_interface___frontier[18] + 14)))
+#define CALL_native_interface___frontier___FrontierVisitor___cprogram(recv) ((native_interface___frontier___FrontierVisitor___cprogram_t)CALL((recv), (SFT_native_interface___frontier[18] + 15)))
+#define CALL_native_interface___frontier___FrontierVisitor___cprogram__eq(recv) ((native_interface___frontier___FrontierVisitor___cprogram__eq_t)CALL((recv), (SFT_native_interface___frontier[18] + 16)))
+#define CALL_native_interface___frontier___FrontierVisitor___compile_cached(recv) ((native_interface___frontier___FrontierVisitor___compile_cached_t)CALL((recv), (SFT_native_interface___frontier[18] + 17)))
+#define CALL_native_interface___frontier___FrontierVisitor___write_to_files(recv) ((native_interface___frontier___FrontierVisitor___write_to_files_t)CALL((recv), (SFT_native_interface___frontier[18] + 18)))
+#define CALL_native_interface___frontier___FrontierVisitor___init(recv) ((native_interface___frontier___FrontierVisitor___init_t)CALL((recv), (SFT_native_interface___frontier[18] + 19)))
+#define CALL_native_interface___frontier___MMImportedCast___compile_to_frontier(recv) ((native_interface___frontier___MMImportedCast___compile_to_frontier_t)CALL((recv), (SFT_native_interface___frontier[19] + 0)))
+#define CALL_native_interface___frontier___MMImportedCast___compile_as(recv) ((native_interface___frontier___MMImportedCast___compile_as_t)CALL((recv), (SFT_native_interface___frontier[19] + 1)))
+#define CALL_native_interface___frontier___MMImportedCast___compile_is(recv) ((native_interface___frontier___MMImportedCast___compile_is_t)CALL((recv), (SFT_native_interface___frontier[19] + 2)))
+#define CALL_native_interface___frontier___MMImportedCast___compile_check_is_not_null(recv) ((native_interface___frontier___MMImportedCast___compile_check_is_not_null_t)CALL((recv), (SFT_native_interface___frontier[19] + 3)))
+#define CALL_native_interface___frontier___MMType___compile_check_isa(recv) ((native_interface___frontier___MMType___compile_check_isa_t)CALL((recv), (SFT_native_interface___frontier[20] + 0)))
+#define CALL_native_interface___frontier___MMType___compile_condition_isa(recv) ((native_interface___frontier___MMType___compile_condition_isa_t)CALL((recv), (SFT_native_interface___frontier[20] + 1)))
+#define CALL_native_interface___frontier___MMType___compile_to_frontier(recv) ((native_interface___frontier___MMType___compile_to_frontier_t)CALL((recv), (SFT_native_interface___frontier[20] + 2)))
+#define CALL_native_interface___frontier___MMType___compile_new_local_ref(recv) ((native_interface___frontier___MMType___compile_new_local_ref_t)CALL((recv), (SFT_native_interface___frontier[20] + 3)))
+#define CALL_native_interface___frontier___MMType___compile_stub_local_ref(recv) ((native_interface___frontier___MMType___compile_stub_local_ref_t)CALL((recv), (SFT_native_interface___frontier[20] + 4)))
+#define CALL_native_interface___frontier___MMExplicitImport___compile_friendly_to_frontier(recv) ((native_interface___frontier___MMExplicitImport___compile_friendly_to_frontier_t)CALL((recv), (SFT_native_interface___frontier[21] + 0)))
+val_t native_interface___frontier___NiVariable___ni_from_name(val_t p0);
+typedef val_t (*native_interface___frontier___NiVariable___ni_from_name_t)(val_t p0);
+val_t native_interface___frontier___NiVariable___ni_to_name(val_t p0);
+typedef val_t (*native_interface___frontier___NiVariable___ni_to_name_t)(val_t p0);
+val_t native_interface___frontier___NiVariable___ni_type(val_t p0);
+typedef val_t (*native_interface___frontier___NiVariable___ni_type_t)(val_t p0);
+val_t native_interface___frontier___NiVariable___needs_preparation(val_t p0);
+typedef val_t (*native_interface___frontier___NiVariable___needs_preparation_t)(val_t p0);
+void native_interface___frontier___NiVariable___prepare_for_nit(val_t p0, val_t p1);
+typedef void (*native_interface___frontier___NiVariable___prepare_for_nit_t)(val_t p0, val_t p1);
+void native_interface___frontier___NiVariable___prepare_for_c(val_t p0, val_t p1);
+typedef void (*native_interface___frontier___NiVariable___prepare_for_c_t)(val_t p0, val_t p1);
+val_t native_interface___frontier___NiVariable___as_arg_to_nit(val_t p0);
+typedef val_t (*native_interface___frontier___NiVariable___as_arg_to_nit_t)(val_t p0);
+val_t native_interface___frontier___NiVariable___as_arg_to_c(val_t p0);
+typedef val_t (*native_interface___frontier___NiVariable___as_arg_to_c_t)(val_t p0);
+void native_interface___frontier___NiVariable___init(val_t p0, int* init_table);
+typedef void (*native_interface___frontier___NiVariable___init_t)(val_t p0, int* init_table);
+val_t NEW_NiVariable_native_interface___frontier___NiVariable___init();
+val_t native_interface___frontier___MMParam___ni_from_name(val_t p0);
+typedef val_t (*native_interface___frontier___MMParam___ni_from_name_t)(val_t p0);
+val_t native_interface___frontier___MMParam___ni_to_name(val_t p0);
+typedef val_t (*native_interface___frontier___MMParam___ni_to_name_t)(val_t p0);
+val_t native_interface___frontier___MMParam___ni_type(val_t p0);
+typedef val_t (*native_interface___frontier___MMParam___ni_type_t)(val_t p0);
+val_t NEW_MMParam_metamodel___static_type___MMParam___init(val_t p0, val_t p1);
+val_t native_interface___frontier___ReceiverVariable___ni_from_name(val_t p0);
+typedef val_t (*native_interface___frontier___ReceiverVariable___ni_from_name_t)(val_t p0);
+val_t native_interface___frontier___ReceiverVariable___ni_to_name(val_t p0);
+typedef val_t (*native_interface___frontier___ReceiverVariable___ni_to_name_t)(val_t p0);
+val_t native_interface___frontier___ReceiverVariable___ni_type(val_t p0);
+typedef val_t (*native_interface___frontier___ReceiverVariable___ni_type_t)(val_t p0);
+void native_interface___frontier___ReceiverVariable___ni_type__eq(val_t p0, val_t p1);
+typedef void (*native_interface___frontier___ReceiverVariable___ni_type__eq_t)(val_t p0, val_t p1);
+void native_interface___frontier___ReceiverVariable___init(val_t p0, val_t p1, int* init_table);
+typedef void (*native_interface___frontier___ReceiverVariable___init_t)(val_t p0, val_t p1, int* init_table);
+val_t NEW_ReceiverVariable_native_interface___frontier___ReceiverVariable___init(val_t p0);
+val_t native_interface___frontier___ReturnVariable___ni_from_name(val_t p0);
+typedef val_t (*native_interface___frontier___ReturnVariable___ni_from_name_t)(val_t p0);
+val_t native_interface___frontier___ReturnVariable___ni_to_name(val_t p0);
+typedef val_t (*native_interface___frontier___ReturnVariable___ni_to_name_t)(val_t p0);
+val_t native_interface___frontier___ReturnVariable___ni_type(val_t p0);
+typedef val_t (*native_interface___frontier___ReturnVariable___ni_type_t)(val_t p0);
+void native_interface___frontier___ReturnVariable___ni_type__eq(val_t p0, val_t p1);
+typedef void (*native_interface___frontier___ReturnVariable___ni_type__eq_t)(val_t p0, val_t p1);
+void native_interface___frontier___ReturnVariable___init(val_t p0, val_t p1, int* init_table);
+typedef void (*native_interface___frontier___ReturnVariable___init_t)(val_t p0, val_t p1, int* init_table);
+val_t NEW_ReturnVariable_native_interface___frontier___ReturnVariable___init(val_t p0);
+void native_interface___frontier___ReturnVariable___prepare_for_c(val_t p0, val_t p1);
+typedef void (*native_interface___frontier___ReturnVariable___prepare_for_c_t)(val_t p0, val_t p1);
+void native_interface___frontier___ReturnVariable___prepare_for_nit(val_t p0, val_t p1);
+typedef void (*native_interface___frontier___ReturnVariable___prepare_for_nit_t)(val_t p0, val_t p1);
 void native_interface___frontier___MMSrcModule___compile_frontier(val_t p0, val_t p1);
 typedef void (*native_interface___frontier___MMSrcModule___compile_frontier_t)(val_t p0, val_t p1);
-  typedef void (*CLOS_OC_native_interface___frontier___MMSrcModule___compile_frontier_23_0)(struct stack_frame_t *);
-  void OC_native_interface___frontier___MMSrcModule___compile_frontier_23(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
-  typedef void (*OC_native_interface___frontier___MMSrcModule___compile_frontier_23_t)(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
-    typedef void (*CLOS_OC_native_interface___frontier___MMSrcModule___compile_frontier_24_0)(struct stack_frame_t *);
-    void OC_native_interface___frontier___MMSrcModule___compile_frontier_24(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
-    typedef void (*OC_native_interface___frontier___MMSrcModule___compile_frontier_24_t)(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
+  typedef void (*CLOS_OC_native_interface___frontier___MMSrcModule___compile_frontier_25_0)(struct stack_frame_t *);
+  void OC_native_interface___frontier___MMSrcModule___compile_frontier_25(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
+  typedef void (*OC_native_interface___frontier___MMSrcModule___compile_frontier_25_t)(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
+    typedef void (*CLOS_OC_native_interface___frontier___MMSrcModule___compile_frontier_26_0)(struct stack_frame_t *);
+    void OC_native_interface___frontier___MMSrcModule___compile_frontier_26(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
+    typedef void (*OC_native_interface___frontier___MMSrcModule___compile_frontier_26_t)(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
 val_t NEW_MMSrcModule_syntax___syntax_base___MMSrcModule___init(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4);
-static const char * const LOCATE_native_interface___frontier___MMSrcMethod___compile_extern_to_frontier = "frontier::MMSrcMethod::compile_extern_to_frontier";
 void native_interface___frontier___MMSrcMethod___compile_extern_to_frontier(val_t p0, val_t p1);
 typedef void (*native_interface___frontier___MMSrcMethod___compile_extern_to_frontier_t)(val_t p0, val_t p1);
   typedef void (*CLOS_OC_native_interface___frontier___MMSrcMethod___compile_extern_to_frontier_1_0)(struct stack_frame_t *);
@@ -73,70 +160,59 @@ typedef void (*native_interface___frontier___MMSrcMethod___compile_extern_to_fro
   typedef void (*CLOS_OC_native_interface___frontier___MMSrcMethod___compile_extern_to_frontier_2_0)(struct stack_frame_t *);
   void OC_native_interface___frontier___MMSrcMethod___compile_extern_to_frontier_2(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
   typedef void (*OC_native_interface___frontier___MMSrcMethod___compile_extern_to_frontier_2_t)(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
-static const char * const LOCATE_native_interface___frontier___MMSrcMethod___compile_super_to_frontier = "frontier::MMSrcMethod::compile_super_to_frontier";
 void native_interface___frontier___MMSrcMethod___compile_super_to_frontier(val_t p0, val_t p1);
 typedef void (*native_interface___frontier___MMSrcMethod___compile_super_to_frontier_t)(val_t p0, val_t p1);
-static const char * const LOCATE_native_interface___frontier___MMSrcMethod___compile_out_to_frontier = "frontier::MMSrcMethod::compile_out_to_frontier";
 void native_interface___frontier___MMSrcMethod___compile_out_to_frontier(val_t p0, val_t p1);
 typedef void (*native_interface___frontier___MMSrcMethod___compile_out_to_frontier_t)(val_t p0, val_t p1);
+  typedef void (*CLOS_OC_native_interface___frontier___MMSrcMethod___compile_out_to_frontier_7_0)(struct stack_frame_t *);
+  void OC_native_interface___frontier___MMSrcMethod___compile_out_to_frontier_7(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
+  typedef void (*OC_native_interface___frontier___MMSrcMethod___compile_out_to_frontier_7_t)(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
 val_t NEW_MMSrcMethod_metamodel___abstractmetamodel___MMLocalProperty___init(val_t p0, val_t p1);
-static const char * const LOCATE_native_interface___frontier___MMLocalClass___compile_defaut_extern_type = "frontier::MMLocalClass::compile_defaut_extern_type";
-void native_interface___frontier___MMLocalClass___compile_defaut_extern_type(val_t p0, val_t p1);
-typedef void (*native_interface___frontier___MMLocalClass___compile_defaut_extern_type_t)(val_t p0, val_t p1);
-val_t NEW_MMLocalClass_metamodel___abstractmetamodel___MMLocalClass___init(val_t p0, val_t p1, val_t p2);
-static const char * const LOCATE_native_interface___frontier___MMSignature___compile_frontier = "frontier::MMSignature::compile_frontier";
+val_t native_interface___frontier___MMSignature___recv_ni_variable(val_t p0);
+typedef val_t (*native_interface___frontier___MMSignature___recv_ni_variable_t)(val_t p0);
+void native_interface___frontier___MMSignature___recv_ni_variable__eq(val_t p0, val_t p1);
+typedef void (*native_interface___frontier___MMSignature___recv_ni_variable__eq_t)(val_t p0, val_t p1);
+val_t native_interface___frontier___MMSignature___return_ni_variable(val_t p0);
+typedef val_t (*native_interface___frontier___MMSignature___return_ni_variable_t)(val_t p0);
+void native_interface___frontier___MMSignature___return_ni_variable__eq(val_t p0, val_t p1);
+typedef void (*native_interface___frontier___MMSignature___return_ni_variable__eq_t)(val_t p0, val_t p1);
+void native_interface___frontier___MMSignature___init(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table);
+typedef void (*native_interface___frontier___MMSignature___init_t)(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table);
+val_t NEW_MMSignature_metamodel___static_type___MMSignature___init(val_t p0, val_t p1, val_t p2);
 void native_interface___frontier___MMSignature___compile_frontier(val_t p0, val_t p1);
 typedef void (*native_interface___frontier___MMSignature___compile_frontier_t)(val_t p0, val_t p1);
-val_t NEW_MMSignature_metamodel___static_type___MMSignature___init(val_t p0, val_t p1, val_t p2);
-static const char * const LOCATE_native_interface___frontier___FrontierVisitor___header_top = "frontier::FrontierVisitor::header_top";
 val_t native_interface___frontier___FrontierVisitor___header_top(val_t p0);
 typedef val_t (*native_interface___frontier___FrontierVisitor___header_top_t)(val_t p0);
-static const char * const LOCATE_native_interface___frontier___FrontierVisitor___header_top__eq = "frontier::FrontierVisitor::header_top=";
 void native_interface___frontier___FrontierVisitor___header_top__eq(val_t p0, val_t p1);
 typedef void (*native_interface___frontier___FrontierVisitor___header_top__eq_t)(val_t p0, val_t p1);
-static const char * const LOCATE_native_interface___frontier___FrontierVisitor___header = "frontier::FrontierVisitor::header";
 val_t native_interface___frontier___FrontierVisitor___header(val_t p0);
 typedef val_t (*native_interface___frontier___FrontierVisitor___header_t)(val_t p0);
-static const char * const LOCATE_native_interface___frontier___FrontierVisitor___header__eq = "frontier::FrontierVisitor::header=";
 void native_interface___frontier___FrontierVisitor___header__eq(val_t p0, val_t p1);
 typedef void (*native_interface___frontier___FrontierVisitor___header__eq_t)(val_t p0, val_t p1);
-static const char * const LOCATE_native_interface___frontier___FrontierVisitor___body = "frontier::FrontierVisitor::body";
 val_t native_interface___frontier___FrontierVisitor___body(val_t p0);
 typedef val_t (*native_interface___frontier___FrontierVisitor___body_t)(val_t p0);
-static const char * const LOCATE_native_interface___frontier___FrontierVisitor___body__eq = "frontier::FrontierVisitor::body=";
 void native_interface___frontier___FrontierVisitor___body__eq(val_t p0, val_t p1);
 typedef void (*native_interface___frontier___FrontierVisitor___body__eq_t)(val_t p0, val_t p1);
-static const char * const LOCATE_native_interface___frontier___FrontierVisitor___friendlys = "frontier::FrontierVisitor::friendlys";
 val_t native_interface___frontier___FrontierVisitor___friendlys(val_t p0);
 typedef val_t (*native_interface___frontier___FrontierVisitor___friendlys_t)(val_t p0);
-static const char * const LOCATE_native_interface___frontier___FrontierVisitor___friendlys__eq = "frontier::FrontierVisitor::friendlys=";
 void native_interface___frontier___FrontierVisitor___friendlys__eq(val_t p0, val_t p1);
 typedef void (*native_interface___frontier___FrontierVisitor___friendlys__eq_t)(val_t p0, val_t p1);
-static const char * const LOCATE_native_interface___frontier___FrontierVisitor___types = "frontier::FrontierVisitor::types";
 val_t native_interface___frontier___FrontierVisitor___types(val_t p0);
 typedef val_t (*native_interface___frontier___FrontierVisitor___types_t)(val_t p0);
-static const char * const LOCATE_native_interface___frontier___FrontierVisitor___types__eq = "frontier::FrontierVisitor::types=";
 void native_interface___frontier___FrontierVisitor___types__eq(val_t p0, val_t p1);
 typedef void (*native_interface___frontier___FrontierVisitor___types__eq_t)(val_t p0, val_t p1);
-static const char * const LOCATE_native_interface___frontier___FrontierVisitor___casts = "frontier::FrontierVisitor::casts";
 val_t native_interface___frontier___FrontierVisitor___casts(val_t p0);
 typedef val_t (*native_interface___frontier___FrontierVisitor___casts_t)(val_t p0);
-static const char * const LOCATE_native_interface___frontier___FrontierVisitor___casts__eq = "frontier::FrontierVisitor::casts=";
 void native_interface___frontier___FrontierVisitor___casts__eq(val_t p0, val_t p1);
 typedef void (*native_interface___frontier___FrontierVisitor___casts__eq_t)(val_t p0, val_t p1);
-static const char * const LOCATE_native_interface___frontier___FrontierVisitor___mmmodule = "frontier::FrontierVisitor::mmmodule";
 val_t native_interface___frontier___FrontierVisitor___mmmodule(val_t p0);
 typedef val_t (*native_interface___frontier___FrontierVisitor___mmmodule_t)(val_t p0);
-static const char * const LOCATE_native_interface___frontier___FrontierVisitor___mmmodule__eq = "frontier::FrontierVisitor::mmmodule=";
 void native_interface___frontier___FrontierVisitor___mmmodule__eq(val_t p0, val_t p1);
 typedef void (*native_interface___frontier___FrontierVisitor___mmmodule__eq_t)(val_t p0, val_t p1);
-static const char * const LOCATE_native_interface___frontier___FrontierVisitor___cprogram = "frontier::FrontierVisitor::cprogram";
 val_t native_interface___frontier___FrontierVisitor___cprogram(val_t p0);
 typedef val_t (*native_interface___frontier___FrontierVisitor___cprogram_t)(val_t p0);
-static const char * const LOCATE_native_interface___frontier___FrontierVisitor___cprogram__eq = "frontier::FrontierVisitor::cprogram=";
 void native_interface___frontier___FrontierVisitor___cprogram__eq(val_t p0, val_t p1);
 typedef void (*native_interface___frontier___FrontierVisitor___cprogram__eq_t)(val_t p0, val_t p1);
-static const char * const LOCATE_native_interface___frontier___FrontierVisitor___compile_cached = "frontier::FrontierVisitor::compile_cached";
 void native_interface___frontier___FrontierVisitor___compile_cached(val_t p0);
 typedef void (*native_interface___frontier___FrontierVisitor___compile_cached_t)(val_t p0);
   typedef void (*CLOS_OC_native_interface___frontier___FrontierVisitor___compile_cached_1_0)(struct stack_frame_t *);
@@ -148,52 +224,39 @@ typedef void (*native_interface___frontier___FrontierVisitor___compile_cached_t)
   typedef void (*CLOS_OC_native_interface___frontier___FrontierVisitor___compile_cached_3_0)(struct stack_frame_t *);
   void OC_native_interface___frontier___FrontierVisitor___compile_cached_3(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
   typedef void (*OC_native_interface___frontier___FrontierVisitor___compile_cached_3_t)(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0);
-static const char * const LOCATE_native_interface___frontier___FrontierVisitor___write_to_files = "frontier::FrontierVisitor::write_to_files";
 void native_interface___frontier___FrontierVisitor___write_to_files(val_t p0, val_t p1);
 typedef void (*native_interface___frontier___FrontierVisitor___write_to_files_t)(val_t p0, val_t p1);
-static const char * const LOCATE_native_interface___frontier___FrontierVisitor___init = "frontier::FrontierVisitor::init";
 void native_interface___frontier___FrontierVisitor___init(val_t p0, val_t p1, val_t p2, int* init_table);
 typedef void (*native_interface___frontier___FrontierVisitor___init_t)(val_t p0, val_t p1, val_t p2, int* init_table);
 val_t NEW_FrontierVisitor_native_interface___frontier___FrontierVisitor___init(val_t p0, val_t p1);
-static const char * const LOCATE_native_interface___frontier___MMImportedCast___compile_to_frontier = "frontier::MMImportedCast::compile_to_frontier";
 void native_interface___frontier___MMImportedCast___compile_to_frontier(val_t p0, val_t p1);
 typedef void (*native_interface___frontier___MMImportedCast___compile_to_frontier_t)(val_t p0, val_t p1);
-static const char * const LOCATE_native_interface___frontier___MMImportedCast___compile_as = "frontier::MMImportedCast::compile_as";
 val_t native_interface___frontier___MMImportedCast___compile_as(val_t p0, val_t p1);
 typedef val_t (*native_interface___frontier___MMImportedCast___compile_as_t)(val_t p0, val_t p1);
-static const char * const LOCATE_native_interface___frontier___MMImportedCast___compile_is = "frontier::MMImportedCast::compile_is";
 val_t native_interface___frontier___MMImportedCast___compile_is(val_t p0, val_t p1);
 typedef val_t (*native_interface___frontier___MMImportedCast___compile_is_t)(val_t p0, val_t p1);
-static const char * const LOCATE_native_interface___frontier___MMImportedCast___compile_check_is_not_null = "frontier::MMImportedCast::compile_check_is_not_null";
 void native_interface___frontier___MMImportedCast___compile_check_is_not_null(val_t p0, val_t p1, val_t p2);
 typedef void (*native_interface___frontier___MMImportedCast___compile_check_is_not_null_t)(val_t p0, val_t p1, val_t p2);
-static const char * const LOCATE_native_interface___frontier___MMImportedCast_____eqeq = "frontier::MMImportedCast::(kernel::Object::==)";
 val_t native_interface___frontier___MMImportedCast_____eqeq(val_t p0, val_t p1);
 typedef val_t (*native_interface___frontier___MMImportedCast_____eqeq_t)(val_t p0, val_t p1);
-static const char * const LOCATE_native_interface___frontier___MMImportedCast___hash = "frontier::MMImportedCast::(hash::Object::hash)";
 val_t native_interface___frontier___MMImportedCast___hash(val_t p0);
 typedef val_t (*native_interface___frontier___MMImportedCast___hash_t)(val_t p0);
 val_t NEW_MMImportedCast_metamodel___static_type___MMImportedCast___init(val_t p0, val_t p1);
-static const char * const LOCATE_native_interface___frontier___MMType___compile_check_isa = "frontier::MMType::compile_check_isa";
 void native_interface___frontier___MMType___compile_check_isa(val_t p0, val_t p1, val_t p2);
 typedef void (*native_interface___frontier___MMType___compile_check_isa_t)(val_t p0, val_t p1, val_t p2);
-static const char * const LOCATE_native_interface___frontier___MMType___compile_condition_isa = "frontier::MMType::compile_condition_isa";
 val_t native_interface___frontier___MMType___compile_condition_isa(val_t p0, val_t p1);
 typedef val_t (*native_interface___frontier___MMType___compile_condition_isa_t)(val_t p0, val_t p1);
-static const char * const LOCATE_native_interface___frontier___MMType___compile_to_frontier = "frontier::MMType::compile_to_frontier";
 void native_interface___frontier___MMType___compile_to_frontier(val_t p0, val_t p1);
 typedef void (*native_interface___frontier___MMType___compile_to_frontier_t)(val_t p0, val_t p1);
-static const char * const LOCATE_native_interface___frontier___MMType___compile_new_local_ref = "frontier::MMType::compile_new_local_ref";
 void native_interface___frontier___MMType___compile_new_local_ref(val_t p0, val_t p1, val_t p2, val_t p3);
 typedef void (*native_interface___frontier___MMType___compile_new_local_ref_t)(val_t p0, val_t p1, val_t p2, val_t p3);
+void native_interface___frontier___MMType___compile_stub_local_ref(val_t p0, val_t p1, val_t p2);
+typedef void (*native_interface___frontier___MMType___compile_stub_local_ref_t)(val_t p0, val_t p1, val_t p2);
 val_t NEW_MMType_metamodel___static_type___MMType___init();
-static const char * const LOCATE_native_interface___frontier___MMExplicitImport___compile_friendly_to_frontier = "frontier::MMExplicitImport::compile_friendly_to_frontier";
 void native_interface___frontier___MMExplicitImport___compile_friendly_to_frontier(val_t p0, val_t p1);
 typedef void (*native_interface___frontier___MMExplicitImport___compile_friendly_to_frontier_t)(val_t p0, val_t p1);
-static const char * const LOCATE_native_interface___frontier___MMExplicitImport___hash = "frontier::MMExplicitImport::(hash::Object::hash)";
 val_t native_interface___frontier___MMExplicitImport___hash(val_t p0);
 typedef val_t (*native_interface___frontier___MMExplicitImport___hash_t)(val_t p0);
-static const char * const LOCATE_native_interface___frontier___MMExplicitImport_____eqeq = "frontier::MMExplicitImport::(kernel::Object::==)";
 val_t native_interface___frontier___MMExplicitImport_____eqeq(val_t p0, val_t p1);
 typedef val_t (*native_interface___frontier___MMExplicitImport_____eqeq_t)(val_t p0, val_t p1);
 val_t NEW_MMExplicitImport_metamodel___abstractmetamodel___MMExplicitImport___init(val_t p0, val_t p1);