about summary refs log tree commit diff
path: root/src/rustdoc
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2012-01-15 14:39:09 -0800
committerBrian Anderson <banderson@mozilla.com>2012-01-16 01:07:41 -0800
commit377316d8f607aeb4dda448abb14c8169adfba770 (patch)
treeabc181ce7534898ab5145f14ab5d4d6c93a305a2 /src/rustdoc
parent0e65ddfaea1c25c0fb2f20a2d28ed782c1dff369 (diff)
downloadrust-377316d8f607aeb4dda448abb14c8169adfba770.tar.gz
rust-377316d8f607aeb4dda448abb14c8169adfba770.zip
rustdoc: Add parse::from_str for testing purposes
Diffstat (limited to 'src/rustdoc')
-rwxr-xr-xsrc/rustdoc/rustdoc.rs16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/rustdoc/rustdoc.rs b/src/rustdoc/rustdoc.rs
index abcc5cb6358..c71b3493e25 100755
--- a/src/rustdoc/rustdoc.rs
+++ b/src/rustdoc/rustdoc.rs
@@ -178,14 +178,26 @@ fn doc_header(rd: rustdoc, name: str) {
 }
 
 mod parse {
-    fn from_file(file: str) -> @ast::crate {
+    export from_file, from_str;
+
+    fn new_parse_sess() -> parser::parse_sess {
         let cm = codemap::new_codemap();
         let sess = @{
             cm: cm,
             mutable next_id: 0,
             diagnostic: diagnostic::mk_handler(cm, none)
         };
-        parser::parse_crate_from_source_file(file, [], sess)
+        ret sess;
+    }
+
+    fn from_file(file: str) -> @ast::crate {
+        parser::parse_crate_from_source_file(
+            file, [], new_parse_sess())
+    }
+
+    fn from_str(source: str) -> @ast::crate {
+        parser::parse_crate_from_source_str(
+            "-", source, [], new_parse_sess())
     }
 }