| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 | 
							- /**
 
-  * @fileoverview The visitor keys for the node types Espree supports
 
-  * @author Nicholas C. Zakas
 
-  *
 
-  * This file contains code from estraverse-fb.
 
-  *
 
-  * The MIT license. Copyright (c) 2014 Ingvar Stepanyan
 
-  *
 
-  * Permission is hereby granted, free of charge, to any person obtaining a copy
 
-  * of this software and associated documentation files (the "Software"), to deal
 
-  * in the Software without restriction, including without limitation the rights
 
-  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 
-  * copies of the Software, and to permit persons to whom the Software is
 
-  * furnished to do so, subject to the following conditions:
 
-  *
 
-  * The above copyright notice and this permission notice shall be included in all
 
-  * copies or substantial portions of the Software.
 
-  *
 
-  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 
-  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 
-  *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 
-  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 
-  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 
-  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 
-  * SOFTWARE.
 
-  */
 
- "use strict";
 
- //------------------------------------------------------------------------------
 
- // Requirements
 
- //------------------------------------------------------------------------------
 
- // None!
 
- //------------------------------------------------------------------------------
 
- // Public
 
- //------------------------------------------------------------------------------
 
- module.exports = {
 
-     // ECMAScript
 
-     AssignmentExpression: ["left", "right"],
 
-     AssignmentPattern: ["left", "right"],
 
-     ArrayExpression: ["elements"],
 
-     ArrayPattern: ["elements"],
 
-     ArrowFunctionExpression: ["params", "body"],
 
-     BlockStatement: ["body"],
 
-     BinaryExpression: ["left", "right"],
 
-     BreakStatement: ["label"],
 
-     CallExpression: ["callee", "arguments"],
 
-     CatchClause: ["param", "body"],
 
-     ClassBody: ["body"],
 
-     ClassDeclaration: ["id", "superClass", "body"],
 
-     ClassExpression: ["id", "superClass", "body"],
 
-     ConditionalExpression: ["test", "consequent", "alternate"],
 
-     ContinueStatement: ["label"],
 
-     DebuggerStatement: [],
 
-     DirectiveStatement: [],
 
-     DoWhileStatement: ["body", "test"],
 
-     EmptyStatement: [],
 
-     ExportAllDeclaration: ["source"],
 
-     ExportDefaultDeclaration: ["declaration"],
 
-     ExportNamedDeclaration: ["declaration", "specifiers", "source"],
 
-     ExportSpecifier: ["exported", "local"],
 
-     ExpressionStatement: ["expression"],
 
-     ForStatement: ["init", "test", "update", "body"],
 
-     ForInStatement: ["left", "right", "body"],
 
-     ForOfStatement: ["left", "right", "body"],
 
-     FunctionDeclaration: ["id", "params", "body"],
 
-     FunctionExpression: ["id", "params", "body"],
 
-     Identifier: [],
 
-     IfStatement: ["test", "consequent", "alternate"],
 
-     ImportDeclaration: ["specifiers", "source"],
 
-     ImportDefaultSpecifier: ["local"],
 
-     ImportNamespaceSpecifier: ["local"],
 
-     ImportSpecifier: ["imported", "local"],
 
-     Literal: [],
 
-     LabeledStatement: ["label", "body"],
 
-     LogicalExpression: ["left", "right"],
 
-     MemberExpression: ["object", "property"],
 
-     MetaProperty: ["meta", "property"],
 
-     MethodDefinition: ["key", "value"],
 
-     ModuleSpecifier: [],
 
-     NewExpression: ["callee", "arguments"],
 
-     ObjectExpression: ["properties"],
 
-     ObjectPattern: ["properties"],
 
-     Program: ["body"],
 
-     Property: ["key", "value"],
 
-     RestElement: [ "argument" ],
 
-     ReturnStatement: ["argument"],
 
-     SequenceExpression: ["expressions"],
 
-     SpreadElement: ["argument"],
 
-     Super: [],
 
-     SwitchStatement: ["discriminant", "cases"],
 
-     SwitchCase: ["test", "consequent"],
 
-     TaggedTemplateExpression: ["tag", "quasi"],
 
-     TemplateElement: [],
 
-     TemplateLiteral: ["quasis", "expressions"],
 
-     ThisExpression: [],
 
-     ThrowStatement: ["argument"],
 
-     TryStatement: ["block", "handler", "finalizer"],
 
-     UnaryExpression: ["argument"],
 
-     UpdateExpression: ["argument"],
 
-     VariableDeclaration: ["declarations"],
 
-     VariableDeclarator: ["id", "init"],
 
-     WhileStatement: ["test", "body"],
 
-     WithStatement: ["object", "body"],
 
-     YieldExpression: ["argument"],
 
-     // JSX
 
-     JSXIdentifier: [],
 
-     JSXNamespacedName: ["namespace", "name"],
 
-     JSXMemberExpression: ["object", "property"],
 
-     JSXEmptyExpression: [],
 
-     JSXExpressionContainer: ["expression"],
 
-     JSXElement: ["openingElement", "closingElement", "children"],
 
-     JSXClosingElement: ["name"],
 
-     JSXOpeningElement: ["name", "attributes"],
 
-     JSXAttribute: ["name", "value"],
 
-     JSXText: null,
 
-     JSXSpreadAttribute: ["argument"],
 
-     // Experimental features
 
-     ExperimentalRestProperty: ["argument"],
 
-     ExperimentalSpreadProperty: ["argument"]
 
- };
 
 
  |