提交 5ea959dc 编写于 作者: J John Kåre Alsaker

Convert symbols to strings for pretty printing

上级 438f6b04
......@@ -622,7 +622,7 @@ pub fn print_item(&mut self, item: &hir::Item) -> io::Result<()> {
}
hir::ItemKind::GlobalAsm(ref ga) => {
self.head(visibility_qualified(&item.vis, "global asm"))?;
self.s.word(ga.asm.as_str().get())?;
self.s.word(ga.asm.as_str().to_string())?;
self.end()?
}
hir::ItemKind::Ty(ref ty, ref generics) => {
......@@ -1591,7 +1591,7 @@ pub fn print_ident(&mut self, ident: ast::Ident) -> io::Result<()> {
if ident.is_raw_guess() {
self.s.word(format!("r#{}", ident.name))?;
} else {
self.s.word(ident.as_str().get())?;
self.s.word(ident.as_str().to_string())?;
}
self.ann.post(self, AnnNode::Name(&ident.name))
}
......@@ -1998,7 +1998,7 @@ pub fn print_fn(&mut self,
self.commasep(Inconsistent, &decl.inputs, |s, ty| {
s.ibox(indent_unit)?;
if let Some(arg_name) = arg_names.get(i) {
s.s.word(arg_name.as_str().get())?;
s.s.word(arg_name.as_str().to_string())?;
s.s.word(":")?;
s.s.space()?;
} else if let Some(body_id) = body_id {
......
......@@ -369,7 +369,7 @@ fn pretty_print_break(&mut self, b: BreakToken) -> io::Result<()> {
Ok(())
}
fn pretty_print_string<'s>(&mut self, s: Cow<'s, str>, len: isize) -> io::Result<()> {
fn pretty_print_string(&mut self, s: Cow<'static, str>, len: isize) -> io::Result<()> {
if self.scan_stack.is_empty() {
debug!("pp String('{}')/print Vec<{},{}>",
s, self.left, self.right);
......@@ -378,10 +378,7 @@ fn pretty_print_string<'s>(&mut self, s: Cow<'s, str>, len: isize) -> io::Result
debug!("pp String('{}')/buffer Vec<{},{}>",
s, self.left, self.right);
self.advance_right();
self.buf[self.right] = BufEntry {
token: Token::String(s.into_owned().into(), len),
size: len
};
self.buf[self.right] = BufEntry { token: Token::String(s, len), size: len };
self.right_total += len;
self.check_stream()
}
......@@ -579,7 +576,7 @@ pub fn print_break(&mut self, b: BreakToken, l: isize) -> io::Result<()> {
}
}
pub fn print_string(&mut self, s: Cow<'_, str>, len: isize) -> io::Result<()> {
pub fn print_string(&mut self, s: Cow<'static, str>, len: isize) -> io::Result<()> {
debug!("print String({})", s);
// assert!(len <= space);
self.space -= len;
......@@ -644,7 +641,7 @@ pub fn eof(&mut self) -> io::Result<()> {
self.pretty_print_eof()
}
pub fn word<'s, S: Into<Cow<'s, str>>>(&mut self, wrd: S) -> io::Result<()> {
pub fn word<S: Into<Cow<'static, str>>>(&mut self, wrd: S) -> io::Result<()> {
let s = wrd.into();
let len = s.len() as isize;
self.pretty_print_string(s, len)
......
......@@ -645,7 +645,7 @@ fn print_literal(&mut self, lit: &ast::Lit) -> io::Result<()> {
ast::LitKind::Float(ref f, t) => {
self.writer().word(format!("{}{}", &f, t.ty_to_string()))
}
ast::LitKind::FloatUnsuffixed(ref f) => self.writer().word(f.as_str().get()),
ast::LitKind::FloatUnsuffixed(ref f) => self.writer().word(f.as_str().to_string()),
ast::LitKind::Bool(val) => {
if val { self.writer().word("true") } else { self.writer().word("false") }
}
......@@ -731,7 +731,7 @@ fn print_attribute_path(&mut self, path: &ast::Path) -> io::Result<()> {
if segment.ident.name == keywords::DollarCrate.name() {
self.print_dollar_crate(segment.ident)?;
} else {
self.writer().word(segment.ident.as_str().get())?;
self.writer().word(segment.ident.as_str().to_string())?;
}
}
}
......@@ -749,7 +749,7 @@ fn print_attribute_inline(&mut self, attr: &ast::Attribute,
}
self.maybe_print_comment(attr.span.lo())?;
if attr.is_sugared_doc {
self.writer().word(attr.value_str().unwrap().as_str().get())?;
self.writer().word(attr.value_str().unwrap().as_str().to_string())?;
self.writer().hardbreak()
} else {
match attr.style {
......@@ -858,7 +858,7 @@ fn print_dollar_crate(&mut self, ident: ast::Ident) -> io::Result<()> {
if !ast::Ident::with_empty_ctxt(name).is_path_segment_keyword() {
self.writer().word("::")?;
}
self.writer().word(name.as_str().get())
self.writer().word(name.as_str().to_string())
}
}
......@@ -1300,7 +1300,7 @@ pub fn print_item(&mut self, item: &ast::Item) -> io::Result<()> {
}
ast::ItemKind::GlobalAsm(ref ga) => {
self.head(visibility_qualified(&item.vis, "global_asm!"))?;
self.s.word(ga.asm.as_str().get())?;
self.s.word(ga.asm.as_str().to_string())?;
self.end()?;
}
ast::ItemKind::Ty(ref ty, ref generics) => {
......@@ -2437,7 +2437,7 @@ pub fn print_ident(&mut self, ident: ast::Ident) -> io::Result<()> {
if ident.is_raw_guess() {
self.s.word(format!("r#{}", ident))?;
} else {
self.s.word(ident.as_str().get())?;
self.s.word(ident.as_str().to_string())?;
}
self.ann.post(self, AnnNode::Ident(&ident))
}
......@@ -2447,7 +2447,7 @@ pub fn print_usize(&mut self, i: usize) -> io::Result<()> {
}
pub fn print_name(&mut self, name: ast::Name) -> io::Result<()> {
self.s.word(name.as_str().get())?;
self.s.word(name.as_str().to_string())?;
self.ann.post(self, AnnNode::Name(&name))
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册