diff --git a/src/acorn/src/lookahead.js b/src/acorn/src/lookahead.js index 8eb3c96ef3..45854478e9 100644 --- a/src/acorn/src/lookahead.js +++ b/src/acorn/src/lookahead.js @@ -18,17 +18,19 @@ var STATE_KEYS = [ ]; pp.getState = function () { - var state = {}; + var state = {} for (var i = 0; i < STATE_KEYS.length; i++) { - var key = STATE_KEYS[i]; - state[key] = this[key]; + var key = STATE_KEYS[i] + state[key] = this[key] } - return state; + return state }; pp.lookahead = function() { var old = this.getState(); - this.next(); + this.isLookahead = true + this.next() + this.isLookahead = false var curr = this.getState(); for (var key in old) this[key] = old[key]; return curr; diff --git a/src/acorn/src/tokenize.js b/src/acorn/src/tokenize.js index fbb0617659..a844b7a2d9 100755 --- a/src/acorn/src/tokenize.js +++ b/src/acorn/src/tokenize.js @@ -28,7 +28,7 @@ const pp = Parser.prototype // Move to the next token pp.next = function() { - if (this.options.onToken) + if (this.options.onToken && !this.isLookahead) this.options.onToken(new Token(this)) this.lastTokEnd = this.end