Generate the type hierarchy on GIR parsing
The current type hierarchy is generate ex post from the list of symbols available in the namespace; this means it breaks as soon as the generator encounters an ancestor outside the namespace (unless it's GObject.Object
).
The appropriate solution would be to generate the type hierarchy as part of the GIR parsing step, as one of our resolve_*
methods on ast.Repository
, like we do for the ancestors list.