Allow the ZWJ and ZWNJ characters in IdentifierPart as per ES5.

Patch from Mathias Bynens <mathias@qiwi.be>
BUG=1958
TEST=Try `var a\u200c\u200d;` and confirm it doesn't throw an error.

Review URL: https://chromiumcodereview.appspot.com/9433031
Patch from Mathias Bynens <mathias@qiwi.be>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10800 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
lrn@chromium.org 2012-02-23 08:15:45 +00:00
parent c6d9454dff
commit 5468fbb19e
2 changed files with 3 additions and 0 deletions

View File

@ -31,6 +31,7 @@ John Jozwiak <jjozwiak@codeaurora.org>
Jonathan Liu <net147@gmail.com>
Kun Zhang <zhangk@codeaurora.org>
Martyn Capewell <martyn.capewell@arm.com>
Mathias Bynens <mathias@qiwi.be>
Matt Hanselman <mjhanselman@gmail.com>
Maxim Mossienko <maxim.mossienko@gmail.com>
Michael Lutz <michi@icosahedron.de>

View File

@ -57,6 +57,8 @@ struct IdentifierPart {
static inline bool Is(uc32 c) {
return IdentifierStart::Is(c)
|| unibrow::Number::Is(c)
|| c == 0x200C // U+200C is Zero-Width Non-Joiner.
|| c == 0x200D // U+200D is Zero-Width Joiner.
|| unibrow::CombiningMark::Is(c)
|| unibrow::ConnectorPunctuation::Is(c);
}