(&self)
| 42 | } |
| 43 | |
| 44 | pub fn node_patterns(&self) -> impl Iterator<Item = &NodePattern> + '_ { |
| 45 | self.clauses() |
| 46 | .iter() |
| 47 | .filter_map(|clause| match clause { |
| 48 | Clause::Match(m) => { |
| 49 | let iter = m.pattern.0.iter().map(|part: &PatternPart| { |
| 50 | std::iter::once(&part.node) |
| 51 | .chain(part.rel_chain.iter().map(|(_, node)| node)) |
| 52 | }); |
| 53 | Some(iter) |
| 54 | } |
| 55 | _ => None, |
| 56 | }) |
| 57 | .flatten() |
| 58 | .flatten() |
| 59 | } |
| 60 | |
| 61 | pub fn node_patterns_mut(&mut self) -> impl Iterator<Item = &mut NodePattern> + '_ { |
| 62 | self.clauses_mut() |
no test coverage detected