X-Git-Url: http://nitlanguage.org diff --git a/src/nitni/nitni_base.nit b/src/nitni/nitni_base.nit index 69f64f3..5e3b7a6 100644 --- a/src/nitni/nitni_base.nit +++ b/src/nitni/nitni_base.nit @@ -30,6 +30,8 @@ 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 == "unary +" then return "_unary_plus" if nit_name == "*" then return "_star" if nit_name == "/" then return "_slash" if nit_name == "%" then return "_percent" @@ -45,16 +47,11 @@ 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 - # Mangled name of this module in C - fun cname: String do return mmodule.name -end - redef class MMethodDef # Name of the function to callback this method from C, # also used in other functions names used for this method. @@ -89,7 +86,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 +101,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 *"