digraph fn_gen_if_statement { labelloc="t"; graph [fontname = "cc wild words"]; node [fontname = "cc wild words"]; edge [fontname = "cc wild words"]; label="fn_gen_if_statement(with_return: Option)"; fontname=lovebeat; rankdir=TB; newrank=true; a [label="gen_boolean()" shape=diamond style=filled fillcolor=lightsalmon]; b [label="push new scope"]; c [label="gen_statement(with_return)" shape=diamond style=filled fillcolor=lightsalmon]; d [label="choice"]; e [label="else if"]; f [label="gen_if_statement(with_return)" shape=diamond style=filled fillcolor=lightsalmon]; g [label="else"]; h [label="push new scope"]; i [label="gen_statement(with_return)" shape=diamond style=filled fillcolor=lightsalmon]; j [label="return" style=filled fillcolor=lightskyblue1]; {rank=same; e g} {rank=same; f i} a -> b -> c -> d; d -> e -> f -> d; d -> g -> h -> i -> j; d -> j; c -> c [dir=back]; i -> i [dir=back]; }