(&mut self, src: Node, dest: Node, dep: Dependency)
| 197 | } |
| 198 | |
| 199 | pub fn add_edge(&mut self, src: Node, dest: Node, dep: Dependency) -> EdgeIndex { |
| 200 | let src_node = self.get_or_add_node(src); |
| 201 | let dest_node = self.get_or_add_node(dest); |
| 202 | let edge = (src_node, dest_node); |
| 203 | if self.edge_map.contains_key(&edge) { |
| 204 | let edge_idx = *self.edge_map.get(&edge).unwrap(); |
| 205 | if self.dense { |
| 206 | self.increase_edge_count(&edge_idx); |
| 207 | self.add_dependency(&edge_idx, dep); |
| 208 | } |
| 209 | return edge_idx; |
| 210 | } |
| 211 | let edge_idx = self |
| 212 | .graph |
| 213 | .add_edge(src_node, dest_node, EdgeWeight::from(dep)); |
| 214 | self.edge_map.insert(edge, edge_idx); |
| 215 | edge_idx |
| 216 | } |
| 217 | |
| 218 | pub fn increase_edge_count(&mut self, edge: &EdgeIndex) { |
| 219 | let edge_weight = self.graph.edge_weight_mut(*edge).unwrap(); |
no test coverage detected