rustdoc: Begin removing legacy modes
This commit is contained in:
parent
145e02347e
commit
415664181b
@ -28,7 +28,7 @@ pub type Ctxt = {
|
||||
|
||||
type SrvOwner<T> = fn(srv: Srv) -> T;
|
||||
pub type CtxtHandler<T> = fn~(ctxt: Ctxt) -> T;
|
||||
type Parser = fn~(Session, ~str) -> @ast::crate;
|
||||
type Parser = fn~(Session, +s: ~str) -> @ast::crate;
|
||||
|
||||
enum Msg {
|
||||
HandleRequest(fn~(Ctxt)),
|
||||
|
@ -17,7 +17,7 @@ pub type CrateAttrs = {
|
||||
mod test {
|
||||
#[legacy_exports];
|
||||
|
||||
fn parse_attributes(source: ~str) -> ~[ast::attribute] {
|
||||
fn parse_attributes(+source: ~str) -> ~[ast::attribute] {
|
||||
use syntax::parse;
|
||||
use parse::parser;
|
||||
use parse::attr::parser_attr;
|
||||
@ -33,7 +33,7 @@ mod test {
|
||||
}
|
||||
|
||||
fn doc_metas(
|
||||
attrs: ~[ast::attribute]
|
||||
+attrs: ~[ast::attribute]
|
||||
) -> ~[@ast::meta_item] {
|
||||
|
||||
let doc_attrs = attr::find_attrs_by_name(attrs, ~"doc");
|
||||
@ -44,7 +44,7 @@ fn doc_metas(
|
||||
return doc_metas;
|
||||
}
|
||||
|
||||
pub fn parse_crate(attrs: ~[ast::attribute]) -> CrateAttrs {
|
||||
pub fn parse_crate(+attrs: ~[ast::attribute]) -> CrateAttrs {
|
||||
let link_metas = attr::find_linkage_metas(attrs);
|
||||
|
||||
{
|
||||
@ -76,7 +76,7 @@ fn should_not_extract_crate_name_if_no_name_value_in_link_attribute() {
|
||||
assert attrs.name == None;
|
||||
}
|
||||
|
||||
pub fn parse_desc(attrs: ~[ast::attribute]) -> Option<~str> {
|
||||
pub fn parse_desc(+attrs: ~[ast::attribute]) -> Option<~str> {
|
||||
let doc_strs = do doc_metas(attrs).filter_map |meta| {
|
||||
attr::get_meta_item_value_str(*meta)
|
||||
};
|
||||
@ -103,7 +103,7 @@ fn parse_desc_should_parse_simple_doc_attributes() {
|
||||
assert attrs == Some(~"basic");
|
||||
}
|
||||
|
||||
pub fn parse_hidden(attrs: ~[ast::attribute]) -> bool {
|
||||
pub fn parse_hidden(+attrs: ~[ast::attribute]) -> bool {
|
||||
do doc_metas(attrs).find |meta| {
|
||||
match attr::get_meta_item_list(meta) {
|
||||
Some(metas) => {
|
||||
|
@ -21,7 +21,7 @@ pub fn mk_pass() -> Pass {
|
||||
|
||||
fn run(
|
||||
srv: astsrv::Srv,
|
||||
doc: doc::Doc
|
||||
+doc: doc::Doc
|
||||
) -> doc::Doc {
|
||||
let fold = fold::Fold({
|
||||
fold_crate: fold_crate,
|
||||
@ -31,12 +31,12 @@ fn run(
|
||||
fold_impl: fold_impl,
|
||||
.. *fold::default_any_fold(srv)
|
||||
});
|
||||
fold.fold_doc(fold, doc)
|
||||
fold.fold_doc(&fold, doc)
|
||||
}
|
||||
|
||||
fn fold_crate(
|
||||
fold: fold::Fold<astsrv::Srv>,
|
||||
doc: doc::CrateDoc
|
||||
fold: &fold::Fold<astsrv::Srv>,
|
||||
+doc: doc::CrateDoc
|
||||
) -> doc::CrateDoc {
|
||||
|
||||
let srv = fold.ctxt;
|
||||
@ -65,8 +65,8 @@ fn should_replace_top_module_name_with_crate_name() {
|
||||
}
|
||||
|
||||
fn fold_item(
|
||||
fold: fold::Fold<astsrv::Srv>,
|
||||
doc: doc::ItemDoc
|
||||
fold: &fold::Fold<astsrv::Srv>,
|
||||
+doc: doc::ItemDoc
|
||||
) -> doc::ItemDoc {
|
||||
|
||||
let srv = fold.ctxt;
|
||||
@ -90,7 +90,7 @@ fn fold_item(
|
||||
fn parse_item_attrs<T:Send>(
|
||||
srv: astsrv::Srv,
|
||||
id: doc::AstId,
|
||||
+parse_attrs: fn~(~[ast::attribute]) -> T) -> T {
|
||||
+parse_attrs: fn~(+a: ~[ast::attribute]) -> T) -> T {
|
||||
do astsrv::exec(srv) |move parse_attrs, ctxt| {
|
||||
let attrs = match ctxt.ast_map.get(id) {
|
||||
ast_map::node_item(item, _) => item.attrs,
|
||||
@ -132,8 +132,8 @@ fn should_extract_fn_attributes() {
|
||||
}
|
||||
|
||||
fn fold_enum(
|
||||
fold: fold::Fold<astsrv::Srv>,
|
||||
doc: doc::EnumDoc
|
||||
fold: &fold::Fold<astsrv::Srv>,
|
||||
+doc: doc::EnumDoc
|
||||
) -> doc::EnumDoc {
|
||||
|
||||
let srv = fold.ctxt;
|
||||
@ -183,8 +183,8 @@ fn should_extract_variant_docs() {
|
||||
}
|
||||
|
||||
fn fold_trait(
|
||||
fold: fold::Fold<astsrv::Srv>,
|
||||
doc: doc::TraitDoc
|
||||
fold: &fold::Fold<astsrv::Srv>,
|
||||
+doc: doc::TraitDoc
|
||||
) -> doc::TraitDoc {
|
||||
let srv = fold.ctxt;
|
||||
let doc = fold::default_seq_fold_trait(fold, doc);
|
||||
@ -259,8 +259,8 @@ fn should_extract_trait_method_docs() {
|
||||
|
||||
|
||||
fn fold_impl(
|
||||
fold: fold::Fold<astsrv::Srv>,
|
||||
doc: doc::ImplDoc
|
||||
fold: &fold::Fold<astsrv::Srv>,
|
||||
+doc: doc::ImplDoc
|
||||
) -> doc::ImplDoc {
|
||||
let srv = fold.ctxt;
|
||||
let doc = fold::default_seq_fold_impl(fold, doc);
|
||||
|
@ -1,5 +1,6 @@
|
||||
use result::Result;
|
||||
use std::getopts;
|
||||
use std::cell::Cell;
|
||||
|
||||
/// The type of document to output
|
||||
pub enum OutputFormat {
|
||||
@ -115,13 +116,13 @@ fn mock_program_output(_prog: &str, _args: &[~str]) -> {
|
||||
}
|
||||
}
|
||||
|
||||
fn parse_config(args: ~[~str]) -> Result<Config, ~str> {
|
||||
fn parse_config(args: &[~str]) -> Result<Config, ~str> {
|
||||
parse_config_(args, run::program_output)
|
||||
}
|
||||
|
||||
fn parse_config_(
|
||||
args: ~[~str],
|
||||
program_output: ProgramOutput
|
||||
args: &[~str],
|
||||
+program_output: ProgramOutput
|
||||
) -> Result<Config, ~str> {
|
||||
let args = vec::tail(args);
|
||||
let opts = vec::unzip(opts()).first();
|
||||
@ -129,7 +130,7 @@ fn parse_config_(
|
||||
result::Ok(matches) => {
|
||||
if vec::len(matches.free) == 1u {
|
||||
let input_crate = Path(vec::head(matches.free));
|
||||
config_from_opts(&input_crate, matches, program_output)
|
||||
config_from_opts(&input_crate, matches, move program_output)
|
||||
} else if vec::is_empty(matches.free) {
|
||||
result::Err(~"no crates specified")
|
||||
} else {
|
||||
@ -144,8 +145,8 @@ fn parse_config_(
|
||||
|
||||
fn config_from_opts(
|
||||
input_crate: &Path,
|
||||
matches: getopts::Matches,
|
||||
program_output: ProgramOutput
|
||||
+matches: getopts::Matches,
|
||||
+program_output: ProgramOutput
|
||||
) -> Result<Config, ~str> {
|
||||
|
||||
let config = default_config(input_crate);
|
||||
@ -187,10 +188,11 @@ fn config_from_opts(
|
||||
}
|
||||
}
|
||||
};
|
||||
let program_output = Cell(move program_output);
|
||||
let result = do result::chain(result) |config| {
|
||||
let pandoc_cmd = getopts::opt_maybe_str(matches, opt_pandoc_cmd());
|
||||
let pandoc_cmd = maybe_find_pandoc(
|
||||
config, pandoc_cmd, program_output);
|
||||
&config, pandoc_cmd, move program_output.take());
|
||||
do result::chain(pandoc_cmd) |pandoc_cmd| {
|
||||
result::Ok({
|
||||
pandoc_cmd: pandoc_cmd,
|
||||
@ -201,16 +203,16 @@ fn config_from_opts(
|
||||
return result;
|
||||
}
|
||||
|
||||
fn parse_output_format(output_format: ~str) -> Result<OutputFormat, ~str> {
|
||||
match output_format {
|
||||
fn parse_output_format(output_format: &str) -> Result<OutputFormat, ~str> {
|
||||
match output_format.to_str() {
|
||||
~"markdown" => result::Ok(Markdown),
|
||||
~"html" => result::Ok(PandocHtml),
|
||||
_ => result::Err(fmt!("unknown output format '%s'", output_format))
|
||||
}
|
||||
}
|
||||
|
||||
fn parse_output_style(output_style: ~str) -> Result<OutputStyle, ~str> {
|
||||
match output_style {
|
||||
fn parse_output_style(output_style: &str) -> Result<OutputStyle, ~str> {
|
||||
match output_style.to_str() {
|
||||
~"doc-per-crate" => result::Ok(DocPerCrate),
|
||||
~"doc-per-mod" => result::Ok(DocPerMod),
|
||||
_ => result::Err(fmt!("unknown output style '%s'", output_style))
|
||||
@ -218,9 +220,9 @@ fn parse_output_style(output_style: ~str) -> Result<OutputStyle, ~str> {
|
||||
}
|
||||
|
||||
fn maybe_find_pandoc(
|
||||
config: Config,
|
||||
maybe_pandoc_cmd: Option<~str>,
|
||||
program_output: ProgramOutput
|
||||
config: &Config,
|
||||
+maybe_pandoc_cmd: Option<~str>,
|
||||
+program_output: ProgramOutput
|
||||
) -> Result<Option<~str>, ~str> {
|
||||
if config.output_format != PandocHtml {
|
||||
return result::Ok(maybe_pandoc_cmd);
|
||||
@ -264,7 +266,7 @@ fn should_find_pandoc() {
|
||||
status: 0, out: ~"pandoc 1.8.2.1", err: ~""
|
||||
}
|
||||
};
|
||||
let result = maybe_find_pandoc(config, None, mock_program_output);
|
||||
let result = maybe_find_pandoc(&config, None, move mock_program_output);
|
||||
assert result == result::Ok(Some(~"pandoc"));
|
||||
}
|
||||
|
||||
@ -281,14 +283,14 @@ fn should_error_with_no_pandoc() {
|
||||
status: 1, out: ~"", err: ~""
|
||||
}
|
||||
};
|
||||
let result = maybe_find_pandoc(config, None, mock_program_output);
|
||||
let result = maybe_find_pandoc(&config, None, move mock_program_output);
|
||||
assert result == result::Err(~"couldn't find pandoc");
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod test {
|
||||
#[legacy_exports];
|
||||
fn parse_config(args: ~[~str]) -> Result<Config, ~str> {
|
||||
fn parse_config(args: &[~str]) -> Result<Config, ~str> {
|
||||
parse_config_(args, mock_program_output)
|
||||
}
|
||||
}
|
||||
|
@ -16,7 +16,7 @@ pub fn mk_pass() -> Pass {
|
||||
|
||||
fn run(
|
||||
_srv: astsrv::Srv,
|
||||
doc: doc::Doc
|
||||
+doc: doc::Doc
|
||||
) -> doc::Doc {
|
||||
let fold = fold::Fold({
|
||||
fold_item: fold_item,
|
||||
@ -24,10 +24,10 @@ fn run(
|
||||
fold_impl: fold_impl,
|
||||
.. *fold::default_any_fold(())
|
||||
});
|
||||
fold.fold_doc(fold, doc)
|
||||
fold.fold_doc(&fold, 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);
|
||||
|
||||
{
|
||||
@ -36,7 +36,7 @@ fn fold_item(fold: fold::Fold<()>, doc: doc::ItemDoc) -> doc::ItemDoc {
|
||||
}
|
||||
}
|
||||
|
||||
fn fold_trait(fold: fold::Fold<()>, doc: doc::TraitDoc) -> doc::TraitDoc {
|
||||
fn fold_trait(fold: &fold::Fold<()>, +doc: doc::TraitDoc) -> doc::TraitDoc {
|
||||
let doc =fold::default_seq_fold_trait(fold, doc);
|
||||
|
||||
{
|
||||
@ -48,7 +48,7 @@ fn fold_trait(fold: fold::Fold<()>, doc: doc::TraitDoc) -> doc::TraitDoc {
|
||||
}
|
||||
}
|
||||
|
||||
fn fold_impl(fold: fold::Fold<()>, doc: doc::ImplDoc) -> doc::ImplDoc {
|
||||
fn fold_impl(fold: &fold::Fold<()>, +doc: doc::ImplDoc) -> doc::ImplDoc {
|
||||
let doc =fold::default_seq_fold_impl(fold, doc);
|
||||
|
||||
{
|
||||
|
@ -25,7 +25,7 @@ pub fn interner() -> @syntax::parse::token::ident_interner {
|
||||
|
||||
pub fn from_srv(
|
||||
srv: astsrv::Srv,
|
||||
default_name: ~str
|
||||
+default_name: ~str
|
||||
) -> doc::Doc {
|
||||
|
||||
//! Use the AST service to create a document tree
|
||||
@ -37,7 +37,7 @@ pub fn from_srv(
|
||||
|
||||
pub fn extract(
|
||||
crate: @ast::crate,
|
||||
default_name: ~str
|
||||
+default_name: ~str
|
||||
) -> doc::Doc {
|
||||
doc::Doc_({
|
||||
pages: ~[
|
||||
@ -50,13 +50,13 @@ pub fn extract(
|
||||
|
||||
fn top_moddoc_from_crate(
|
||||
crate: @ast::crate,
|
||||
default_name: ~str
|
||||
+default_name: ~str
|
||||
) -> doc::ModDoc {
|
||||
moddoc_from_mod(mk_itemdoc(ast::crate_node_id, default_name),
|
||||
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 {
|
||||
{
|
||||
id: id,
|
||||
name: name,
|
||||
@ -69,7 +69,7 @@ fn mk_itemdoc(id: ast::node_id, name: ~str) -> doc::ItemDoc {
|
||||
}
|
||||
|
||||
fn moddoc_from_mod(
|
||||
itemdoc: doc::ItemDoc,
|
||||
+itemdoc: doc::ItemDoc,
|
||||
module_: ast::_mod
|
||||
) -> doc::ModDoc {
|
||||
doc::ModDoc_({
|
||||
@ -130,7 +130,7 @@ fn moddoc_from_mod(
|
||||
}
|
||||
|
||||
fn nmoddoc_from_mod(
|
||||
itemdoc: doc::ItemDoc,
|
||||
+itemdoc: doc::ItemDoc,
|
||||
module_: ast::foreign_mod
|
||||
) -> doc::NmodDoc {
|
||||
let mut fns = ~[];
|
||||
@ -150,14 +150,14 @@ fn nmoddoc_from_mod(
|
||||
}
|
||||
}
|
||||
|
||||
fn fndoc_from_fn(itemdoc: doc::ItemDoc) -> doc::FnDoc {
|
||||
fn fndoc_from_fn(+itemdoc: doc::ItemDoc) -> doc::FnDoc {
|
||||
{
|
||||
item: itemdoc,
|
||||
sig: None
|
||||
}
|
||||
}
|
||||
|
||||
fn constdoc_from_const(itemdoc: doc::ItemDoc) -> doc::ConstDoc {
|
||||
fn constdoc_from_const(+itemdoc: doc::ItemDoc) -> doc::ConstDoc {
|
||||
{
|
||||
item: itemdoc,
|
||||
sig: None
|
||||
@ -172,8 +172,8 @@ fn should_extract_const_name_and_id() {
|
||||
}
|
||||
|
||||
fn enumdoc_from_enum(
|
||||
itemdoc: doc::ItemDoc,
|
||||
variants: ~[ast::variant]
|
||||
+itemdoc: doc::ItemDoc,
|
||||
+variants: ~[ast::variant]
|
||||
) -> doc::EnumDoc {
|
||||
{
|
||||
item: itemdoc,
|
||||
@ -182,7 +182,7 @@ fn enumdoc_from_enum(
|
||||
}
|
||||
|
||||
fn variantdocs_from_variants(
|
||||
variants: ~[ast::variant]
|
||||
+variants: ~[ast::variant]
|
||||
) -> ~[doc::VariantDoc] {
|
||||
vec::map(variants, variantdoc_from_variant)
|
||||
}
|
||||
@ -210,8 +210,8 @@ fn should_extract_enum_variants() {
|
||||
}
|
||||
|
||||
fn traitdoc_from_trait(
|
||||
itemdoc: doc::ItemDoc,
|
||||
methods: ~[ast::trait_method]
|
||||
+itemdoc: doc::ItemDoc,
|
||||
+methods: ~[ast::trait_method]
|
||||
) -> doc::TraitDoc {
|
||||
{
|
||||
item: itemdoc,
|
||||
@ -255,7 +255,7 @@ fn should_extract_trait_methods() {
|
||||
}
|
||||
|
||||
fn impldoc_from_impl(
|
||||
itemdoc: doc::ItemDoc,
|
||||
+itemdoc: doc::ItemDoc,
|
||||
methods: ~[@ast::method]
|
||||
) -> doc::ImplDoc {
|
||||
{
|
||||
@ -282,7 +282,7 @@ fn should_extract_impl_methods() {
|
||||
}
|
||||
|
||||
fn tydoc_from_ty(
|
||||
itemdoc: doc::ItemDoc
|
||||
+itemdoc: doc::ItemDoc
|
||||
) -> doc::TyDoc {
|
||||
{
|
||||
item: itemdoc,
|
||||
@ -297,7 +297,7 @@ fn should_extract_tys() {
|
||||
}
|
||||
|
||||
fn structdoc_from_struct(
|
||||
itemdoc: doc::ItemDoc,
|
||||
+itemdoc: doc::ItemDoc,
|
||||
struct_def: @ast::struct_def
|
||||
) -> doc::StructDoc {
|
||||
{
|
||||
@ -328,7 +328,7 @@ fn should_extract_struct_fields() {
|
||||
mod test {
|
||||
#[legacy_exports];
|
||||
|
||||
fn mk_doc(source: ~str) -> doc::Doc {
|
||||
fn mk_doc(+source: ~str) -> doc::Doc {
|
||||
let ast = parse::from_str(source);
|
||||
extract(ast, ~"")
|
||||
}
|
||||
|
@ -1,18 +1,18 @@
|
||||
pub enum Fold<T> = Fold_<T>;
|
||||
|
||||
type FoldDoc<T> = fn~(fold: Fold<T>, doc: doc::Doc) -> doc::Doc;
|
||||
type FoldCrate<T> = fn~(fold: Fold<T>, doc: doc::CrateDoc) -> doc::CrateDoc;
|
||||
type FoldItem<T> = fn~(fold: Fold<T>, doc: doc::ItemDoc) -> doc::ItemDoc;
|
||||
type FoldMod<T> = fn~(fold: Fold<T>, doc: doc::ModDoc) -> doc::ModDoc;
|
||||
type FoldNmod<T> = fn~(fold: Fold<T>, doc: doc::NmodDoc) -> doc::NmodDoc;
|
||||
type FoldFn<T> = fn~(fold: Fold<T>, doc: doc::FnDoc) -> doc::FnDoc;
|
||||
type FoldConst<T> = fn~(fold: Fold<T>, doc: doc::ConstDoc) -> doc::ConstDoc;
|
||||
type FoldEnum<T> = fn~(fold: Fold<T>, doc: doc::EnumDoc) -> doc::EnumDoc;
|
||||
type FoldTrait<T> = fn~(fold: Fold<T>, doc: doc::TraitDoc) -> doc::TraitDoc;
|
||||
type FoldImpl<T> = fn~(fold: Fold<T>, doc: doc::ImplDoc) -> doc::ImplDoc;
|
||||
type FoldType<T> = fn~(fold: Fold<T>, doc: doc::TyDoc) -> doc::TyDoc;
|
||||
type FoldStruct<T> = fn~(fold: Fold<T>,
|
||||
doc: doc::StructDoc) -> doc::StructDoc;
|
||||
type FoldDoc<T> = fn~(fold: &Fold<T>, +doc: doc::Doc) -> doc::Doc;
|
||||
type FoldCrate<T> = fn~(fold: &Fold<T>, +doc: doc::CrateDoc) -> doc::CrateDoc;
|
||||
type FoldItem<T> = fn~(fold: &Fold<T>, +doc: doc::ItemDoc) -> doc::ItemDoc;
|
||||
type FoldMod<T> = fn~(fold: &Fold<T>, +doc: doc::ModDoc) -> doc::ModDoc;
|
||||
type FoldNmod<T> = fn~(fold: &Fold<T>, +doc: doc::NmodDoc) -> doc::NmodDoc;
|
||||
type FoldFn<T> = fn~(fold: &Fold<T>, +doc: doc::FnDoc) -> doc::FnDoc;
|
||||
type FoldConst<T> = fn~(fold: &Fold<T>, +doc: doc::ConstDoc) -> doc::ConstDoc;
|
||||
type FoldEnum<T> = fn~(fold: &Fold<T>, +doc: doc::EnumDoc) -> doc::EnumDoc;
|
||||
type FoldTrait<T> = fn~(fold: &Fold<T>, +doc: doc::TraitDoc) -> doc::TraitDoc;
|
||||
type FoldImpl<T> = fn~(fold: &Fold<T>, +doc: doc::ImplDoc) -> doc::ImplDoc;
|
||||
type FoldType<T> = fn~(fold: &Fold<T>, +doc: doc::TyDoc) -> doc::TyDoc;
|
||||
type FoldStruct<T> = fn~(fold: &Fold<T>,
|
||||
+doc: doc::StructDoc) -> doc::StructDoc;
|
||||
|
||||
type Fold_<T> = {
|
||||
ctxt: T,
|
||||
@ -119,7 +119,7 @@ pub fn default_par_fold<T:Send Copy>(ctxt: T) -> Fold<T> {
|
||||
)
|
||||
}
|
||||
|
||||
pub fn default_seq_fold_doc<T>(fold: Fold<T>, doc: doc::Doc) -> doc::Doc {
|
||||
pub fn default_seq_fold_doc<T>(fold: &Fold<T>, +doc: doc::Doc) -> doc::Doc {
|
||||
doc::Doc_({
|
||||
pages: do vec::map(doc.pages) |page| {
|
||||
match *page {
|
||||
@ -136,8 +136,8 @@ pub fn default_seq_fold_doc<T>(fold: Fold<T>, doc: doc::Doc) -> doc::Doc {
|
||||
}
|
||||
|
||||
pub fn default_seq_fold_crate<T>(
|
||||
fold: Fold<T>,
|
||||
doc: doc::CrateDoc
|
||||
fold: &Fold<T>,
|
||||
+doc: doc::CrateDoc
|
||||
) -> doc::CrateDoc {
|
||||
{
|
||||
topmod: fold.fold_mod(fold, doc.topmod)
|
||||
@ -145,28 +145,29 @@ pub fn default_seq_fold_crate<T>(
|
||||
}
|
||||
|
||||
pub fn default_seq_fold_item<T>(
|
||||
_fold: Fold<T>,
|
||||
doc: doc::ItemDoc
|
||||
_fold: &Fold<T>,
|
||||
+doc: doc::ItemDoc
|
||||
) -> doc::ItemDoc {
|
||||
doc
|
||||
}
|
||||
|
||||
pub fn default_any_fold_mod<T:Send Copy>(
|
||||
fold: Fold<T>,
|
||||
doc: doc::ModDoc
|
||||
fold: &Fold<T>,
|
||||
+doc: doc::ModDoc
|
||||
) -> doc::ModDoc {
|
||||
let fold_copy = copy *fold;
|
||||
doc::ModDoc_({
|
||||
item: fold.fold_item(fold, doc.item),
|
||||
items: par::map(doc.items, |ItemTag, copy fold| {
|
||||
fold_ItemTag(fold, *ItemTag)
|
||||
items: par::map(doc.items, |ItemTag, move fold_copy| {
|
||||
fold_ItemTag(&fold_copy, *ItemTag)
|
||||
}),
|
||||
.. *doc
|
||||
})
|
||||
}
|
||||
|
||||
pub fn default_seq_fold_mod<T>(
|
||||
fold: Fold<T>,
|
||||
doc: doc::ModDoc
|
||||
fold: &Fold<T>,
|
||||
+doc: doc::ModDoc
|
||||
) -> doc::ModDoc {
|
||||
doc::ModDoc_({
|
||||
item: fold.fold_item(fold, doc.item),
|
||||
@ -178,34 +179,36 @@ pub fn default_seq_fold_mod<T>(
|
||||
}
|
||||
|
||||
pub fn default_par_fold_mod<T:Send Copy>(
|
||||
fold: Fold<T>,
|
||||
doc: doc::ModDoc
|
||||
fold: &Fold<T>,
|
||||
+doc: doc::ModDoc
|
||||
) -> doc::ModDoc {
|
||||
let fold_copy = copy *fold;
|
||||
doc::ModDoc_({
|
||||
item: fold.fold_item(fold, doc.item),
|
||||
items: par::map(doc.items, |ItemTag, copy fold| {
|
||||
fold_ItemTag(fold, *ItemTag)
|
||||
items: par::map(doc.items, |ItemTag, move fold_copy| {
|
||||
fold_ItemTag(&fold_copy, *ItemTag)
|
||||
}),
|
||||
.. *doc
|
||||
})
|
||||
}
|
||||
|
||||
pub fn default_any_fold_nmod<T:Send Copy>(
|
||||
fold: Fold<T>,
|
||||
doc: doc::NmodDoc
|
||||
fold: &Fold<T>,
|
||||
+doc: doc::NmodDoc
|
||||
) -> doc::NmodDoc {
|
||||
let fold_copy = copy *fold;
|
||||
{
|
||||
item: fold.fold_item(fold, doc.item),
|
||||
fns: par::map(doc.fns, |FnDoc, copy fold| {
|
||||
fold.fold_fn(fold, *FnDoc)
|
||||
fns: par::map(doc.fns, |FnDoc, move fold_copy| {
|
||||
fold_copy.fold_fn(&fold_copy, *FnDoc)
|
||||
}),
|
||||
.. doc
|
||||
}
|
||||
}
|
||||
|
||||
pub fn default_seq_fold_nmod<T>(
|
||||
fold: Fold<T>,
|
||||
doc: doc::NmodDoc
|
||||
fold: &Fold<T>,
|
||||
+doc: doc::NmodDoc
|
||||
) -> doc::NmodDoc {
|
||||
{
|
||||
item: fold.fold_item(fold, doc.item),
|
||||
@ -217,19 +220,20 @@ pub fn default_seq_fold_nmod<T>(
|
||||
}
|
||||
|
||||
pub fn default_par_fold_nmod<T:Send Copy>(
|
||||
fold: Fold<T>,
|
||||
doc: doc::NmodDoc
|
||||
fold: &Fold<T>,
|
||||
+doc: doc::NmodDoc
|
||||
) -> doc::NmodDoc {
|
||||
let fold_copy = copy *fold;
|
||||
{
|
||||
item: fold.fold_item(fold, doc.item),
|
||||
fns: par::map(doc.fns, |FnDoc, copy fold| {
|
||||
fold.fold_fn(fold, *FnDoc)
|
||||
fns: par::map(doc.fns, |FnDoc, move fold_copy| {
|
||||
fold_copy.fold_fn(&fold_copy, *FnDoc)
|
||||
}),
|
||||
.. doc
|
||||
}
|
||||
}
|
||||
|
||||
pub fn fold_ItemTag<T>(fold: Fold<T>, doc: doc::ItemTag) -> doc::ItemTag {
|
||||
pub fn fold_ItemTag<T>(fold: &Fold<T>, +doc: doc::ItemTag) -> doc::ItemTag {
|
||||
match doc {
|
||||
doc::ModTag(ModDoc) => {
|
||||
doc::ModTag(fold.fold_mod(fold, ModDoc))
|
||||
@ -262,8 +266,8 @@ pub fn fold_ItemTag<T>(fold: Fold<T>, doc: doc::ItemTag) -> doc::ItemTag {
|
||||
}
|
||||
|
||||
pub fn default_seq_fold_fn<T>(
|
||||
fold: Fold<T>,
|
||||
doc: doc::FnDoc
|
||||
fold: &Fold<T>,
|
||||
+doc: doc::FnDoc
|
||||
) -> doc::FnDoc {
|
||||
{
|
||||
item: fold.fold_item(fold, doc.item),
|
||||
@ -272,8 +276,8 @@ pub fn default_seq_fold_fn<T>(
|
||||
}
|
||||
|
||||
pub fn default_seq_fold_const<T>(
|
||||
fold: Fold<T>,
|
||||
doc: doc::ConstDoc
|
||||
fold: &Fold<T>,
|
||||
+doc: doc::ConstDoc
|
||||
) -> doc::ConstDoc {
|
||||
{
|
||||
item: fold.fold_item(fold, doc.item),
|
||||
@ -282,8 +286,8 @@ pub fn default_seq_fold_const<T>(
|
||||
}
|
||||
|
||||
pub fn default_seq_fold_enum<T>(
|
||||
fold: Fold<T>,
|
||||
doc: doc::EnumDoc
|
||||
fold: &Fold<T>,
|
||||
+doc: doc::EnumDoc
|
||||
) -> doc::EnumDoc {
|
||||
{
|
||||
item: fold.fold_item(fold, doc.item),
|
||||
@ -292,8 +296,8 @@ pub fn default_seq_fold_enum<T>(
|
||||
}
|
||||
|
||||
pub fn default_seq_fold_trait<T>(
|
||||
fold: Fold<T>,
|
||||
doc: doc::TraitDoc
|
||||
fold: &Fold<T>,
|
||||
+doc: doc::TraitDoc
|
||||
) -> doc::TraitDoc {
|
||||
{
|
||||
item: fold.fold_item(fold, doc.item),
|
||||
@ -302,8 +306,8 @@ pub fn default_seq_fold_trait<T>(
|
||||
}
|
||||
|
||||
pub fn default_seq_fold_impl<T>(
|
||||
fold: Fold<T>,
|
||||
doc: doc::ImplDoc
|
||||
fold: &Fold<T>,
|
||||
+doc: doc::ImplDoc
|
||||
) -> doc::ImplDoc {
|
||||
{
|
||||
item: fold.fold_item(fold, doc.item),
|
||||
@ -312,8 +316,8 @@ pub fn default_seq_fold_impl<T>(
|
||||
}
|
||||
|
||||
pub fn default_seq_fold_type<T>(
|
||||
fold: Fold<T>,
|
||||
doc: doc::TyDoc
|
||||
fold: &Fold<T>,
|
||||
+doc: doc::TyDoc
|
||||
) -> doc::TyDoc {
|
||||
{
|
||||
item: fold.fold_item(fold, doc.item),
|
||||
@ -322,8 +326,8 @@ pub fn default_seq_fold_type<T>(
|
||||
}
|
||||
|
||||
pub fn default_seq_fold_struct<T>(
|
||||
fold: Fold<T>,
|
||||
doc: doc::StructDoc
|
||||
fold: &Fold<T>,
|
||||
+doc: doc::StructDoc
|
||||
) -> doc::StructDoc {
|
||||
{
|
||||
item: fold.fold_item(fold, doc.item),
|
||||
@ -337,7 +341,7 @@ fn default_fold_should_produce_same_doc() {
|
||||
let ast = parse::from_str(source);
|
||||
let doc = extract::extract(ast, ~"");
|
||||
let fld = default_seq_fold(());
|
||||
let folded = fld.fold_doc(fld, doc);
|
||||
let folded = fld.fold_doc(&fld, doc);
|
||||
assert doc == folded;
|
||||
}
|
||||
|
||||
@ -347,7 +351,7 @@ fn default_fold_should_produce_same_consts() {
|
||||
let ast = parse::from_str(source);
|
||||
let doc = extract::extract(ast, ~"");
|
||||
let fld = default_seq_fold(());
|
||||
let folded = fld.fold_doc(fld, doc);
|
||||
let folded = fld.fold_doc(&fld, doc);
|
||||
assert doc == folded;
|
||||
}
|
||||
|
||||
@ -357,7 +361,7 @@ fn default_fold_should_produce_same_enums() {
|
||||
let ast = parse::from_str(source);
|
||||
let doc = extract::extract(ast, ~"");
|
||||
let fld = default_seq_fold(());
|
||||
let folded = fld.fold_doc(fld, doc);
|
||||
let folded = fld.fold_doc(&fld, doc);
|
||||
assert doc == folded;
|
||||
}
|
||||
|
||||
@ -367,6 +371,6 @@ fn default_parallel_fold_should_produce_same_doc() {
|
||||
let ast = parse::from_str(source);
|
||||
let doc = extract::extract(ast, ~"");
|
||||
let fld = default_par_fold(());
|
||||
let folded = fld.fold_doc(fld, doc);
|
||||
let folded = fld.fold_doc(&fld, doc);
|
||||
assert doc == folded;
|
||||
}
|
||||
|
@ -2,10 +2,10 @@
|
||||
|
||||
use doc::ItemUtils;
|
||||
|
||||
pub fn mk_pass(config: config::Config) -> Pass {
|
||||
pub fn mk_pass(+config: config::Config) -> Pass {
|
||||
{
|
||||
name: ~"markdown_index",
|
||||
f: fn~(srv: astsrv::Srv, doc: doc::Doc) -> doc::Doc {
|
||||
f: fn~(srv: astsrv::Srv, +doc: doc::Doc) -> doc::Doc {
|
||||
run(srv, doc, config)
|
||||
}
|
||||
}
|
||||
@ -13,20 +13,20 @@ pub fn mk_pass(config: config::Config) -> Pass {
|
||||
|
||||
fn run(
|
||||
_srv: astsrv::Srv,
|
||||
doc: doc::Doc,
|
||||
config: config::Config
|
||||
+doc: doc::Doc,
|
||||
+config: config::Config
|
||||
) -> doc::Doc {
|
||||
let fold = fold::Fold({
|
||||
fold_mod: fold_mod,
|
||||
fold_nmod: fold_nmod,
|
||||
.. *fold::default_any_fold(config)
|
||||
});
|
||||
fold.fold_doc(fold, doc)
|
||||
fold.fold_doc(&fold, doc)
|
||||
}
|
||||
|
||||
fn fold_mod(
|
||||
fold: fold::Fold<config::Config>,
|
||||
doc: doc::ModDoc
|
||||
fold: &fold::Fold<config::Config>,
|
||||
+doc: doc::ModDoc
|
||||
) -> doc::ModDoc {
|
||||
|
||||
let doc = fold::default_any_fold_mod(fold, doc);
|
||||
@ -38,8 +38,8 @@ fn fold_mod(
|
||||
}
|
||||
|
||||
fn fold_nmod(
|
||||
fold: fold::Fold<config::Config>,
|
||||
doc: doc::NmodDoc
|
||||
fold: &fold::Fold<config::Config>,
|
||||
+doc: doc::NmodDoc
|
||||
) -> doc::NmodDoc {
|
||||
|
||||
let doc = fold::default_any_fold_nmod(fold, doc);
|
||||
|
@ -7,7 +7,7 @@ use markdown_writer::WriterFactory;
|
||||
|
||||
pub fn mk_pass(+writer_factory: WriterFactory) -> Pass {
|
||||
let f = fn~(move writer_factory,
|
||||
srv: astsrv::Srv, doc: doc::Doc) -> doc::Doc {
|
||||
srv: astsrv::Srv, +doc: doc::Doc) -> doc::Doc {
|
||||
run(srv, doc, copy writer_factory)
|
||||
};
|
||||
|
||||
|
@ -11,7 +11,7 @@ use syntax::ast;
|
||||
pub fn mk_pass(output_style: config::OutputStyle) -> Pass {
|
||||
{
|
||||
name: ~"page",
|
||||
f: fn~(srv: astsrv::Srv, doc: doc::Doc) -> doc::Doc {
|
||||
f: fn~(srv: astsrv::Srv, +doc: doc::Doc) -> doc::Doc {
|
||||
run(srv, doc, output_style)
|
||||
}
|
||||
}
|
||||
@ -19,7 +19,7 @@ pub fn mk_pass(output_style: config::OutputStyle) -> Pass {
|
||||
|
||||
fn run(
|
||||
_srv: astsrv::Srv,
|
||||
doc: doc::Doc,
|
||||
+doc: doc::Doc,
|
||||
output_style: config::OutputStyle
|
||||
) -> doc::Doc {
|
||||
|
||||
@ -61,14 +61,14 @@ fn find_pages(doc: doc::Doc, page_chan: PageChan) {
|
||||
fold_nmod: fold_nmod,
|
||||
.. *fold::default_any_fold(page_chan)
|
||||
});
|
||||
fold.fold_doc(fold, doc);
|
||||
fold.fold_doc(&fold, doc);
|
||||
|
||||
comm::send(page_chan, None);
|
||||
}
|
||||
|
||||
fn fold_crate(
|
||||
fold: fold::Fold<PageChan>,
|
||||
doc: doc::CrateDoc
|
||||
fold: &fold::Fold<PageChan>,
|
||||
+doc: doc::CrateDoc
|
||||
) -> doc::CrateDoc {
|
||||
|
||||
let doc = fold::default_seq_fold_crate(fold, doc);
|
||||
@ -84,8 +84,8 @@ fn fold_crate(
|
||||
}
|
||||
|
||||
fn fold_mod(
|
||||
fold: fold::Fold<PageChan>,
|
||||
doc: doc::ModDoc
|
||||
fold: &fold::Fold<PageChan>,
|
||||
+doc: doc::ModDoc
|
||||
) -> doc::ModDoc {
|
||||
|
||||
let doc = fold::default_any_fold_mod(fold, doc);
|
||||
@ -114,8 +114,8 @@ fn strip_mod(doc: doc::ModDoc) -> doc::ModDoc {
|
||||
}
|
||||
|
||||
fn fold_nmod(
|
||||
fold: fold::Fold<PageChan>,
|
||||
doc: doc::NmodDoc
|
||||
fold: &fold::Fold<PageChan>,
|
||||
+doc: doc::NmodDoc
|
||||
) -> doc::NmodDoc {
|
||||
let doc = fold::default_seq_fold_nmod(fold, doc);
|
||||
let page = doc::ItemPage(doc::NmodTag(doc));
|
||||
|
@ -13,7 +13,7 @@ pub fn from_file(file: &Path) -> @ast::crate {
|
||||
file, ~[], parse::new_parse_sess(None))
|
||||
}
|
||||
|
||||
pub fn from_str(source: ~str) -> @ast::crate {
|
||||
pub fn from_str(+source: ~str) -> @ast::crate {
|
||||
parse::parse_crate_from_source_str(
|
||||
~"-", @source, ~[], parse::new_parse_sess(None))
|
||||
}
|
||||
@ -23,11 +23,11 @@ pub fn from_file_sess(sess: session::Session, file: &Path) -> @ast::crate {
|
||||
file, cfg(sess, file_input(*file)), sess.parse_sess)
|
||||
}
|
||||
|
||||
pub fn from_str_sess(sess: session::Session, source: ~str) -> @ast::crate {
|
||||
pub fn from_str_sess(sess: session::Session, +source: ~str) -> @ast::crate {
|
||||
parse::parse_crate_from_source_str(
|
||||
~"-", @source, cfg(sess, str_input(source)), sess.parse_sess)
|
||||
}
|
||||
|
||||
fn cfg(sess: session::Session, input: driver::input) -> ast::crate_cfg {
|
||||
fn cfg(sess: session::Session, +input: driver::input) -> ast::crate_cfg {
|
||||
driver::default_configuration(sess, ~"rustdoc", input)
|
||||
}
|
||||
|
@ -1,13 +1,13 @@
|
||||
/// A single operation on the document model
|
||||
pub type Pass = {
|
||||
name: ~str,
|
||||
f: fn~(srv: astsrv::Srv, doc: doc::Doc) -> doc::Doc
|
||||
f: fn~(srv: astsrv::Srv, +doc: doc::Doc) -> doc::Doc
|
||||
};
|
||||
|
||||
pub fn run_passes(
|
||||
srv: astsrv::Srv,
|
||||
doc: doc::Doc,
|
||||
passes: ~[Pass]
|
||||
+doc: doc::Doc,
|
||||
+passes: ~[Pass]
|
||||
) -> doc::Doc {
|
||||
let mut passno = 0;
|
||||
do vec::foldl(doc, passes) |doc, pass| {
|
||||
@ -24,7 +24,7 @@ pub fn run_passes(
|
||||
fn test_run_passes() {
|
||||
fn pass1(
|
||||
_srv: astsrv::Srv,
|
||||
doc: doc::Doc
|
||||
+doc: doc::Doc
|
||||
) -> doc::Doc {
|
||||
doc::Doc_({
|
||||
pages: ~[
|
||||
@ -43,7 +43,7 @@ fn test_run_passes() {
|
||||
}
|
||||
fn pass2(
|
||||
_srv: astsrv::Srv,
|
||||
doc: doc::Doc
|
||||
+doc: doc::Doc
|
||||
) -> doc::Doc {
|
||||
doc::Doc_({
|
||||
pages: ~[
|
||||
|
@ -16,7 +16,7 @@ type Ctxt = {
|
||||
};
|
||||
|
||||
#[allow(non_implicitly_copyable_typarams)]
|
||||
fn run(srv: astsrv::Srv, doc: doc::Doc) -> doc::Doc {
|
||||
fn run(srv: astsrv::Srv, +doc: doc::Doc) -> doc::Doc {
|
||||
let ctxt = {
|
||||
srv: srv,
|
||||
mut path: ~[]
|
||||
@ -27,10 +27,10 @@ fn run(srv: astsrv::Srv, doc: doc::Doc) -> doc::Doc {
|
||||
fold_nmod: fold_nmod,
|
||||
.. *fold::default_any_fold(ctxt)
|
||||
});
|
||||
fold.fold_doc(fold, doc)
|
||||
fold.fold_doc(&fold, doc)
|
||||
}
|
||||
|
||||
fn fold_item(fold: fold::Fold<Ctxt>, doc: doc::ItemDoc) -> doc::ItemDoc {
|
||||
fn fold_item(fold: &fold::Fold<Ctxt>, +doc: doc::ItemDoc) -> doc::ItemDoc {
|
||||
{
|
||||
path: fold.ctxt.path,
|
||||
.. doc
|
||||
@ -38,7 +38,7 @@ fn fold_item(fold: fold::Fold<Ctxt>, doc: doc::ItemDoc) -> doc::ItemDoc {
|
||||
}
|
||||
|
||||
#[allow(non_implicitly_copyable_typarams)]
|
||||
fn fold_mod(fold: fold::Fold<Ctxt>, doc: doc::ModDoc) -> doc::ModDoc {
|
||||
fn fold_mod(fold: &fold::Fold<Ctxt>, +doc: doc::ModDoc) -> doc::ModDoc {
|
||||
let is_topmod = doc.id() == ast::crate_node_id;
|
||||
|
||||
if !is_topmod { fold.ctxt.path.push(doc.name()); }
|
||||
@ -51,7 +51,7 @@ fn fold_mod(fold: fold::Fold<Ctxt>, doc: doc::ModDoc) -> doc::ModDoc {
|
||||
})
|
||||
}
|
||||
|
||||
fn fold_nmod(fold: fold::Fold<Ctxt>, doc: doc::NmodDoc) -> doc::NmodDoc {
|
||||
fn fold_nmod(fold: &fold::Fold<Ctxt>, +doc: doc::NmodDoc) -> doc::NmodDoc {
|
||||
fold.ctxt.path.push(doc.name());
|
||||
let doc = fold::default_seq_fold_nmod(fold, doc);
|
||||
fold.ctxt.path.pop();
|
||||
|
@ -10,17 +10,17 @@ pub fn mk_pass() -> Pass {
|
||||
}
|
||||
}
|
||||
|
||||
fn run(srv: astsrv::Srv, doc: doc::Doc) -> doc::Doc {
|
||||
fn run(srv: astsrv::Srv, +doc: doc::Doc) -> doc::Doc {
|
||||
let fold = fold::Fold({
|
||||
fold_mod: fold_mod,
|
||||
.. *fold::default_any_fold(srv)
|
||||
});
|
||||
fold.fold_doc(fold, doc)
|
||||
fold.fold_doc(&fold, doc)
|
||||
}
|
||||
|
||||
fn fold_mod(
|
||||
fold: fold::Fold<astsrv::Srv>,
|
||||
doc: doc::ModDoc
|
||||
fold: &fold::Fold<astsrv::Srv>,
|
||||
+doc: doc::ModDoc
|
||||
) -> doc::ModDoc {
|
||||
let doc = fold::default_any_fold_mod(fold, doc);
|
||||
|
||||
|
@ -11,17 +11,17 @@ fn mk_pass() -> Pass {
|
||||
}
|
||||
}
|
||||
|
||||
fn run(srv: astsrv::Srv, doc: doc::Doc) -> doc::Doc {
|
||||
fn run(srv: astsrv::Srv, +doc: doc::Doc) -> doc::Doc {
|
||||
let fold = fold::Fold({
|
||||
fold_mod: fold_mod,
|
||||
.. *fold::default_any_fold(srv)
|
||||
});
|
||||
fold.fold_doc(fold, doc)
|
||||
fold.fold_doc(&fold, doc)
|
||||
}
|
||||
|
||||
fn fold_mod(
|
||||
fold: fold::Fold<astsrv::Srv>,
|
||||
doc: doc::ModDoc
|
||||
fold: &fold::Fold<astsrv::Srv>,
|
||||
+doc: doc::ModDoc
|
||||
) -> doc::ModDoc {
|
||||
let doc = fold::default_any_fold_mod(fold, doc);
|
||||
|
||||
|
@ -9,17 +9,17 @@ pub fn mk_pass() -> Pass {
|
||||
}
|
||||
}
|
||||
|
||||
fn run(_srv: astsrv::Srv, doc: doc::Doc) -> doc::Doc {
|
||||
fn run(_srv: astsrv::Srv, +doc: doc::Doc) -> doc::Doc {
|
||||
let fold = fold::Fold({
|
||||
fold_item: fold_item,
|
||||
fold_trait: fold_trait,
|
||||
fold_impl: fold_impl,
|
||||
.. *fold::default_any_fold(())
|
||||
});
|
||||
fold.fold_doc(fold, doc)
|
||||
fold.fold_doc(&fold, 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 (desc, sections) = sectionalize(doc.desc);
|
||||
|
||||
@ -30,7 +30,7 @@ fn fold_item(fold: fold::Fold<()>, doc: doc::ItemDoc) -> doc::ItemDoc {
|
||||
}
|
||||
}
|
||||
|
||||
fn fold_trait(fold: fold::Fold<()>, doc: doc::TraitDoc) -> doc::TraitDoc {
|
||||
fn fold_trait(fold: &fold::Fold<()>, +doc: doc::TraitDoc) -> doc::TraitDoc {
|
||||
let doc = fold::default_seq_fold_trait(fold, doc);
|
||||
|
||||
{
|
||||
@ -47,7 +47,7 @@ fn fold_trait(fold: fold::Fold<()>, doc: doc::TraitDoc) -> doc::TraitDoc {
|
||||
}
|
||||
}
|
||||
|
||||
fn fold_impl(fold: fold::Fold<()>, doc: doc::ImplDoc) -> doc::ImplDoc {
|
||||
fn fold_impl(fold: &fold::Fold<()>, +doc: doc::ImplDoc) -> doc::ImplDoc {
|
||||
let doc = fold::default_seq_fold_impl(fold, doc);
|
||||
|
||||
{
|
||||
|
@ -8,7 +8,7 @@ pub type ItemLtEq = pure fn~(v1: &doc::ItemTag, v2: &doc::ItemTag) -> bool;
|
||||
pub fn mk_pass(name: ~str, +lteq: ItemLtEq) -> Pass {
|
||||
{
|
||||
name: 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 {
|
||||
run(srv, doc, lteq)
|
||||
}
|
||||
}
|
||||
@ -17,20 +17,20 @@ pub fn mk_pass(name: ~str, +lteq: ItemLtEq) -> Pass {
|
||||
#[allow(non_implicitly_copyable_typarams)]
|
||||
fn run(
|
||||
_srv: astsrv::Srv,
|
||||
doc: doc::Doc,
|
||||
+doc: doc::Doc,
|
||||
lteq: ItemLtEq
|
||||
) -> doc::Doc {
|
||||
let fold = fold::Fold({
|
||||
fold_mod: fold_mod,
|
||||
.. *fold::default_any_fold(lteq)
|
||||
});
|
||||
fold.fold_doc(fold, doc)
|
||||
fold.fold_doc(&fold, doc)
|
||||
}
|
||||
|
||||
#[allow(non_implicitly_copyable_typarams)]
|
||||
fn fold_mod(
|
||||
fold: fold::Fold<ItemLtEq>,
|
||||
doc: doc::ModDoc
|
||||
fold: &fold::Fold<ItemLtEq>,
|
||||
+doc: doc::ModDoc
|
||||
) -> doc::ModDoc {
|
||||
let doc = fold::default_any_fold_mod(fold, doc);
|
||||
doc::ModDoc_({
|
||||
|
@ -5,7 +5,7 @@ use doc::ItemUtils;
|
||||
pub fn mk_pass(name: ~str, +op: fn~(~str) -> ~str) -> Pass {
|
||||
{
|
||||
name: 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, op)
|
||||
}
|
||||
}
|
||||
@ -16,7 +16,7 @@ type Op = fn~(~str) -> ~str;
|
||||
#[allow(non_implicitly_copyable_typarams)]
|
||||
fn run(
|
||||
_srv: astsrv::Srv,
|
||||
doc: doc::Doc,
|
||||
+doc: doc::Doc,
|
||||
op: Op
|
||||
) -> doc::Doc {
|
||||
let fold = fold::Fold({
|
||||
@ -26,14 +26,14 @@ fn run(
|
||||
fold_impl: fold_impl,
|
||||
.. *fold::default_any_fold(op)
|
||||
});
|
||||
fold.fold_doc(fold, doc)
|
||||
fold.fold_doc(&fold, doc)
|
||||
}
|
||||
|
||||
fn maybe_apply_op(op: Op, s: Option<~str>) -> Option<~str> {
|
||||
s.map(|s| op(*s) )
|
||||
}
|
||||
|
||||
fn fold_item(fold: fold::Fold<Op>, doc: doc::ItemDoc) -> doc::ItemDoc {
|
||||
fn fold_item(fold: &fold::Fold<Op>, +doc: doc::ItemDoc) -> doc::ItemDoc {
|
||||
let doc = fold::default_seq_fold_item(fold, doc);
|
||||
|
||||
{
|
||||
@ -51,13 +51,14 @@ fn apply_to_sections(op: Op, sections: ~[doc::Section]) -> ~[doc::Section] {
|
||||
})
|
||||
}
|
||||
|
||||
fn fold_enum(fold: fold::Fold<Op>, doc: doc::EnumDoc) -> doc::EnumDoc {
|
||||
fn fold_enum(fold: &fold::Fold<Op>, +doc: doc::EnumDoc) -> doc::EnumDoc {
|
||||
let doc = fold::default_seq_fold_enum(fold, doc);
|
||||
let fold_copy = copy *fold;
|
||||
|
||||
{
|
||||
variants: do par::map(doc.variants) |variant, copy fold| {
|
||||
variants: do par::map(doc.variants) |variant, copy fold_copy| {
|
||||
{
|
||||
desc: maybe_apply_op(fold.ctxt, variant.desc),
|
||||
desc: maybe_apply_op(fold_copy.ctxt, variant.desc),
|
||||
.. *variant
|
||||
}
|
||||
},
|
||||
@ -65,7 +66,7 @@ fn fold_enum(fold: fold::Fold<Op>, doc: doc::EnumDoc) -> doc::EnumDoc {
|
||||
}
|
||||
}
|
||||
|
||||
fn fold_trait(fold: fold::Fold<Op>, doc: doc::TraitDoc) -> doc::TraitDoc {
|
||||
fn fold_trait(fold: &fold::Fold<Op>, +doc: doc::TraitDoc) -> doc::TraitDoc {
|
||||
let doc = fold::default_seq_fold_trait(fold, doc);
|
||||
|
||||
{
|
||||
@ -85,7 +86,7 @@ fn apply_to_methods(op: Op, docs: ~[doc::MethodDoc]) -> ~[doc::MethodDoc] {
|
||||
}
|
||||
}
|
||||
|
||||
fn fold_impl(fold: fold::Fold<Op>, doc: doc::ImplDoc) -> doc::ImplDoc {
|
||||
fn fold_impl(fold: &fold::Fold<Op>, +doc: doc::ImplDoc) -> doc::ImplDoc {
|
||||
let doc = fold::default_seq_fold_impl(fold, doc);
|
||||
|
||||
{
|
||||
|
@ -16,7 +16,7 @@ pub fn mk_pass() -> Pass {
|
||||
|
||||
fn run(
|
||||
srv: astsrv::Srv,
|
||||
doc: doc::Doc
|
||||
+doc: doc::Doc
|
||||
) -> doc::Doc {
|
||||
let fold = fold::Fold({
|
||||
fold_fn: fold_fn,
|
||||
@ -28,12 +28,12 @@ fn run(
|
||||
fold_struct: fold_struct,
|
||||
.. *fold::default_any_fold(srv)
|
||||
});
|
||||
fold.fold_doc(fold, doc)
|
||||
fold.fold_doc(&fold, doc)
|
||||
}
|
||||
|
||||
fn fold_fn(
|
||||
fold: fold::Fold<astsrv::Srv>,
|
||||
doc: doc::FnDoc
|
||||
fold: &fold::Fold<astsrv::Srv>,
|
||||
+doc: doc::FnDoc
|
||||
) -> doc::FnDoc {
|
||||
|
||||
let srv = fold.ctxt;
|
||||
@ -75,8 +75,8 @@ fn should_add_foreign_fn_sig() {
|
||||
}
|
||||
|
||||
fn fold_const(
|
||||
fold: fold::Fold<astsrv::Srv>,
|
||||
doc: doc::ConstDoc
|
||||
fold: &fold::Fold<astsrv::Srv>,
|
||||
+doc: doc::ConstDoc
|
||||
) -> doc::ConstDoc {
|
||||
let srv = fold.ctxt;
|
||||
|
||||
@ -102,8 +102,8 @@ fn should_add_const_types() {
|
||||
}
|
||||
|
||||
fn fold_enum(
|
||||
fold: fold::Fold<astsrv::Srv>,
|
||||
doc: doc::EnumDoc
|
||||
fold: &fold::Fold<astsrv::Srv>,
|
||||
+doc: doc::EnumDoc
|
||||
) -> doc::EnumDoc {
|
||||
let doc_id = doc.id();
|
||||
let srv = fold.ctxt;
|
||||
@ -143,8 +143,8 @@ fn should_add_variant_sigs() {
|
||||
}
|
||||
|
||||
fn fold_trait(
|
||||
fold: fold::Fold<astsrv::Srv>,
|
||||
doc: doc::TraitDoc
|
||||
fold: &fold::Fold<astsrv::Srv>,
|
||||
+doc: doc::TraitDoc
|
||||
) -> doc::TraitDoc {
|
||||
{
|
||||
methods: merge_methods(fold.ctxt, doc.id(), doc.methods),
|
||||
@ -234,8 +234,8 @@ fn should_add_trait_method_sigs() {
|
||||
}
|
||||
|
||||
fn fold_impl(
|
||||
fold: fold::Fold<astsrv::Srv>,
|
||||
doc: doc::ImplDoc
|
||||
fold: &fold::Fold<astsrv::Srv>,
|
||||
+doc: doc::ImplDoc
|
||||
) -> doc::ImplDoc {
|
||||
|
||||
let srv = fold.ctxt;
|
||||
@ -289,8 +289,8 @@ fn should_add_impl_method_sigs() {
|
||||
}
|
||||
|
||||
fn fold_type(
|
||||
fold: fold::Fold<astsrv::Srv>,
|
||||
doc: doc::TyDoc
|
||||
fold: &fold::Fold<astsrv::Srv>,
|
||||
+doc: doc::TyDoc
|
||||
) -> doc::TyDoc {
|
||||
|
||||
let srv = fold.ctxt;
|
||||
@ -323,8 +323,8 @@ fn should_add_type_signatures() {
|
||||
}
|
||||
|
||||
fn fold_struct(
|
||||
fold: fold::Fold<astsrv::Srv>,
|
||||
doc: doc::StructDoc
|
||||
fold: &fold::Fold<astsrv::Srv>,
|
||||
+doc: doc::StructDoc
|
||||
) -> doc::StructDoc {
|
||||
let srv = fold.ctxt;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user