From edc2cd320c92a7322d264a086172d89b31bad1fa Mon Sep 17 00:00:00 2001 From: Sebastian McKenzie Date: Sat, 11 Apr 2015 20:45:44 -0700 Subject: [PATCH] don't consider eval and arguments valid identifiers - fixes #1232 --- src/babel/types/validators.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/babel/types/validators.js b/src/babel/types/validators.js index fc1a9e572e..9fb1403c5b 100644 --- a/src/babel/types/validators.js +++ b/src/babel/types/validators.js @@ -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); } /**