diff --git a/.changeset/thin-cobras-taste.md b/.changeset/thin-cobras-taste.md new file mode 100644 index 000000000000..1d866c2b7e47 --- /dev/null +++ b/.changeset/thin-cobras-taste.md @@ -0,0 +1,6 @@ +--- +swc_ecma_parser: patch +swc_core: patch +--- + +fix(es/parser): Make `UnterminatedBlockComment` stick to the EOF diff --git a/crates/swc_ecma_parser/src/lexer/util.rs b/crates/swc_ecma_parser/src/lexer/util.rs index f67c4911ea1b..9c75644be3c0 100644 --- a/crates/swc_ecma_parser/src/lexer/util.rs +++ b/crates/swc_ecma_parser/src/lexer/util.rs @@ -290,7 +290,8 @@ impl<'a> Lexer<'a> { self.bump(); } - let span = Span::new(start, self.input.end_pos()); + let end = self.input.end_pos(); + let span = Span::new(end, end); self.emit_error_span(span, SyntaxError::UnterminatedBlockComment) } diff --git a/crates/swc_ecma_parser/tests/test262-error-references/fail/025560435ed0b9a6.js.swc-stderr b/crates/swc_ecma_parser/tests/test262-error-references/fail/025560435ed0b9a6.js.swc-stderr index d16869c95060..332ef0280723 100644 --- a/crates/swc_ecma_parser/tests/test262-error-references/fail/025560435ed0b9a6.js.swc-stderr +++ b/crates/swc_ecma_parser/tests/test262-error-references/fail/025560435ed0b9a6.js.swc-stderr @@ -1,6 +1,4 @@ x Unterminated block comment - ,-[$DIR/tests/test262-parser/fail/025560435ed0b9a6.js:1:1] - 1 | ,-> /* - 2 | | - 3 | `-> + ,-[$DIR/tests/test262-parser/fail/025560435ed0b9a6.js:3:2] + 3 | `---- diff --git a/crates/swc_ecma_parser/tests/test262-error-references/fail/100c329e6dd70e5a.js.swc-stderr b/crates/swc_ecma_parser/tests/test262-error-references/fail/100c329e6dd70e5a.js.swc-stderr index f8b3cae7e594..559e91f33cb5 100644 --- a/crates/swc_ecma_parser/tests/test262-error-references/fail/100c329e6dd70e5a.js.swc-stderr +++ b/crates/swc_ecma_parser/tests/test262-error-references/fail/100c329e6dd70e5a.js.swc-stderr @@ -1,5 +1,4 @@ x Unterminated block comment ,-[$DIR/tests/test262-parser/fail/100c329e6dd70e5a.js:1:1] 1 | /*
 - : ^^^ `---- diff --git a/crates/swc_ecma_parser/tests/test262-error-references/fail/1c6ba8177a9624f0.js.swc-stderr b/crates/swc_ecma_parser/tests/test262-error-references/fail/1c6ba8177a9624f0.js.swc-stderr index 96199c6bc84b..b5bbd033a646 100644 --- a/crates/swc_ecma_parser/tests/test262-error-references/fail/1c6ba8177a9624f0.js.swc-stderr +++ b/crates/swc_ecma_parser/tests/test262-error-references/fail/1c6ba8177a9624f0.js.swc-stderr @@ -1,5 +1,4 @@ x Unterminated block comment - ,-[$DIR/tests/test262-parser/fail/1c6ba8177a9624f0.js:1:1] + ,-[$DIR/tests/test262-parser/fail/1c6ba8177a9624f0.js:1:5] 1 | /* - : ^^^ `---- diff --git a/crates/swc_ecma_parser/tests/test262-error-references/fail/65a7e95d594ad7ad.js.swc-stderr b/crates/swc_ecma_parser/tests/test262-error-references/fail/65a7e95d594ad7ad.js.swc-stderr index 17ad12d3b7ab..023909f551e6 100644 --- a/crates/swc_ecma_parser/tests/test262-error-references/fail/65a7e95d594ad7ad.js.swc-stderr +++ b/crates/swc_ecma_parser/tests/test262-error-references/fail/65a7e95d594ad7ad.js.swc-stderr @@ -1,6 +1,5 @@ x Unterminated block comment - ,-[$DIR/tests/test262-parser/fail/65a7e95d594ad7ad.js:1:1] - 1 | ,-> /* - 2 | | - 3 | `-> * + ,-[$DIR/tests/test262-parser/fail/65a7e95d594ad7ad.js:3:1] + 2 | + 3 | * `---- diff --git a/crates/swc_ecma_parser/tests/test262-error-references/fail/766e0153d3f7ec95.js.swc-stderr b/crates/swc_ecma_parser/tests/test262-error-references/fail/766e0153d3f7ec95.js.swc-stderr index 4edebeb4302d..2a725d32e293 100644 --- a/crates/swc_ecma_parser/tests/test262-error-references/fail/766e0153d3f7ec95.js.swc-stderr +++ b/crates/swc_ecma_parser/tests/test262-error-references/fail/766e0153d3f7ec95.js.swc-stderr @@ -1,5 +1,4 @@ x Unterminated block comment ,-[$DIR/tests/test262-parser/fail/766e0153d3f7ec95.js:1:1] 1 | /* - : ^^ `---- diff --git a/crates/swc_ecma_parser/tests/test262-error-references/fail/86308fd40fa95e9d.js.swc-stderr b/crates/swc_ecma_parser/tests/test262-error-references/fail/86308fd40fa95e9d.js.swc-stderr index 30dde61840b7..b21f00fc2562 100644 --- a/crates/swc_ecma_parser/tests/test262-error-references/fail/86308fd40fa95e9d.js.swc-stderr +++ b/crates/swc_ecma_parser/tests/test262-error-references/fail/86308fd40fa95e9d.js.swc-stderr @@ -1,5 +1,4 @@ x Unterminated block comment ,-[$DIR/tests/test262-parser/fail/86308fd40fa95e9d.js:1:1] 1 | /*hello - : ^^^^^^^ `---- diff --git a/crates/swc_ecma_parser/tests/test262-error-references/fail/8d64a30d9de151b6.js.swc-stderr b/crates/swc_ecma_parser/tests/test262-error-references/fail/8d64a30d9de151b6.js.swc-stderr index 2044787ad645..30717ddd4ea5 100644 --- a/crates/swc_ecma_parser/tests/test262-error-references/fail/8d64a30d9de151b6.js.swc-stderr +++ b/crates/swc_ecma_parser/tests/test262-error-references/fail/8d64a30d9de151b6.js.swc-stderr @@ -1,5 +1,4 @@ x Unterminated block comment ,-[$DIR/tests/test262-parser/fail/8d64a30d9de151b6.js:1:1] 1 | /** - : ^^^ `---- diff --git a/crates/swc_ecma_parser/tests/test262-error-references/fail/ac1ee2739ad30d66.js.swc-stderr b/crates/swc_ecma_parser/tests/test262-error-references/fail/ac1ee2739ad30d66.js.swc-stderr index 38fd467bcba1..e713d7730b7c 100644 --- a/crates/swc_ecma_parser/tests/test262-error-references/fail/ac1ee2739ad30d66.js.swc-stderr +++ b/crates/swc_ecma_parser/tests/test262-error-references/fail/ac1ee2739ad30d66.js.swc-stderr @@ -1,5 +1,4 @@ x Unterminated block comment ,-[$DIR/tests/test262-parser/fail/ac1ee2739ad30d66.js:1:1] 0 | /* - : ^^ `---- diff --git a/crates/swc_ecma_parser/tests/test262-error-references/fail/d056300d8658429f.js.swc-stderr b/crates/swc_ecma_parser/tests/test262-error-references/fail/d056300d8658429f.js.swc-stderr index 85d475aefe5d..96460b0a6103 100644 --- a/crates/swc_ecma_parser/tests/test262-error-references/fail/d056300d8658429f.js.swc-stderr +++ b/crates/swc_ecma_parser/tests/test262-error-references/fail/d056300d8658429f.js.swc-stderr @@ -1,5 +1,4 @@ x Unterminated block comment ,-[$DIR/tests/test262-parser/fail/d056300d8658429f.js:1:1] 1 | /*
 - : ^^^ `---- diff --git a/crates/swc_ecma_parser/tests/test262-error-references/fail/e2cdddda85e8ffe1.js.swc-stderr b/crates/swc_ecma_parser/tests/test262-error-references/fail/e2cdddda85e8ffe1.js.swc-stderr index 9b8f31c84ba5..4106995805ae 100644 --- a/crates/swc_ecma_parser/tests/test262-error-references/fail/e2cdddda85e8ffe1.js.swc-stderr +++ b/crates/swc_ecma_parser/tests/test262-error-references/fail/e2cdddda85e8ffe1.js.swc-stderr @@ -1,5 +1,4 @@ x Unterminated block comment ,-[$DIR/tests/test262-parser/fail/e2cdddda85e8ffe1.js:1:1] 1 | /*hello * - : ^^^^^^^^^^ `----