From 74d4989876df49d5f3504d9196aa3d8b8392ab79 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Mon, 16 Jan 2012 17:30:57 -0800 Subject: [PATCH] rustdoc: Add extract::from_srv to extract a doc from an astsrv --- src/rustdoc/extract.rs | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/rustdoc/extract.rs b/src/rustdoc/extract.rs index 48ac0c796cdb..05d381d0f7dd 100644 --- a/src/rustdoc/extract.rs +++ b/src/rustdoc/extract.rs @@ -1,6 +1,17 @@ import rustc::syntax::ast; -export extract; +export from_srv, extract; + +// FIXME: Want this to be from_srv but it crashes +fn from_srv( + srv: astsrv::seq_srv, + default_name: str +) -> doc::cratedoc { + import astsrv::seq_srv; + srv.exec {|ctxt| + extract(ctxt.ast, default_name) + } +} #[doc = "Converts the Rust AST to the rustdoc document model"] fn extract( @@ -123,4 +134,13 @@ mod tests { let doc = extract(ast, "burp"); assert doc.topmod.name == "burp"; } + + #[test] + fn extract_from_seq_srv() { + import astsrv::seq_srv; + let source = ""; + let srv = astsrv::mk_seq_srv_from_str(source); + let doc = from_srv(srv, "name"); + assert doc.topmod.name == "name"; + } } \ No newline at end of file