var name = is("name") ? as_symbol(in_statement ? AST_SymbolDefun : AST_SymbolLambda) : null;
if (in_statement && !name)
unexpected();
+ if (name && ctor !== AST_Accessor && !(name instanceof AST_SymbolDeclaration))
+ unexpected(prev());
expect("(");
var argnames = [];
for (var first = true; !is("punc", ")");) {
assert.strictEqual(run_code(compressed), run_code(original));
});
+ it("should not parse invalid use of reserved words", function() {
+ assert.strictEqual(Uglify.minify("function enum(){}").error, undefined);
+ assert.strictEqual(Uglify.minify("function static(){}").error, undefined);
+ assert.strictEqual(Uglify.minify("function this(){}").error.message, "Unexpected token: name (this)");
+ });
+
describe("keep_quoted_props", function() {
it("Should preserve quotes in object literals", function() {
var js = 'var foo = {"x": 1, y: 2, \'z\': 3};';