Collect self linearization anchored on mainmodule

Property definitions

nitc :: model_collect $ MEntity :: collect_linearization
	# Collect `self` linearization anchored on `mainmodule`
	fun collect_linearization(mainmodule: MModule): nullable Array[MEntity] do
		return null
	end
src/model/model_collect.nit:56,2--59,4

nitc :: model_collect $ MClass :: collect_linearization
	redef fun collect_linearization(mainmodule) do
		var mclassdefs = self.mclassdefs.to_a
		mainmodule.linearize_mclassdefs(mclassdefs)
		return mclassdefs
	end
src/model/model_collect.nit:646,2--650,4

nitc :: model_collect $ MClassDef :: collect_linearization
	redef fun collect_linearization(mainmodule) do
		var mclassdefs = new Array[MClassDef]
		for mclassdef in in_hierarchy.as(not null).greaters do
			if mclassdef.mclass == self.mclass then mclassdefs.add mclassdef
		end
		mainmodule.linearize_mclassdefs(mclassdefs)
		return mclassdefs
	end
src/model/model_collect.nit:983,2--990,4

nitc :: model_collect $ MProperty :: collect_linearization
	redef fun collect_linearization(mainmodule) do
		var mpropdefs = self.mpropdefs.to_a
		mainmodule.linearize_mpropdefs(mpropdefs)
		return mpropdefs
	end
src/model/model_collect.nit:1077,2--1081,4

nitc :: model_collect $ MPropDef :: collect_linearization
	redef fun collect_linearization(mainmodule) do
		var mpropdefs = new Array[MPropDef]
		var mentity = self
		while not mentity.is_intro do
			mpropdefs.add mentity
			mentity = mentity.lookup_next_definition(mainmodule, mentity.mclassdef.bound_mtype)
		end
		mpropdefs.add mentity
		mainmodule.linearize_mpropdefs(mpropdefs)
		return mpropdefs
	end
src/model/model_collect.nit:1148,2--1158,4