From 482165a8c4a513bb70d430ceab6607652887084b Mon Sep 17 00:00:00 2001 From: Alexandre Terrasa Date: Sun, 4 Nov 2012 15:38:57 -0500 Subject: [PATCH 1/1] nitmetrics: refactor refinement usage metrics computation Signed-off-by: Alexandre Terrasa --- src/metrics/metrics.nit | 2 +- src/metrics/metrics_base.nit | 3 +++ .../{model_stats.nit => refinement_metrics.nit} | 10 +++++----- src/nitmetrics.nit | 7 +++++-- 4 files changed, 14 insertions(+), 8 deletions(-) rename src/metrics/{model_stats.nit => refinement_metrics.nit} (92%) 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 -- 1.7.9.5