(&mut self, vertex: BasicBlock)
| 199 | } |
| 200 | |
| 201 | fn component(&mut self, vertex: BasicBlock) -> WtoCircle { |
| 202 | let mut partition = Vec::new(); |
| 203 | for succ in self.cfg.basic_blocks.successors(vertex) { |
| 204 | if self.dfn[&succ] == 0 { |
| 205 | self.visit(succ, &mut partition); |
| 206 | } |
| 207 | } |
| 208 | // partition.push(Box::new(WtoVertex::new(vertex))); |
| 209 | partition.reverse(); |
| 210 | WtoCircle::new(vertex, partition) |
| 211 | } |
| 212 | |
| 213 | fn visit(&mut self, vertex: BasicBlock, partition: &mut Vec<WtoComponent>) -> u32 { |
| 214 | self.push(vertex); |