Skip to content

Commit 6a6fe12

Browse files
committed
Feedback
1 parent 018992b commit 6a6fe12

File tree

1 file changed

+10
-21
lines changed

1 file changed

+10
-21
lines changed

src/parser/mod.rs

Lines changed: 10 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -10395,10 +10395,6 @@ impl<'a> Parser<'a> {
1039510395
quote_style: None,
1039610396
span,
1039710397
}));
10398-
} else if let Some(func_part) =
10399-
self.maybe_parse(|parser| parser.parse_object_name_function_part())?
10400-
{
10401-
parts.push(ObjectNamePart::Function(func_part));
1040210398
} else if dialect_of!(self is BigQueryDialect) && in_table_clause {
1040310399
let (ident, end_with_period) = self.parse_unquoted_hyphenated_identifier()?;
1040410400
parts.push(ObjectNamePart::Identifier(ident));
@@ -10413,7 +10409,16 @@ impl<'a> Parser<'a> {
1041310409
parts.push(ObjectNamePart::Identifier(Ident::new("")));
1041410410
} else {
1041510411
let ident = self.parse_identifier()?;
10416-
parts.push(ObjectNamePart::Identifier(ident));
10412+
let part = if self.dialect.is_identifier_generating_function_name(&ident) {
10413+
self.expect_token(&Token::LParen)?;
10414+
let args: Vec<FunctionArg> =
10415+
self.parse_comma_separated0(Self::parse_function_args, Token::RParen)?;
10416+
self.expect_token(&Token::RParen)?;
10417+
ObjectNamePart::Function(ObjectNamePartFunction { name: ident, args })
10418+
} else {
10419+
ObjectNamePart::Identifier(ident)
10420+
};
10421+
parts.push(part);
1041710422
}
1041810423

1041910424
if !self.consume_token(&Token::Period) {
@@ -10452,22 +10457,6 @@ impl<'a> Parser<'a> {
1045210457
Ok(ObjectName(parts))
1045310458
}
1045410459

10455-
fn parse_object_name_function_part(&mut self) -> Result<ObjectNamePartFunction, ParserError> {
10456-
let name = self.parse_identifier()?;
10457-
if self.dialect.is_identifier_generating_function_name(&name) {
10458-
self.expect_token(&Token::LParen)?;
10459-
let args: Vec<FunctionArg> =
10460-
self.parse_comma_separated0(Self::parse_function_args, Token::RParen)?;
10461-
self.expect_token(&Token::RParen)?;
10462-
Ok(ObjectNamePartFunction { name, args })
10463-
} else {
10464-
self.expected(
10465-
"dialect specific identifier-generating function",
10466-
self.peek_token(),
10467-
)
10468-
}
10469-
}
10470-
1047110460
/// Parse identifiers
1047210461
pub fn parse_identifiers(&mut self) -> Result<Vec<Ident>, ParserError> {
1047310462
let mut idents = vec![];

0 commit comments

Comments
 (0)