private fun primitive_ctypes: HashMap[Symbol, PrimitiveInfo]
do
var res = new HashMap[Symbol, PrimitiveInfo]
- var pnames = ["Int", "Char", "Bool", "Float", "NativeString", "NativeArray", "Pointer"]
- var tagged = [true, true, true, false, false, false, false]
- var cnames = ["bigint", "char", "int", "float", "char *", "val_t *", "void *"]
+ var pnames = ["Int", "Char", "Bool", "Float", "NativeString", "Pointer"]
+ var tagged = [true, true, true, false, false, false]
+ var cnames = ["bigint", "char", "int", "float", "char *", "void *"]
for i in [0..pnames.length[ do
var n = pnames[i].to_symbol
var pi = new PrimitiveInfo(n, tagged[i], cnames[i])
end
end
+ # Is the type tagged?
+ fun is_tagged: Bool
+ do
+ if is_nullable then return false
+ var pi = local_class.primitive_info
+ return pi != null and pi.tagged
+ end
+
# The default c value for uninitialized types.
# Return "null" for non primitive types and something more specific for primitive types
fun default_cvalue: String