1/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
2 *
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/. */
6
7/* AST_ERROR = -1 */
8
9ASTDEF(AST_PROGRAM,               "Program",                        "program")
10
11ASTDEF(AST_IDENTIFIER,            "Identifier",                     "identifier")
12ASTDEF(AST_LITERAL,               "Literal",                        "literal")
13ASTDEF(AST_PROPERTY,              "Property",                       "property")
14ASTDEF(AST_PROTOTYPEMUTATION,     "PrototypeMutation",              "prototypeMutation")
15
16ASTDEF(AST_MODULE_DECL,           "ModuleDeclaration",              "moduleDeclaration")
17ASTDEF(AST_FUNC_DECL,             "FunctionDeclaration",            "functionDeclaration")
18ASTDEF(AST_VAR_DECL,              "VariableDeclaration",            "variableDeclaration")
19ASTDEF(AST_VAR_DTOR,              "VariableDeclarator",             "variableDeclarator")
20
21ASTDEF(AST_LIST_EXPR,             "SequenceExpression",             "sequenceExpression")
22ASTDEF(AST_COND_EXPR,             "ConditionalExpression",          "conditionalExpression")
23ASTDEF(AST_UNARY_EXPR,            "UnaryExpression",                "unaryExpression")
24ASTDEF(AST_BINARY_EXPR,           "BinaryExpression",               "binaryExpression")
25ASTDEF(AST_ASSIGN_EXPR,           "AssignmentExpression",           "assignmentExpression")
26ASTDEF(AST_LOGICAL_EXPR,          "LogicalExpression",              "logicalExpression")
27ASTDEF(AST_UPDATE_EXPR,           "UpdateExpression",               "updateExpression")
28ASTDEF(AST_NEW_EXPR,              "NewExpression",                  "newExpression")
29ASTDEF(AST_CALL_EXPR,             "CallExpression",                 "callExpression")
30ASTDEF(AST_OPT_CALL_EXPR,         "OptionalCallExpression",         "optionalCallExpression")
31ASTDEF(AST_MEMBER_EXPR,           "MemberExpression",               "memberExpression")
32ASTDEF(AST_OPT_MEMBER_EXPR,       "OptionalMemberExpression",       "optionalMemberExpression")
33ASTDEF(AST_FUNC_EXPR,             "FunctionExpression",             "functionExpression")
34ASTDEF(AST_ARROW_EXPR,            "ArrowFunctionExpression",        "arrowFunctionExpression")
35ASTDEF(AST_ARRAY_EXPR,            "ArrayExpression",                "arrayExpression")
36ASTDEF(AST_OPTIONAL_EXPR,         "OptionalExpression",             "optionalExpression")
37ASTDEF(AST_SPREAD_EXPR,           "SpreadExpression",               "spreadExpression")
38ASTDEF(AST_OBJECT_EXPR,           "ObjectExpression",               "objectExpression")
39ASTDEF(AST_THIS_EXPR,             "ThisExpression",                 "thisExpression")
40ASTDEF(AST_YIELD_EXPR,            "YieldExpression",                "yieldExpression")
41ASTDEF(AST_CLASS_EXPR,            "ClassExpression",                "classExpression")
42ASTDEF(AST_METAPROPERTY,          "MetaProperty",                   "metaProperty")
43ASTDEF(AST_SUPER,                 "Super",                          "super")
44ASTDEF(AST_CALL_IMPORT,           "CallImport",                     "callImport")
45
46ASTDEF(AST_EMPTY_STMT,            "EmptyStatement",                 "emptyStatement")
47ASTDEF(AST_BLOCK_STMT,            "BlockStatement",                 "blockStatement")
48ASTDEF(AST_EXPR_STMT,             "ExpressionStatement",            "expressionStatement")
49ASTDEF(AST_LAB_STMT,              "LabeledStatement",               "labeledStatement")
50ASTDEF(AST_IF_STMT,               "IfStatement",                    "ifStatement")
51ASTDEF(AST_SWITCH_STMT,           "SwitchStatement",                "switchStatement")
52ASTDEF(AST_WHILE_STMT,            "WhileStatement",                 "whileStatement")
53ASTDEF(AST_DO_STMT,               "DoWhileStatement",               "doWhileStatement")
54ASTDEF(AST_FOR_STMT,              "ForStatement",                   "forStatement")
55ASTDEF(AST_FOR_IN_STMT,           "ForInStatement",                 "forInStatement")
56ASTDEF(AST_FOR_OF_STMT,           "ForOfStatement",                 "forOfStatement")
57ASTDEF(AST_BREAK_STMT,            "BreakStatement",                 "breakStatement")
58ASTDEF(AST_CONTINUE_STMT,         "ContinueStatement",              "continueStatement")
59ASTDEF(AST_WITH_STMT,             "WithStatement",                  "withStatement")
60ASTDEF(AST_RETURN_STMT,           "ReturnStatement",                "returnStatement")
61ASTDEF(AST_TRY_STMT,              "TryStatement",                   "tryStatement")
62ASTDEF(AST_THROW_STMT,            "ThrowStatement",                 "throwStatement")
63ASTDEF(AST_DEBUGGER_STMT,         "DebuggerStatement",              "debuggerStatement")
64ASTDEF(AST_LET_STMT,              "LetStatement",                   "letStatement")
65ASTDEF(AST_IMPORT_DECL,           "ImportDeclaration",              "importDeclaration")
66ASTDEF(AST_IMPORT_SPEC,           "ImportSpecifier",                "importSpecifier")
67ASTDEF(AST_EXPORT_DECL,           "ExportDeclaration",              "exportDeclaration")
68ASTDEF(AST_EXPORT_SPEC,           "ExportSpecifier",                "exportSpecifier")
69ASTDEF(AST_EXPORT_BATCH_SPEC,     "ExportBatchSpecifier",           "exportBatchSpecifier")
70
71ASTDEF(AST_CASE,                  "SwitchCase",                     "switchCase")
72ASTDEF(AST_CATCH,                 "CatchClause",                    "catchClause")
73
74ASTDEF(AST_ARRAY_PATT,            "ArrayPattern",                   "arrayPattern")
75ASTDEF(AST_OBJECT_PATT,           "ObjectPattern",                  "objectPattern")
76ASTDEF(AST_PROP_PATT,             "Property",                       "propertyPattern")
77ASTDEF(AST_TEMPLATE_LITERAL,      "TemplateLiteral",                "templateLiteral")
78ASTDEF(AST_TAGGED_TEMPLATE,       "TaggedTemplate",                 "taggedTemplate")
79ASTDEF(AST_CALL_SITE_OBJ,         "CallSiteObject",                 "callSiteObject")
80ASTDEF(AST_COMPUTED_NAME,         "ComputedName",                   "computedName")
81
82ASTDEF(AST_CLASS_STMT,            "ClassStatement",                 "classStatement")
83ASTDEF(AST_CLASS_METHOD,          "ClassMethod",                    "classMethod")
84ASTDEF(AST_CLASS_FIELD,           "ClassField",                     "classField")
85/* AST_LIMIT = last + 1 */
86