Merge: Refactor FFI, the framework is now based on MModules
[nit.git] / src / compiler_ffi.nit
index 8331cd7..2ebf76d 100644 (file)
@@ -80,7 +80,7 @@ redef class MModule
        end
 end
 
-redef class AExternPropdef
+redef class AMethPropdef
        private fun compile_ffi_support_to_c(v: AbstractCompilerVisitor)
        do
                var mmodule = mpropdef.mclassdef.mmodule
@@ -97,6 +97,8 @@ redef class AExternPropdef
                amodule.ensure_compile_ffi_wrapper
                compile_ffi_method(mmodule)
 
+               assert self isa AExternPropdef
+
                # nitni - Compile missing callbacks
                mmodule.ensure_compile_nitni_base(v)
                var ccu = mmodule.nitni_ccu.as(not null)
@@ -126,10 +128,8 @@ redef class AExternPropdef
                # manage nitni callback set
                mmodule.foreign_callbacks.join(foreign_callbacks)
        end
-end
 
-redef class AExternMethPropdef
-       redef fun compile_to_c(v, mpropdef, arguments)
+       redef fun compile_externmeth_to_c(v, mpropdef, arguments)
        do
                var mmodule = mpropdef.mclassdef.mmodule
 
@@ -191,10 +191,8 @@ redef class AExternMethPropdef
 
                compile_ffi_support_to_c(v)
        end
-end
 
-redef class AExternInitPropdef
-       redef fun compile_to_c(v, mpropdef, arguments)
+       redef fun compile_externinit_to_c(v, mpropdef, arguments)
        do
                var mmodule = mpropdef.mclassdef.mmodule