libsyntax: Introduce an InternedString
type to reduce @str
in the
compiler and use it for attributes
This commit is contained in:
parent
1d494198bb
commit
70c5a0fbf7
27 changed files with 339 additions and 157 deletions
|
@ -228,9 +228,17 @@ pub trait AstBuilder {
|
|||
|
||||
fn attribute(&self, sp: Span, mi: @ast::MetaItem) -> ast::Attribute;
|
||||
|
||||
fn meta_word(&self, sp: Span, w: @str) -> @ast::MetaItem;
|
||||
fn meta_list(&self, sp: Span, name: @str, mis: ~[@ast::MetaItem]) -> @ast::MetaItem;
|
||||
fn meta_name_value(&self, sp: Span, name: @str, value: ast::Lit_) -> @ast::MetaItem;
|
||||
fn meta_word(&self, sp: Span, w: InternedString) -> @ast::MetaItem;
|
||||
fn meta_list(&self,
|
||||
sp: Span,
|
||||
name: InternedString,
|
||||
mis: ~[@ast::MetaItem])
|
||||
-> @ast::MetaItem;
|
||||
fn meta_name_value(&self,
|
||||
sp: Span,
|
||||
name: InternedString,
|
||||
value: ast::Lit_)
|
||||
-> @ast::MetaItem;
|
||||
|
||||
fn view_use(&self, sp: Span,
|
||||
vis: ast::Visibility, vp: ~[@ast::ViewPath]) -> ast::ViewItem;
|
||||
|
@ -866,13 +874,21 @@ impl<'a> AstBuilder for ExtCtxt<'a> {
|
|||
})
|
||||
}
|
||||
|
||||
fn meta_word(&self, sp: Span, w: @str) -> @ast::MetaItem {
|
||||
fn meta_word(&self, sp: Span, w: InternedString) -> @ast::MetaItem {
|
||||
@respan(sp, ast::MetaWord(w))
|
||||
}
|
||||
fn meta_list(&self, sp: Span, name: @str, mis: ~[@ast::MetaItem]) -> @ast::MetaItem {
|
||||
fn meta_list(&self,
|
||||
sp: Span,
|
||||
name: InternedString,
|
||||
mis: ~[@ast::MetaItem])
|
||||
-> @ast::MetaItem {
|
||||
@respan(sp, ast::MetaList(name, mis))
|
||||
}
|
||||
fn meta_name_value(&self, sp: Span, name: @str, value: ast::Lit_) -> @ast::MetaItem {
|
||||
fn meta_name_value(&self,
|
||||
sp: Span,
|
||||
name: InternedString,
|
||||
value: ast::Lit_)
|
||||
-> @ast::MetaItem {
|
||||
@respan(sp, ast::MetaNameValue(name, respan(sp, value)))
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue