1/* 2 * Copyright (c) 2022-2025 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16// HANDWRITTEN (for now) 17 18export enum Es2pandaAstNodeType { 19 AST_NODE_TYPE_ARROW_FUNCTION_EXPRESSION, 20 AST_NODE_TYPE_ANNOTATION_DECLARATION, 21 AST_NODE_TYPE_ANNOTATION_USAGE, 22 AST_NODE_TYPE_ASSERT_STATEMENT, 23 AST_NODE_TYPE_AWAIT_EXPRESSION, 24 AST_NODE_TYPE_BIGINT_LITERAL, 25 AST_NODE_TYPE_BINARY_EXPRESSION, 26 AST_NODE_TYPE_BLOCK_STATEMENT, 27 AST_NODE_TYPE_BOOLEAN_LITERAL, 28 AST_NODE_TYPE_BREAK_STATEMENT, 29 AST_NODE_TYPE_CALL_EXPRESSION, 30 AST_NODE_TYPE_CATCH_CLAUSE, 31 AST_NODE_TYPE_CHAIN_EXPRESSION, 32 AST_NODE_TYPE_CHAR_LITERAL, 33 AST_NODE_TYPE_CLASS_DEFINITION, 34 AST_NODE_TYPE_CLASS_DECLARATION, 35 AST_NODE_TYPE_CLASS_EXPRESSION, 36 AST_NODE_TYPE_CLASS_PROPERTY, 37 AST_NODE_TYPE_CLASS_STATIC_BLOCK, 38 AST_NODE_TYPE_CONDITIONAL_EXPRESSION, 39 AST_NODE_TYPE_CONTINUE_STATEMENT, 40 AST_NODE_TYPE_DEBUGGER_STATEMENT, 41 AST_NODE_TYPE_DECORATOR, 42 AST_NODE_TYPE_DIRECT_EVAL, 43 AST_NODE_TYPE_DO_WHILE_STATEMENT, 44 AST_NODE_TYPE_EMPTY_STATEMENT, 45 AST_NODE_TYPE_EXPORT_ALL_DECLARATION, 46 AST_NODE_TYPE_EXPORT_DEFAULT_DECLARATION, 47 AST_NODE_TYPE_EXPORT_NAMED_DECLARATION, 48 AST_NODE_TYPE_EXPORT_SPECIFIER, 49 AST_NODE_TYPE_EXPRESSION_STATEMENT, 50 AST_NODE_TYPE_FOR_IN_STATEMENT, 51 AST_NODE_TYPE_FOR_OF_STATEMENT, 52 AST_NODE_TYPE_FOR_UPDATE_STATEMENT, 53 AST_NODE_TYPE_FUNCTION_DECLARATION, 54 AST_NODE_TYPE_FUNCTION_EXPRESSION, 55 AST_NODE_TYPE_IDENTIFIER, 56 AST_NODE_TYPE_DUMMYNODE, 57 AST_NODE_TYPE_IF_STATEMENT, 58 AST_NODE_TYPE_IMPORT_DECLARATION, 59 AST_NODE_TYPE_IMPORT_EXPRESSION, 60 AST_NODE_TYPE_IMPORT_DEFAULT_SPECIFIER, 61 AST_NODE_TYPE_IMPORT_NAMESPACE_SPECIFIER, 62 AST_NODE_TYPE_IMPORT_SPECIFIER, 63 AST_NODE_TYPE_LABELLED_STATEMENT, 64 AST_NODE_TYPE_MEMBER_EXPRESSION, 65 AST_NODE_TYPE_META_PROPERTY_EXPRESSION, 66 AST_NODE_TYPE_METHOD_DEFINITION, 67 AST_NODE_TYPE_NAMED_TYPE, 68 AST_NODE_TYPE_NEW_EXPRESSION, 69 AST_NODE_TYPE_NULL_LITERAL, 70 AST_NODE_TYPE_UNDEFINED_LITERAL, 71 AST_NODE_TYPE_NUMBER_LITERAL, 72 AST_NODE_TYPE_OMITTED_EXPRESSION, 73 AST_NODE_TYPE_PREFIX_ASSERTION_EXPRESSION, 74 AST_NODE_TYPE_PROPERTY, 75 AST_NODE_TYPE_REGEXP_LITERAL, 76 AST_NODE_TYPE_REEXPORT_STATEMENT, 77 AST_NODE_TYPE_RETURN_STATEMENT, 78 AST_NODE_TYPE_SCRIPT_FUNCTION, 79 AST_NODE_TYPE_SEQUENCE_EXPRESSION, 80 AST_NODE_TYPE_STRING_LITERAL, 81 AST_NODE_TYPE_ETS_NON_NULLISH_TYPE, 82 AST_NODE_TYPE_ETS_NULL_TYPE, 83 AST_NODE_TYPE_ETS_UNDEFINED_TYPE, 84 AST_NODE_TYPE_ETS_NEVER_TYPE, 85 AST_NODE_TYPE_ETS_STRING_LITERAL_TYPE, 86 AST_NODE_TYPE_ETS_FUNCTION_TYPE, 87 AST_NODE_TYPE_ETS_WILDCARD_TYPE, 88 AST_NODE_TYPE_ETS_PRIMITIVE_TYPE, 89 AST_NODE_TYPE_ETS_PACKAGE_DECLARATION, 90 AST_NODE_TYPE_ETS_CLASS_LITERAL, 91 AST_NODE_TYPE_ETS_TYPE_REFERENCE, 92 AST_NODE_TYPE_ETS_TYPE_REFERENCE_PART, 93 AST_NODE_TYPE_ETS_UNION_TYPE, 94 AST_NODE_TYPE_ETS_KEYOF_TYPE, 95 AST_NODE_TYPE_ETS_NEW_ARRAY_INSTANCE_EXPRESSION, 96 AST_NODE_TYPE_ETS_NEW_MULTI_DIM_ARRAY_INSTANCE_EXPRESSION, 97 AST_NODE_TYPE_ETS_NEW_CLASS_INSTANCE_EXPRESSION, 98 AST_NODE_TYPE_ETS_IMPORT_DECLARATION, 99 AST_NODE_TYPE_ETS_PARAMETER_EXPRESSION, 100 AST_NODE_TYPE_ETS_TUPLE, 101 AST_NODE_TYPE_ETS_MODULE, 102 AST_NODE_TYPE_SUPER_EXPRESSION, 103 AST_NODE_TYPE_STRUCT_DECLARATION, 104 AST_NODE_TYPE_SWITCH_CASE_STATEMENT, 105 AST_NODE_TYPE_SWITCH_STATEMENT, 106 AST_NODE_TYPE_TS_ENUM_DECLARATION, 107 AST_NODE_TYPE_TS_ENUM_MEMBER, 108 AST_NODE_TYPE_TS_EXTERNAL_MODULE_REFERENCE, 109 AST_NODE_TYPE_TS_NUMBER_KEYWORD, 110 AST_NODE_TYPE_TS_ANY_KEYWORD, 111 AST_NODE_TYPE_TS_STRING_KEYWORD, 112 AST_NODE_TYPE_TS_BOOLEAN_KEYWORD, 113 AST_NODE_TYPE_TS_VOID_KEYWORD, 114 AST_NODE_TYPE_TS_UNDEFINED_KEYWORD, 115 AST_NODE_TYPE_TS_UNKNOWN_KEYWORD, 116 AST_NODE_TYPE_TS_OBJECT_KEYWORD, 117 AST_NODE_TYPE_TS_BIGINT_KEYWORD, 118 AST_NODE_TYPE_TS_NEVER_KEYWORD, 119 AST_NODE_TYPE_TS_NON_NULL_EXPRESSION, 120 AST_NODE_TYPE_TS_NULL_KEYWORD, 121 AST_NODE_TYPE_TS_ARRAY_TYPE, 122 AST_NODE_TYPE_TS_UNION_TYPE, 123 AST_NODE_TYPE_TS_TYPE_LITERAL, 124 AST_NODE_TYPE_TS_PROPERTY_SIGNATURE, 125 AST_NODE_TYPE_TS_METHOD_SIGNATURE, 126 AST_NODE_TYPE_TS_SIGNATURE_DECLARATION, 127 AST_NODE_TYPE_TS_PARENT_TYPE, 128 AST_NODE_TYPE_TS_LITERAL_TYPE, 129 AST_NODE_TYPE_TS_INFER_TYPE, 130 AST_NODE_TYPE_TS_CONDITIONAL_TYPE, 131 AST_NODE_TYPE_TS_IMPORT_TYPE, 132 AST_NODE_TYPE_TS_INTERSECTION_TYPE, 133 AST_NODE_TYPE_TS_MAPPED_TYPE, 134 AST_NODE_TYPE_TS_MODULE_BLOCK, 135 AST_NODE_TYPE_TS_THIS_TYPE, 136 AST_NODE_TYPE_TS_TYPE_OPERATOR, 137 AST_NODE_TYPE_TS_TYPE_PARAMETER, 138 AST_NODE_TYPE_TS_TYPE_PARAMETER_DECLARATION, 139 AST_NODE_TYPE_TS_TYPE_PARAMETER_INSTANTIATION, 140 AST_NODE_TYPE_TS_TYPE_PREDICATE, 141 AST_NODE_TYPE_TS_PARAMETER_PROPERTY, 142 AST_NODE_TYPE_TS_MODULE_DECLARATION, 143 AST_NODE_TYPE_TS_IMPORT_EQUALS_DECLARATION, 144 AST_NODE_TYPE_TS_FUNCTION_TYPE, 145 AST_NODE_TYPE_TS_CONSTRUCTOR_TYPE, 146 AST_NODE_TYPE_TS_TYPE_ALIAS_DECLARATION, 147 AST_NODE_TYPE_TS_TYPE_REFERENCE, 148 AST_NODE_TYPE_TS_QUALIFIED_NAME, 149 AST_NODE_TYPE_TS_INDEXED_ACCESS_TYPE, 150 AST_NODE_TYPE_TS_INTERFACE_DECLARATION, 151 AST_NODE_TYPE_TS_INTERFACE_BODY, 152 AST_NODE_TYPE_TS_INTERFACE_HERITAGE, 153 AST_NODE_TYPE_TS_TUPLE_TYPE, 154 AST_NODE_TYPE_TS_NAMED_TUPLE_MEMBER, 155 AST_NODE_TYPE_TS_INDEX_SIGNATURE, 156 AST_NODE_TYPE_TS_TYPE_QUERY, 157 AST_NODE_TYPE_TS_AS_EXPRESSION, 158 AST_NODE_TYPE_TS_CLASS_IMPLEMENTS, 159 AST_NODE_TYPE_TS_TYPE_ASSERTION, 160 AST_NODE_TYPE_TAGGED_TEMPLATE_EXPRESSION, 161 AST_NODE_TYPE_TEMPLATE_ELEMENT, 162 AST_NODE_TYPE_TEMPLATE_LITERAL, 163 AST_NODE_TYPE_THIS_EXPRESSION, 164 AST_NODE_TYPE_TYPEOF_EXPRESSION, 165 AST_NODE_TYPE_THROW_STATEMENT, 166 AST_NODE_TYPE_TRY_STATEMENT, 167 AST_NODE_TYPE_UNARY_EXPRESSION, 168 AST_NODE_TYPE_UPDATE_EXPRESSION, 169 AST_NODE_TYPE_VARIABLE_DECLARATION, 170 AST_NODE_TYPE_VARIABLE_DECLARATOR, 171 AST_NODE_TYPE_WHILE_STATEMENT, 172 AST_NODE_TYPE_YIELD_EXPRESSION, 173 AST_NODE_TYPE_OPAQUE_TYPE_NODE, 174 AST_NODE_TYPE_BLOCK_EXPRESSION, 175 AST_NODE_TYPE_ERROR_TYPE_NODE, 176 AST_NODE_TYPE_ARRAY_EXPRESSION, 177 AST_NODE_TYPE_ARRAY_PATTERN, 178 AST_NODE_TYPE_ASSIGNMENT_EXPRESSION, 179 AST_NODE_TYPE_ASSIGNMENT_PATTERN, 180 AST_NODE_TYPE_OBJECT_EXPRESSION, 181 AST_NODE_TYPE_OBJECT_PATTERN, 182 AST_NODE_TYPE_SPREAD_ELEMENT, 183 AST_NODE_TYPE_REST_ELEMENT, 184} 185 186export enum Es2pandaImportFlags { 187 IMPORT_FLAGS_NONE, 188 IMPORT_FLAGS_DEFAULT_IMPORT, 189 IMPORT_FLAGS_IMPLICIT_PACKAGE_IMPORT, 190} 191