diff options
-rw-r--r-- | src/ir/dot.rs | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/src/ir/dot.rs b/src/ir/dot.rs index 6d666f09..1181c32c 100644 --- a/src/ir/dot.rs +++ b/src/ir/dot.rs @@ -32,10 +32,17 @@ where let mut err: Option<io::Result<_>> = None; for (id, item) in ctx.items() { + let is_whitelisted = ctx.whitelisted_items().contains(id); + try!(writeln!( &mut dot_file, - r#"{} [fontname="courier", label=< <table border="0" align="left">"#, - id.as_usize() + r#"{} [fontname="courier", color={}, label=< <table border="0" align="left">"#, + id.as_usize(), + if is_whitelisted { + "black" + } else { + "gray" + } )); try!(item.dot_attributes(ctx, &mut dot_file)); try!(writeln!(&mut dot_file, r#"</table> >];"#)); @@ -49,10 +56,15 @@ where match writeln!( &mut dot_file, - "{} -> {} [label={:?}];", + "{} -> {} [label={:?}, color={}];", id.as_usize(), sub_id.as_usize(), - edge_kind + edge_kind, + if is_whitelisted { + "black" + } else { + "gray" + } ) { Ok(_) => {} Err(e) => err = Some(Err(e)), @@ -69,7 +81,7 @@ where for child in module.children() { try!(writeln!( &mut dot_file, - "{} -> {} [style=dotted]", + "{} -> {} [style=dotted, color=gray]", item.id().as_usize(), child.as_usize() )); |