girepository: Expose GITypeInfo and GIArgInfo as stack allocatable
There are a handful of APIs in libgirepository which are used on
performance-sensitive code paths in language bindings (such as looking
at arguments when doing function calls). Historically libgirepository
has provided a stack-allocated variant for them, which avoids returning
a newly allocated GIBaseInfo
. Since moving to glib.git and porting to
GTypeInstance
, that stack allocated version has been broken.
This commit fixes it, by exposing obfuscated stack allocatable versions
of GITypeInfo
and GIArgInfo
, which are the two GIBaseInfo
subtypes which can be returned by the stack allocation functions.
The commit includes unit tests for them.
Signed-off-by: Philip Withnall pwithnall@gnome.org
Fixes: #3217 (closed)
Closes #3217 (closed)