public void Visit(string methodName, IControlFlowGraph cfg) { writer.WriteGraphStart(methodName); foreach (var block in cfg.Blocks) { Visit(block); } writer.WriteGraphEnd(); }
public void Visit(string methodName, UCFG ucfg) { writer.WriteGraphStart(methodName); writer.WriteNode("ENTRY", "ENTRY", ucfg.Parameters.ToArray()); foreach (var entry in ucfg.Entries) { writer.WriteEdge("ENTRY", entry, string.Empty); } foreach (var block in ucfg.BasicBlocks) { Visit(block); } writer.WriteNode("EXIT", "EXIT"); writer.WriteGraphEnd(); }