Property definitions

nitc $ MIF :: defaultinit
# Module metric: proportion of MClass Inherited From
#
# Count classes that have at least a child
class MIF
	super MModuleMetric
	super FloatMetric
	redef fun name do return "mif"
	redef fun desc do return "proportion of mclass inherited from"

	redef fun collect(mmodules) do
		for mmodule in mmodules do
			var count = 0
			for mclass in mmodule.intro_mclasses do
				if mclass.in_hierarchy(mainmodule).direct_smallers.length > 0 then count += 1
			end
			if mmodule.intro_mclasses.is_empty then
				values[mmodule] = 0.0
			else
				values[mmodule] = count.to_f / mmodule.intro_mclasses.length.to_f
			end
		end
	end
end
src/metrics/inheritance_metrics.nit:186,1--208,3