| 198 | #[cfg(feature = "visitable")] |
| 199 | impl crate::Visit for ControlFlowTestVisitor { |
| 200 | fn consider_node(&self, node: crate::VisitNode) -> VisitFlow { |
| 201 | if let Some(filter_span) = self.span_filter { |
| 202 | let span = node.span; |
| 203 | // Prune if no overlap: span must share at least one byte with filter_span. |
| 204 | if span.start() >= filter_span.end() || filter_span.start() >= span.end() { |
| 205 | return VisitFlow::SKIP_CHILDREN; |
| 206 | } |
| 207 | } |
| 208 | VisitFlow::DESCEND |
| 209 | } |
| 210 | |
| 211 | fn enter_node(&mut self, node: crate::VisitNode) -> VisitFlow { |
| 212 | let node_id = node.node_id.unwrap(); |