fix(parser): allow line breaks between const and enum (#8193)

https://www.typescriptlang.org/play/?ts=5.7.2#code/MYewdgzgLgUApmArgWwAQEFUG8C+Mg
This commit is contained in:
branchseer 2024-12-31 08:45:17 +08:00 committed by GitHub
parent ccaa9f71e1
commit f88acb331b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 19 additions and 9 deletions

View file

@ -318,7 +318,7 @@ impl<'a> ParserImpl<'a> {
}
match self.cur_kind() {
Kind::Const => !self.peek_token().is_on_new_line && self.peek_kind() == Kind::Enum,
Kind::Const => self.peek_kind() == Kind::Enum,
Kind::Export => {
self.bump_any();
match self.cur_kind() {

View file

@ -0,0 +1,2 @@
const
enum A {}

View file

@ -1,3 +1,3 @@
codegen_misc Summary:
AST Parsed : 30/30 (100.00%)
Positive Passed: 30/30 (100.00%)
AST Parsed : 31/31 (100.00%)
Positive Passed: 31/31 (100.00%)

View file

@ -1,6 +1,6 @@
parser_misc Summary:
AST Parsed : 30/30 (100.00%)
Positive Passed: 30/30 (100.00%)
AST Parsed : 31/31 (100.00%)
Positive Passed: 31/31 (100.00%)
Negative Passed: 26/26 (100.00%)
× Unexpected token

View file

@ -1,6 +1,6 @@
semantic_misc Summary:
AST Parsed : 30/30 (100.00%)
Positive Passed: 19/30 (63.33%)
AST Parsed : 31/31 (100.00%)
Positive Passed: 19/31 (61.29%)
tasks/coverage/misc/pass/oxc-1288.ts
semantic error: Bindings mismatch:
after transform: ScopeId(0): ["from"]
@ -170,3 +170,11 @@ semantic error: Scope children mismatch:
after transform: ScopeId(0): [ScopeId(1), ScopeId(2), ScopeId(3)]
rebuilt : ScopeId(0): [ScopeId(1), ScopeId(2)]
tasks/coverage/misc/pass/oxc-8193.ts
semantic error: Scope flags mismatch:
after transform: ScopeId(1): ScopeFlags(StrictMode)
rebuilt : ScopeId(1): ScopeFlags(StrictMode | Function)
Symbol flags mismatch for "A":
after transform: SymbolId(0): SymbolFlags(ConstEnum)
rebuilt : SymbolId(0): SymbolFlags(FunctionScopedVariable)

View file

@ -1,3 +1,3 @@
transformer_misc Summary:
AST Parsed : 30/30 (100.00%)
Positive Passed: 30/30 (100.00%)
AST Parsed : 31/31 (100.00%)
Positive Passed: 31/31 (100.00%)