Port GIRepository to GTypeInstance and add introspection
By porting to GTypeInstance
and adding introspection, we can build documentation for the library.
Porting to GTypeInstance
is necessary to make the introspected API usable and for it to have a sensible type system. Previously everything in libgirepository was an alias of GIBaseInfo
and code just had to do a pinkie-promise that it wouldn’t call the wrong method on the wrong ‘type’ blob at any time.
There’s lots more work to be done on libgirepository, but this MR at least unblocks further improvements to the GIR and documentation.
It also adds the very very beginnings of a test suite for libgirepository, which was needed to validate the type system changes.
Helps: #3155 (closed)
Edited by Philip Withnall