From e4da7c5bee6ca094eeb12a9f47d450e3f962f05c Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Tue, 2 Aug 2011 22:19:39 -0700 Subject: [PATCH] parse_crate_from_source_str takes a parse_sess, not codemap This was causing problems when reading from stdin for subsequent passes that needed to generate node ids. --- src/comp/driver/rustc.rs | 2 +- src/comp/syntax/parse/parser.rs | 3 +-- src/fuzzer/fuzzer.rs | 14 +++++++------- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/src/comp/driver/rustc.rs b/src/comp/driver/rustc.rs index 77c2da6827a3..9b71fc25ceb9 100644 --- a/src/comp/driver/rustc.rs +++ b/src/comp/driver/rustc.rs @@ -106,7 +106,7 @@ fn parse_input_src(sess: session::session, cfg: &ast::crate_cfg, }.read_whole_stream(); let src = str::unsafe_from_bytes_ivec(srcbytes); let crate = parser::parse_crate_from_source_str(infile, src, cfg, - sess.get_codemap()); + sess.get_parse_sess()); ret {crate: crate, src: src}; } diff --git a/src/comp/syntax/parse/parser.rs b/src/comp/syntax/parse/parser.rs index 473ceb08b514..9e7f693c74b2 100644 --- a/src/comp/syntax/parse/parser.rs +++ b/src/comp/syntax/parse/parser.rs @@ -2317,8 +2317,7 @@ fn parse_crate_from_source_file(input: &str, cfg: &ast::crate_cfg, } fn parse_crate_from_source_str(name: &str, source: &str, cfg: &ast::crate_cfg, - cm: &codemap::codemap) -> @ast::crate { - let sess = @{cm: cm, mutable next_id: 0}; + sess: &parse_sess) -> @ast::crate { let ftype = SOURCE_FILE; let filemap = codemap::new_filemap(name, 0u, 0u); sess.cm.files += ~[filemap]; diff --git a/src/fuzzer/fuzzer.rs b/src/fuzzer/fuzzer.rs index e4a2c75fab6c..312f0e77787a 100644 --- a/src/fuzzer/fuzzer.rs +++ b/src/fuzzer/fuzzer.rs @@ -224,11 +224,11 @@ fn check_whole_compiler(code: &str) { fn parse_and_print(code: &str) -> str { let filename = "tmp.rs"; - let codemap = codemap::new_codemap(); + let sess = @{cm: codemap::new_codemap(), mutable next_id: 0}; //write_file(filename, code); let crate = - parser::parse_crate_from_source_str(filename, code, ~[], codemap); - ret as_str(bind pprust::print_crate(codemap, crate, filename, + parser::parse_crate_from_source_str(filename, code, ~[], sess); + ret as_str(bind pprust::print_crate(sess.cm, crate, filename, ioivec::string_reader(code), _, pprust::no_ann())); } @@ -336,12 +336,12 @@ fn check_variants(files: &str[]) { let s = ioivec::read_whole_file_str(file); if content_is_dangerous_to_modify(s) || content_is_confusing(s) { cont; } log_err "check_variants: " + file; - let codemap = codemap::new_codemap(); - let crate = parser::parse_crate_from_source_str(file, s, ~[], codemap); - log_err as_str(bind pprust::print_crate(codemap, crate, file, + let sess = @{cm: codemap::new_codemap(), mutable next_id: 0}; + let crate = parser::parse_crate_from_source_str(file, s, ~[], sess); + log_err as_str(bind pprust::print_crate(sess.cm, crate, file, ioivec::string_reader(s), _, pprust::no_ann())); - check_variants_of_ast(*crate, codemap, file); + check_variants_of_ast(*crate, sess.cm, file); } } }