| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 | 
							- /**
 
-  * @author Toru Nagashima <https://github.com/mysticatea>
 
-  * See LICENSE file in root directory for full license.
 
-  */
 
- "use strict"
 
- // https://www-archive.mozilla.org/js/language/E262-3.pdf
 
- const keywords = new Set([
 
-     "abstract",
 
-     "boolean",
 
-     "break",
 
-     "byte",
 
-     "case",
 
-     "catch",
 
-     "char",
 
-     "class",
 
-     "const",
 
-     "continue",
 
-     "debugger",
 
-     "default",
 
-     "delete",
 
-     "do",
 
-     "double",
 
-     "else",
 
-     "enum",
 
-     "export",
 
-     "extends",
 
-     "false",
 
-     "final",
 
-     "finally",
 
-     "float",
 
-     "for",
 
-     "function",
 
-     "goto",
 
-     "if",
 
-     "implements",
 
-     "import",
 
-     "in",
 
-     "instanceof",
 
-     "int",
 
-     "interface",
 
-     "long",
 
-     "native",
 
-     "new",
 
-     "null",
 
-     "package",
 
-     "private",
 
-     "protected",
 
-     "public",
 
-     "return",
 
-     "short",
 
-     "static",
 
-     "super",
 
-     "switch",
 
-     "synchronized",
 
-     "this",
 
-     "throw",
 
-     "throws",
 
-     "transient",
 
-     "true",
 
-     "try",
 
-     "typeof",
 
-     "var",
 
-     "void",
 
-     "volatile",
 
-     "while",
 
-     "with",
 
- ])
 
- module.exports = {
 
-     meta: {
 
-         docs: {
 
-             description: "disallow reserved words as property names.",
 
-             category: "ES5",
 
-             recommended: false,
 
-             url:
 
-                 "http://mysticatea.github.io/eslint-plugin-es/rules/no-keyword-properties.html",
 
-         },
 
-         fixable: null,
 
-         schema: [],
 
-         messages: {
 
-             forbidden: "ES5 reserved words as property names are forbidden.",
 
-         },
 
-     },
 
-     create(context) {
 
-         return {
 
-             Property(node) {
 
-                 if (
 
-                     !node.computed &&
 
-                     node.key.type === "Identifier" &&
 
-                     keywords.has(node.key.name)
 
-                 ) {
 
-                     context.report({ node, messageId: "forbidden" })
 
-                 }
 
-             },
 
-             MemberExpression(node) {
 
-                 if (
 
-                     !node.computed &&
 
-                     node.property.type === "Identifier" &&
 
-                     keywords.has(node.property.name)
 
-                 ) {
 
-                     context.report({ node, messageId: "forbidden" })
 
-                 }
 
-             },
 
-         }
 
-     },
 
- }
 
 
  |