about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2012-01-18 16:09:32 -0800
committerBrian Anderson <banderson@mozilla.com>2012-01-18 16:09:32 -0800
commitf3fa7c15552294fba231ca8add5c113c8e6dd15c (patch)
tree60aa81291813579a0a433dd3e1b9450adaa8d7db /src
parentcbd7e8ed1bfe65b9559d46ff9fdf2e0939729fa8 (diff)
rustdoc: Extract functions from tystr_pass::fold_fn
Diffstat (limited to 'src')
-rw-r--r--src/rustdoc/tystr_pass.rs64
1 files changed, 32 insertions, 32 deletions
diff --git a/src/rustdoc/tystr_pass.rs b/src/rustdoc/tystr_pass.rs
index f94024047c0..6fad1e1e931 100644
--- a/src/rustdoc/tystr_pass.rs
+++ b/src/rustdoc/tystr_pass.rs
@@ -33,49 +33,49 @@ fn fold_fn(
 ) -> doc::fndoc {
 
     let srv = fold.ctxt;
+    let ret_ty = get_ret_ty(srv, doc.id);
 
-    fn add_ret_ty(
-        doc: option<doc::retdoc>,
-        tystr: str
-    ) -> option<doc::retdoc> {
-        alt doc {
-          some(doc) {
-            fail "unimplemented";
-          }
-          none. {
-            some({
-                desc: none,
-                ty: some(tystr)
-            })
-          }
-        }
+    ~{
+        return: merge_ret_ty(doc.return, ret_ty)
+        with *doc
     }
+}
 
-    let retty = astsrv::exec(srv) {|ctxt|
-        alt ctxt.map.get(doc.id) {
+fn get_ret_ty(srv: astsrv::srv, id: doc::ast_id) -> str {
+    astsrv::exec(srv) {|ctxt|
+        alt ctxt.map.get(id) {
           ast_map::node_item(@{
             node: ast::item_fn(decl, _, _), _
           }) {
             pprust::ty_to_str(decl.output)
           }
         }
-    };
-
-    ~{
-        return: add_ret_ty(doc.return, retty)
-        with *doc
     }
 }
 
-#[cfg(test)]
-mod tests {
-
-    #[test]
-    fn should_add_fn_ret_types() {
-        let source = "fn a() -> int { }";
-        let srv = astsrv::mk_srv_from_str(source);
-        let doc = extract::from_srv(srv, "");
-        let doc = run(srv, doc);
-        assert option::get(doc.topmod.fns[0].return).ty == some("int");
+fn merge_ret_ty(
+    doc: option<doc::retdoc>,
+    tystr: str
+) -> option<doc::retdoc> {
+    alt doc {
+      some(doc) {
+        fail "unimplemented";
+      }
+      none. {
+        some({
+            desc: none,
+            ty: some(tystr)
+        })
+      }
     }
 }
+
+#[test]
+fn should_add_fn_ret_types() {
+    let source = "fn a() -> int { }";
+    let srv = astsrv::mk_srv_from_str(source);
+    let doc = extract::from_srv(srv, "");
+    let doc = run(srv, doc);
+    assert option::get(doc.topmod.fns[0].return).ty == some("int");
+}
+