Fix ice caused by shorthand fields in NoFieldsForFnCall

This commit is contained in:
yukang 2023-05-13 18:06:16 +08:00
parent 69fef92ab2
commit ce6cfc37d0
3 changed files with 29 additions and 0 deletions

View file

@ -1180,6 +1180,13 @@ impl<'a> Parser<'a> {
self.restore_snapshot(snapshot);
let close_paren = self.prev_token.span;
let span = lo.to(close_paren);
// filter shorthand fields
let fields: Vec<_> = fields
.into_iter()
.filter_map(
|field| if !field.is_shorthand { Some(field) } else { None },
)
.collect();
if !fields.is_empty() &&
// `token.kind` should not be compared here.
// This is because the `snapshot.token.kind` is treated as the same as