LGTM

http://codereview.chromium.org/7207007/diff/1/src/parser.cc
File src/parser.cc (right):

http://codereview.chromium.org/7207007/diff/1/src/parser.cc#newcode3861
src/parser.cc:3861: Handle<String> Parser::ParseIdentifier(bool* ok) {
Makes sense when explained :)

http://codereview.chromium.org/7207007/diff/1/test/mjsunit/keywords-and-reserved_words.js
File test/mjsunit/keywords-and-reserved_words.js (right):

http://codereview.chromium.org/7207007/diff/1/test/mjsunit/keywords-and-reserved_words.js#newcode101
test/mjsunit/keywords-and-reserved_words.js:101: assertThrows("var x = {
get foo(" + word + ") { } };", SyntaxError);
Most likely a bad cut-n-paste :).

http://codereview.chromium.org/7207007/diff/1/test/mjsunit/keywords-and-reserved_words.js#newcode137
test/mjsunit/keywords-and-reserved_words.js:137: "if",           "with"
];
On 2011/06/24 11:34:59, Steven wrote:
This one is nasty. 'var \u0069f;' works but 'eval("var \u0069f;");'
does not.
What exactly would you like to test here?

You have string-escaping to account for, so it should be eval("var
\\u0069f").

Perhaps check that
  "\\u" + ToHexQuad(keyword.charCodeAt(0)) + keyword.substring(1)
(with a suitable implementation of ToHexQuad) is an identifier, not a
keyword.

(But it's not important to do it now, save it for a different CL).

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

http://codereview.chromium.org/7207007/diff/1/test/mjsunit/strict-mode.js#newcode374
test/mjsunit/strict-mode.js:374: eval("var x = { set " + word + "
(value) { 'use strict'; } };");
Sounds fine.

http://codereview.chromium.org/7207007/

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

Reply via email to