/*
 * 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 FaultID {
  AnyType,
  SymbolType,
  ObjectLiteralNoContextType,
  ArrayLiteralNoContextType,
  ComputedPropertyName,
  LiteralAsPropertyName,
  TypeQuery,
  IsOperator,
  DestructuringParameter,
  YieldExpression,
  InterfaceMerging,
  EnumMerging,
  InterfaceExtendsClass,
  IndexMember,
  WithStatement,
  ThrowStatement,
  IndexedAccessType,
  UnknownType,
  ForInStatement,
  InOperator,
  FunctionExpression,
  IntersectionType,
  ObjectTypeLiteral,
  ObjectLiteralKeyType,
  CommaOperator,
  LimitedReturnTypeInference,
  ClassExpression,
  DestructuringAssignment,
  DestructuringDeclaration,
  VarDeclaration,
  CatchWithUnsupportedType,
  DeleteOperator,
  DeclWithDuplicateName,
  UnaryArithmNotNumber,
  ConstructorType,
  ConstructorIface,
  ConstructorFuncs,
  CallSignature,
  TypeAssertion,
  PrivateIdentifier,
  LocalFunction,
  ConditionalType,
  MappedType,
  NamespaceAsObject,
  NoClassSuperPropReadonly,
  ClassAsObject,
  ClassAsObjectError,
  NonDeclarationInNamespace,
  GeneratorFunction,
  FunctionContainsThis,
  ForbiddenSdkApiKeyword,
  PropertyAccessByIndex,
  JsxElement,
  EnumMemberNonConstInit,
  ImplementsClass,
  NoStaticOnClass,
  NoConstructorOnClass,
  RuntimeArrayCheck,
  NoSignatureDistinctWithObjectPublicApi,
  MethodReassignment,
  MultipleStaticBlocks,
  ThisType,
  IntefaceExtendDifProps,
  StructuralIdentity,
  ExportAssignment,
  ImportAssignment,
  GenericCallNoTypeArgs,
  ParameterProperties,
  ParameterType,
  InstanceofUnsupported,
  ShorthandAmbientModuleDecl,
  WildcardsInModuleName,
  UMDModuleDefinition,
  NewTarget,
  DefiniteAssignment,
  DefiniteAssignmentError,
  Prototype,
  GlobalThis,
  GlobalThisError,
  UtilityType,
  PropertyDeclOnFunction,
  FunctionApplyCall,
  FunctionBind,
  FunctionBindError,
  NoFunctionReturnThis,
  ConstAssertion,
  ImportAssertion,
  SpreadOperator,
  LimitedStdLibApi,
  LimitedStdLibNoASON,
  NoNeedStdLibSendableContainer,
  PrefixUnaryInfinity,
  ErrorSuppression,
  StrictDiagnostic,
  ImportAfterStatement,
  EsValueType,
  EsValueTypeError,
  SendableClassInheritance,
  SendablePropType,
  SendableDefiniteAssignment,
  SendableGenericTypes,
  SendableCapturedVars,
  SendableClassDecorator,
  SendableObjectInitialization,
  SendableComputedPropName,
  SendableAsExpr,
  SharedNoSideEffectImport,
  SharedModuleExports,
  SharedModuleNoWildcardExport,
  NoTsImportEts,
  SendableTypeInheritance,
  SendableTypeExported,
  NoTsReExportEts,
  NoNameSpaceImportEtsToTs,
  NoSideEffectImportEtsToTs,
  SendableExplicitFieldType,
  SendableFunctionImportedVariables,
  SendableFunctionDecorator,
  SendableTypeAliasDecorator,
  SendableTypeAliasDeclaration,
  SendableFunctionAssignment,
  SendableFunctionOverloadDecorator,
  SendableFunctionProperty,
  SendableFunctionAsExpr,
  SendableDecoratorLimited,
  SharedModuleExportsWarning,
  SendableBetaCompatible,
  ObjectLiteralProperty,
  OptionalMethod,
  ImportType,
  DynamicCtorCall,
  MathPow,
  InvalidAbstractOverrideReturnType,
  VoidOperator,
  RegularExpressionLiteral,
  ArgumentsObject,
  LimitedVoidType,
  DecoratorsNotSupported,
  DebuggerStatement,
  TsOverload,
  NoSideEffectImport,
  DynamicImport,
  ImportLazyIdentifier,
  CaseExpression,
  SwitchExpression,
  LimitedLiteralType,
  IndexNegative,
  ArrayIndexExprType,
  AvoidUnionTypes,
  NoTuplesArrays,
  TupleIndex,
  DoubleExclaBindingNotSupported,
  DoubleDollarBindingNotSupported,
  DollarBindingNotSupported,
  ExtendDecoratorNotSupported,
  MethodOverridingField,
  InteropJsObjectConditionJudgment,
  InteropJsObjectExpandStaticInstance,
  NotSupportTupleGenericValidation,
  ExplicitFunctionType,
  ClassstaticInitialization,
  TaggedTemplates,
  IncompationbleFunctionType,
  InvalidIdentifier,
  TemplateStringType,
  NoImportJsonFile,
  NoImportNamespaceStarAsVar,
  ExtendsExpression,
  NumericSemantics,
  LongNumeric,
  AnimatableExtendDecoratorTransform,
  NoDuplicateFunctionName,
  OhmUrlFullPath,
  UIInterfaceImport,
  StylesDecoratorNotSupported,
  DataObservation,
  InteropCallReflect,
  InteropCallObjectParam,
  InteropDirectAccessToTSTypes,
  InteropTSFunctionInvoke,
  InteropJSFunctionInvoke,
  DeprecatedProcessApi,
  LimitedVoidTypeFromSdk,
  EntryAnnotation,
  SdkAbilityLifecycleMonitor,
  ProvideAnnotation,
  FieldTypeMismatch,
  UseSharedDeprecated,
  UseConcurrentDeprecated,
  MethodInheritRule,
  OptionalMethodFromSdk,
  SendablePropTypeFromSdk,
  ConstructorIfaceFromSdk,
  PropertyAccessByIndexFromSdk,
  ConstructorTypesDeprecated,
  QuotedHyphenPropsDeprecated,
  DuplicateDeclNameFromSdk,
  IsConcurrentDeprecated,
  InteropStaticObjectLiterals,
  InteropJsObjectInheritance,
  InteropJsObjectTraverseJsInstance,
  InteropJsObjectCallStaticFunc,
  InteropJsObjectExport,
  DefaultArgsBehindRequiredArgs,
  LimitedStdLibNoImportConcurrency,
  MissingSuperCall,
  InteropObjectLiteralAmbiguity,
  InteropObjectLiteralClass,
  UnsupportPropNameFromValue,
  InterOpImportJs,
  CallJSFunction,
  InteropObjectProperty,
  InterOpConvertImport,
  InterOpImportJsForTypeOf,
  InteropNoHaveNum,
  BinaryOperations,
  InterOpImportJsDataCompare,
  InteropEqualityJudgment,
  InterOpImportJsIndex,
  InstantiatedJsOjbect,
  InteropCallObjectMethods,
  InteropJsInstanceof,
  InteropIncrementDecrement,
  BuiltinThisArgs,
  BuiltinSymbolIterator,
  NoPropertyDescriptor,
  BuiltinNoCtorFunc,
  SharedArrayBufferDeprecated,
  SetCloneListDeprecated,
  SetTransferListDeprecated,
  SdkAbilityAsynchronousLifecycle,
  ObjectLiteralUnionNeedsCast,
  LimitedStdLibNoSendableDecorator,
  LimitedStdLibNoDoncurrentDecorator,
  NoNeedStdlibWorker,
  BuiltinGetOwnPropertyNames,
  LocalBuilderDecoratorNotSupported,
  MakeObservedCannotObserveCustomClass,
  NoEnumPropAsType,
  NoAwaitJsPromise,
  NosparseArray,
  NoTsLikeSmartType,
  ArrayTypeImmutable,
  CreatingPrimitiveTypes,
  TsLikeCatchType,
  NumericBigintCompare,
  NondecimalBigint,
  UnsupportOperator,
  CustomLayoutNeedAddDecorator,
  InterfaceFieldNotImplemented,
  NoLocalClass,
  NumericUnsignedShiftBehaviorChange,
  PropDecoratorNotSupported,
  StoragePropDecoratorNotSupported,
  LocalStoragePropDecoratorNotSupported,
  PropFunctionNotSupported,
  SetAndPropFunctionNotSupported,
  PropNeedCallMethodForDeepCopy,
  StateStylesBlockNeedArrowFunc,
  PromiseVoidNeedResolveArg,
  RepeatDisableVirtualScroll,
  WrappedBuilderGenericNeedArrowFunc,
  WrapBuilderGenericNeedArrowFunc,
  NoESObjectSupport,
  NoDeprecatedApi,
  BuilderNodeGenericNoTuple,
  BuilderNodeUpdateNoLiteral,
  BuilderNodeNoNestingBuilderSupported,
  SdkCommonApiDeprecated,
  SdkCommonApiWhiteList,
  SdkCommonApiBehaviorChange,
  PersistentPropNeedImplementMethod,
  PersistentPropsNeedImplementMethod,
  PersistenceV2ConnectNeedAddParam,
  BuiltinNewCtor,
  UninitializedArrayElements,
  BuiltinFinalClass,
  BuiltinNarrowTypes,
  BuiltinDisableApi,
  BuiltinIteratorResultValue,
  OptionalTupleType,
  LargeNumericLiteral,
  InstanceOfFunction,
  unfixedTuple,
  SuperInStaticContext,
  EntryHasInvalidParamsWithV2,
  EntryHasInvalidLocalStorageWithV2,
  SdkApiStaticOverload,
  EnableV2CompatibilityFunctionNotSupported,
  // this should always be last enum
  LAST_ID
}