#
# type Object is_primitive? false
# type Pointer is_primitive? true
- fun is_cprimitive: Bool is abstract
+ fun is_cprimitive: Bool do return false
end
redef class MClassType
if name == "Float" then return "double"
if name == "Int" then return "long"
if name == "Byte" then return "unsigned char"
- if name == "NativeString" then return "unsigned char*"
+ if name == "NativeString" then return "char*"
if mclass.kind == extern_kind then
var ctype = mclass.ctype
assert ctype != null
if name == "Float" then return "double"
if name == "Int" then return "long"
if name == "Byte" then return "unsigned char"
- if name == "NativeString" then return "unsigned char*"
+ if name == "NativeString" then return "char*"
if mclass.kind == extern_kind then return "void*"
return super
end
redef class MNullableType
redef fun cname do return mangled_cname
redef fun mangled_cname do return "nullable_{mtype.mangled_cname}"
- redef fun is_cprimitive do return false
end
redef class MVirtualType