]> git.lizzy.rs Git - rust.git/commitdiff
rustdoc: Prune unconfigured items from AST
authorBrian Anderson <banderson@mozilla.com>
Wed, 18 Jan 2012 23:48:09 +0000 (15:48 -0800)
committerBrian Anderson <banderson@mozilla.com>
Wed, 18 Jan 2012 23:48:09 +0000 (15:48 -0800)
src/rustdoc/astsrv.rs

index 4bdf4498d637f1d162cbaadb7fbd575b69ed305b..ca1d86ed353b54f7cca2ff68993b1172c8fc20a0 100644 (file)
@@ -41,12 +41,26 @@ fn mk_srv_from_file(file: str) -> srv {
 }
 
 fn build_ctxt(ast: @ast::crate) -> ctxt {
+
+    import rustc::front::config;
+
+    let ast = config::strip_unconfigured_items(ast);
+
     {
         ast: ast,
         map: ast_map::map_crate(*ast)
     }
 }
 
+#[test]
+fn should_prune_unconfigured_items() {
+    let source = "#[cfg(shut_up_and_leave_me_alone)]fn a() { }";
+    let srv = mk_srv_from_str(source);
+    exec(srv) {|ctxt|
+        assert vec::is_empty(ctxt.ast.node.module.items);
+    }
+}
+
 fn exec<T>(
     srv: srv,
     f: fn~(ctxt: ctxt) -> T