1
Fork 0

Use Symbol instead of InternedString in the AST, HIR, and various other places.

This commit is contained in:
Jeffrey Seyfried 2016-11-16 10:52:37 +00:00
parent d2f8fb0a0a
commit e85a0d70b8
72 changed files with 399 additions and 453 deletions

View file

@ -17,7 +17,7 @@ use syntax::ast;
use syntax::ext::base::*;
use syntax::ext::base;
use syntax::ext::build::AstBuilder;
use syntax::symbol::intern_and_get_ident;
use syntax::symbol::Symbol;
use syntax_pos::Span;
use syntax::tokenstream;
@ -32,7 +32,7 @@ pub fn expand_option_env<'cx>(cx: &'cx mut ExtCtxt,
Some(v) => v,
};
let e = match env::var(&var[..]) {
let e = match env::var(&*var.as_str()) {
Err(..) => {
cx.expr_path(cx.path_all(sp,
true,
@ -49,7 +49,7 @@ pub fn expand_option_env<'cx>(cx: &'cx mut ExtCtxt,
Ok(s) => {
cx.expr_call_global(sp,
cx.std_path(&["option", "Option", "Some"]),
vec![cx.expr_str(sp, intern_and_get_ident(&s[..]))])
vec![cx.expr_str(sp, Symbol::intern(&s))])
}
};
MacEager::expr(e)
@ -73,7 +73,7 @@ pub fn expand_env<'cx>(cx: &'cx mut ExtCtxt,
Some((v, _style)) => v,
};
let msg = match exprs.next() {
None => intern_and_get_ident(&format!("environment variable `{}` not defined", var)),
None => Symbol::intern(&format!("environment variable `{}` not defined", var)),
Some(second) => {
match expr_to_string(cx, second, "expected string literal") {
None => return DummyResult::expr(sp),
@ -87,12 +87,12 @@ pub fn expand_env<'cx>(cx: &'cx mut ExtCtxt,
return DummyResult::expr(sp);
}
let e = match env::var(&var[..]) {
let e = match env::var(&*var.as_str()) {
Err(_) => {
cx.span_err(sp, &msg);
cx.span_err(sp, &msg.as_str());
cx.expr_usize(sp, 0)
}
Ok(s) => cx.expr_str(sp, intern_and_get_ident(&s)),
Ok(s) => cx.expr_str(sp, Symbol::intern(&s)),
};
MacEager::expr(e)
}