Skip to content

Commit 7e37914

Browse files
Replace src: &mut dyn Read with String
1 parent 0eb2e56 commit 7e37914

File tree

4 files changed

+15
-21
lines changed

4 files changed

+15
-21
lines changed

src/librustc/hir/print.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ use crate::hir::ptr::P;
1616

1717
use std::borrow::Cow;
1818
use std::cell::Cell;
19-
use std::io::Read;
2019
use std::vec;
2120

2221
pub enum AnnNode<'a> {
@@ -93,7 +92,7 @@ pub fn print_crate<'a>(cm: &'a SourceMap,
9392
sess: &ParseSess,
9493
krate: &hir::Crate,
9594
filename: FileName,
96-
input: &mut dyn Read,
95+
input: String,
9796
out: &'a mut String,
9897
ann: &'a dyn PpAnn)
9998
{
@@ -111,7 +110,7 @@ impl<'a> State<'a> {
111110
pub fn new_from_input(cm: &'a SourceMap,
112111
sess: &ParseSess,
113112
filename: FileName,
114-
input: &mut dyn Read,
113+
input: String,
115114
out: &'a mut String,
116115
ann: &'a dyn PpAnn)
117116
-> State<'a> {

src/librustc_driver/pretty.rs

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -687,16 +687,14 @@ pub fn visit_crate(sess: &Session, krate: &mut ast::Crate, ppm: PpMode) {
687687
}
688688
}
689689

690-
fn get_source(input: &Input, sess: &Session) -> (Vec<u8>, FileName) {
690+
fn get_source(input: &Input, sess: &Session) -> (String, FileName) {
691691
let src_name = source_name(input);
692-
let src = sess.source_map()
692+
let src = String::clone(&sess.source_map()
693693
.get_source_file(&src_name)
694694
.unwrap()
695695
.src
696696
.as_ref()
697-
.unwrap()
698-
.as_bytes()
699-
.to_vec();
697+
.unwrap());
700698
(src, src_name)
701699
}
702700

@@ -719,7 +717,6 @@ pub fn print_after_parsing(sess: &Session,
719717
ofile: Option<&Path>) {
720718
let (src, src_name) = get_source(input, sess);
721719

722-
let mut rdr = &*src;
723720
let mut out = String::new();
724721

725722
if let PpmSource(s) = ppm {
@@ -732,7 +729,7 @@ pub fn print_after_parsing(sess: &Session,
732729
&sess.parse_sess,
733730
krate,
734731
src_name,
735-
&mut rdr,
732+
src,
736733
out,
737734
annotation.pp_ann(),
738735
false)
@@ -764,21 +761,21 @@ pub fn print_after_hir_lowering<'tcx>(
764761

765762
let (src, src_name) = get_source(input, tcx.sess);
766763

767-
let mut rdr = &src[..];
768764
let mut out = String::new();
769765

770766
match (ppm, opt_uii) {
771767
(PpmSource(s), _) => {
772768
// Silently ignores an identified node.
773769
let out = &mut out;
770+
let src = src.clone();
774771
s.call_with_pp_support(tcx.sess, Some(tcx), move |annotation| {
775772
debug!("pretty printing source code {:?}", s);
776773
let sess = annotation.sess();
777774
pprust::print_crate(sess.source_map(),
778775
&sess.parse_sess,
779776
krate,
780777
src_name,
781-
&mut rdr,
778+
src,
782779
out,
783780
annotation.pp_ann(),
784781
true)
@@ -787,14 +784,15 @@ pub fn print_after_hir_lowering<'tcx>(
787784

788785
(PpmHir(s), None) => {
789786
let out = &mut out;
787+
let src = src.clone();
790788
s.call_with_pp_support_hir(tcx, move |annotation, krate| {
791789
debug!("pretty printing source code {:?}", s);
792790
let sess = annotation.sess();
793791
pprust_hir::print_crate(sess.source_map(),
794792
&sess.parse_sess,
795793
krate,
796794
src_name,
797-
&mut rdr,
795+
src,
798796
out,
799797
annotation.pp_ann())
800798
})
@@ -810,14 +808,15 @@ pub fn print_after_hir_lowering<'tcx>(
810808

811809
(PpmHir(s), Some(uii)) => {
812810
let out = &mut out;
811+
let src = src.clone();
813812
s.call_with_pp_support_hir(tcx, move |annotation, _| {
814813
debug!("pretty printing source code {:?}", s);
815814
let sess = annotation.sess();
816815
let hir_map = annotation.hir_map().expect("-Z unpretty missing HIR map");
817816
let mut pp_state = pprust_hir::State::new_from_input(sess.source_map(),
818817
&sess.parse_sess,
819818
src_name,
820-
&mut rdr,
819+
src,
821820
out,
822821
annotation.pp_ann());
823822
for node_id in uii.all_matching_node_ids(hir_map) {

src/libsyntax/parse/lexer/comments.rs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ use crate::parse::lexer::{self, ParseSess, StringReader};
88
use syntax_pos::{BytePos, CharPos, Pos, FileName};
99
use log::debug;
1010

11-
use std::io::Read;
1211
use std::usize;
1312

1413
#[derive(Clone, Copy, PartialEq, Debug)]
@@ -340,10 +339,8 @@ fn consume_comment(rdr: &mut StringReader<'_>,
340339

341340
// it appears this function is called only from pprust... that's
342341
// probably not a good thing.
343-
pub fn gather_comments(sess: &ParseSess, path: FileName, srdr: &mut dyn Read) -> Vec<Comment>
342+
pub fn gather_comments(sess: &ParseSess, path: FileName, src: String) -> Vec<Comment>
344343
{
345-
let mut src = String::new();
346-
srdr.read_to_string(&mut src).unwrap();
347344
let cm = SourceMap::new(sess.source_map().path_mapping().clone());
348345
let source_file = cm.new_source_file(path, src);
349346
let mut rdr = lexer::StringReader::new(sess, source_file, None);

src/libsyntax/print/pprust.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ use syntax_pos::{self, BytePos};
2121
use syntax_pos::{DUMMY_SP, FileName, Span};
2222

2323
use std::borrow::Cow;
24-
use std::io::Read;
2524

2625
pub enum AnnNode<'a> {
2726
Ident(&'a ast::Ident),
@@ -102,7 +101,7 @@ pub fn print_crate<'a>(cm: &'a SourceMap,
102101
sess: &ParseSess,
103102
krate: &ast::Crate,
104103
filename: FileName,
105-
input: &mut dyn Read,
104+
input: String,
106105
out: &mut String,
107106
ann: &'a dyn PpAnn,
108107
is_expanded: bool) {
@@ -136,7 +135,7 @@ impl<'a> State<'a> {
136135
pub fn new_from_input(cm: &'a SourceMap,
137136
sess: &ParseSess,
138137
filename: FileName,
139-
input: &mut dyn Read,
138+
input: String,
140139
out: &'a mut String,
141140
ann: &'a dyn PpAnn,
142141
is_expanded: bool) -> State<'a> {

0 commit comments

Comments
 (0)