From cbd7e8ed1bfe65b9559d46ff9fdf2e0939729fa8 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Wed, 18 Jan 2012 15:48:09 -0800 Subject: [PATCH] rustdoc: Prune unconfigured items from AST --- src/rustdoc/astsrv.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) 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( srv: srv, f: fn~(ctxt: ctxt) -> T