return res
end
+ # Searches the MEntity that matches `full_name`.
+ fun mentity_by_full_name(full_name: String): nullable MEntity do
+ for mentity in mentities do
+ if mentity.full_name == full_name then return mentity
+ end
+ return null
+ end
+
# Looks up a MEntity by its full `namespace`.
#
# Usefull when `mentities_by_name` returns conflicts.
end
return v.tree
end
+
+ # Build the POSet of `mmodules` importation.
+ fun mmodules_poset(mmodules: Set[MModule]): POSet[MModule] do
+ return model.mmodule_importation_hierarchy.sub(mmodules)
+ end
+
+ # Build the POSet of `mmodules` hierarchy.
+ fun mclasses_poset(mainmodule: MModule, mclasses: Set[MClass]): POSet[MClass] do
+ return mainmodule.flatten_mclass_hierarchy.sub(mclasses)
+ end
end
class LookupNamespaceVisitor