about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/rustdoc/astsrv.rs14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/rustdoc/astsrv.rs b/src/rustdoc/astsrv.rs
index 4bdf4498d63..ca1d86ed353 100644
--- a/src/rustdoc/astsrv.rs
+++ b/src/rustdoc/astsrv.rs
@@ -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