| 87 | } |
| 88 | |
| 89 | fn construct_edges(&mut self, nodes: Vec<DotNode>, edges: Vec<DotEdge>) { |
| 90 | for edge in edges { |
| 91 | let from = edge.src; |
| 92 | let to = edge.dst; |
| 93 | let src = nodes.iter().find(|x| x.id == from).unwrap(); |
| 94 | let dst = nodes.iter().find(|x| x.id == to).unwrap(); |
| 95 | let src_node = self.node_map.get(&src.label).unwrap(); |
| 96 | let dst_node = self.node_map.get(&dst.label).unwrap(); |
| 97 | |
| 98 | self.graph.add_edge(*src_node, *dst_node, 0); |
| 99 | } |
| 100 | } |
| 101 | |
| 102 | pub fn get_direct_callees(&self, func: &str) -> Vec<&str> { |
| 103 | let node = self |