From: Nick Cameron Date: Wed, 15 Mar 2017 21:43:11 +0000 (+1300) Subject: rebased X-Git-Url: https://git.lizzy.rs/?a=commitdiff_plain;h=d76daf5c616f7969752e5370287f4495b95fe00c;p=rust.git rebased --- diff --git a/src/librustc_save_analysis/lib.rs b/src/librustc_save_analysis/lib.rs index b34cffd2d15..44615071a56 100644 --- a/src/librustc_save_analysis/lib.rs +++ b/src/librustc_save_analysis/lib.rs @@ -125,6 +125,7 @@ pub fn get_extern_item_data(&self, item: &ast::ForeignItem) -> Option { match item.node { ast::ForeignItemKind::Fn(ref decl, ref generics) => { let sub_span = self.span_utils.sub_span_after_keyword(item.span, keywords::Fn); + filter!(self.span_utils, sub_span, item.span, None); Some(Data::FunctionData(FunctionData { id: item.id, name: item.ident.to_string(), @@ -137,11 +138,13 @@ pub fn get_extern_item_data(&self, item: &ast::ForeignItem) -> Option { parent: None, docs: docs_for_attrs(&item.attrs), sig: self.sig_base_extern(item), + attributes: item.attrs.clone(), })) } ast::ForeignItemKind::Static(ref ty, m) => { let keyword = if m { keywords::Mut } else { keywords::Static }; let sub_span = self.span_utils.sub_span_after_keyword(item.span, keyword); + filter!(self.span_utils, sub_span, item.span, None); Some(Data::VariableData(VariableData { id: item.id, kind: VariableKind::Static, @@ -155,6 +158,7 @@ pub fn get_extern_item_data(&self, item: &ast::ForeignItem) -> Option { visibility: From::from(&item.vis), docs: docs_for_attrs(&item.attrs), sig: Some(self.sig_base_extern(item)), + attributes: item.attrs.clone(), })) } } @@ -797,7 +801,7 @@ fn sig_base_extern(&self, item: &ast::ForeignItem) -> Signature { let ident_start = text.find(&name).expect("Name not in signature?"); let ident_end = ident_start + name.len(); Signature { - span: mk_sp(item.span.lo, item.span.lo + BytePos(text.len() as u32)), + span: Span { hi: item.span.lo + BytePos(text.len() as u32), ..item.span }, text: text, ident_start: ident_start, ident_end: ident_end,