diff options
| author | Sergio Benitez <sb@sergio.bz> | 2016-08-19 18:58:14 -0700 |
|---|---|---|
| committer | Sergio Benitez <sb@sergio.bz> | 2016-08-25 13:25:22 -0700 |
| commit | 8250a26b5bcea9190ac63e756c35d8a54bf9da0c (patch) | |
| tree | f95baa037c52c307de53d605ad752afd4880ffa4 /src/libsyntax/ext | |
| parent | 528c6f3ed6a23a374dc5a40582d1bea2f2cfda65 (diff) | |
| download | rust-8250a26b5bcea9190ac63e756c35d8a54bf9da0c.tar.gz rust-8250a26b5bcea9190ac63e756c35d8a54bf9da0c.zip | |
Implement RFC#1559: allow all literals in attributes.
Diffstat (limited to 'src/libsyntax/ext')
| -rw-r--r-- | src/libsyntax/ext/build.rs | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/libsyntax/ext/build.rs b/src/libsyntax/ext/build.rs index 5d6429f7bdf..1d3939df6fb 100644 --- a/src/libsyntax/ext/build.rs +++ b/src/libsyntax/ext/build.rs @@ -277,10 +277,13 @@ pub trait AstBuilder { fn attribute(&self, sp: Span, mi: P<ast::MetaItem>) -> ast::Attribute; fn meta_word(&self, sp: Span, w: InternedString) -> P<ast::MetaItem>; + + fn meta_list_item_word(&self, sp: Span, w: InternedString) -> ast::NestedMetaItem; + fn meta_list(&self, sp: Span, name: InternedString, - mis: Vec<P<ast::MetaItem>> ) + mis: Vec<ast::NestedMetaItem> ) -> P<ast::MetaItem>; fn meta_name_value(&self, sp: Span, @@ -1141,10 +1144,16 @@ impl<'a> AstBuilder for ExtCtxt<'a> { fn meta_word(&self, sp: Span, w: InternedString) -> P<ast::MetaItem> { attr::mk_spanned_word_item(sp, w) } - fn meta_list(&self, sp: Span, name: InternedString, mis: Vec<P<ast::MetaItem>>) + + fn meta_list_item_word(&self, sp: Span, w: InternedString) -> ast::NestedMetaItem { + respan(sp, ast::NestedMetaItemKind::MetaItem(attr::mk_spanned_word_item(sp, w))) + } + + fn meta_list(&self, sp: Span, name: InternedString, mis: Vec<ast::NestedMetaItem>) -> P<ast::MetaItem> { attr::mk_spanned_list_item(sp, name, mis) } + fn meta_name_value(&self, sp: Span, name: InternedString, value: ast::LitKind) -> P<ast::MetaItem> { attr::mk_spanned_name_value_item(sp, name, respan(sp, value)) |
