# Collect metrics about inheritance usage
module inheritance_metrics
-import model
+import metrics_base
import mmodules_metrics
import mclasses_metrics
-import phase
-import frontend
redef class ToolContext
var inheritance_metrics_phase: Phase = new InheritanceMetricsPhase(self, null)
if mod_mclasses.is_empty then continue
mmodules.add_all(mgroup.mmodules)
mclasses.add_all(mod_mclasses)
+ cmetrics.clear
cmetrics.collect(new HashSet[MClass].from(mod_mclasses))
cmetrics.to_console(1, not toolcontext.opt_nocolors.value)
if csv then cmetrics.to_csv.save("{out}/{mgroup}_classes.csv")
+ hmetrics.clear
hmetrics.collect(new HashSet[MModule].from(mgroup.mmodules))
hmetrics.to_console(1, not toolcontext.opt_nocolors.value)
if csv then hmetrics.to_csv.save("{out}/{mgroup}_inheritance.csv")