don't consider eval and arguments valid identifiers - fixes #1232

This commit is contained in:
Sebastian McKenzie 2015-04-11 20:45:44 -07:00
parent 274a6e01dc
commit edc2cd320c

View File

@ -115,7 +115,10 @@ export function isReferencedIdentifier(node: Object, parent: Object, opts?: Obje
*/
export function isValidIdentifier(name: string): boolean {
return isString(name) && esutils.keyword.isIdentifierNameES6(name) && !esutils.keyword.isReservedWordES6(name, true);
if (!isString(name)) return false;
if (esutils.keyword.isReservedWordES6(name, true)) return false;
if (name === "eval" || name === "arguments") return false;
return esutils.keyword.isIdentifierNameES6(name);
}
/**