# Metrics about the various posets of the model of a Nit program
module poset_metrics
-import poset
import metrics_base
-import frontend
redef class ToolContext
var poset_metrics_phase: Phase = new PosetMetricsPhase(self, null)
private class PosetMetricsPhase
super Phase
- redef fun process_mainmodule(mainmodule)
+ redef fun process_mainmodule(mainmodule, given_mmodules)
do
if not toolcontext.opt_poset.value and not toolcontext.opt_all.value then return
print "--- Poset metrics ---"
print "## Module importation hierarchy"
model.mmodule_importation_hierarchy.print_metrics
- print "## Module nesting hierarchy"
- model.mmodule_nesting_hierarchy.print_metrics
print "## Classdef hierarchy"
model.mclassdef_hierarchy.print_metrics
print "## Class hierarchy"