diff options
| author | Mark Rousskov <mark.simulacrum@gmail.com> | 2019-07-05 17:48:21 -0400 |
|---|---|---|
| committer | Mark Rousskov <mark.simulacrum@gmail.com> | 2019-07-10 07:12:28 -0400 |
| commit | e0db2e606cdb242db1466ae51129c9a6b81560fe (patch) | |
| tree | 79e113bb20975e3ebf23bc076edd959e69122351 | |
| parent | 7e3791469fce12a95d5d85b9a8744a61a0970fe1 (diff) | |
| download | rust-e0db2e606cdb242db1466ae51129c9a6b81560fe.tar.gz rust-e0db2e606cdb242db1466ae51129c9a6b81560fe.zip | |
print_crate returns String instead of taking an out pointer
| -rw-r--r-- | src/librustc/hir/print.rs | 10 | ||||
| -rw-r--r-- | src/librustc_driver/pretty.rs | 9 | ||||
| -rw-r--r-- | src/libsyntax/print/pprust.rs | 9 |
3 files changed, 13 insertions, 15 deletions
diff --git a/src/librustc/hir/print.rs b/src/librustc/hir/print.rs index fc3430566a0..01cdd8a6f22 100644 --- a/src/librustc/hir/print.rs +++ b/src/librustc/hir/print.rs @@ -93,17 +93,17 @@ pub fn print_crate<'a>(cm: &'a SourceMap, krate: &hir::Crate, filename: FileName, input: String, - out: &'a mut String, - ann: &'a dyn PpAnn) - { - let mut s = State::new_from_input(cm, sess, filename, input, out, ann); + ann: &'a dyn PpAnn) -> String { + let mut out = String::new(); + let mut s = State::new_from_input(cm, sess, filename, input, &mut out, ann); // When printing the AST, we sometimes need to inject `#[no_std]` here. // Since you can't compile the HIR, it's not necessary. s.print_mod(&krate.module, &krate.attrs); s.print_remaining_comments(); - s.s.eof() + s.s.eof(); + out } impl<'a> State<'a> { diff --git a/src/librustc_driver/pretty.rs b/src/librustc_driver/pretty.rs index df8dc3871b7..3e6d843ffbe 100644 --- a/src/librustc_driver/pretty.rs +++ b/src/librustc_driver/pretty.rs @@ -725,12 +725,11 @@ pub fn print_after_parsing(sess: &Session, s.call_with_pp_support(sess, None, move |annotation| { debug!("pretty printing source code {:?}", s); let sess = annotation.sess(); - pprust::print_crate(sess.source_map(), + *out = pprust::print_crate(sess.source_map(), &sess.parse_sess, krate, src_name, src, - out, annotation.pp_ann(), false) }) @@ -771,12 +770,11 @@ pub fn print_after_hir_lowering<'tcx>( s.call_with_pp_support(tcx.sess, Some(tcx), move |annotation| { debug!("pretty printing source code {:?}", s); let sess = annotation.sess(); - pprust::print_crate(sess.source_map(), + *out = pprust::print_crate(sess.source_map(), &sess.parse_sess, krate, src_name, src, - out, annotation.pp_ann(), true) }) @@ -788,12 +786,11 @@ pub fn print_after_hir_lowering<'tcx>( s.call_with_pp_support_hir(tcx, move |annotation, krate| { debug!("pretty printing source code {:?}", s); let sess = annotation.sess(); - pprust_hir::print_crate(sess.source_map(), + *out = pprust_hir::print_crate(sess.source_map(), &sess.parse_sess, krate, src_name, src, - out, annotation.pp_ann()) }) } diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs index a6680ee02b5..555276234f7 100644 --- a/src/libsyntax/print/pprust.rs +++ b/src/libsyntax/print/pprust.rs @@ -102,10 +102,10 @@ pub fn print_crate<'a>(cm: &'a SourceMap, krate: &ast::Crate, filename: FileName, input: String, - out: &mut String, ann: &'a dyn PpAnn, - is_expanded: bool) { - let mut s = State::new_from_input(cm, sess, filename, input, out, ann, is_expanded); + is_expanded: bool) -> String { + let mut out = String::new(); + let mut s = State::new_from_input(cm, sess, filename, input, &mut out, ann, is_expanded); if is_expanded && std_inject::injected_crate_name().is_some() { // We need to print `#![no_std]` (and its feature gate) so that @@ -128,7 +128,8 @@ pub fn print_crate<'a>(cm: &'a SourceMap, s.print_mod(&krate.module, &krate.attrs); s.print_remaining_comments(); - s.s.eof() + s.s.eof(); + out } impl<'a> State<'a> { |
