diff options
| author | Nick Cameron <ncameron@mozilla.com> | 2015-07-14 14:21:54 +1200 |
|---|---|---|
| committer | Nick Cameron <ncameron@mozilla.com> | 2015-07-14 14:21:54 +1200 |
| commit | 41b056823cbfb34ea1cc7daed4a0cdd739620d30 (patch) | |
| tree | 7778b97da96d8a2cbef8a3ed12f16d81a7a8f846 | |
| parent | e6e636845472cb843d978ae865317fae08e50a74 (diff) | |
| download | rust-41b056823cbfb34ea1cc7daed4a0cdd739620d30.tar.gz rust-41b056823cbfb34ea1cc7daed4a0cdd739620d30.zip | |
save-analysis: tweak constructors
| -rw-r--r-- | src/librustc_trans/save/dump_csv.rs | 8 | ||||
| -rw-r--r-- | src/librustc_trans/save/mod.rs | 11 | ||||
| -rw-r--r-- | src/librustc_trans/save/span_utils.rs | 7 |
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); |
