Dump pointer types in the introspection blob

Instead of skipping types that inherit from G_TYPE_POINTER, add a new
ancillary element into the raw dump that gets processed by g-ir-scanner.

See: https://gitlab.gnome.org/GNOME/gobject-introspection/-/merge_requests/470
This commit is contained in:
Emmanuele Bassi 2024-05-31 18:40:21 +01:00
parent 2bb2595eb9
commit d242bad64e

View File

@ -447,6 +447,13 @@ dump_boxed_type (GType type, const char *symbol, FILE *out)
g_type_name (type), symbol);
}
static void
dump_pointer_type (GType type, const char *symbol, FILE *out)
{
escaped_printf (out, " <pointer name=\"%s\" get-type=\"%s\"/>\n",
g_type_name (type), symbol);
}
static void
dump_flags_type (GType type, const char *symbol, FILE *out)
{
@ -562,7 +569,7 @@ dump_type (GType type, const char *symbol, FILE *out)
dump_enum_type (type, symbol, out);
break;
case G_TYPE_POINTER:
/* GValue, etc. Just skip them. */
dump_pointer_type (type, symbol, out);
break;
default:
dump_fundamental_type (type, symbol, out);