diff options
| author | Tim Chevalier <chevalier@alum.wellesley.edu> | 2012-04-30 11:52:07 -0700 |
|---|---|---|
| committer | Tim Chevalier <chevalier@alum.wellesley.edu> | 2012-04-30 11:52:07 -0700 |
| commit | 85fbfa25d799c98a0aadf2faef3fc17400764daf (patch) | |
| tree | 929d32253cfdbb303dadeecf7433466f6b27214c /src/rustdoc | |
| parent | 2bb3b63ec4379b812aeceb690d78763ec55d3cbb (diff) | |
| download | rust-85fbfa25d799c98a0aadf2faef3fc17400764daf.tar.gz rust-85fbfa25d799c98a0aadf2faef3fc17400764daf.zip | |
Revert "Eliminate a copy in syntax::parse::new_parser_from_file"
This reverts commit 2bb3b63ec4379b812aeceb690d78763ec55d3cbb. (I was confused.)
Diffstat (limited to 'src/rustdoc')
| -rw-r--r-- | src/rustdoc/astsrv.rs | 11 | ||||
| -rw-r--r-- | src/rustdoc/extract.rs | 4 | ||||
| -rw-r--r-- | src/rustdoc/fold.rs | 8 | ||||
| -rw-r--r-- | src/rustdoc/parse.rs | 10 |
4 files changed, 15 insertions, 18 deletions
diff --git a/src/rustdoc/astsrv.rs b/src/rustdoc/astsrv.rs index f1eae1b4619..71716ea059e 100644 --- a/src/rustdoc/astsrv.rs +++ b/src/rustdoc/astsrv.rs @@ -36,10 +36,7 @@ type ctxt = { type srv_owner<T> = fn(srv: srv) -> T; type ctxt_handler<T> = fn~(ctxt: ctxt) -> T; -/* The idea is that a parser takes an input of type U, - which lets us have parsers that either take unboxed or - boxed strings. */ -type parser<U> = fn~(session::session, U) -> @ast::crate; +type parser = fn~(session::session, str) -> @ast::crate; enum msg { handle_request(fn~(ctxt)), @@ -51,14 +48,14 @@ enum srv = { }; fn from_str<T>(source: str, owner: srv_owner<T>) -> T { - run(owner, ~source, parse::from_str_sess) + run(owner, source, parse::from_str_sess) } fn from_file<T>(file: str, owner: srv_owner<T>) -> T { run(owner, file, parse::from_file_sess) } -fn run<T, U: send>(owner: srv_owner<T>, +source: U, parse: parser<U>) -> T { +fn run<T>(owner: srv_owner<T>, source: str, parse: parser) -> T { let srv_ = srv({ ch: task::spawn_listener {|po| @@ -71,7 +68,7 @@ fn run<T, U: send>(owner: srv_owner<T>, +source: U, parse: parser<U>) -> T { ret res; } -fn act<U>(po: comm::port<msg>, source: U, parse: parser<U>) { +fn act(po: comm::port<msg>, source: str, parse: parser) { let (sess, ignore_errors) = build_session(); let ctxt = build_ctxt( diff --git a/src/rustdoc/extract.rs b/src/rustdoc/extract.rs index 1eaaa967d2d..fc54a1ea9f6 100644 --- a/src/rustdoc/extract.rs +++ b/src/rustdoc/extract.rs @@ -289,7 +289,7 @@ fn should_extract_tys() { mod test { fn mk_doc(source: str) -> doc::doc { - let ast = parse::from_str(~source); + let ast = parse::from_str(source); extract(ast, "") } @@ -349,7 +349,7 @@ mod test { #[test] fn extract_should_use_default_crate_name() { - let source = ~""; + let source = ""; let ast = parse::from_str(source); let doc = extract(ast, "burp"); assert doc.cratemod().name() == "burp"; diff --git a/src/rustdoc/fold.rs b/src/rustdoc/fold.rs index a9aace20d1d..87b9d85637c 100644 --- a/src/rustdoc/fold.rs +++ b/src/rustdoc/fold.rs @@ -354,7 +354,7 @@ fn default_seq_fold_type<T>( #[test] fn default_fold_should_produce_same_doc() { let source = "mod a { fn b() { } mod c { fn d() { } } }"; - let ast = parse::from_str(~source); + let ast = parse::from_str(source); let doc = extract::extract(ast, ""); let fld = default_seq_fold(()); let folded = fld.fold_doc(fld, doc); @@ -364,7 +364,7 @@ fn default_fold_should_produce_same_doc() { #[test] fn default_fold_should_produce_same_consts() { let source = "const a: int = 0;"; - let ast = parse::from_str(~source); + let ast = parse::from_str(source); let doc = extract::extract(ast, ""); let fld = default_seq_fold(()); let folded = fld.fold_doc(fld, doc); @@ -374,7 +374,7 @@ fn default_fold_should_produce_same_consts() { #[test] fn default_fold_should_produce_same_enums() { let source = "enum a { b }"; - let ast = parse::from_str(~source); + let ast = parse::from_str(source); let doc = extract::extract(ast, ""); let fld = default_seq_fold(()); let folded = fld.fold_doc(fld, doc); @@ -384,7 +384,7 @@ fn default_fold_should_produce_same_enums() { #[test] fn default_parallel_fold_should_produce_same_doc() { let source = "mod a { fn b() { } mod c { fn d() { } } }"; - let ast = parse::from_str(~source); + let ast = parse::from_str(source); let doc = extract::extract(ast, ""); let fld = default_par_fold(()); let folded = fld.fold_doc(fld, doc); diff --git a/src/rustdoc/parse.rs b/src/rustdoc/parse.rs index 8c4c385c55b..3ad8f51e8db 100644 --- a/src/rustdoc/parse.rs +++ b/src/rustdoc/parse.rs @@ -27,18 +27,18 @@ fn from_file(file: str) -> @ast::crate { file, [], new_parse_sess()) } -fn from_str(source: ~str) -> @ast::crate { +fn from_str(source: str) -> @ast::crate { parse::parse_crate_from_source_str( - "-", source, [], new_parse_sess()) + "-", @source, [], new_parse_sess()) } -fn from_file_sess(sess: session::session, &&file: str) -> @ast::crate { +fn from_file_sess(sess: session::session, file: str) -> @ast::crate { parse::parse_crate_from_file(file, cfg(sess), sess.parse_sess) } -fn from_str_sess(sess: session::session, &&source: ~str) -> @ast::crate { +fn from_str_sess(sess: session::session, source: str) -> @ast::crate { parse::parse_crate_from_source_str( - "-", source, cfg(sess), sess.parse_sess) + "-", @source, cfg(sess), sess.parse_sess) } fn cfg(sess: session::session) -> ast::crate_cfg { |
