Allow proper introspection of GTypeValueTable

The introspection scanner cannot deal very well with function pointers
into a plain structure. In order to document the various function
pointers in GTypeValueTable we need to create typed callbacks, and
use them to replace the anonymous function pointers inside the
structure. This not only allows us to properly document the function
pointers, but it also allows us to annotate the arguments and return
value of those function pointers.

See also: https://gitlab.gnome.org/GNOME/gobject-introspection/-/merge_requests/400#note_1721707
This commit is contained in:
Emmanuele Bassi
2023-05-21 14:27:00 +01:00
parent 32ec11e51d
commit 23a9dbdaf6
2 changed files with 271 additions and 161 deletions

View File

@@ -25,6 +25,12 @@ GTypeClass
GTypeInfo
GTypeFundamentalInfo
GInterfaceInfo
GTypeValueInitFunc
GTypeValueFreeFunc
GTypeValueCopyFunc
GTypeValuePeekPointerFunc
GTypeValueCollectFunc
GTypeValueLCopyFunc
GTypeValueTable
G_TYPE_FROM_INSTANCE
G_TYPE_FROM_CLASS