Full hierarchy of introduced and imported classes.

Create a new hierarchy got by flattening the classes for the module and its imported modules. Visibility is not considered.

Note: this function is expensive and is usually used for the main module of a program only. Do not use it to do your own subtype functions.

Property definitions

nitc :: model $ MModule :: flatten_mclass_hierarchy
	# Full hierarchy of introduced and imported classes.
	#
	# Create a new hierarchy got by flattening the classes for the module
	# and its imported modules.
	# Visibility is not considered.
	#
	# Note: this function is expensive and is usually used for the main
	# module of a program only. Do not use it to do your own subtype
	# functions.
	fun flatten_mclass_hierarchy: POSet[MClass]
	do
		var res = self.flatten_mclass_hierarchy_cache
		if res != null then return res
                self.flatten_mclass_hierarchy_cache = new POSet[MClass]
		for m in self.in_importation.greaters do
			for cd in m.mclassdefs do
                                unsafe_update_hierarchy_cache(cd)
			end
		end
		return self.flatten_mclass_hierarchy_cache.as(not null)
	end
src/model/model.nit:194,2--214,4