(&mut self, name: String)
| 190 | } |
| 191 | |
| 192 | fn parse_ident_continuation(&mut self, name: String) -> Result<Expr, PromqlError> { |
| 193 | if matches!(self.peek(), Token::LParen) { |
| 194 | return self.parse_function_call(name); |
| 195 | } |
| 196 | let matchers = if matches!(self.peek(), Token::LBrace) { |
| 197 | self.parse_label_matchers()? |
| 198 | } else { |
| 199 | vec![] |
| 200 | }; |
| 201 | Ok(Expr::VectorSelector { |
| 202 | name: Some(name), |
| 203 | matchers, |
| 204 | offset: None, |
| 205 | }) |
| 206 | } |
| 207 | |
| 208 | fn parse_function_call(&mut self, name: String) -> Result<Expr, PromqlError> { |
| 209 | self.expect(&Token::LParen)?; |
no test coverage detected