Add reserved words to list unescapable keywords

Additionals:
* Update list reserved keywords
This commit is contained in:
Anthony Van de Gejuchte
2016-06-27 01:17:53 +02:00
committed by Richard van Velzen
parent 54a783ba84
commit fb2f8d1a51
2 changed files with 4 additions and 4 deletions

View File

@@ -46,8 +46,7 @@
var KEYWORDS = 'break case catch class const continue debugger default delete do else export extends finally for function if in instanceof new return switch throw try typeof var let void while with import';
var KEYWORDS_ATOM = 'false null true';
var RESERVED_WORDS = 'abstract boolean byte char class double enum export extends final float goto implements import int interface let long native package private protected public short static super synchronized this throws transient volatile'
+ " " + KEYWORDS_ATOM + " " + KEYWORDS;
var RESERVED_WORDS = 'enum implements interface package private protected public static super this' + KEYWORDS_ATOM + " " + KEYWORDS;
var KEYWORDS_BEFORE_EXPRESSION = 'return new delete throw else case yield';
KEYWORDS = makePredicate(KEYWORDS);
@@ -547,7 +546,7 @@ function tokenizer($TEXT, filename, html5_comments, shebang) {
}
name += ch;
}
if (KEYWORDS(name) && escaped) {
if (RESERVED_WORDS(name) && escaped) {
parse_error("SyntaxError: Escaped characters are not allowed in keywords");
}
return name;

View File

@@ -99,7 +99,8 @@ describe("Unicode", function() {
'var \\u0069\\u006e = "foo"', // in
'var \\u0076\\u0061\\u0072 = "bar"', // var
'var \\u{66}\\u{6f}\\u{72} = "baz"', // for
'var \\u0069\\u{66} = "foobar"' // if
'var \\u0069\\u{66} = "foobar"', // if
'var \\u{73}uper' // super
];
var exec = function(test) {