neo_doxygen: Manage top-level namespaces in `doxml`.
[nit.git] / contrib / neo_doxygen / src / doxml / doxyname.nit
index 4676344..65637df 100644 (file)
@@ -46,9 +46,16 @@ end
 
 redef class Namespace
        # Set the `name` and the `full_name` using the specified name generated by Doxygen.
+       #
+       # Warning: This method assumes that `model_id` is already set.
        redef fun doxyname=(doxyname: String) do
                full_name = doxyname
                super
+               if doxyname == name and model_id != "" then
+                       # Doxygen does not represent the root namespace.
+                       # So, we have to link the root namespace with its children manually.
+                       graph.by_id[""].as(Namespace).declare_namespace(model_id, doxyname)
+               end
        end
 end