1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
3 * This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
9 ASTDEF(AST_PROGRAM, "Program")
11 ASTDEF(AST_IDENTIFIER, "Identifier")
12 ASTDEF(AST_LITERAL, "Literal")
13 ASTDEF(AST_PROPERTY, "Property")
14 ASTDEF(AST_PROTOTYPEMUTATION, "PrototypeMutation")
16 ASTDEF(AST_MODULE_DECL, "ModuleDeclaration")
17 ASTDEF(AST_FUNC_DECL, "FunctionDeclaration")
18 ASTDEF(AST_VAR_DECL, "VariableDeclaration")
19 ASTDEF(AST_VAR_DTOR, "VariableDeclarator")
21 ASTDEF(AST_LIST_EXPR, "SequenceExpression")
22 ASTDEF(AST_COND_EXPR, "ConditionalExpression")
23 ASTDEF(AST_UNARY_EXPR, "UnaryExpression")
24 ASTDEF(AST_BINARY_EXPR, "BinaryExpression")
25 ASTDEF(AST_ASSIGN_EXPR, "AssignmentExpression")
26 ASTDEF(AST_LOGICAL_EXPR, "LogicalExpression")
27 ASTDEF(AST_UPDATE_EXPR, "UpdateExpression")
28 ASTDEF(AST_NEW_EXPR, "NewExpression")
29 ASTDEF(AST_CALL_EXPR, "CallExpression")
30 ASTDEF(AST_OPT_CALL_EXPR, "OptionalCallExpression")
31 ASTDEF(AST_MEMBER_EXPR, "MemberExpression")
32 ASTDEF(AST_OPT_MEMBER_EXPR, "OptionalMemberExpression")
33 ASTDEF(AST_FUNC_EXPR, "FunctionExpression")
34 ASTDEF(AST_ARROW_EXPR, "ArrowFunctionExpression")
35 ASTDEF(AST_ARRAY_EXPR, "ArrayExpression")
36 ASTDEF(AST_DELETE_OPTIONAL_EXPR, "DeleteOptionalExpression")
37 ASTDEF(AST_OPTIONAL_EXPR, "OptionalExpression")
38 ASTDEF(AST_SPREAD_EXPR, "SpreadExpression")
39 ASTDEF(AST_OBJECT_EXPR, "ObjectExpression")
40 ASTDEF(AST_THIS_EXPR, "ThisExpression")
41 ASTDEF(AST_YIELD_EXPR, "YieldExpression")
42 ASTDEF(AST_CLASS_EXPR, "ClassExpression")
43 ASTDEF(AST_METAPROPERTY, "MetaProperty")
44 ASTDEF(AST_SUPER, "Super")
45 ASTDEF(AST_CALL_IMPORT, "CallImport")
46 #ifdef ENABLE_RECORD_TUPLE
47 ASTDEF(AST_RECORD_EXPR, "RecordExpression")
48 ASTDEF(AST_TUPLE_EXPR, "TupleExpression")
51 ASTDEF(AST_EMPTY_STMT, "EmptyStatement")
52 ASTDEF(AST_BLOCK_STMT, "BlockStatement")
53 ASTDEF(AST_EXPR_STMT, "ExpressionStatement")
54 ASTDEF(AST_LAB_STMT, "LabeledStatement")
55 ASTDEF(AST_IF_STMT, "IfStatement")
56 ASTDEF(AST_SWITCH_STMT, "SwitchStatement")
57 ASTDEF(AST_WHILE_STMT, "WhileStatement")
58 ASTDEF(AST_DO_STMT, "DoWhileStatement")
59 ASTDEF(AST_FOR_STMT, "ForStatement")
60 ASTDEF(AST_FOR_IN_STMT, "ForInStatement")
61 ASTDEF(AST_FOR_OF_STMT, "ForOfStatement")
62 ASTDEF(AST_BREAK_STMT, "BreakStatement")
63 ASTDEF(AST_CONTINUE_STMT, "ContinueStatement")
64 ASTDEF(AST_WITH_STMT, "WithStatement")
65 ASTDEF(AST_RETURN_STMT, "ReturnStatement")
66 ASTDEF(AST_TRY_STMT, "TryStatement")
67 ASTDEF(AST_THROW_STMT, "ThrowStatement")
68 ASTDEF(AST_DEBUGGER_STMT, "DebuggerStatement")
69 ASTDEF(AST_LET_STMT, "LetStatement")
70 ASTDEF(AST_MODULE_REQUEST, "ModuleRequest")
71 ASTDEF(AST_IMPORT_ATTRIBUTE, "ImportAttribute")
72 ASTDEF(AST_IMPORT_DECL, "ImportDeclaration")
73 ASTDEF(AST_IMPORT_SPEC, "ImportSpecifier")
74 ASTDEF(AST_IMPORT_NAMESPACE_SPEC, "ImportNamespaceSpecifier")
75 ASTDEF(AST_EXPORT_DECL, "ExportDeclaration")
76 ASTDEF(AST_EXPORT_SPEC, "ExportSpecifier")
77 ASTDEF(AST_EXPORT_NAMESPACE_SPEC, "ExportNamespaceSpecifier")
78 ASTDEF(AST_EXPORT_BATCH_SPEC, "ExportBatchSpecifier")
80 ASTDEF(AST_CASE, "SwitchCase")
81 ASTDEF(AST_CATCH, "CatchClause")
83 ASTDEF(AST_ARRAY_PATT, "ArrayPattern")
84 ASTDEF(AST_OBJECT_PATT, "ObjectPattern")
85 ASTDEF(AST_PROP_PATT, "Property")
86 ASTDEF(AST_TEMPLATE_LITERAL, "TemplateLiteral")
87 ASTDEF(AST_TAGGED_TEMPLATE, "TaggedTemplate")
88 ASTDEF(AST_CALL_SITE_OBJ, "CallSiteObject")
89 ASTDEF(AST_COMPUTED_NAME, "ComputedName")
91 ASTDEF(AST_CLASS_STMT, "ClassStatement")
92 ASTDEF(AST_CLASS_METHOD, "ClassMethod")
93 ASTDEF(AST_CLASS_FIELD, "ClassField")
94 ASTDEF(AST_STATIC_CLASS_BLOCK, "StaticClassBlock")
95 /* AST_LIMIT = last + 1 */