rustdoc: deny(deprecated_mode)
This commit is contained in:
parent
1ee94529d9
commit
409d8af3c4
|
@ -62,19 +62,19 @@ impl Srv: Clone {
|
||||||
fn clone(&self) -> Srv { copy *self }
|
fn clone(&self) -> Srv { copy *self }
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn from_str<T>(source: ~str, owner: SrvOwner<T>) -> T {
|
pub fn from_str<T>(+source: ~str, owner: SrvOwner<T>) -> T {
|
||||||
run(owner, copy source, parse::from_str_sess)
|
run(owner, copy source, parse::from_str_sess)
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn from_file<T>(file: ~str, owner: SrvOwner<T>) -> T {
|
pub fn from_file<T>(+file: ~str, owner: SrvOwner<T>) -> T {
|
||||||
run(owner, copy file, |sess, f| parse::from_file_sess(sess, &Path(f)))
|
run(owner, copy file, |sess, f| parse::from_file_sess(sess, &Path(f)))
|
||||||
}
|
}
|
||||||
|
|
||||||
fn run<T>(owner: SrvOwner<T>, source: ~str, +parse: Parser) -> T {
|
fn run<T>(owner: SrvOwner<T>, +source: ~str, +parse: Parser) -> T {
|
||||||
|
|
||||||
let srv_ = Srv({
|
let srv_ = Srv({
|
||||||
ch: do util::spawn_listener |copy source, move parse, po| {
|
ch: do util::spawn_listener |copy source, move parse, po| {
|
||||||
act(po, copy source, parse);
|
act(po, copy source, copy parse);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -83,7 +83,7 @@ fn run<T>(owner: SrvOwner<T>, source: ~str, +parse: Parser) -> T {
|
||||||
move res
|
move res
|
||||||
}
|
}
|
||||||
|
|
||||||
fn act(po: oldcomm::Port<Msg>, source: ~str, parse: Parser) {
|
fn act(po: oldcomm::Port<Msg>, +source: ~str, +parse: Parser) {
|
||||||
let sess = build_session();
|
let sess = build_session();
|
||||||
|
|
||||||
let ctxt = build_ctxt(
|
let ctxt = build_ctxt(
|
||||||
|
|
|
@ -221,7 +221,7 @@ fn fold_trait(
|
||||||
fn merge_method_attrs(
|
fn merge_method_attrs(
|
||||||
srv: astsrv::Srv,
|
srv: astsrv::Srv,
|
||||||
item_id: doc::AstId,
|
item_id: doc::AstId,
|
||||||
docs: ~[doc::MethodDoc]
|
+docs: ~[doc::MethodDoc]
|
||||||
) -> ~[doc::MethodDoc] {
|
) -> ~[doc::MethodDoc] {
|
||||||
|
|
||||||
// Create an assoc list from method name to attributes
|
// Create an assoc list from method name to attributes
|
||||||
|
@ -319,7 +319,7 @@ mod test {
|
||||||
use doc;
|
use doc;
|
||||||
use extract;
|
use extract;
|
||||||
|
|
||||||
pub fn mk_doc(source: ~str) -> doc::Doc {
|
pub fn mk_doc(+source: ~str) -> doc::Doc {
|
||||||
do astsrv::from_str(copy source) |srv| {
|
do astsrv::from_str(copy source) |srv| {
|
||||||
let doc = extract::from_srv(srv, ~"");
|
let doc = extract::from_srv(srv, ~"");
|
||||||
run(srv, doc)
|
run(srv, doc)
|
||||||
|
|
|
@ -39,8 +39,8 @@ enum OmNomNomy {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn take_my_order_please(
|
fn take_my_order_please(
|
||||||
_waitperson: WaitPerson,
|
+_waitperson: WaitPerson,
|
||||||
_order: ~[OmNomNomy]
|
+_order: ~[OmNomNomy]
|
||||||
) -> uint {
|
) -> uint {
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
|
@ -52,7 +52,7 @@ fn fold_item(fold: &fold::Fold<()>, +doc: doc::ItemDoc) -> doc::ItemDoc {
|
||||||
let doc = fold::default_seq_fold_item(fold, doc);
|
let doc = fold::default_seq_fold_item(fold, doc);
|
||||||
|
|
||||||
doc::ItemDoc {
|
doc::ItemDoc {
|
||||||
brief: extract(doc.desc),
|
brief: extract(copy doc.desc),
|
||||||
.. doc
|
.. doc
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -62,7 +62,7 @@ fn fold_trait(fold: &fold::Fold<()>, +doc: doc::TraitDoc) -> doc::TraitDoc {
|
||||||
|
|
||||||
doc::TraitDoc {
|
doc::TraitDoc {
|
||||||
methods: par::map(doc.methods, |doc| doc::MethodDoc {
|
methods: par::map(doc.methods, |doc| doc::MethodDoc {
|
||||||
brief: extract(doc.desc),
|
brief: extract(copy doc.desc),
|
||||||
.. copy *doc
|
.. copy *doc
|
||||||
}),
|
}),
|
||||||
.. doc
|
.. doc
|
||||||
|
@ -74,7 +74,7 @@ fn fold_impl(fold: &fold::Fold<()>, +doc: doc::ImplDoc) -> doc::ImplDoc {
|
||||||
|
|
||||||
doc::ImplDoc {
|
doc::ImplDoc {
|
||||||
methods: par::map(doc.methods, |doc| doc::MethodDoc {
|
methods: par::map(doc.methods, |doc| doc::MethodDoc {
|
||||||
brief: extract(doc.desc),
|
brief: extract(copy doc.desc),
|
||||||
.. copy *doc
|
.. copy *doc
|
||||||
}),
|
}),
|
||||||
.. doc
|
.. doc
|
||||||
|
@ -108,7 +108,7 @@ pub mod test {
|
||||||
use doc;
|
use doc;
|
||||||
use extract;
|
use extract;
|
||||||
|
|
||||||
pub fn mk_doc(source: ~str) -> doc::Doc {
|
pub fn mk_doc(+source: ~str) -> doc::Doc {
|
||||||
do astsrv::from_str(copy source) |srv| {
|
do astsrv::from_str(copy source) |srv| {
|
||||||
let doc = extract::from_srv(srv, ~"");
|
let doc = extract::from_srv(srv, ~"");
|
||||||
let doc = (attr_pass::mk_pass().f)(srv, doc);
|
let doc = (attr_pass::mk_pass().f)(srv, doc);
|
||||||
|
@ -117,7 +117,7 @@ pub mod test {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn extract(desc: Option<~str>) -> Option<~str> {
|
fn extract(+desc: Option<~str>) -> Option<~str> {
|
||||||
if desc.is_none() {
|
if desc.is_none() {
|
||||||
return None
|
return None
|
||||||
}
|
}
|
||||||
|
@ -125,7 +125,7 @@ fn extract(desc: Option<~str>) -> Option<~str> {
|
||||||
parse_desc((copy desc).get())
|
parse_desc((copy desc).get())
|
||||||
}
|
}
|
||||||
|
|
||||||
fn parse_desc(desc: ~str) -> Option<~str> {
|
fn parse_desc(+desc: ~str) -> Option<~str> {
|
||||||
|
|
||||||
const max_brief_len: uint = 120u;
|
const max_brief_len: uint = 120u;
|
||||||
|
|
||||||
|
@ -141,7 +141,7 @@ fn parse_desc(desc: ~str) -> Option<~str> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn first_sentence(s: ~str) -> Option<~str> {
|
fn first_sentence(+s: ~str) -> Option<~str> {
|
||||||
let paras = paragraphs(copy s);
|
let paras = paragraphs(copy s);
|
||||||
if !paras.is_empty() {
|
if !paras.is_empty() {
|
||||||
let first_para = vec::head(paras);
|
let first_para = vec::head(paras);
|
||||||
|
@ -151,7 +151,7 @@ fn first_sentence(s: ~str) -> Option<~str> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn first_sentence_(s: ~str) -> ~str {
|
fn first_sentence_(+s: ~str) -> ~str {
|
||||||
let mut dotcount = 0;
|
let mut dotcount = 0;
|
||||||
// The index of the character following a single dot. This allows
|
// The index of the character following a single dot. This allows
|
||||||
// Things like [0..1) to appear in the brief description
|
// Things like [0..1) to appear in the brief description
|
||||||
|
@ -182,7 +182,7 @@ fn first_sentence_(s: ~str) -> ~str {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn paragraphs(s: ~str) -> ~[~str] {
|
fn paragraphs(+s: ~str) -> ~[~str] {
|
||||||
let lines = str::lines_any(s);
|
let lines = str::lines_any(s);
|
||||||
let mut whitespace_lines = 0;
|
let mut whitespace_lines = 0;
|
||||||
let mut accum = ~"";
|
let mut accum = ~"";
|
||||||
|
@ -233,7 +233,7 @@ fn test_paragraphs_2() {
|
||||||
#[test]
|
#[test]
|
||||||
fn should_promote_short_descs() {
|
fn should_promote_short_descs() {
|
||||||
let desc = Some(~"desc");
|
let desc = Some(~"desc");
|
||||||
let brief = extract(desc);
|
let brief = extract(copy desc);
|
||||||
assert brief == desc;
|
assert brief == desc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@ pub fn mk_pass() -> Pass {
|
||||||
text_pass::mk_pass(~"escape", escape)
|
text_pass::mk_pass(~"escape", escape)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn escape(s: ~str) -> ~str {
|
fn escape(s: &str) -> ~str {
|
||||||
str::replace(s, ~"\\", ~"\\\\")
|
str::replace(s, ~"\\", ~"\\\\")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -71,7 +71,7 @@ fn top_moddoc_from_crate(
|
||||||
+default_name: ~str
|
+default_name: ~str
|
||||||
) -> doc::ModDoc {
|
) -> doc::ModDoc {
|
||||||
moddoc_from_mod(mk_itemdoc(ast::crate_node_id, default_name),
|
moddoc_from_mod(mk_itemdoc(ast::crate_node_id, default_name),
|
||||||
crate.node.module)
|
copy crate.node.module)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn mk_itemdoc(id: ast::node_id, +name: ~str) -> doc::ItemDoc {
|
fn mk_itemdoc(id: ast::node_id, +name: ~str) -> doc::ItemDoc {
|
||||||
|
@ -88,7 +88,7 @@ fn mk_itemdoc(id: ast::node_id, +name: ~str) -> doc::ItemDoc {
|
||||||
|
|
||||||
fn moddoc_from_mod(
|
fn moddoc_from_mod(
|
||||||
+itemdoc: doc::ItemDoc,
|
+itemdoc: doc::ItemDoc,
|
||||||
module_: ast::_mod
|
+module_: ast::_mod
|
||||||
) -> doc::ModDoc {
|
) -> doc::ModDoc {
|
||||||
doc::ModDoc {
|
doc::ModDoc {
|
||||||
item: itemdoc,
|
item: itemdoc,
|
||||||
|
@ -149,7 +149,7 @@ fn moddoc_from_mod(
|
||||||
|
|
||||||
fn nmoddoc_from_mod(
|
fn nmoddoc_from_mod(
|
||||||
+itemdoc: doc::ItemDoc,
|
+itemdoc: doc::ItemDoc,
|
||||||
module_: ast::foreign_mod
|
+module_: ast::foreign_mod
|
||||||
) -> doc::NmodDoc {
|
) -> doc::NmodDoc {
|
||||||
let mut fns = ~[];
|
let mut fns = ~[];
|
||||||
for module_.items.each |item| {
|
for module_.items.each |item| {
|
||||||
|
@ -273,7 +273,7 @@ fn should_extract_trait_methods() {
|
||||||
|
|
||||||
fn impldoc_from_impl(
|
fn impldoc_from_impl(
|
||||||
+itemdoc: doc::ItemDoc,
|
+itemdoc: doc::ItemDoc,
|
||||||
methods: ~[@ast::method]
|
+methods: ~[@ast::method]
|
||||||
) -> doc::ImplDoc {
|
) -> doc::ImplDoc {
|
||||||
doc::ImplDoc {
|
doc::ImplDoc {
|
||||||
item: itemdoc,
|
item: itemdoc,
|
||||||
|
|
|
@ -81,7 +81,7 @@ fn make_doc_from_pages(page_port: PagePort) -> doc::Doc {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn find_pages(doc: doc::Doc, page_chan: PageChan) {
|
fn find_pages(+doc: doc::Doc, page_chan: PageChan) {
|
||||||
let fold = Fold {
|
let fold = Fold {
|
||||||
fold_crate: fold_crate,
|
fold_crate: fold_crate,
|
||||||
fold_mod: fold_mod,
|
fold_mod: fold_mod,
|
||||||
|
@ -101,7 +101,7 @@ fn fold_crate(
|
||||||
let doc = fold::default_seq_fold_crate(fold, doc);
|
let doc = fold::default_seq_fold_crate(fold, doc);
|
||||||
|
|
||||||
let page = doc::CratePage(doc::CrateDoc {
|
let page = doc::CratePage(doc::CrateDoc {
|
||||||
topmod: strip_mod(doc.topmod),
|
topmod: strip_mod(copy doc.topmod),
|
||||||
.. copy doc
|
.. copy doc
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -119,7 +119,7 @@ fn fold_mod(
|
||||||
|
|
||||||
if doc.id() != ast::crate_node_id {
|
if doc.id() != ast::crate_node_id {
|
||||||
|
|
||||||
let doc = strip_mod(doc);
|
let doc = strip_mod(copy doc);
|
||||||
let page = doc::ItemPage(doc::ModTag(doc));
|
let page = doc::ItemPage(doc::ModTag(doc));
|
||||||
oldcomm::send(fold.ctxt.op, Some(page));
|
oldcomm::send(fold.ctxt.op, Some(page));
|
||||||
}
|
}
|
||||||
|
@ -127,7 +127,7 @@ fn fold_mod(
|
||||||
doc
|
doc
|
||||||
}
|
}
|
||||||
|
|
||||||
fn strip_mod(doc: doc::ModDoc) -> doc::ModDoc {
|
fn strip_mod(+doc: doc::ModDoc) -> doc::ModDoc {
|
||||||
doc::ModDoc {
|
doc::ModDoc {
|
||||||
items: do doc.items.filtered |item| {
|
items: do doc.items.filtered |item| {
|
||||||
match *item {
|
match *item {
|
||||||
|
@ -193,7 +193,7 @@ mod test {
|
||||||
|
|
||||||
pub fn mk_doc_(
|
pub fn mk_doc_(
|
||||||
output_style: config::OutputStyle,
|
output_style: config::OutputStyle,
|
||||||
source: ~str
|
+source: ~str
|
||||||
) -> doc::Doc {
|
) -> doc::Doc {
|
||||||
do astsrv::from_str(copy source) |srv| {
|
do astsrv::from_str(copy source) |srv| {
|
||||||
let doc = extract::from_srv(srv, ~"");
|
let doc = extract::from_srv(srv, ~"");
|
||||||
|
@ -201,7 +201,7 @@ mod test {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn mk_doc(source: ~str) -> doc::Doc {
|
pub fn mk_doc(+source: ~str) -> doc::Doc {
|
||||||
mk_doc_(config::DocPerMod, copy source)
|
mk_doc_(config::DocPerMod, copy source)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,7 +50,7 @@ fn fold_mod(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn is_hidden(srv: astsrv::Srv, doc: doc::ItemDoc) -> bool {
|
fn is_hidden(srv: astsrv::Srv, +doc: doc::ItemDoc) -> bool {
|
||||||
use syntax::ast_map;
|
use syntax::ast_map;
|
||||||
|
|
||||||
let id = doc.id;
|
let id = doc.id;
|
||||||
|
@ -76,7 +76,7 @@ pub mod test {
|
||||||
use extract;
|
use extract;
|
||||||
use prune_hidden_pass::run;
|
use prune_hidden_pass::run;
|
||||||
|
|
||||||
pub fn mk_doc(source: ~str) -> doc::Doc {
|
pub fn mk_doc(+source: ~str) -> doc::Doc {
|
||||||
do astsrv::from_str(copy source) |srv| {
|
do astsrv::from_str(copy source) |srv| {
|
||||||
let doc = extract::from_srv(srv, ~"");
|
let doc = extract::from_srv(srv, ~"");
|
||||||
run(srv, doc)
|
run(srv, doc)
|
||||||
|
|
|
@ -51,7 +51,7 @@ fn fold_mod(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn is_visible(srv: astsrv::Srv, doc: doc::ItemDoc) -> bool {
|
fn is_visible(srv: astsrv::Srv, +doc: doc::ItemDoc) -> bool {
|
||||||
use syntax::ast_map;
|
use syntax::ast_map;
|
||||||
use syntax::ast;
|
use syntax::ast;
|
||||||
|
|
||||||
|
@ -80,7 +80,7 @@ pub mod test {
|
||||||
use extract;
|
use extract;
|
||||||
use prune_private_pass::run;
|
use prune_private_pass::run;
|
||||||
|
|
||||||
pub fn mk_doc(source: ~str) -> doc::Doc {
|
pub fn mk_doc(+source: ~str) -> doc::Doc {
|
||||||
do astsrv::from_str(copy source) |srv| {
|
do astsrv::from_str(copy source) |srv| {
|
||||||
let doc = extract::from_srv(srv, ~"");
|
let doc = extract::from_srv(srv, ~"");
|
||||||
run(srv, doc)
|
run(srv, doc)
|
||||||
|
|
|
@ -24,7 +24,6 @@
|
||||||
#[legacy_records];
|
#[legacy_records];
|
||||||
|
|
||||||
#[allow(non_implicitly_copyable_typarams)];
|
#[allow(non_implicitly_copyable_typarams)];
|
||||||
#[allow(deprecated_mode)];
|
|
||||||
#[allow(deprecated_self)];
|
#[allow(deprecated_self)];
|
||||||
|
|
||||||
extern mod core(vers = "0.6");
|
extern mod core(vers = "0.6");
|
||||||
|
@ -89,7 +88,7 @@ fn main() {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Runs rustdoc over the given file
|
/// Runs rustdoc over the given file
|
||||||
fn run(config: Config) {
|
fn run(+config: Config) {
|
||||||
|
|
||||||
let source_file = copy config.input_crate;
|
let source_file = copy config.input_crate;
|
||||||
|
|
||||||
|
@ -148,7 +147,7 @@ fn run(config: Config) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn time<T>(what: ~str, f: fn() -> T) -> T {
|
fn time<T>(+what: ~str, f: fn() -> T) -> T {
|
||||||
let start = std::time::precise_time_s();
|
let start = std::time::precise_time_s();
|
||||||
let rv = f();
|
let rv = f();
|
||||||
let end = std::time::precise_time_s();
|
let end = std::time::precise_time_s();
|
||||||
|
|
|
@ -44,7 +44,7 @@ pub fn run(_srv: astsrv::Srv, +doc: doc::Doc) -> doc::Doc {
|
||||||
|
|
||||||
fn fold_item(fold: &fold::Fold<()>, +doc: doc::ItemDoc) -> doc::ItemDoc {
|
fn fold_item(fold: &fold::Fold<()>, +doc: doc::ItemDoc) -> doc::ItemDoc {
|
||||||
let doc = fold::default_seq_fold_item(fold, doc);
|
let doc = fold::default_seq_fold_item(fold, doc);
|
||||||
let (desc, sections) = sectionalize(doc.desc);
|
let (desc, sections) = sectionalize(copy doc.desc);
|
||||||
|
|
||||||
doc::ItemDoc {
|
doc::ItemDoc {
|
||||||
desc: desc,
|
desc: desc,
|
||||||
|
@ -58,7 +58,7 @@ fn fold_trait(fold: &fold::Fold<()>, +doc: doc::TraitDoc) -> doc::TraitDoc {
|
||||||
|
|
||||||
doc::TraitDoc {
|
doc::TraitDoc {
|
||||||
methods: do par::map(doc.methods) |method| {
|
methods: do par::map(doc.methods) |method| {
|
||||||
let (desc, sections) = sectionalize(method.desc);
|
let (desc, sections) = sectionalize(copy method.desc);
|
||||||
|
|
||||||
doc::MethodDoc {
|
doc::MethodDoc {
|
||||||
desc: desc,
|
desc: desc,
|
||||||
|
@ -75,7 +75,7 @@ fn fold_impl(fold: &fold::Fold<()>, +doc: doc::ImplDoc) -> doc::ImplDoc {
|
||||||
|
|
||||||
doc::ImplDoc {
|
doc::ImplDoc {
|
||||||
methods: do par::map(doc.methods) |method| {
|
methods: do par::map(doc.methods) |method| {
|
||||||
let (desc, sections) = sectionalize(method.desc);
|
let (desc, sections) = sectionalize(copy method.desc);
|
||||||
|
|
||||||
doc::MethodDoc {
|
doc::MethodDoc {
|
||||||
desc: desc,
|
desc: desc,
|
||||||
|
@ -87,7 +87,7 @@ fn fold_impl(fold: &fold::Fold<()>, +doc: doc::ImplDoc) -> doc::ImplDoc {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn sectionalize(desc: Option<~str>) -> (Option<~str>, ~[doc::Section]) {
|
fn sectionalize(+desc: Option<~str>) -> (Option<~str>, ~[doc::Section]) {
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* Take a description of the form
|
* Take a description of the form
|
||||||
|
@ -156,7 +156,7 @@ fn sectionalize(desc: Option<~str>) -> (Option<~str>, ~[doc::Section]) {
|
||||||
(new_desc, sections)
|
(new_desc, sections)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn parse_header(line: ~str) -> Option<~str> {
|
fn parse_header(+line: ~str) -> Option<~str> {
|
||||||
if str::starts_with(line, ~"# ") {
|
if str::starts_with(line, ~"# ") {
|
||||||
Some(str::slice(line, 2u, str::len(line)))
|
Some(str::slice(line, 2u, str::len(line)))
|
||||||
} else {
|
} else {
|
||||||
|
@ -259,7 +259,7 @@ pub mod test {
|
||||||
use extract;
|
use extract;
|
||||||
use sectionalize_pass::run;
|
use sectionalize_pass::run;
|
||||||
|
|
||||||
pub fn mk_doc(source: ~str) -> doc::Doc {
|
pub fn mk_doc(+source: ~str) -> doc::Doc {
|
||||||
do astsrv::from_str(copy source) |srv| {
|
do astsrv::from_str(copy source) |srv| {
|
||||||
let doc = extract::from_srv(srv, ~"");
|
let doc = extract::from_srv(srv, ~"");
|
||||||
let doc = (attr_pass::mk_pass().f)(srv, doc);
|
let doc = (attr_pass::mk_pass().f)(srv, doc);
|
||||||
|
|
|
@ -27,7 +27,7 @@ pub type ItemLtEqOp = pure fn~(v1: &doc::ItemTag, v2: &doc::ItemTag) -> bool;
|
||||||
|
|
||||||
type ItemLtEq = NominalOp<ItemLtEqOp>;
|
type ItemLtEq = NominalOp<ItemLtEqOp>;
|
||||||
|
|
||||||
pub fn mk_pass(name: ~str, +lteq: ItemLtEqOp) -> Pass {
|
pub fn mk_pass(+name: ~str, +lteq: ItemLtEqOp) -> Pass {
|
||||||
Pass {
|
Pass {
|
||||||
name: copy name,
|
name: copy name,
|
||||||
f: fn~(move lteq, srv: astsrv::Srv, +doc: doc::Doc) -> doc::Doc {
|
f: fn~(move lteq, srv: astsrv::Srv, +doc: doc::Doc) -> doc::Doc {
|
||||||
|
|
|
@ -21,17 +21,19 @@ use pass::Pass;
|
||||||
use util::NominalOp;
|
use util::NominalOp;
|
||||||
|
|
||||||
use std::par;
|
use std::par;
|
||||||
|
use std::cell::Cell;
|
||||||
|
|
||||||
pub fn mk_pass(name: ~str, +op: fn~(~str) -> ~str) -> Pass {
|
pub fn mk_pass(+name: ~str, +op: fn~(&str) -> ~str) -> Pass {
|
||||||
|
let op = Cell(op);
|
||||||
Pass {
|
Pass {
|
||||||
name: copy name,
|
name: copy name,
|
||||||
f: fn~(move op, srv: astsrv::Srv, +doc: doc::Doc) -> doc::Doc {
|
f: fn~(move op, srv: astsrv::Srv, +doc: doc::Doc) -> doc::Doc {
|
||||||
run(srv, doc, copy op)
|
run(srv, doc, op.take())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
type Op = fn~(~str) -> ~str;
|
type Op = fn~(&str) -> ~str;
|
||||||
|
|
||||||
#[allow(non_implicitly_copyable_typarams)]
|
#[allow(non_implicitly_copyable_typarams)]
|
||||||
fn run(
|
fn run(
|
||||||
|
@ -52,8 +54,8 @@ fn run(
|
||||||
(fold.fold_doc)(&fold, doc)
|
(fold.fold_doc)(&fold, doc)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn maybe_apply_op(op: NominalOp<Op>, s: Option<~str>) -> Option<~str> {
|
fn maybe_apply_op(+op: NominalOp<Op>, s: &Option<~str>) -> Option<~str> {
|
||||||
s.map(|s| (op.op)(copy *s) )
|
s.map(|s| (op.op)(*s) )
|
||||||
}
|
}
|
||||||
|
|
||||||
fn fold_item(
|
fn fold_item(
|
||||||
|
@ -63,16 +65,16 @@ fn fold_item(
|
||||||
let doc = fold::default_seq_fold_item(fold, doc);
|
let doc = fold::default_seq_fold_item(fold, doc);
|
||||||
|
|
||||||
doc::ItemDoc {
|
doc::ItemDoc {
|
||||||
brief: maybe_apply_op(fold.ctxt, doc.brief),
|
brief: maybe_apply_op(copy fold.ctxt, &doc.brief),
|
||||||
desc: maybe_apply_op(fold.ctxt, doc.desc),
|
desc: maybe_apply_op(copy fold.ctxt, &doc.desc),
|
||||||
sections: apply_to_sections(fold.ctxt, copy doc.sections),
|
sections: apply_to_sections(copy fold.ctxt, copy doc.sections),
|
||||||
.. doc
|
.. doc
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn apply_to_sections(
|
fn apply_to_sections(
|
||||||
op: NominalOp<Op>,
|
+op: NominalOp<Op>,
|
||||||
sections: ~[doc::Section]
|
+sections: ~[doc::Section]
|
||||||
) -> ~[doc::Section] {
|
) -> ~[doc::Section] {
|
||||||
par::map(sections, |section, copy op| doc::Section {
|
par::map(sections, |section, copy op| doc::Section {
|
||||||
header: (op.op)(copy section.header),
|
header: (op.op)(copy section.header),
|
||||||
|
@ -89,7 +91,7 @@ fn fold_enum(
|
||||||
doc::EnumDoc {
|
doc::EnumDoc {
|
||||||
variants: do par::map(doc.variants) |variant, copy fold_copy| {
|
variants: do par::map(doc.variants) |variant, copy fold_copy| {
|
||||||
doc::VariantDoc {
|
doc::VariantDoc {
|
||||||
desc: maybe_apply_op(fold_copy.ctxt, variant.desc),
|
desc: maybe_apply_op(copy fold_copy.ctxt, &variant.desc),
|
||||||
.. copy *variant
|
.. copy *variant
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -104,20 +106,20 @@ fn fold_trait(
|
||||||
let doc = fold::default_seq_fold_trait(fold, doc);
|
let doc = fold::default_seq_fold_trait(fold, doc);
|
||||||
|
|
||||||
doc::TraitDoc {
|
doc::TraitDoc {
|
||||||
methods: apply_to_methods(fold.ctxt, copy doc.methods),
|
methods: apply_to_methods(copy fold.ctxt, copy doc.methods),
|
||||||
.. doc
|
.. doc
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn apply_to_methods(
|
fn apply_to_methods(
|
||||||
op: NominalOp<Op>,
|
+op: NominalOp<Op>,
|
||||||
docs: ~[doc::MethodDoc]
|
+docs: ~[doc::MethodDoc]
|
||||||
) -> ~[doc::MethodDoc] {
|
) -> ~[doc::MethodDoc] {
|
||||||
do par::map(docs) |doc, copy op| {
|
do par::map(docs) |doc, copy op| {
|
||||||
doc::MethodDoc {
|
doc::MethodDoc {
|
||||||
brief: maybe_apply_op(op, doc.brief),
|
brief: maybe_apply_op(copy op, &doc.brief),
|
||||||
desc: maybe_apply_op(op, doc.desc),
|
desc: maybe_apply_op(copy op, &doc.desc),
|
||||||
sections: apply_to_sections(op, copy doc.sections),
|
sections: apply_to_sections(copy op, copy doc.sections),
|
||||||
.. copy *doc
|
.. copy *doc
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -130,7 +132,7 @@ fn fold_impl(
|
||||||
let doc = fold::default_seq_fold_impl(fold, doc);
|
let doc = fold::default_seq_fold_impl(fold, doc);
|
||||||
|
|
||||||
doc::ImplDoc {
|
doc::ImplDoc {
|
||||||
methods: apply_to_methods(fold.ctxt, copy doc.methods),
|
methods: apply_to_methods(copy fold.ctxt, copy doc.methods),
|
||||||
.. doc
|
.. doc
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -301,7 +303,7 @@ mod test {
|
||||||
|
|
||||||
use core::str;
|
use core::str;
|
||||||
|
|
||||||
pub fn mk_doc(source: ~str) -> doc::Doc {
|
pub fn mk_doc(+source: ~str) -> doc::Doc {
|
||||||
do astsrv::from_str(copy source) |srv| {
|
do astsrv::from_str(copy source) |srv| {
|
||||||
let doc = extract::from_srv(srv, ~"");
|
let doc = extract::from_srv(srv, ~"");
|
||||||
let doc = (attr_pass::mk_pass().f)(srv, doc);
|
let doc = (attr_pass::mk_pass().f)(srv, doc);
|
||||||
|
|
|
@ -43,7 +43,7 @@ mod test {
|
||||||
use extract;
|
use extract;
|
||||||
use trim_pass::mk_pass;
|
use trim_pass::mk_pass;
|
||||||
|
|
||||||
pub fn mk_doc(source: ~str) -> doc::Doc {
|
pub fn mk_doc(+source: ~str) -> doc::Doc {
|
||||||
do astsrv::from_str(copy source) |srv| {
|
do astsrv::from_str(copy source) |srv| {
|
||||||
let doc = extract::from_srv(srv, ~"");
|
let doc = extract::from_srv(srv, ~"");
|
||||||
let doc = (attr_pass::mk_pass().f)(srv, doc);
|
let doc = (attr_pass::mk_pass().f)(srv, doc);
|
||||||
|
|
|
@ -177,7 +177,7 @@ fn fold_trait(
|
||||||
fn merge_methods(
|
fn merge_methods(
|
||||||
srv: astsrv::Srv,
|
srv: astsrv::Srv,
|
||||||
item_id: doc::AstId,
|
item_id: doc::AstId,
|
||||||
docs: ~[doc::MethodDoc]
|
+docs: ~[doc::MethodDoc]
|
||||||
) -> ~[doc::MethodDoc] {
|
) -> ~[doc::MethodDoc] {
|
||||||
do par::map(docs) |doc| {
|
do par::map(docs) |doc| {
|
||||||
doc::MethodDoc {
|
doc::MethodDoc {
|
||||||
|
@ -190,7 +190,7 @@ fn merge_methods(
|
||||||
fn get_method_sig(
|
fn get_method_sig(
|
||||||
srv: astsrv::Srv,
|
srv: astsrv::Srv,
|
||||||
item_id: doc::AstId,
|
item_id: doc::AstId,
|
||||||
method_name: ~str
|
+method_name: ~str
|
||||||
) -> Option<~str> {
|
) -> Option<~str> {
|
||||||
do astsrv::exec(srv) |copy method_name, ctxt| {
|
do astsrv::exec(srv) |copy method_name, ctxt| {
|
||||||
match ctxt.ast_map.get(item_id) {
|
match ctxt.ast_map.get(item_id) {
|
||||||
|
@ -415,7 +415,7 @@ pub mod test {
|
||||||
use extract;
|
use extract;
|
||||||
use tystr_pass::run;
|
use tystr_pass::run;
|
||||||
|
|
||||||
pub fn mk_doc(source: ~str) -> doc::Doc {
|
pub fn mk_doc(+source: ~str) -> doc::Doc {
|
||||||
do astsrv::from_str(copy source) |srv| {
|
do astsrv::from_str(copy source) |srv| {
|
||||||
let doc = extract::from_srv(srv, ~"");
|
let doc = extract::from_srv(srv, ~"");
|
||||||
run(srv, doc)
|
run(srv, doc)
|
||||||
|
|
|
@ -33,7 +33,7 @@ pub fn mk_pass() -> Pass {
|
||||||
text_pass::mk_pass(~"unindent", unindent)
|
text_pass::mk_pass(~"unindent", unindent)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn unindent(s: ~str) -> ~str {
|
fn unindent(s: &str) -> ~str {
|
||||||
let lines = str::lines_any(s);
|
let lines = str::lines_any(s);
|
||||||
let mut saw_first_line = false;
|
let mut saw_first_line = false;
|
||||||
let mut saw_second_line = false;
|
let mut saw_second_line = false;
|
||||||
|
@ -90,7 +90,7 @@ fn unindent(s: ~str) -> ~str {
|
||||||
};
|
};
|
||||||
str::connect(unindented, ~"\n")
|
str::connect(unindented, ~"\n")
|
||||||
} else {
|
} else {
|
||||||
copy s
|
s.to_str()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue