nitg/ffi: Nit Int are C longs
[nit.git] / src / nitni / nitni_base.nit
index 69f64f3..cc0ffa2 100644 (file)
@@ -30,6 +30,7 @@ redef class MMethod
 
                if nit_name == "+" then return "_plus"
                if nit_name == "-" then return "_minus"
+               if nit_name == "unary -" then return "_unary_minus"
                if nit_name == "*" then return "_star"
                if nit_name == "/" then return "_slash"
                if nit_name == "%" then return "_percent"
@@ -45,14 +46,14 @@ redef class MMethod
                if nit_name == ">>" then return "_right"
                if nit_name == "<=>" then return "_starship"
 
-               if nit_name.last == '=' then return "{nit_name.substring(0, nit_name.length-1)}__assign"
+               if nit_name.chars.last == '=' then return "{nit_name.substring(0, nit_name.length-1)}__assign"
                return nit_name
        end
 end
 
-redef class AModule
+redef class MModule
        # Mangled name of this module in C
-       fun cname: String do return mmodule.name
+       fun cname: String do return name
 end
 
 redef class MMethodDef
@@ -89,7 +90,7 @@ redef class MClassType
                if name == "Bool" then return "int"
                if name == "Char" then return "char"
                if name == "Float" then return "double"
-               if name == "Int" then return "int"
+               if name == "Int" then return "long"
                if name == "NativeString" then return "char*"
                if mclass.kind == extern_kind then
                        var ctype = mclass.ctype
@@ -104,7 +105,7 @@ redef class MClassType
                if name == "Bool" then return "int"
                if name == "Char" then return "char"
                if name == "Float" then return "double"
-               if name == "Int" then return "int"
+               if name == "Int" then return "long"
                if name == "NativeString" then return "char*"
                if mclass.kind == extern_kind then return "void*"
                return "struct nitni_instance *"