Skip to content

Port GIRepository to GTypeInstance and add introspection

Emmanuele Bassi requested to merge ebassi/gir-more into main

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

Merge request reports