From 1174550191970b0af762f4289c85d499da52d299 Mon Sep 17 00:00:00 2001 From: Nick Cameron Date: Mon, 19 Jan 2015 14:04:46 +1300 Subject: [PATCH] save-analysis: Use the correct span for `extern crate` --- src/librustc_trans/save/mod.rs | 16 ++++++++-------- src/librustc_trans/save/recorder.rs | 14 +++++++------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/librustc_trans/save/mod.rs b/src/librustc_trans/save/mod.rs index 8e6e5590bbb3..b4b7ffc0137e 100644 --- a/src/librustc_trans/save/mod.rs +++ b/src/librustc_trans/save/mod.rs @@ -1121,23 +1121,23 @@ impl<'l, 'tcx, 'v> Visitor<'v> for DxrVisitor<'l, 'tcx> { } } ast::ItemExternCrate(ref s) => { - let name = get_ident(item.ident); + let name = get_ident(ident); let name = name.get(); - let s = match *s { + let location = match *s { Some((ref s, _)) => s.get().to_string(), None => name.to_string(), }; - let sub_span = self.span.sub_span_after_keyword(item.span, keywords::Crate); - let cnum = match self.sess.cstore.find_extern_mod_stmt_cnum(item.id) { + let alias_span = self.span.span_for_last_ident(i.span); + let cnum = match self.sess.cstore.find_extern_mod_stmt_cnum(id) { Some(cnum) => cnum, None => 0, }; - self.fmt.extern_crate_str(item.span, - sub_span, - item.id, + self.fmt.extern_crate_str(i.span, + alias_span, + id, cnum, name, - &s[], + &location[], self.cur_scope); } ast::ItemFn(ref decl, _, _, ref ty_params, ref body) => diff --git a/src/librustc_trans/save/recorder.rs b/src/librustc_trans/save/recorder.rs index 0fb249eb6603..5b8c1878cf26 100644 --- a/src/librustc_trans/save/recorder.rs +++ b/src/librustc_trans/save/recorder.rs @@ -496,13 +496,13 @@ impl<'a> FmtStrs<'a> { } pub fn extern_crate_str(&mut self, - span: Span, - sub_span: Option, - id: NodeId, - cnum: ast::CrateNum, - name: &str, - loc: &str, - parent: NodeId) { + span: Span, + sub_span: Option, + id: NodeId, + cnum: ast::CrateNum, + name: &str, + loc: &str, + parent: NodeId) { self.check_and_record(ExternCrate, span, sub_span,