mirror of
https://github.com/rust-lang/rust
synced 2024-10-14 04:23:37 +00:00
rustdoc: Add extract::from_srv to extract a doc from an astsrv
This commit is contained in:
parent
439a28abe0
commit
74d4989876
|
@ -1,6 +1,17 @@
|
|||
import rustc::syntax::ast;
|
||||
|
||||
export extract;
|
||||
export from_srv, extract;
|
||||
|
||||
// FIXME: Want this to be from_srv<T:ast::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 @@ fn extract_should_use_default_crate_name() {
|
|||
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";
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue