diff options
| author | Steven Fackler <sfackler@gmail.com> | 2014-05-20 00:07:24 -0700 |
|---|---|---|
| committer | Steven Fackler <sfackler@gmail.com> | 2014-05-24 16:08:36 -0700 |
| commit | c305473d3c60d5b4590ef8c715468f718a7aad8f (patch) | |
| tree | b7b35aded387256555005b60a2faa16d9be3ad1f /src/libsyntax/ext | |
| parent | 6304a27b80f3923a8ffc009418c302aa8b06fb93 (diff) | |
| download | rust-c305473d3c60d5b4590ef8c715468f718a7aad8f.tar.gz rust-c305473d3c60d5b4590ef8c715468f718a7aad8f.zip | |
Add AttrId to Attribute_
Diffstat (limited to 'src/libsyntax/ext')
| -rw-r--r-- | src/libsyntax/ext/build.rs | 6 | ||||
| -rw-r--r-- | src/libsyntax/ext/deriving/clone.rs | 3 | ||||
| -rw-r--r-- | src/libsyntax/ext/deriving/cmp/eq.rs | 3 | ||||
| -rw-r--r-- | src/libsyntax/ext/deriving/cmp/ord.rs | 3 | ||||
| -rw-r--r-- | src/libsyntax/ext/deriving/cmp/totaleq.rs | 5 | ||||
| -rw-r--r-- | src/libsyntax/ext/deriving/cmp/totalord.rs | 3 | ||||
| -rw-r--r-- | src/libsyntax/ext/deriving/default.rs | 3 | ||||
| -rw-r--r-- | src/libsyntax/ext/deriving/generic/mod.rs | 2 | ||||
| -rw-r--r-- | src/libsyntax/ext/deriving/hash.rs | 3 | ||||
| -rw-r--r-- | src/libsyntax/ext/deriving/primitive.rs | 3 | ||||
| -rw-r--r-- | src/libsyntax/ext/deriving/zero.rs | 3 | ||||
| -rw-r--r-- | src/libsyntax/ext/expand.rs | 2 | ||||
| -rw-r--r-- | src/libsyntax/ext/format.rs | 7 |
13 files changed, 32 insertions, 14 deletions
diff --git a/src/libsyntax/ext/build.rs b/src/libsyntax/ext/build.rs index 3c7415ae0e9..44c177d19ca 100644 --- a/src/libsyntax/ext/build.rs +++ b/src/libsyntax/ext/build.rs @@ -231,7 +231,7 @@ pub trait AstBuilder { generics: Generics) -> @ast::Item; fn item_ty(&self, span: Span, name: Ident, ty: P<ast::Ty>) -> @ast::Item; - fn attribute(&self, sp: Span, mi: @ast::MetaItem) -> ast::Attribute; + fn attribute(&self, id: AttrId, sp: Span, mi: @ast::MetaItem) -> ast::Attribute; fn meta_word(&self, sp: Span, w: InternedString) -> @ast::MetaItem; fn meta_list(&self, @@ -925,8 +925,10 @@ impl<'a> AstBuilder for ExtCtxt<'a> { self.item_ty_poly(span, name, ty, ast_util::empty_generics()) } - fn attribute(&self, sp: Span, mi: @ast::MetaItem) -> ast::Attribute { + fn attribute(&self, id: ast::AttrId, sp: Span, mi: @ast::MetaItem) + -> ast::Attribute { respan(sp, ast::Attribute_ { + id: id, style: ast::AttrOuter, value: mi, is_sugared_doc: false, diff --git a/src/libsyntax/ext/deriving/clone.rs b/src/libsyntax/ext/deriving/clone.rs index 89c94891b33..73bfe9c27b6 100644 --- a/src/libsyntax/ext/deriving/clone.rs +++ b/src/libsyntax/ext/deriving/clone.rs @@ -8,6 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. +use attr; use ast::{MetaItem, Item, Expr}; use codemap::Span; use ext::base::ExtCtxt; @@ -21,7 +22,7 @@ pub fn expand_deriving_clone(cx: &mut ExtCtxt, item: @Item, push: |@Item|) { let inline = cx.meta_word(span, InternedString::new("inline")); - let attrs = vec!(cx.attribute(span, inline)); + let attrs = vec!(cx.attribute(attr::mk_attr_id(), span, inline)); let trait_def = TraitDef { span: span, attributes: Vec::new(), diff --git a/src/libsyntax/ext/deriving/cmp/eq.rs b/src/libsyntax/ext/deriving/cmp/eq.rs index 92b3788c247..31d6fcb9d6f 100644 --- a/src/libsyntax/ext/deriving/cmp/eq.rs +++ b/src/libsyntax/ext/deriving/cmp/eq.rs @@ -9,6 +9,7 @@ // except according to those terms. use ast::{MetaItem, Item, Expr}; +use attr; use codemap::Span; use ext::base::ExtCtxt; use ext::build::AstBuilder; @@ -34,7 +35,7 @@ pub fn expand_deriving_eq(cx: &mut ExtCtxt, macro_rules! md ( ($name:expr, $f:ident) => { { let inline = cx.meta_word(span, InternedString::new("inline")); - let attrs = vec!(cx.attribute(span, inline)); + let attrs = vec!(cx.attribute(attr::mk_attr_id(), span, inline)); MethodDef { name: $name, generics: LifetimeBounds::empty(), diff --git a/src/libsyntax/ext/deriving/cmp/ord.rs b/src/libsyntax/ext/deriving/cmp/ord.rs index dd2f90cfa5f..3d79de4feb1 100644 --- a/src/libsyntax/ext/deriving/cmp/ord.rs +++ b/src/libsyntax/ext/deriving/cmp/ord.rs @@ -10,6 +10,7 @@ use ast; use ast::{MetaItem, Item, Expr}; +use attr; use codemap::Span; use ext::base::ExtCtxt; use ext::build::AstBuilder; @@ -24,7 +25,7 @@ pub fn expand_deriving_ord(cx: &mut ExtCtxt, macro_rules! md ( ($name:expr, $op:expr, $equal:expr) => { { let inline = cx.meta_word(span, InternedString::new("inline")); - let attrs = vec!(cx.attribute(span, inline)); + let attrs = vec!(cx.attribute(attr::mk_attr_id(), span, inline)); MethodDef { name: $name, generics: LifetimeBounds::empty(), diff --git a/src/libsyntax/ext/deriving/cmp/totaleq.rs b/src/libsyntax/ext/deriving/cmp/totaleq.rs index b76caccffec..42bbf8e415a 100644 --- a/src/libsyntax/ext/deriving/cmp/totaleq.rs +++ b/src/libsyntax/ext/deriving/cmp/totaleq.rs @@ -9,6 +9,7 @@ // except according to those terms. use ast::{MetaItem, Item, Expr}; +use attr; use codemap::Span; use ext::base::ExtCtxt; use ext::build::AstBuilder; @@ -37,8 +38,8 @@ pub fn expand_deriving_totaleq(cx: &mut ExtCtxt, let inline = cx.meta_word(span, InternedString::new("inline")); let hidden = cx.meta_word(span, InternedString::new("hidden")); let doc = cx.meta_list(span, InternedString::new("doc"), vec!(hidden)); - let attrs = vec!(cx.attribute(span, inline), - cx.attribute(span, doc)); + let attrs = vec!(cx.attribute(attr::mk_attr_id(), span, inline), + cx.attribute(attr::mk_attr_id(), span, doc)); let trait_def = TraitDef { span: span, attributes: Vec::new(), diff --git a/src/libsyntax/ext/deriving/cmp/totalord.rs b/src/libsyntax/ext/deriving/cmp/totalord.rs index 3ca4f9e2862..6413bdab344 100644 --- a/src/libsyntax/ext/deriving/cmp/totalord.rs +++ b/src/libsyntax/ext/deriving/cmp/totalord.rs @@ -10,6 +10,7 @@ use ast; use ast::{MetaItem, Item, Expr}; +use attr; use codemap::Span; use ext::base::ExtCtxt; use ext::build::AstBuilder; @@ -24,7 +25,7 @@ pub fn expand_deriving_totalord(cx: &mut ExtCtxt, item: @Item, push: |@Item|) { let inline = cx.meta_word(span, InternedString::new("inline")); - let attrs = vec!(cx.attribute(span, inline)); + let attrs = vec!(cx.attribute(attr::mk_attr_id(), span, inline)); let trait_def = TraitDef { span: span, attributes: Vec::new(), diff --git a/src/libsyntax/ext/deriving/default.rs b/src/libsyntax/ext/deriving/default.rs index c225906ed2b..a0499a2cc1e 100644 --- a/src/libsyntax/ext/deriving/default.rs +++ b/src/libsyntax/ext/deriving/default.rs @@ -9,6 +9,7 @@ // except according to those terms. use ast::{MetaItem, Item, Expr}; +use attr; use codemap::Span; use ext::base::ExtCtxt; use ext::build::AstBuilder; @@ -21,7 +22,7 @@ pub fn expand_deriving_default(cx: &mut ExtCtxt, item: @Item, push: |@Item|) { let inline = cx.meta_word(span, InternedString::new("inline")); - let attrs = vec!(cx.attribute(span, inline)); + let attrs = vec!(cx.attribute(attr::mk_attr_id(), span, inline)); let trait_def = TraitDef { span: span, attributes: Vec::new(), diff --git a/src/libsyntax/ext/deriving/generic/mod.rs b/src/libsyntax/ext/deriving/generic/mod.rs index 0875daddc0f..28595fecd89 100644 --- a/src/libsyntax/ext/deriving/generic/mod.rs +++ b/src/libsyntax/ext/deriving/generic/mod.rs @@ -182,6 +182,7 @@ use std::cell::RefCell; use ast; use ast::{P, EnumDef, Expr, Ident, Generics, StructDef}; use ast_util; +use attr; use attr::AttrMetaMethods; use ext::base::ExtCtxt; use ext::build::AstBuilder; @@ -427,6 +428,7 @@ impl<'a> TraitDef<'a> { self_ty_params.into_vec()), None); let attr = cx.attribute( + attr::mk_attr_id(), self.span, cx.meta_word(self.span, InternedString::new("automatically_derived"))); diff --git a/src/libsyntax/ext/deriving/hash.rs b/src/libsyntax/ext/deriving/hash.rs index 3e6b8d522d4..8b368968f49 100644 --- a/src/libsyntax/ext/deriving/hash.rs +++ b/src/libsyntax/ext/deriving/hash.rs @@ -10,6 +10,7 @@ use ast; use ast::{MetaItem, Item, Expr, MutMutable}; +use attr; use codemap::Span; use ext::base::ExtCtxt; use ext::build::AstBuilder; @@ -37,7 +38,7 @@ pub fn expand_deriving_hash(cx: &mut ExtCtxt, Path::new(vec!("std", "hash", "sip", "SipState"))) }; let inline = cx.meta_word(span, InternedString::new("inline")); - let attrs = vec!(cx.attribute(span, inline)); + let attrs = vec!(cx.attribute(attr::mk_attr_id(), span, inline)); let hash_trait_def = TraitDef { span: span, attributes: Vec::new(), diff --git a/src/libsyntax/ext/deriving/primitive.rs b/src/libsyntax/ext/deriving/primitive.rs index 5066a395b41..e3621b51c4d 100644 --- a/src/libsyntax/ext/deriving/primitive.rs +++ b/src/libsyntax/ext/deriving/primitive.rs @@ -10,6 +10,7 @@ use ast::{MetaItem, Item, Expr}; use ast; +use attr; use codemap::Span; use ext::base::ExtCtxt; use ext::build::AstBuilder; @@ -22,7 +23,7 @@ pub fn expand_deriving_from_primitive(cx: &mut ExtCtxt, item: @Item, push: |@Item|) { let inline = cx.meta_word(span, InternedString::new("inline")); - let attrs = vec!(cx.attribute(span, inline)); + let attrs = vec!(cx.attribute(attr::mk_attr_id(), span, inline)); let trait_def = TraitDef { span: span, attributes: Vec::new(), diff --git a/src/libsyntax/ext/deriving/zero.rs b/src/libsyntax/ext/deriving/zero.rs index 449851dd3ea..c60cdab9099 100644 --- a/src/libsyntax/ext/deriving/zero.rs +++ b/src/libsyntax/ext/deriving/zero.rs @@ -9,6 +9,7 @@ // except according to those terms. use ast::{MetaItem, Item, Expr}; +use attr; use codemap::Span; use ext::base::ExtCtxt; use ext::build::AstBuilder; @@ -21,7 +22,7 @@ pub fn expand_deriving_zero(cx: &mut ExtCtxt, item: @Item, push: |@Item|) { let inline = cx.meta_word(span, InternedString::new("inline")); - let attrs = vec!(cx.attribute(span, inline)); + let attrs = vec!(cx.attribute(attr::mk_attr_id(), span, inline)); let trait_def = TraitDef { span: span, attributes: Vec::new(), diff --git a/src/libsyntax/ext/expand.rs b/src/libsyntax/ext/expand.rs index 989d0a463c3..83118df5e65 100644 --- a/src/libsyntax/ext/expand.rs +++ b/src/libsyntax/ext/expand.rs @@ -972,6 +972,7 @@ mod test { use super::*; use ast; use ast::{Attribute_, AttrOuter, MetaWord}; + use attr; use codemap; use codemap::Spanned; use ext::base::{CrateLoader, MacroCrate}; @@ -1103,6 +1104,7 @@ mod test { Spanned { span:codemap::DUMMY_SP, node: Attribute_ { + id: attr::mk_attr_id(), style: AttrOuter, value: @Spanned { node: MetaWord(token::intern_and_get_ident(s)), diff --git a/src/libsyntax/ext/format.rs b/src/libsyntax/ext/format.rs index ad4b798cfe5..c3b3c4eed57 100644 --- a/src/libsyntax/ext/format.rs +++ b/src/libsyntax/ext/format.rs @@ -10,6 +10,7 @@ use ast; use ast::P; +use attr; use codemap::{Span, respan}; use ext::base::*; use ext::base; @@ -382,7 +383,8 @@ impl<'a, 'b> Context<'a, 'b> { .meta_word(self.fmtsp, InternedString::new( "address_insignificant")); - let unnamed = self.ecx.attribute(self.fmtsp, unnamed); + let unnamed = self.ecx.attribute(attr::mk_attr_id(), self.fmtsp, + unnamed); // Do not warn format string as dead code let dead_code = self.ecx.meta_word(self.fmtsp, @@ -390,7 +392,8 @@ impl<'a, 'b> Context<'a, 'b> { let allow_dead_code = self.ecx.meta_list(self.fmtsp, InternedString::new("allow"), vec!(dead_code)); - let allow_dead_code = self.ecx.attribute(self.fmtsp, allow_dead_code); + let allow_dead_code = self.ecx.attribute(attr::mk_attr_id(), self.fmtsp, + allow_dead_code); return vec!(unnamed, allow_dead_code); } |
