diff --git a/packages/svelte/src/compiler/phases/1-parse/js.js b/packages/svelte/src/compiler/phases/1-parse/js.js index ab82c2d8df..a4485b2864 100644 --- a/packages/svelte/src/compiler/phases/1-parse/js.js +++ b/packages/svelte/src/compiler/phases/1-parse/js.js @@ -169,15 +169,7 @@ export function read_params(parser) { export function read_statement(parser) { const start = parser.index; - const answer = read(parser, (js) => { - try { - return js.parseStatementAt(start); - } catch (err) { - if (/** @type {any} */ (err).code === 'unexpected_eof') - e.unexpected_eof(parser.template.length); - throw err; - } - }); + const answer = read(parser, (js) => js.parseStatementAt(start)); keep_tables(answer.node, tables(answer)); return answer.node; } @@ -209,7 +201,8 @@ function unsupported(kept) { * @returns {never} */ function handle_parse_error(err) { - e.js_parse_error(err.pos, err.message); + if (err.code === 'unexpected_eof') e.unexpected_eof(err.pos); + e.js_parse_error({ start: err.pos, end: err.end }, err.message); } /** diff --git a/packages/svelte/tests/compiler-errors/samples/malformed-snippet-2/_config.js b/packages/svelte/tests/compiler-errors/samples/malformed-snippet-2/_config.js index 05de749918..cc923455c7 100644 --- a/packages/svelte/tests/compiler-errors/samples/malformed-snippet-2/_config.js +++ b/packages/svelte/tests/compiler-errors/samples/malformed-snippet-2/_config.js @@ -4,6 +4,6 @@ export default test({ error: { code: 'js_parse_error', message: 'Unexpected token', - position: [21, 21] + position: [21, 22] } }); diff --git a/packages/svelte/tests/validator/samples/each-block-invalid-context-destructured/errors.json b/packages/svelte/tests/validator/samples/each-block-invalid-context-destructured/errors.json index 42c0eb3883..83cf0eec4a 100644 --- a/packages/svelte/tests/validator/samples/each-block-invalid-context-destructured/errors.json +++ b/packages/svelte/tests/validator/samples/each-block-invalid-context-destructured/errors.json @@ -8,7 +8,7 @@ }, "end": { "line": 1, - "column": 17 + "column": 21 } } ]