MCPcopy Create free account
hub / github.com/MaterializeInc/materialize / parse_sequence

Method parse_sequence

src/sql-parser/src/parser.rs:6912–6934  ·  view source on GitHub ↗
(&mut self, mut f: F)

Source from the content-addressed store, hash-verified

6910 }
6911
6912 fn parse_sequence<F>(&mut self, mut f: F) -> Result<Vec<Expr<Raw>>, ParserError>
6913 where
6914 F: FnMut(&mut Self) -> Result<Expr<Raw>, ParserError>,
6915 {
6916 self.expect_token(&Token::LBracket)?;
6917 let mut exprs = vec![];
6918 loop {
6919 if let Some(Token::RBracket) = self.peek_token() {
6920 break;
6921 }
6922 let expr = if let Some(Token::LBracket) = self.peek_token() {
6923 f(self)?
6924 } else {
6925 self.parse_expr()?
6926 };
6927 exprs.push(expr);
6928 if !self.consume_token(&Token::Comma) {
6929 break;
6930 }
6931 }
6932 self.expect_token(&Token::RBracket)?;
6933 Ok(exprs)
6934 }
6935
6936 fn parse_number_value(&mut self) -> Result<Value, ParserError> {
6937 match self.parse_value()? {

Callers 2

parse_arrayMethod · 0.80
parse_listMethod · 0.80

Calls 5

expect_tokenMethod · 0.80
peek_tokenMethod · 0.80
parse_exprMethod · 0.80
consume_tokenMethod · 0.80
pushMethod · 0.45

Tested by

no test coverage detected