Assign the index before the body so order matches paren order. */
(&mut self, name: String)
| 188 | |
| 189 | /* Assign the index before the body so order matches paren order. */ |
| 190 | fn named_group(&mut self, name: String) -> Result<Node, ParseError> { |
| 191 | self.group_count += 1; |
| 192 | let index = self.group_count; |
| 193 | self.names.push((name.clone(), index)); |
| 194 | let node = self.alternation()?; |
| 195 | self.expect(')')?; |
| 196 | Ok(Node::Group { index, name: Some(name), node: Box::new(node) }) |
| 197 | } |
| 198 | |
| 199 | fn named_backref(&mut self, name: &str) -> Result<Node, ParseError> { |
| 200 | let idx = self.names.iter().find(|(n, _)| n == name).map(|(_, i)| *i); |
no test coverage detected