From 2e0dc970037b3a22fb367ab77c5fe506317ee40b Mon Sep 17 00:00:00 2001 From: "Alex Lam S.L" Date: Fri, 24 Mar 2017 14:28:40 +0800 Subject: [PATCH] improve error marker placement (#1644) For AST_UnaryPrefix, points to the operator rather than end of expression. --- lib/parse.js | 2 +- test/mocha/cli.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/parse.js b/lib/parse.js index 99d7ce09..1ccde26a 100644 --- a/lib/parse.js +++ b/lib/parse.js @@ -1457,7 +1457,7 @@ function parse($TEXT, options) { function make_unary(ctor, op, expr) { if ((op == "++" || op == "--") && !is_assignable(expr)) - croak("Invalid use of " + op + " operator"); + croak("Invalid use of " + op + " operator", null, ctor === AST_UnaryPrefix ? expr.start.col - 1 : null); return new ctor({ operator: op, expression: expr }); }; diff --git a/test/mocha/cli.js b/test/mocha/cli.js index 33749045..b956309a 100644 --- a/test/mocha/cli.js +++ b/test/mocha/cli.js @@ -298,9 +298,9 @@ describe("bin/uglifyjs", function () { assert.ok(err); assert.strictEqual(stdout, ""); assert.strictEqual(stderr.split(/\n/).slice(0, 4).join("\n"), [ - "Parse error at test/input/invalid/assign_3.js:1,23", + "Parse error at test/input/invalid/assign_3.js:1,18", "console.log(3 || ++this);", - " ^", + " ^", "SyntaxError: Invalid use of ++ operator" ].join("\n")); done(); -- 2.34.1