about summary refs log tree commit diff
path: root/src/rustdoc/parse.rs
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2012-01-26 00:35:07 -0800
committerBrian Anderson <banderson@mozilla.com>2012-01-26 11:36:29 -0800
commit91ee6afeaedd5ec73b0af90b4673e53d1becb8a7 (patch)
treebfbf05c91f800c4111c6cdc630db3ef3b36b76fe /src/rustdoc/parse.rs
parent38908581f7d34066ece145bcedcbe8bbddee9bcc (diff)
downloadrust-91ee6afeaedd5ec73b0af90b4673e53d1becb8a7.tar.gz
rust-91ee6afeaedd5ec73b0af90b4673e53d1becb8a7.zip
rustdoc: Set up the compiler session properly in prep for running resolve
Diffstat (limited to 'src/rustdoc/parse.rs')
-rw-r--r--src/rustdoc/parse.rs17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/rustdoc/parse.rs b/src/rustdoc/parse.rs
index e31249df1b0..5bc867dd036 100644
--- a/src/rustdoc/parse.rs
+++ b/src/rustdoc/parse.rs
@@ -1,11 +1,13 @@
 #[doc = "AST-parsing helpers"];
 
+import rustc::driver::driver;
+import rustc::driver::session;
 import rustc::driver::diagnostic;
 import rustc::syntax::ast;
 import rustc::syntax::codemap;
 import rustc::syntax::parse::parser;
 
-export from_file, from_str;
+export from_file, from_str, from_file_sess, from_str_sess;
 
 fn new_parse_sess() -> parser::parse_sess {
     let cm = codemap::new_codemap();
@@ -29,3 +31,16 @@ fn from_str(source: str) -> @ast::crate {
     parser::parse_crate_from_source_str(
         "-", @source, [], new_parse_sess())
 }
+
+fn from_file_sess(sess: session::session, file: str) -> @ast::crate {
+    parser::parse_crate_from_file(file, cfg(sess), sess.parse_sess)
+}
+
+fn from_str_sess(sess: session::session, source: str) -> @ast::crate {
+    parser::parse_crate_from_source_str(
+        "-", @source, cfg(sess), sess.parse_sess)
+}
+
+fn cfg(sess: session::session) -> ast::crate_cfg {
+    driver::default_configuration(sess, "rustdoc", "<anon>")
+}
\ No newline at end of file