Skip to content
Permalink
Browse files

Convert symbols to strings for pretty printing

  • Loading branch information...
Zoxc committed Mar 16, 2019
1 parent 438f6b0 commit 5ea959dc8bfdf0dd62fd8ac611ba4e9e8d75c69d
Showing with 14 additions and 17 deletions.
  1. +3 −3 src/librustc/hir/print.rs
  2. +4 −7 src/libsyntax/print/pp.rs
  3. +7 −7 src/libsyntax/print/pprust.rs
@@ -622,7 +622,7 @@ impl<'a> State<'a> {
}
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 @@ impl<'a> State<'a> {
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 @@ impl<'a> State<'a> {
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 @@ impl<'a> Printer<'a> {
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 @@ impl<'a> Printer<'a> {
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 @@ impl<'a> Printer<'a> {
}
}

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 @@ impl<'a> Printer<'a> {
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 @@ pub trait PrintState<'a> {
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 @@ pub trait PrintState<'a> {
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 @@ pub trait PrintState<'a> {
}
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 @@ pub trait PrintState<'a> {
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 @@ impl<'a> State<'a> {
}
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 @@ impl<'a> State<'a> {
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 @@ impl<'a> State<'a> {
}

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))
}

0 comments on commit 5ea959d

Please sign in to comment.
You can’t perform that action at this time.