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 16import { FaultID } from './Problems'; 17import { ProblemSeverity } from './ProblemSeverity'; 18 19export class FaultAttributes { 20 constructor( 21 public cookBookRef: number, 22 public severity: ProblemSeverity = ProblemSeverity.ERROR 23 ) {} 24} 25 26export const faultsAttrs: FaultAttributes[] = []; 27 28faultsAttrs[FaultID.LiteralAsPropertyName] = new FaultAttributes(1); 29faultsAttrs[FaultID.ComputedPropertyName] = new FaultAttributes(1); 30faultsAttrs[FaultID.SymbolType] = new FaultAttributes(2); 31faultsAttrs[FaultID.PrivateIdentifier] = new FaultAttributes(3); 32faultsAttrs[FaultID.DeclWithDuplicateName] = new FaultAttributes(4); 33faultsAttrs[FaultID.VarDeclaration] = new FaultAttributes(5); 34faultsAttrs[FaultID.AnyType] = new FaultAttributes(8); 35faultsAttrs[FaultID.UnknownType] = new FaultAttributes(8); 36faultsAttrs[FaultID.CallSignature] = new FaultAttributes(14); 37faultsAttrs[FaultID.ConstructorType] = new FaultAttributes(15); 38faultsAttrs[FaultID.MultipleStaticBlocks] = new FaultAttributes(16); 39faultsAttrs[FaultID.IndexMember] = new FaultAttributes(17); 40faultsAttrs[FaultID.IntersectionType] = new FaultAttributes(19); 41faultsAttrs[FaultID.ThisType] = new FaultAttributes(21); 42faultsAttrs[FaultID.ConditionalType] = new FaultAttributes(22); 43faultsAttrs[FaultID.ParameterProperties] = new FaultAttributes(25); 44faultsAttrs[FaultID.ConstructorIface] = new FaultAttributes(27); 45faultsAttrs[FaultID.IndexedAccessType] = new FaultAttributes(28); 46faultsAttrs[FaultID.PropertyAccessByIndex] = new FaultAttributes(29); 47faultsAttrs[FaultID.StructuralIdentity] = new FaultAttributes(30); 48faultsAttrs[FaultID.GenericCallNoTypeArgs] = new FaultAttributes(34); 49faultsAttrs[FaultID.RegularExpressionLiteral] = new FaultAttributes(37); 50faultsAttrs[FaultID.ObjectLiteralNoContextType] = new FaultAttributes(38); 51faultsAttrs[FaultID.ObjectTypeLiteral] = new FaultAttributes(40); 52faultsAttrs[FaultID.ArrayLiteralNoContextType] = new FaultAttributes(43); 53faultsAttrs[FaultID.FunctionExpression] = new FaultAttributes(46); 54faultsAttrs[FaultID.ClassExpression] = new FaultAttributes(50); 55faultsAttrs[FaultID.ImplementsClass] = new FaultAttributes(51); 56faultsAttrs[FaultID.MethodReassignment] = new FaultAttributes(52); 57faultsAttrs[FaultID.TypeAssertion] = new FaultAttributes(53); 58faultsAttrs[FaultID.JsxElement] = new FaultAttributes(54); 59faultsAttrs[FaultID.UnaryArithmNotNumber] = new FaultAttributes(55); 60faultsAttrs[FaultID.DeleteOperator] = new FaultAttributes(59); 61faultsAttrs[FaultID.TypeQuery] = new FaultAttributes(60); 62faultsAttrs[FaultID.InstanceofUnsupported] = new FaultAttributes(65); 63faultsAttrs[FaultID.InOperator] = new FaultAttributes(66); 64faultsAttrs[FaultID.DestructuringAssignment] = new FaultAttributes(69); 65faultsAttrs[FaultID.CommaOperator] = new FaultAttributes(71); 66faultsAttrs[FaultID.DestructuringDeclaration] = new FaultAttributes(74); 67faultsAttrs[FaultID.CatchWithUnsupportedType] = new FaultAttributes(79); 68faultsAttrs[FaultID.ForInStatement] = new FaultAttributes(80); 69faultsAttrs[FaultID.MappedType] = new FaultAttributes(83); 70faultsAttrs[FaultID.WithStatement] = new FaultAttributes(84); 71faultsAttrs[FaultID.ThrowStatement] = new FaultAttributes(87); 72faultsAttrs[FaultID.LimitedReturnTypeInference] = new FaultAttributes(90); 73faultsAttrs[FaultID.DestructuringParameter] = new FaultAttributes(91); 74faultsAttrs[FaultID.LocalFunction] = new FaultAttributes(92); 75faultsAttrs[FaultID.FunctionContainsThis] = new FaultAttributes(93); 76faultsAttrs[FaultID.GeneratorFunction] = new FaultAttributes(94); 77faultsAttrs[FaultID.YieldExpression] = new FaultAttributes(94); 78faultsAttrs[FaultID.IsOperator] = new FaultAttributes(96); 79faultsAttrs[FaultID.SpreadOperator] = new FaultAttributes(99); 80faultsAttrs[FaultID.IntefaceExtendDifProps] = new FaultAttributes(102); 81faultsAttrs[FaultID.InterfaceMerging] = new FaultAttributes(103); 82faultsAttrs[FaultID.InterfaceExtendsClass] = new FaultAttributes(104); 83faultsAttrs[FaultID.ConstructorFuncs] = new FaultAttributes(106); 84faultsAttrs[FaultID.EnumMemberNonConstInit] = new FaultAttributes(111); 85faultsAttrs[FaultID.EnumMerging] = new FaultAttributes(113); 86faultsAttrs[FaultID.NamespaceAsObject] = new FaultAttributes(114); 87faultsAttrs[FaultID.NonDeclarationInNamespace] = new FaultAttributes(116); 88faultsAttrs[FaultID.ImportAssignment] = new FaultAttributes(121); 89faultsAttrs[FaultID.ExportAssignment] = new FaultAttributes(126); 90faultsAttrs[FaultID.ShorthandAmbientModuleDecl] = new FaultAttributes(128); 91faultsAttrs[FaultID.WildcardsInModuleName] = new FaultAttributes(129); 92faultsAttrs[FaultID.UMDModuleDefinition] = new FaultAttributes(130); 93faultsAttrs[FaultID.NewTarget] = new FaultAttributes(132); 94faultsAttrs[FaultID.DefiniteAssignment] = new FaultAttributes(134, ProblemSeverity.WARNING); 95faultsAttrs[FaultID.DefiniteAssignmentError] = new FaultAttributes(134); 96faultsAttrs[FaultID.Prototype] = new FaultAttributes(136); 97faultsAttrs[FaultID.GlobalThis] = new FaultAttributes(137, ProblemSeverity.WARNING); 98faultsAttrs[FaultID.GlobalThisError] = new FaultAttributes(137); 99faultsAttrs[FaultID.UtilityType] = new FaultAttributes(138); 100faultsAttrs[FaultID.PropertyDeclOnFunction] = new FaultAttributes(139); 101faultsAttrs[FaultID.FunctionBind] = new FaultAttributes(140, ProblemSeverity.WARNING); 102faultsAttrs[FaultID.FunctionBindError] = new FaultAttributes(140); 103faultsAttrs[FaultID.ConstAssertion] = new FaultAttributes(142); 104faultsAttrs[FaultID.ImportAssertion] = new FaultAttributes(143); 105faultsAttrs[FaultID.LimitedStdLibApi] = new FaultAttributes(144); 106faultsAttrs[FaultID.StrictDiagnostic] = new FaultAttributes(145); 107faultsAttrs[FaultID.ErrorSuppression] = new FaultAttributes(146); 108faultsAttrs[FaultID.ClassAsObject] = new FaultAttributes(149, ProblemSeverity.WARNING); 109faultsAttrs[FaultID.ClassAsObjectError] = new FaultAttributes(149); 110faultsAttrs[FaultID.ImportAfterStatement] = new FaultAttributes(150); 111faultsAttrs[FaultID.EsValueType] = new FaultAttributes(151, ProblemSeverity.WARNING); 112faultsAttrs[FaultID.EsValueTypeError] = new FaultAttributes(151); 113faultsAttrs[FaultID.FunctionApplyCall] = new FaultAttributes(152); 114faultsAttrs[FaultID.SendableClassInheritance] = new FaultAttributes(153); 115faultsAttrs[FaultID.SendablePropType] = new FaultAttributes(154); 116faultsAttrs[FaultID.SendableDefiniteAssignment] = new FaultAttributes(155); 117faultsAttrs[FaultID.SendableGenericTypes] = new FaultAttributes(156); 118faultsAttrs[FaultID.SendableCapturedVars] = new FaultAttributes(157); 119faultsAttrs[FaultID.SendableClassDecorator] = new FaultAttributes(158); 120faultsAttrs[FaultID.SendableObjectInitialization] = new FaultAttributes(159); 121faultsAttrs[FaultID.SendableComputedPropName] = new FaultAttributes(160); 122faultsAttrs[FaultID.SendableAsExpr] = new FaultAttributes(161); 123faultsAttrs[FaultID.SharedNoSideEffectImport] = new FaultAttributes(162); 124faultsAttrs[FaultID.SharedModuleExports] = new FaultAttributes(163); 125faultsAttrs[FaultID.SharedModuleNoWildcardExport] = new FaultAttributes(164); 126faultsAttrs[FaultID.NoTsImportEts] = new FaultAttributes(165); 127faultsAttrs[FaultID.SendableTypeInheritance] = new FaultAttributes(166); 128faultsAttrs[FaultID.SendableTypeExported] = new FaultAttributes(167); 129faultsAttrs[FaultID.NoTsReExportEts] = new FaultAttributes(168); 130faultsAttrs[FaultID.NoNameSpaceImportEtsToTs] = new FaultAttributes(169); 131faultsAttrs[FaultID.NoSideEffectImportEtsToTs] = new FaultAttributes(170); 132faultsAttrs[FaultID.SendableExplicitFieldType] = new FaultAttributes(171); 133faultsAttrs[FaultID.SendableFunctionImportedVariables] = new FaultAttributes(172); 134faultsAttrs[FaultID.SendableFunctionDecorator] = new FaultAttributes(173); 135faultsAttrs[FaultID.SendableTypeAliasDecorator] = new FaultAttributes(174); 136faultsAttrs[FaultID.SendableTypeAliasDeclaration] = new FaultAttributes(175); 137faultsAttrs[FaultID.SendableFunctionAssignment] = new FaultAttributes(176); 138faultsAttrs[FaultID.SendableFunctionOverloadDecorator] = new FaultAttributes(177); 139faultsAttrs[FaultID.SendableFunctionProperty] = new FaultAttributes(178); 140faultsAttrs[FaultID.SendableFunctionAsExpr] = new FaultAttributes(179); 141faultsAttrs[FaultID.SendableDecoratorLimited] = new FaultAttributes(180); 142faultsAttrs[FaultID.SharedModuleExportsWarning] = new FaultAttributes(163, ProblemSeverity.WARNING); 143faultsAttrs[FaultID.SendableBetaCompatible] = new FaultAttributes(182); 144faultsAttrs[FaultID.ObjectLiteralProperty] = new FaultAttributes(183); 145faultsAttrs[FaultID.OptionalMethod] = new FaultAttributes(184); 146faultsAttrs[FaultID.ImportType] = new FaultAttributes(185); 147faultsAttrs[FaultID.DynamicCtorCall] = new FaultAttributes(186); 148faultsAttrs[FaultID.MathPow] = new FaultAttributes(187); 149faultsAttrs[FaultID.NumericSemantics] = new FaultAttributes(189); 150faultsAttrs[FaultID.IncompationbleFunctionType] = new FaultAttributes(190); 151faultsAttrs[FaultID.LimitedStdLibNoASON] = new FaultAttributes(191); 152faultsAttrs[FaultID.LimitedVoidType] = new FaultAttributes(192); 153faultsAttrs[FaultID.VoidOperator] = new FaultAttributes(193); 154faultsAttrs[FaultID.TsOverload] = new FaultAttributes(198); 155faultsAttrs[FaultID.NoNeedStdLibSendableContainer] = new FaultAttributes(199); 156faultsAttrs[FaultID.LimitedLiteralType] = new FaultAttributes(202); 157faultsAttrs[FaultID.ExponentOp] = new FaultAttributes(203); 158faultsAttrs[FaultID.DebuggerStatement] = new FaultAttributes(206); 159faultsAttrs[FaultID.ArgumentsObject] = new FaultAttributes(207); 160faultsAttrs[FaultID.TaggedTemplates] = new FaultAttributes(208); 161faultsAttrs[FaultID.ArrayIndexExprType] = new FaultAttributes(209); 162faultsAttrs[FaultID.SwitchExpression] = new FaultAttributes(210); 163faultsAttrs[FaultID.CaseExpression] = new FaultAttributes(211); 164faultsAttrs[FaultID.IndexNegative] = new FaultAttributes(212); 165faultsAttrs[FaultID.NoStaticOnClass] = new FaultAttributes(213); 166faultsAttrs[FaultID.NoConstructorOnClass] = new FaultAttributes(214); 167faultsAttrs[FaultID.RuntimeArrayCheck] = new FaultAttributes(215); 168faultsAttrs[FaultID.NoSideEffectImport] = new FaultAttributes(222); 169faultsAttrs[FaultID.ImportLazyIdentifier] = new FaultAttributes(232); 170faultsAttrs[FaultID.DynamicImport] = new FaultAttributes(233); 171faultsAttrs[FaultID.DecoratorsNotSupported] = new FaultAttributes(234); 172faultsAttrs[FaultID.AvoidUnionTypes] = new FaultAttributes(235); 173faultsAttrs[FaultID.MethodOverridingField] = new FaultAttributes(236); 174faultsAttrs[FaultID.NoTuplesArrays] = new FaultAttributes(237); 175faultsAttrs[FaultID.ClassstaticInitialization] = new FaultAttributes(238); 176faultsAttrs[FaultID.InvalidIdentifier] = new FaultAttributes(239); 177faultsAttrs[FaultID.DoubleExclaBindingNotSupported] = new FaultAttributes(251); 178faultsAttrs[FaultID.DoubleDollarBindingNotSupported] = new FaultAttributes(252); 179faultsAttrs[FaultID.DollarBindingNotSupported] = new FaultAttributes(253); 180faultsAttrs[FaultID.ExtendDecoratorNotSupported] = new FaultAttributes(254); 181faultsAttrs[FaultID.ExtendsExpression] = new FaultAttributes(255); 182faultsAttrs[FaultID.StylesDecoratorNotSupported] = new FaultAttributes(256); 183faultsAttrs[FaultID.AnimatableExtendDecoratorTransform] = new FaultAttributes(257); 184faultsAttrs[FaultID.DataObservation] = new FaultAttributes(258); 185faultsAttrs[FaultID.UIInterfaceImport] = new FaultAttributes(259); 186faultsAttrs[FaultID.EntryAnnotation] = new FaultAttributes(260); 187faultsAttrs[FaultID.MakeObservedIsNotSupported] = new FaultAttributes(262); 188faultsAttrs[FaultID.ProvideAnnotation] = new FaultAttributes(263); 189faultsAttrs[FaultID.InteropJsObjectInheritance] = new FaultAttributes(265); 190faultsAttrs[FaultID.InteropJsObjectTraverseJsInstance] = new FaultAttributes(266); 191faultsAttrs[FaultID.InteropJsObjectCallStaticFunc] = new FaultAttributes(267, ProblemSeverity.WARNING); 192faultsAttrs[FaultID.InteropJsObjectConditionJudgment] = new FaultAttributes(268); 193faultsAttrs[FaultID.InteropJsObjectExpandStaticInstance] = new FaultAttributes(269); 194faultsAttrs[FaultID.InteropJSFunctionInvoke] = new FaultAttributes(270); 195faultsAttrs[FaultID.MissingSuperCall] = new FaultAttributes(274); 196faultsAttrs[FaultID.CustomLayoutNeedAddDecorator] = new FaultAttributes(275); 197faultsAttrs[FaultID.PropDecoratorNotSupported] = new FaultAttributes(281); 198faultsAttrs[FaultID.StoragePropDecoratorNotSupported] = new FaultAttributes(282); 199faultsAttrs[FaultID.LocalStoragePropDecoratorNotSupported] = new FaultAttributes(283); 200faultsAttrs[FaultID.PropFunctionNotSupported] = new FaultAttributes(284); 201faultsAttrs[FaultID.SetAndPropFunctionNotSupported] = new FaultAttributes(285); 202faultsAttrs[FaultID.PropNeedCallMethodForDeepCopy] = new FaultAttributes(286); 203faultsAttrs[FaultID.ExplicitFunctionType] = new FaultAttributes(300); 204faultsAttrs[FaultID.OhmUrlFullPath] = new FaultAttributes(301); 205faultsAttrs[FaultID.InteropCallObjectParam] = new FaultAttributes(302); 206faultsAttrs[FaultID.InteropCallReflect] = new FaultAttributes(303); 207faultsAttrs[FaultID.NoDuplicateFunctionName] = new FaultAttributes(304); 208faultsAttrs[FaultID.InteropDirectAccessToTSTypes] = new FaultAttributes(306); 209faultsAttrs[FaultID.InteropTSFunctionInvoke] = new FaultAttributes(307); 210faultsAttrs[FaultID.LimitedVoidTypeFromSdk] = new FaultAttributes(308); 211faultsAttrs[FaultID.OptionalMethodFromSdk] = new FaultAttributes(309); 212faultsAttrs[FaultID.SendablePropTypeFromSdk] = new FaultAttributes(310); 213faultsAttrs[FaultID.ConstructorIfaceFromSdk] = new FaultAttributes(311); 214faultsAttrs[FaultID.PropertyAccessByIndexFromSdk] = new FaultAttributes(312); 215faultsAttrs[FaultID.ConstructorTypesDeprecated] = new FaultAttributes(313); 216faultsAttrs[FaultID.QuotedHyphenPropsDeprecated] = new FaultAttributes(314); 217faultsAttrs[FaultID.DuplicateDeclNameFromSdk] = new FaultAttributes(315); 218faultsAttrs[FaultID.SdkTypeQuery] = new FaultAttributes(316); 219faultsAttrs[FaultID.UseSharedDeprecated] = new FaultAttributes(317); 220faultsAttrs[FaultID.UseConcurrentDeprecated] = new FaultAttributes(318); 221faultsAttrs[FaultID.MethodInheritRule] = new FaultAttributes(319); 222faultsAttrs[FaultID.LimitedStdLibNoImportConcurrency] = new FaultAttributes(321); 223faultsAttrs[FaultID.IsConcurrentDeprecated] = new FaultAttributes(322); 224faultsAttrs[FaultID.InteropJsObjectExport] = new FaultAttributes(323); 225faultsAttrs[FaultID.DefaultArgsBehindRequiredArgs] = new FaultAttributes(325); 226faultsAttrs[FaultID.InteropStaticObjectLiterals] = new FaultAttributes(326); 227faultsAttrs[FaultID.InteropObjectLiteralAmbiguity] = new FaultAttributes(327); 228faultsAttrs[FaultID.InteropObjectLiteralClass] = new FaultAttributes(328); 229faultsAttrs[FaultID.UnsupportPropNameFromValue] = new FaultAttributes(329); 230faultsAttrs[FaultID.InterOpImportJs] = new FaultAttributes(330); 231faultsAttrs[FaultID.CallJSFunction] = new FaultAttributes(331); 232faultsAttrs[FaultID.InteropObjectProperty] = new FaultAttributes(332); 233faultsAttrs[FaultID.InterOpConvertImport] = new FaultAttributes(333); 234faultsAttrs[FaultID.InterOpImportJsForTypeOf] = new FaultAttributes(334); 235faultsAttrs[FaultID.InteropNoHaveNum] = new FaultAttributes(335); 236faultsAttrs[FaultID.BinaryOperations] = new FaultAttributes(336); 237faultsAttrs[FaultID.InterOpImportJsDataCompare] = new FaultAttributes(337); 238faultsAttrs[FaultID.InteropEqualityJudgment] = new FaultAttributes(338); 239faultsAttrs[FaultID.InterOpImportJsIndex] = new FaultAttributes(339); 240faultsAttrs[FaultID.NoAwaitJsPromise] = new FaultAttributes(340); 241faultsAttrs[FaultID.InstantiatedJsOjbect] = new FaultAttributes(341); 242faultsAttrs[FaultID.InteropCallObjectMethods] = new FaultAttributes(342); 243faultsAttrs[FaultID.InteropJsInstanceof] = new FaultAttributes(343); 244faultsAttrs[FaultID.InteropIncrementDecrement] = new FaultAttributes(344); 245faultsAttrs[FaultID.BuiltinThisArgs] = new FaultAttributes(345); 246faultsAttrs[FaultID.BuiltinSymbolIterator] = new FaultAttributes(346); 247faultsAttrs[FaultID.NoPropertyDescriptor] = new FaultAttributes(347); 248faultsAttrs[FaultID.BuiltinNoCtorFunc] = new FaultAttributes(348); 249faultsAttrs[FaultID.SharedArrayBufferDeprecated] = new FaultAttributes(349); 250faultsAttrs[FaultID.SetCloneListDeprecated] = new FaultAttributes(350); 251faultsAttrs[FaultID.SetTransferListDeprecated] = new FaultAttributes(351); 252faultsAttrs[FaultID.SdkAbilityAsynchronousLifecycle] = new FaultAttributes(352); 253faultsAttrs[FaultID.LimitedStdLibNoSendableDecorator] = new FaultAttributes(355); 254faultsAttrs[FaultID.LimitedStdLibNoDoncurrentDecorator] = new FaultAttributes(356); 255faultsAttrs[FaultID.NoNeedStdlibWorker] = new FaultAttributes(357); 256faultsAttrs[FaultID.BuiltinGetOwnPropertyNames] = new FaultAttributes(358); 257faultsAttrs[FaultID.LocalBuilderDecoratorNotSupported] = new FaultAttributes(359); 258faultsAttrs[FaultID.NosparseArray] = new FaultAttributes(370); 259faultsAttrs[FaultID.NoEnumPropAsType] = new FaultAttributes(371); 260faultsAttrs[FaultID.NoTsLikeSmartType] = new FaultAttributes(372); 261faultsAttrs[FaultID.ArrayTypeImmutable] = new FaultAttributes(373); 262faultsAttrs[FaultID.CreatingPrimitiveTypes] = new FaultAttributes(374); 263faultsAttrs[FaultID.TsLikeCatchType] = new FaultAttributes(375); 264faultsAttrs[FaultID.NumericBigintCompare] = new FaultAttributes(376); 265faultsAttrs[FaultID.NondecimalBigint] = new FaultAttributes(377); 266faultsAttrs[FaultID.UnsupportOperator] = new FaultAttributes(378); 267faultsAttrs[FaultID.StateStylesBlockNeedArrowFunc] = new FaultAttributes(381); 268faultsAttrs[FaultID.PromiseVoidNeedResolveArg] = new FaultAttributes(382);