2 * @fileoverview The AST node types produced by the parser.
3 * @author Nicholas C. Zakas
4 * @copyright 2014 Nicholas C. Zakas. All rights reserved.
5 * @copyright 2011-2013 Ariya Hidayat <ariya.hidayat@gmail.com>
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions are met:
10 * * Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 * * Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
16 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 * ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 //------------------------------------------------------------------------------
32 //------------------------------------------------------------------------------
36 //------------------------------------------------------------------------------
38 //------------------------------------------------------------------------------
41 AssignmentExpression: "AssignmentExpression",
42 AssignmentPattern: "AssignmentPattern",
43 ArrayExpression: "ArrayExpression",
44 ArrayPattern: "ArrayPattern",
45 ArrowFunctionExpression: "ArrowFunctionExpression",
46 BlockStatement: "BlockStatement",
47 BinaryExpression: "BinaryExpression",
48 BreakStatement: "BreakStatement",
49 CallExpression: "CallExpression",
50 CatchClause: "CatchClause",
51 ClassBody: "ClassBody",
52 ClassDeclaration: "ClassDeclaration",
53 ClassExpression: "ClassExpression",
54 ConditionalExpression: "ConditionalExpression",
55 ContinueStatement: "ContinueStatement",
56 DoWhileStatement: "DoWhileStatement",
57 DebuggerStatement: "DebuggerStatement",
58 EmptyStatement: "EmptyStatement",
59 ExpressionStatement: "ExpressionStatement",
60 ForStatement: "ForStatement",
61 ForInStatement: "ForInStatement",
62 ForOfStatement: "ForOfStatement",
63 FunctionDeclaration: "FunctionDeclaration",
64 FunctionExpression: "FunctionExpression",
65 Identifier: "Identifier",
66 IfStatement: "IfStatement",
68 LabeledStatement: "LabeledStatement",
69 LogicalExpression: "LogicalExpression",
70 MemberExpression: "MemberExpression",
71 MethodDefinition: "MethodDefinition",
72 NewExpression: "NewExpression",
73 ObjectExpression: "ObjectExpression",
74 ObjectPattern: "ObjectPattern",
77 ReturnStatement: "ReturnStatement",
78 SequenceExpression: "SequenceExpression",
79 SpreadElement: "SpreadElement",
80 SwitchCase: "SwitchCase",
81 SwitchStatement: "SwitchStatement",
82 TaggedTemplateExpression: "TaggedTemplateExpression",
83 TemplateElement: "TemplateElement",
84 TemplateLiteral: "TemplateLiteral",
85 ThisExpression: "ThisExpression",
86 ThrowStatement: "ThrowStatement",
87 TryStatement: "TryStatement",
88 UnaryExpression: "UnaryExpression",
89 UpdateExpression: "UpdateExpression",
90 VariableDeclaration: "VariableDeclaration",
91 VariableDeclarator: "VariableDeclarator",
92 WhileStatement: "WhileStatement",
93 WithStatement: "WithStatement",
94 YieldExpression: "YieldExpression",
95 JSXIdentifier: "JSXIdentifier",
96 JSXNamespacedName: "JSXNamespacedName",
97 JSXMemberExpression: "JSXMemberExpression",
98 JSXEmptyExpression: "JSXEmptyExpression",
99 JSXExpressionContainer: "JSXExpressionContainer",
100 JSXElement: "JSXElement",
101 JSXClosingElement: "JSXClosingElement",
102 JSXOpeningElement: "JSXOpeningElement",
103 JSXAttribute: "JSXAttribute",
104 JSXSpreadAttribute: "JSXSpreadAttribute",
106 ExportDefaultDeclaration: "ExportDefaultDeclaration",
107 ExportNamedDeclaration: "ExportNamedDeclaration",
108 ExportAllDeclaration: "ExportAllDeclaration",
109 ExportSpecifier: "ExportSpecifier",
110 ImportDeclaration: "ImportDeclaration",
111 ImportSpecifier: "ImportSpecifier",
112 ImportDefaultSpecifier: "ImportDefaultSpecifier",
113 ImportNamespaceSpecifier: "ImportNamespaceSpecifier"