lib: csv get file to save in save instead of init
authorAlexandre Terrasa <alexandre@moz-code.org>
Thu, 6 Mar 2014 06:06:23 +0000 (01:06 -0500)
committerAlexandre Terrasa <alexandre@moz-code.org>
Fri, 7 Mar 2014 06:20:23 +0000 (01:20 -0500)
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

lib/csv.nit
src/metrics/rta_metrics.nit

index 71f28e5..a34432b 100644 (file)
@@ -17,12 +17,9 @@ module csv
 
 # A CSV document representation
 class CSVDocument
-       private var file: String
        private var header: Array[String] = new Array[String]
        private var lines: Array[Array[String]] = new Array[Array[String]]
 
-       init(file: String) do self.file = file
-
        fun set_header(values: Object...) do
                header.clear
                for value in values do header.add(value.to_s)
@@ -44,9 +41,9 @@ class CSVDocument
                return str
        end
 
-       fun save do
-               var out = new OFStream.open(self.file)
+       fun save(file: String) do
+               var out = new OFStream.open(file)
                out.write(self.to_s)
                out.close
        end
-end
\ No newline at end of file
+end
index 85b012a..58c2698 100644 (file)
@@ -121,15 +121,15 @@ do
 
        # CSV generation
        if modelbuilder.toolcontext.opt_generate_csv.value then
-               var summaryCSV = new CSVDocument(modelbuilder.toolcontext.output_dir.join_path("rta_sum_metrics.csv"))
+               var summaryCSV = new CSVDocument
                summaryCSV.set_header("scope", "NLVT", "NLVTG", "NLCT", "NLVCTG")
                summaryCSV.add_line("global", nlvt, nlvtg, nlct, nlctg)
                summaryCSV.add_line("SLUD", nlvtslud, nlvtgslud, nlctslud, nlctgslud)
                summaryCSV.add_line("UDUD", nlvtudud, nlvtgudud, nlctudud, nlctgudud)
-               summaryCSV.save
+               summaryCSV.save(modelbuilder.toolcontext.output_dir.join_path("rta_sum_metrics.csv"))
 
-               var scalarCSV = new CSVDocument(modelbuilder.toolcontext.output_dir.join_path("rta_scalar_metrics.csv"))
-               var udscalarCSV = new CSVDocument(modelbuilder.toolcontext.output_dir.join_path("rta_ud_scalar_metrics.csv"))
+               var scalarCSV = new CSVDocument
+               var udscalarCSV = new CSVDocument
                scalarCSV.set_header("Type", "AGS", "DGS", "NLVT", "NLCT")
                udscalarCSV.set_header("Type", "AGS", "DGS", "NLVT", "NLCT")
 
@@ -141,11 +141,11 @@ do
                        end
                        scalarCSV.add_line(mtype, arity, mtype.get_depth, mtype.nlvt, mtype.nlct)
                end
-               scalarCSV.save
-               udscalarCSV.save
+               scalarCSV.save(modelbuilder.toolcontext.output_dir.join_path("rta_scalar_metrics.csv"))
+               udscalarCSV.save(modelbuilder.toolcontext.output_dir.join_path("rta_ud_scalar_metrics.csv"))
 
-               scalarCSV = new CSVDocument(modelbuilder.toolcontext.output_dir.join_path("rta_scalar_class_metrics.csv"))
-               udscalarCSV = new CSVDocument(modelbuilder.toolcontext.output_dir.join_path("rta_ud_scalar_class_metrics.csv"))
+               scalarCSV = new CSVDocument
+               udscalarCSV = new CSVDocument
                scalarCSV.set_header("Class", "AGS", "NLVV", "NLVT")
                udscalarCSV.set_header("Class", "AGS", "NLVV", "inst")
 
@@ -156,8 +156,8 @@ do
                        end
                        scalarCSV.add_line(mclass.mclass_type, mclass.arity, mclass.live_types.length, mclass.nlvt)
                end
-               scalarCSV.save
-               udscalarCSV.save
+               scalarCSV.save(modelbuilder.toolcontext.output_dir.join_path("rta_scalar_class_metrics.csv"))
+               udscalarCSV.save(modelbuilder.toolcontext.output_dir.join_path("rta_ud_scalar_class_metrics.csv"))
        end
 
        print "--- RTA metrics ---"