From: Alexandre Terrasa Date: Sun, 4 Nov 2012 20:38:57 +0000 (-0500) Subject: nitmetrics: refactor refinement usage metrics computation X-Git-Tag: v0.6~81^2~13 X-Git-Url: http://nitlanguage.org?ds=sidebyside nitmetrics: refactor refinement usage metrics computation Signed-off-by: Alexandre Terrasa --- diff --git a/src/metrics/metrics.nit b/src/metrics/metrics.nit index fef9566..30b6eeb 100644 --- a/src/metrics/metrics.nit +++ b/src/metrics/metrics.nit @@ -18,10 +18,10 @@ module metrics import metrics_base +import refinement_metrics import static_types_metrics import nullables_metrics import self_metrics -import model_stats import generate_hierarchies import rta_metrics import model_hyperdoc diff --git a/src/metrics/metrics_base.nit b/src/metrics/metrics_base.nit index 56641ec..e6926af 100644 --- a/src/metrics/metrics_base.nit +++ b/src/metrics/metrics_base.nit @@ -21,6 +21,8 @@ import modelbuilder redef class ToolContext + # --refinement + var opt_refinement = new OptionBool("Compute metrics about refinement usage", "--refinement") # --self var opt_self = new OptionBool("Compute metrics about the usage of explicit and implicit self", "--self") # --nullables @@ -40,6 +42,7 @@ redef class ToolContext redef init do super + self.option_context.add_option(opt_refinement) self.option_context.add_option(opt_self) self.option_context.add_option(opt_nullables) self.option_context.add_option(opt_static_types) diff --git a/src/metrics/model_stats.nit b/src/metrics/refinement_metrics.nit similarity index 92% rename from src/metrics/model_stats.nit rename to src/metrics/refinement_metrics.nit index 3ee2323..549f661 100644 --- a/src/metrics/model_stats.nit +++ b/src/metrics/refinement_metrics.nit @@ -14,16 +14,16 @@ # See the License for the specific language governing permissions and # limitations under the License. -# General statistics on a model -module model_stats +# Collect metrics about refinement usage +module refinement_metrics import model private import metrics_base -# Print general statistics on a model -fun compute_statistics(model: Model) +# Print refinement usage metrics +fun compute_refinement_metrics(model: Model) do - print "--- Statistics of the model ---" + print "--- Metrics of refinement usage ---" var nbmod = model.mmodules.length print "Number of modules: {nbmod}" diff --git a/src/nitmetrics.nit b/src/nitmetrics.nit index 5d93ceb..6c5306e 100644 --- a/src/nitmetrics.nit +++ b/src/nitmetrics.nit @@ -56,8 +56,11 @@ end # Now, we just have to play with the model! print "*** STATS ***" -print "" -compute_statistics(model) +# Refinement usage metrics +if toolcontext.opt_refinement.value then + print "" + compute_refinement_metrics(model) +end # Self usage metrics if toolcontext.opt_self.value then