nitmetrics: refactor rta metrics computation
authorAlexandre Terrasa <alexadre@moz-code.org>
Sun, 4 Nov 2012 20:08:03 +0000 (15:08 -0500)
committerJean Privat <jean@pryen.org>
Mon, 5 Nov 2012 19:17:53 +0000 (14:17 -0500)
Signed-off-by: Alexandre Terrasa <alexadre@moz-code.org>

src/metrics/metrics.nit
src/metrics/metrics_base.nit
src/metrics/rta_metrics.nit [moved from src/metrics/rta_stats.nit with 88% similarity]
src/nitmetrics.nit

index 507c67b..7904ca6 100644 (file)
@@ -23,6 +23,6 @@ import visit_nullable_sends
 import visit_self
 import model_stats
 import generate_hierarchies
-import rta_stats
+import rta_metrics
 import model_hyperdoc
 import tables_metrics
index 7bb23d9..950b956 100644 (file)
@@ -21,6 +21,8 @@ import modelbuilder
 
 redef class ToolContext
 
+       # --rta
+       var opt_rta = new OptionBool("Compute RTA metrics", "--rta")
        # --generate_hyperdoc
        var opt_generate_hyperdoc = new OptionBool("Generate Hyperdoc", "--generate_hyperdoc")
 
@@ -30,6 +32,7 @@ redef class ToolContext
        redef init
        do
                super
+               self.option_context.add_option(opt_rta)
                self.option_context.add_option(opt_generate_hyperdoc)
                self.option_context.add_option(opt_dir)
        end
similarity index 88%
rename from src/metrics/rta_stats.nit
rename to src/metrics/rta_metrics.nit
index 47da557..cebf766 100644 (file)
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Statistics of a RTA
-module rta_stats
+# Metrics from RTA
+module rta_metrics
 
 import modelbuilder
 private import rapid_type_analysis
 
-# Run a runtime type anamysis and print statistics
-fun compute_rta_stats(modelbuilder: ModelBuilder, mainmodule: MModule)
+# Run a runtime type analysis and print metrics
+fun compute_rta_metrics(modelbuilder: ModelBuilder, mainmodule: MModule)
 do
        var analysis = modelbuilder.do_rapid_type_analysis(mainmodule)
 
-       print "--- Type Analysis ---"
+       print "--- RTA metrics ---"
        print "Number of live runtime types (instantied resolved type): {analysis.live_types.length}"
        if analysis.live_types.length < 8 then print "\t{analysis.live_types.join(" ")}"
        print "Number of live method definitions: {analysis.live_methoddefs.length}"
index a2d20f8..68a6490 100644 (file)
@@ -71,8 +71,11 @@ count_ntypes(modelbuilder)
 print ""
 compute_tables_metrics(mainmodule)
 
-print ""
-compute_rta_stats(modelbuilder, mainmodule)
+# RTA metrics
+if toolcontext.opt_rta.value then
+       print ""
+       compute_rta_metrics(modelbuilder, mainmodule)
+end
 
 # Generate Hyperdoc
 if toolcontext.opt_generate_hyperdoc.value then