* Copyright (c) 2022-2026 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export enum Es2pandaAstNodeType {
AST_NODE_TYPE_ARROW_FUNCTION_EXPRESSION,
AST_NODE_TYPE_ANNOTATION_DECLARATION,
AST_NODE_TYPE_ANNOTATION_USAGE,
AST_NODE_TYPE_ASSERT_STATEMENT,
AST_NODE_TYPE_AWAIT_EXPRESSION,
AST_NODE_TYPE_BIGINT_LITERAL,
AST_NODE_TYPE_BINARY_EXPRESSION,
AST_NODE_TYPE_BLOCK_STATEMENT,
AST_NODE_TYPE_BOOLEAN_LITERAL,
AST_NODE_TYPE_BREAK_STATEMENT,
AST_NODE_TYPE_CALL_EXPRESSION,
AST_NODE_TYPE_CATCH_CLAUSE,
AST_NODE_TYPE_CHAIN_EXPRESSION,
AST_NODE_TYPE_CHAR_LITERAL,
AST_NODE_TYPE_CLASS_DEFINITION,
AST_NODE_TYPE_CLASS_DECLARATION,
AST_NODE_TYPE_CLASS_EXPRESSION,
AST_NODE_TYPE_CLASS_PROPERTY,
AST_NODE_TYPE_CLASS_STATIC_BLOCK,
AST_NODE_TYPE_CONDITIONAL_EXPRESSION,
AST_NODE_TYPE_CONTINUE_STATEMENT,
AST_NODE_TYPE_DEBUGGER_STATEMENT,
AST_NODE_TYPE_DECORATOR,
AST_NODE_TYPE_DIRECT_EVAL,
AST_NODE_TYPE_DO_WHILE_STATEMENT,
AST_NODE_TYPE_EMPTY_STATEMENT,
AST_NODE_TYPE_EXPORT_ALL_DECLARATION,
AST_NODE_TYPE_EXPORT_DEFAULT_DECLARATION,
AST_NODE_TYPE_EXPORT_NAMED_DECLARATION,
AST_NODE_TYPE_EXPORT_SPECIFIER,
AST_NODE_TYPE_EXPRESSION_STATEMENT,
AST_NODE_TYPE_FOR_IN_STATEMENT,
AST_NODE_TYPE_FOR_OF_STATEMENT,
AST_NODE_TYPE_FOR_UPDATE_STATEMENT,
AST_NODE_TYPE_FUNCTION_DECLARATION,
AST_NODE_TYPE_FUNCTION_EXPRESSION,
AST_NODE_TYPE_IDENTIFIER,
AST_NODE_TYPE_DUMMYNODE,
AST_NODE_TYPE_IF_STATEMENT,
AST_NODE_TYPE_IMPORT_DECLARATION,
AST_NODE_TYPE_IMPORT_EXPRESSION,
AST_NODE_TYPE_IMPORT_DEFAULT_SPECIFIER,
AST_NODE_TYPE_IMPORT_NAMESPACE_SPECIFIER,
AST_NODE_TYPE_IMPORT_SPECIFIER,
AST_NODE_TYPE_LABELLED_STATEMENT,
AST_NODE_TYPE_MEMBER_EXPRESSION,
AST_NODE_TYPE_META_PROPERTY_EXPRESSION,
AST_NODE_TYPE_METHOD_DEFINITION,
AST_NODE_TYPE_NAMED_TYPE,
AST_NODE_TYPE_NEW_EXPRESSION,
AST_NODE_TYPE_NULL_LITERAL,
AST_NODE_TYPE_UNDEFINED_LITERAL,
AST_NODE_TYPE_NUMBER_LITERAL,
AST_NODE_TYPE_OMITTED_EXPRESSION,
AST_NODE_TYPE_OVERLOAD_DECLARATION,
AST_NODE_TYPE_PREFIX_ASSERTION_EXPRESSION,
AST_NODE_TYPE_PROPERTY,
AST_NODE_TYPE_REGEXP_LITERAL,
AST_NODE_TYPE_REEXPORT_STATEMENT,
AST_NODE_TYPE_RETURN_STATEMENT,
AST_NODE_TYPE_SCRIPT_FUNCTION,
AST_NODE_TYPE_SEQUENCE_EXPRESSION,
AST_NODE_TYPE_STRING_LITERAL,
AST_NODE_TYPE_ETS_NON_NULLISH_TYPE,
AST_NODE_TYPE_ETS_NULL_TYPE,
AST_NODE_TYPE_ETS_UNDEFINED_TYPE,
AST_NODE_TYPE_ETS_NEVER_TYPE,
AST_NODE_TYPE_ETS_STRING_LITERAL_TYPE,
AST_NODE_TYPE_ETS_INTRINSIC_NODE_TYPE,
AST_NODE_TYPE_ETS_FUNCTION_TYPE,
AST_NODE_TYPE_ETS_GENERIC_INSTANTIATED_NODE,
AST_NODE_TYPE_ETS_PRIMITIVE_TYPE,
AST_NODE_TYPE_ETS_PACKAGE_DECLARATION,
AST_NODE_TYPE_ETS_CLASS_LITERAL,
AST_NODE_TYPE_ETS_TYPE_REFERENCE,
AST_NODE_TYPE_ETS_TYPE_REFERENCE_PART,
AST_NODE_TYPE_ETS_DESTRUCTURING,
AST_NODE_TYPE_ETS_UNION_TYPE,
AST_NODE_TYPE_ETS_KEYOF_TYPE,
AST_NODE_TYPE_ETS_NEW_ARRAY_INSTANCE_EXPRESSION,
AST_NODE_TYPE_ETS_NEW_MULTI_DIM_ARRAY_INSTANCE_EXPRESSION,
AST_NODE_TYPE_ETS_NEW_CLASS_INSTANCE_EXPRESSION,
AST_NODE_TYPE_ETS_IMPORT_DECLARATION,
AST_NODE_TYPE_ETS_PARAMETER_EXPRESSION,
AST_NODE_TYPE_ETS_TUPLE,
AST_NODE_TYPE_ETS_MODULE,
AST_NODE_TYPE_SUPER_EXPRESSION,
AST_NODE_TYPE_STRUCT_DECLARATION,
AST_NODE_TYPE_SWITCH_CASE_STATEMENT,
AST_NODE_TYPE_SWITCH_STATEMENT,
AST_NODE_TYPE_TS_ENUM_DECLARATION,
AST_NODE_TYPE_TS_ENUM_MEMBER,
AST_NODE_TYPE_TS_EXTERNAL_MODULE_REFERENCE,
AST_NODE_TYPE_TS_NUMBER_KEYWORD,
AST_NODE_TYPE_TS_ANY_KEYWORD,
AST_NODE_TYPE_TS_STRING_KEYWORD,
AST_NODE_TYPE_TS_BOOLEAN_KEYWORD,
AST_NODE_TYPE_TS_VOID_KEYWORD,
AST_NODE_TYPE_TS_UNDEFINED_KEYWORD,
AST_NODE_TYPE_TS_UNKNOWN_KEYWORD,
AST_NODE_TYPE_TS_OBJECT_KEYWORD,
AST_NODE_TYPE_TS_BIGINT_KEYWORD,
AST_NODE_TYPE_TS_NEVER_KEYWORD,
AST_NODE_TYPE_TS_NON_NULL_EXPRESSION,
AST_NODE_TYPE_TS_NULL_KEYWORD,
AST_NODE_TYPE_TS_ARRAY_TYPE,
AST_NODE_TYPE_TS_UNION_TYPE,
AST_NODE_TYPE_TS_TYPE_LITERAL,
AST_NODE_TYPE_TS_PROPERTY_SIGNATURE,
AST_NODE_TYPE_TS_METHOD_SIGNATURE,
AST_NODE_TYPE_TS_SIGNATURE_DECLARATION,
AST_NODE_TYPE_TS_PARENT_TYPE,
AST_NODE_TYPE_TS_LITERAL_TYPE,
AST_NODE_TYPE_TS_INFER_TYPE,
AST_NODE_TYPE_TS_CONDITIONAL_TYPE,
AST_NODE_TYPE_TS_IMPORT_TYPE,
AST_NODE_TYPE_TS_INTERSECTION_TYPE,
AST_NODE_TYPE_TS_MAPPED_TYPE,
AST_NODE_TYPE_TS_MODULE_BLOCK,
AST_NODE_TYPE_TS_THIS_TYPE,
AST_NODE_TYPE_TS_TYPE_OPERATOR,
AST_NODE_TYPE_TS_TYPE_PARAMETER,
AST_NODE_TYPE_TS_TYPE_PARAMETER_DECLARATION,
AST_NODE_TYPE_TS_TYPE_PARAMETER_INSTANTIATION,
AST_NODE_TYPE_TS_TYPE_PREDICATE,
AST_NODE_TYPE_TS_PARAMETER_PROPERTY,
AST_NODE_TYPE_TS_MODULE_DECLARATION,
AST_NODE_TYPE_TS_IMPORT_EQUALS_DECLARATION,
AST_NODE_TYPE_TS_FUNCTION_TYPE,
AST_NODE_TYPE_TS_CONSTRUCTOR_TYPE,
AST_NODE_TYPE_TS_TYPE_ALIAS_DECLARATION,
AST_NODE_TYPE_TS_TYPE_REFERENCE,
AST_NODE_TYPE_TS_QUALIFIED_NAME,
AST_NODE_TYPE_TS_INDEXED_ACCESS_TYPE,
AST_NODE_TYPE_TS_INTERFACE_DECLARATION,
AST_NODE_TYPE_TS_INTERFACE_BODY,
AST_NODE_TYPE_TS_INTERFACE_HERITAGE,
AST_NODE_TYPE_TS_TUPLE_TYPE,
AST_NODE_TYPE_TS_NAMED_TUPLE_MEMBER,
AST_NODE_TYPE_TS_INDEX_SIGNATURE,
AST_NODE_TYPE_TS_TYPE_QUERY,
AST_NODE_TYPE_TS_AS_EXPRESSION,
AST_NODE_TYPE_TS_CLASS_IMPLEMENTS,
AST_NODE_TYPE_TS_TYPE_ASSERTION,
AST_NODE_TYPE_TAGGED_TEMPLATE_EXPRESSION,
AST_NODE_TYPE_TEMPLATE_ELEMENT,
AST_NODE_TYPE_TEMPLATE_LITERAL,
AST_NODE_TYPE_THIS_EXPRESSION,
AST_NODE_TYPE_TYPEOF_EXPRESSION,
AST_NODE_TYPE_THROW_STATEMENT,
AST_NODE_TYPE_TRY_STATEMENT,
AST_NODE_TYPE_UNARY_EXPRESSION,
AST_NODE_TYPE_UPDATE_EXPRESSION,
AST_NODE_TYPE_VARIABLE_DECLARATION,
AST_NODE_TYPE_VARIABLE_DECLARATOR,
AST_NODE_TYPE_WHILE_STATEMENT,
AST_NODE_TYPE_YIELD_EXPRESSION,
AST_NODE_TYPE_OPAQUE_TYPE_NODE,
AST_NODE_TYPE_BLOCK_EXPRESSION,
AST_NODE_TYPE_ERROR_TYPE_NODE,
AST_NODE_TYPE_ARRAY_EXPRESSION,
AST_NODE_TYPE_ARRAY_PATTERN,
AST_NODE_TYPE_ASSIGNMENT_EXPRESSION,
AST_NODE_TYPE_ASSIGNMENT_PATTERN,
AST_NODE_TYPE_OBJECT_EXPRESSION,
AST_NODE_TYPE_OBJECT_PATTERN,
AST_NODE_TYPE_SPREAD_ELEMENT,
AST_NODE_TYPE_REST_ELEMENT,
};
export enum Es2pandaLanguage {
AS = 0,
JS = 1,
TS = 2,
ETS = 3,
COUNT = 4
}