From 60178c3d6845e7944025cf08e5e9354a8bf85677 Mon Sep 17 00:00:00 2001 From: Marijn Haverbeke Date: Mon, 24 Sep 2012 22:06:44 +0200 Subject: [PATCH] Shuffle parseExprAtom for expected probabilities --- acorn.js | 41 +++++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/acorn.js b/acorn.js index 9e7849b7e1..5cfca5bd78 100644 --- a/acorn.js +++ b/acorn.js @@ -461,9 +461,26 @@ } function parseExprAtom() { - if (tokType === _new) return parseNew(); - switch (tokType) { + case _name: + if (tokVal === "this") { + var node = startNode(); + next(); + return finishNode(node, "ThisExpression"); + } else return parseIdent(); + + case _num: case _string: case _regexp: + var node = startNode(); + node.value = tokVal; + next(); + return finishNode(node, "Literal"); + + case _null: case _true: case _false: + var node = startNode(); + node.value = tokType.atomValue; + next(); + return finishNode(node, "Literal"); + case _parenL: next(); var val = parseExpression(); @@ -484,24 +501,8 @@ next(); return parseFunction(node, false); - case _num: case _string: case _regexp: - var node = startNode(); - node.value = tokVal; - next(); - return finishNode(node, "Literal"); - - case _null: case _true: case _false: - var node = startNode(); - node.value = tokType.atomValue; - next(); - return finishNode(node, "Literal"); - - case _name: - if (tokVal === "this") { - var node = startNode(); - next(); - return finishNode(node, "ThisExpression"); - } else return parseIdent(); + case _new: + return parseNew(); default: unexpected();