diff options
| author | Brian Anderson <banderson@mozilla.com> | 2011-08-02 22:19:39 -0700 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2011-08-03 10:55:59 -0700 |
| commit | e4da7c5bee6ca094eeb12a9f47d450e3f962f05c (patch) | |
| tree | 879eb6d9a3b2f3600b43a8f56421d7e7b888b7d3 | |
| parent | 97a8784c984bd19bf0a369ad5c3f8472ebc646eb (diff) | |
| download | rust-e4da7c5bee6ca094eeb12a9f47d450e3f962f05c.tar.gz rust-e4da7c5bee6ca094eeb12a9f47d450e3f962f05c.zip | |
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.
| -rw-r--r-- | src/comp/driver/rustc.rs | 2 | ||||
| -rw-r--r-- | src/comp/syntax/parse/parser.rs | 3 | ||||
| -rw-r--r-- | 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 77c2da6827a..9b71fc25ceb 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 473ceb08b51..9e7f693c74b 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 e4a2c75fab6..312f0e77787 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); } } } |
