summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ir/dot.rs22
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()
));