Bail out if the current token is not one of the expected tokens, or consume it if it is
(&mut self, tokens: &[Token])
| 1955 | |
| 1956 | /// Bail out if the current token is not one of the expected tokens, or consume it if it is |
| 1957 | fn expect_one_of_tokens(&mut self, tokens: &[Token]) -> Result<Token, ParserError> { |
| 1958 | match self.peek_token() { |
| 1959 | Some(t) if tokens.iter().find(|token| t == **token).is_some() => { |
| 1960 | let _ = self.next_token(); |
| 1961 | Ok(t) |
| 1962 | } |
| 1963 | _ => self.expected( |
| 1964 | self.peek_pos(), |
| 1965 | format!("one of {}", tokens.iter().join(" or ")), |
| 1966 | self.peek_token(), |
| 1967 | ), |
| 1968 | } |
| 1969 | } |
| 1970 | |
| 1971 | /// Bail out if the current token is not an expected keyword or token, or consume it if it is |
| 1972 | fn expect_keyword_or_token( |
no test coverage detected