@@ -4511,13 +4511,13 @@ impl<'a> Parser<'a> {
45114511 /// consumed and returns false
45124512 #[must_use]
45134513 pub fn parse_keywords(&mut self, keywords: &[Keyword]) -> bool {
4514- self.parse_keywords_ (keywords).is_some()
4514+ self.parse_keywords_indexed (keywords).is_some()
45154515 }
45164516
45174517 /// Just like [Self::parse_keywords], but - upon success - returns the
45184518 /// token index of the first keyword.
45194519 #[must_use]
4520- fn parse_keywords_ (&mut self, keywords: &[Keyword]) -> Option<usize> {
4520+ fn parse_keywords_indexed (&mut self, keywords: &[Keyword]) -> Option<usize> {
45214521 let start_index = self.index;
45224522 let mut first_keyword_index = None;
45234523 match keywords {
@@ -14191,12 +14191,13 @@ impl<'a> Parser<'a> {
1419114191 pub fn maybe_parse_connect_by(&mut self) -> Result<Vec<ConnectByKind>, ParserError> {
1419214192 let mut clauses = Vec::with_capacity(2);
1419314193 loop {
14194- if let Some(idx) = self.parse_keywords_ (&[Keyword::START, Keyword::WITH]) {
14194+ if let Some(idx) = self.parse_keywords_indexed (&[Keyword::START, Keyword::WITH]) {
1419514195 clauses.push(ConnectByKind::StartWith {
1419614196 start_token: self.token_at(idx).clone().into(),
1419714197 condition: self.parse_expr()?.into(),
1419814198 });
14199- } else if let Some(idx) = self.parse_keywords_(&[Keyword::CONNECT, Keyword::BY]) {
14199+ } else if let Some(idx) = self.parse_keywords_indexed(&[Keyword::CONNECT, Keyword::BY])
14200+ {
1420014201 clauses.push(ConnectByKind::ConnectBy {
1420114202 connect_token: self.token_at(idx).clone().into(),
1420214203 nocycle: self.parse_keyword(Keyword::NOCYCLE),
0 commit comments