diff options
Diffstat (limited to 'tools/eslint/lib/rules/no-iterator.js')
-rw-r--r-- | tools/eslint/lib/rules/no-iterator.js | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tools/eslint/lib/rules/no-iterator.js b/tools/eslint/lib/rules/no-iterator.js new file mode 100644 index 0000000000..564c09abfa --- /dev/null +++ b/tools/eslint/lib/rules/no-iterator.js @@ -0,0 +1,26 @@ +/** + * @fileoverview Rule to flag usage of __iterator__ property + * @author Ian Christian Myers + */ + +"use strict"; + +//------------------------------------------------------------------------------ +// Rule Definition +//------------------------------------------------------------------------------ + +module.exports = function(context) { + + return { + + "MemberExpression": function(node) { + + if (node.property && + (node.property.type === "Identifier" && node.property.name === "__iterator__" && !node.computed) || + (node.property.type === "Literal" && node.property.value === "__iterator__")) { + context.report(node, "Reserved name '__iterator__'."); + } + } + }; + +}; |