LGTM.

http://codereview.chromium.org/6335013/diff/1/src/messages.js
File src/messages.js (right):

http://codereview.chromium.org/6335013/diff/1/src/messages.js#newcode240
src/messages.js:240: strict_lhs_postfix:           "Operand of postfix
expression may not be eval or arguments in strict mode",
Unless this is what Webkit uses as error message (we should generally
match those), it should say that it's only increment/decrement postfix
and prefix operators that must not be eval or arguments (i.e., when the
operand must be an LValue), and not, e.g., the "!" operator.

http://codereview.chromium.org/6335013/diff/1/src/parser.h
File src/parser.h (right):

http://codereview.chromium.org/6335013/diff/1/src/parser.h#newcode617
src/parser.h:617: void CheckStrictModeLHSName(Expression* expression,
I prefer LValue to LHS. We *try*, without being completely successful,
to avoid abbreviations in names, except where the abbreviation is the
common way to refer to the concept (e.g., JSON, ASCII, etc.)
To me LValue is a canonical name, but LHS is just an abbreviation.
That's obviously purely subjective :)

http://codereview.chromium.org/6335013/diff/1/test/mjsunit/strict-mode.js
File test/mjsunit/strict-mode.js (right):

http://codereview.chromium.org/6335013/diff/1/test/mjsunit/strict-mode.js#newcode187
test/mjsunit/strict-mode.js:187:
Try a compound assignment operator as well, e.g., "-=".

http://codereview.chromium.org/6335013/diff/1/test/mjsunit/strict-mode.js#newcode218
test/mjsunit/strict-mode.js:218: CheckStrictMode("function strict() {
var x = --arguments; }", SyntaxError)
Check that not-lvalue-operand operators doesn't throw, e.g., "!" or "-".

http://codereview.chromium.org/6335013/

--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to