Skip validate_arguments when empty

This commit is contained in:
Jeong YunWon 2023-05-18 20:09:57 +09:00
parent 531e41ae2c
commit 6a85b99240
2 changed files with 21 additions and 25 deletions

View file

@ -956,18 +956,16 @@ FuncDef: ast::Stmt = {
Parameters: ast::Arguments = {
<location:@L> "(" <a: (ParameterList<TypedParameter, StarTypedParameter>)?> ")" <end_location:@R> =>? {
let args = validate_arguments(
a.unwrap_or_else(|| ast::Arguments {
posonlyargs: vec![],
args: vec![],
vararg: None,
kwonlyargs: vec![],
kw_defaults: vec![],
kwarg: None,
defaults: vec![],
range: optional_range(location, end_location)
})
)?;
let args = a.map(validate_arguments).transpose()?.unwrap_or_else(|| ast::Arguments {
posonlyargs: vec![],
args: vec![],
vararg: None,
kwonlyargs: vec![],
kw_defaults: vec![],
kwarg: None,
defaults: vec![],
range: optional_range(location, end_location)
});
Ok(args)
}

24
parser/src/python.rs generated
View file

@ -1,5 +1,5 @@
// auto-generated: "lalrpop 0.20.0"
// sha3: 47b783562ed1a6b737bc43a6a32667a7c2d2a8d317902061795979684331efe1
// sha3: 9e916a859a8029803a1b64fb6ea9d62f79fbdf896a3673c49e79bd5e8068f2f5
use crate::{
ast::{self as ast, Ranged},
lexer::{LexicalError, LexicalErrorType},
@ -30732,18 +30732,16 @@ fn __action156<
) -> Result<ast::Arguments,__lalrpop_util::ParseError<TextSize,token::Tok,LexicalError>>
{
{
let args = validate_arguments(
a.unwrap_or_else(|| ast::Arguments {
posonlyargs: vec![],
args: vec![],
vararg: None,
kwonlyargs: vec![],
kw_defaults: vec![],
kwarg: None,
defaults: vec![],
range: optional_range(location, end_location)
})
)?;
let args = a.map(validate_arguments).transpose()?.unwrap_or_else(|| ast::Arguments {
posonlyargs: vec![],
args: vec![],
vararg: None,
kwonlyargs: vec![],
kw_defaults: vec![],
kwarg: None,
defaults: vec![],
range: optional_range(location, end_location)
});
Ok(args)
}