about summary refs log tree commit diff
diff options
context:
space:
mode:
authorNick Cameron <ncameron@mozilla.com>2015-07-14 14:21:54 +1200
committerNick Cameron <ncameron@mozilla.com>2015-07-14 14:21:54 +1200
commit41b056823cbfb34ea1cc7daed4a0cdd739620d30 (patch)
tree7778b97da96d8a2cbef8a3ed12f16d81a7a8f846
parente6e636845472cb843d978ae865317fae08e50a74 (diff)
downloadrust-41b056823cbfb34ea1cc7daed4a0cdd739620d30.tar.gz
rust-41b056823cbfb34ea1cc7daed4a0cdd739620d30.zip
save-analysis: tweak constructors
-rw-r--r--src/librustc_trans/save/dump_csv.rs8
-rw-r--r--src/librustc_trans/save/mod.rs11
-rw-r--r--src/librustc_trans/save/span_utils.rs7
3 files changed, 17 insertions, 9 deletions
diff --git a/src/librustc_trans/save/dump_csv.rs b/src/librustc_trans/save/dump_csv.rs
index c5196d09e00..680999717ea 100644
--- a/src/librustc_trans/save/dump_csv.rs
+++ b/src/librustc_trans/save/dump_csv.rs
@@ -35,7 +35,6 @@ use session::Session;
 use middle::def;
 use middle::ty::{self, Ty};
 
-use std::cell::Cell;
 use std::fs::File;
 use std::path::Path;
 
@@ -76,14 +75,11 @@ impl <'l, 'tcx> DumpCsvVisitor<'l, 'tcx> {
     pub fn new(tcx: &'l ty::ctxt<'tcx>,
                analysis: &'l ty::CrateAnalysis,
                output_file: Box<File>) -> DumpCsvVisitor<'l, 'tcx> {
-        let span_utils = SpanUtils {
-            sess: &tcx.sess,
-            err_count: Cell::new(0)
-        };
+        let span_utils = SpanUtils::new(&tcx.sess);
         DumpCsvVisitor {
             sess: &tcx.sess,
             tcx: tcx,
-            save_ctxt: SaveContext::new(tcx, span_utils.clone()),
+            save_ctxt: SaveContext::from_span_utils(tcx, span_utils.clone()),
             analysis: analysis,
             span: span_utils.clone(),
             fmt: FmtStrs::new(box Recorder {
diff --git a/src/librustc_trans/save/mod.rs b/src/librustc_trans/save/mod.rs
index 59da0c09d34..89668928060 100644
--- a/src/librustc_trans/save/mod.rs
+++ b/src/librustc_trans/save/mod.rs
@@ -163,9 +163,14 @@ pub struct MethodCallData {
 
 
 impl<'l, 'tcx: 'l> SaveContext<'l, 'tcx> {
-    pub fn new(tcx: &'l ty::ctxt<'tcx>,
-               span_utils: SpanUtils<'l>)
-               -> SaveContext<'l, 'tcx> {
+    pub fn new(tcx: &'l ty::ctxt<'tcx>) -> SaveContext <'l, 'tcx> {
+        let span_utils = SpanUtils::new(&tcx.sess);
+        SaveContext::from_span_utils(tcx, span_utils)
+    }
+
+    pub fn from_span_utils(tcx: &'l ty::ctxt<'tcx>,
+                           span_utils: SpanUtils<'l>)
+                           -> SaveContext<'l, 'tcx> {
         SaveContext {
             tcx: tcx,
             span_utils: span_utils,
diff --git a/src/librustc_trans/save/span_utils.rs b/src/librustc_trans/save/span_utils.rs
index 08cbd777c09..ee7b1c4ff6e 100644
--- a/src/librustc_trans/save/span_utils.rs
+++ b/src/librustc_trans/save/span_utils.rs
@@ -28,6 +28,13 @@ pub struct SpanUtils<'a> {
 }
 
 impl<'a> SpanUtils<'a> {
+    pub fn new(sess: &'a Session) -> SpanUtils<'a> {
+        SpanUtils {
+            sess: sess,
+            err_count: Cell::new(0)
+        }
+    }
+
     // Standard string for extents/location.
     pub fn extent_str(&self, span: Span) -> String {
         let lo_loc = self.sess.codemap().lookup_char_pos(span.lo);