diff options
Diffstat (limited to 'tools/generate.c')
-rw-r--r-- | tools/generate.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tools/generate.c b/tools/generate.c index 42772da1..39235962 100644 --- a/tools/generate.c +++ b/tools/generate.c @@ -221,9 +221,29 @@ write_type_info (const gchar *namespace, else if (tag == GI_TYPE_TAG_ARRAY) { gint length, size; + char *name = NULL; xml_start_element (file, "array"); + switch (g_type_info_get_array_type (info)) { + case GI_ARRAY_TYPE_C: + break; + case GI_ARRAY_TYPE_ARRAY: + name = "GLib.Array"; + break; + case GI_ARRAY_TYPE_PTR_ARRAY: + name = "GLib.PtrArray"; + break; + case GI_ARRAY_TYPE_BYTE_ARRAY: + name = "GLib.ByteArray"; + break; + default: + break; + } + + if (name) + xml_printf (file, " name=\"%s\"", name); + type = g_type_info_get_param_type (info, 0); length = g_type_info_get_array_length (info); |