about summary refs log tree commit diff
path: root/src/rustdoc
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2012-01-18 15:48:09 -0800
committerBrian Anderson <banderson@mozilla.com>2012-01-18 15:48:09 -0800
commitcbd7e8ed1bfe65b9559d46ff9fdf2e0939729fa8 (patch)
tree73483cfaaec871ee43a4a381c05293b3a460b41a /src/rustdoc
parent1b839a61c4ac44cd98195da424db00fa7d011b6a (diff)
downloadrust-cbd7e8ed1bfe65b9559d46ff9fdf2e0939729fa8.tar.gz
rust-cbd7e8ed1bfe65b9559d46ff9fdf2e0939729fa8.zip
rustdoc: Prune unconfigured items from AST
Diffstat (limited to 'src/rustdoc')
-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