From 8afb81aa34ccaa223c57eaeac8f0e06f7b3685d6 Mon Sep 17 00:00:00 2001 From: magic-akari Date: Sat, 11 Nov 2023 00:21:51 +0800 Subject: [PATCH] fix(parser): ASI of async class member (#1214) Co-authored-by: Boshen --- crates/oxc_parser/src/js/class.rs | 4 +++- tasks/coverage/misc/pass/swc-8253.js | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/crates/oxc_parser/src/js/class.rs b/crates/oxc_parser/src/js/class.rs index da7b13665..1e6a67602 100644 --- a/crates/oxc_parser/src/js/class.rs +++ b/crates/oxc_parser/src/js/class.rs @@ -200,7 +200,9 @@ impl<'a> Parser<'a> { // async ... if key_name.is_none() && self.at(Kind::Async) && !self.peek_at(Kind::Question) { - if self.peek_kind().is_class_element_name_start() || self.peek_at(Kind::Star) { + if !self.peek_token().is_on_new_line + && (self.peek_kind().is_class_element_name_start() || self.peek_at(Kind::Star)) + { self.bump(Kind::Async); r#async = true; } else { diff --git a/tasks/coverage/misc/pass/swc-8253.js b/tasks/coverage/misc/pass/swc-8253.js index 3c7e10a9d..c95838f26 100644 --- a/tasks/coverage/misc/pass/swc-8253.js +++ b/tasks/coverage/misc/pass/swc-8253.js @@ -1,6 +1,9 @@ class C { + async async foo() {} static + static + static bar() {} }