13af6ab5fSopenharmony_ci/*
23af6ab5fSopenharmony_ci * Copyright (c) 2022-2024 Huawei Device Co., Ltd.
33af6ab5fSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
43af6ab5fSopenharmony_ci * you may not use this file except in compliance with the License.
53af6ab5fSopenharmony_ci * You may obtain a copy of the License at
63af6ab5fSopenharmony_ci *
73af6ab5fSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0
83af6ab5fSopenharmony_ci *
93af6ab5fSopenharmony_ci * Unless required by applicable law or agreed to in writing, software
103af6ab5fSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
113af6ab5fSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
123af6ab5fSopenharmony_ci * See the License for the specific language governing permissions and
133af6ab5fSopenharmony_ci * limitations under the License.
143af6ab5fSopenharmony_ci */
153af6ab5fSopenharmony_ci
163af6ab5fSopenharmony_ciimport { FaultID } from './Problems';
173af6ab5fSopenharmony_ciimport { ProblemSeverity } from './ProblemSeverity';
183af6ab5fSopenharmony_ci
193af6ab5fSopenharmony_ciexport class FaultAttributes {
203af6ab5fSopenharmony_ci  constructor(
213af6ab5fSopenharmony_ci    public cookBookRef: number,
223af6ab5fSopenharmony_ci    public severity: ProblemSeverity = ProblemSeverity.ERROR
233af6ab5fSopenharmony_ci  ) {}
243af6ab5fSopenharmony_ci}
253af6ab5fSopenharmony_ci
263af6ab5fSopenharmony_ciexport const faultsAttrs: FaultAttributes[] = [];
273af6ab5fSopenharmony_ci
283af6ab5fSopenharmony_cifaultsAttrs[FaultID.LiteralAsPropertyName] = new FaultAttributes(1);
293af6ab5fSopenharmony_cifaultsAttrs[FaultID.ComputedPropertyName] = new FaultAttributes(1);
303af6ab5fSopenharmony_cifaultsAttrs[FaultID.SymbolType] = new FaultAttributes(2);
313af6ab5fSopenharmony_cifaultsAttrs[FaultID.PrivateIdentifier] = new FaultAttributes(3);
323af6ab5fSopenharmony_cifaultsAttrs[FaultID.DeclWithDuplicateName] = new FaultAttributes(4);
333af6ab5fSopenharmony_cifaultsAttrs[FaultID.VarDeclaration] = new FaultAttributes(5);
343af6ab5fSopenharmony_cifaultsAttrs[FaultID.AnyType] = new FaultAttributes(8);
353af6ab5fSopenharmony_cifaultsAttrs[FaultID.UnknownType] = new FaultAttributes(8);
363af6ab5fSopenharmony_cifaultsAttrs[FaultID.CallSignature] = new FaultAttributes(14);
373af6ab5fSopenharmony_cifaultsAttrs[FaultID.ConstructorType] = new FaultAttributes(15);
383af6ab5fSopenharmony_cifaultsAttrs[FaultID.MultipleStaticBlocks] = new FaultAttributes(16);
393af6ab5fSopenharmony_cifaultsAttrs[FaultID.IndexMember] = new FaultAttributes(17);
403af6ab5fSopenharmony_cifaultsAttrs[FaultID.IntersectionType] = new FaultAttributes(19);
413af6ab5fSopenharmony_cifaultsAttrs[FaultID.ThisType] = new FaultAttributes(21);
423af6ab5fSopenharmony_cifaultsAttrs[FaultID.ConditionalType] = new FaultAttributes(22);
433af6ab5fSopenharmony_cifaultsAttrs[FaultID.ParameterProperties] = new FaultAttributes(25);
443af6ab5fSopenharmony_cifaultsAttrs[FaultID.ConstructorIface] = new FaultAttributes(27);
453af6ab5fSopenharmony_cifaultsAttrs[FaultID.IndexedAccessType] = new FaultAttributes(28);
463af6ab5fSopenharmony_cifaultsAttrs[FaultID.PropertyAccessByIndex] = new FaultAttributes(29);
473af6ab5fSopenharmony_cifaultsAttrs[FaultID.StructuralIdentity] = new FaultAttributes(30);
483af6ab5fSopenharmony_cifaultsAttrs[FaultID.GenericCallNoTypeArgs] = new FaultAttributes(34);
493af6ab5fSopenharmony_cifaultsAttrs[FaultID.ObjectLiteralNoContextType] = new FaultAttributes(38);
503af6ab5fSopenharmony_cifaultsAttrs[FaultID.ObjectTypeLiteral] = new FaultAttributes(40);
513af6ab5fSopenharmony_cifaultsAttrs[FaultID.ArrayLiteralNoContextType] = new FaultAttributes(43);
523af6ab5fSopenharmony_cifaultsAttrs[FaultID.FunctionExpression] = new FaultAttributes(46);
533af6ab5fSopenharmony_cifaultsAttrs[FaultID.ClassExpression] = new FaultAttributes(50);
543af6ab5fSopenharmony_cifaultsAttrs[FaultID.ImplementsClass] = new FaultAttributes(51);
553af6ab5fSopenharmony_cifaultsAttrs[FaultID.MethodReassignment] = new FaultAttributes(52);
563af6ab5fSopenharmony_cifaultsAttrs[FaultID.TypeAssertion] = new FaultAttributes(53);
573af6ab5fSopenharmony_cifaultsAttrs[FaultID.JsxElement] = new FaultAttributes(54);
583af6ab5fSopenharmony_cifaultsAttrs[FaultID.UnaryArithmNotNumber] = new FaultAttributes(55);
593af6ab5fSopenharmony_cifaultsAttrs[FaultID.DeleteOperator] = new FaultAttributes(59);
603af6ab5fSopenharmony_cifaultsAttrs[FaultID.TypeQuery] = new FaultAttributes(60);
613af6ab5fSopenharmony_cifaultsAttrs[FaultID.InstanceofUnsupported] = new FaultAttributes(65);
623af6ab5fSopenharmony_cifaultsAttrs[FaultID.InOperator] = new FaultAttributes(66);
633af6ab5fSopenharmony_cifaultsAttrs[FaultID.DestructuringAssignment] = new FaultAttributes(69);
643af6ab5fSopenharmony_cifaultsAttrs[FaultID.CommaOperator] = new FaultAttributes(71);
653af6ab5fSopenharmony_cifaultsAttrs[FaultID.DestructuringDeclaration] = new FaultAttributes(74);
663af6ab5fSopenharmony_cifaultsAttrs[FaultID.CatchWithUnsupportedType] = new FaultAttributes(79);
673af6ab5fSopenharmony_cifaultsAttrs[FaultID.ForInStatement] = new FaultAttributes(80);
683af6ab5fSopenharmony_cifaultsAttrs[FaultID.MappedType] = new FaultAttributes(83);
693af6ab5fSopenharmony_cifaultsAttrs[FaultID.WithStatement] = new FaultAttributes(84);
703af6ab5fSopenharmony_cifaultsAttrs[FaultID.ThrowStatement] = new FaultAttributes(87);
713af6ab5fSopenharmony_cifaultsAttrs[FaultID.LimitedReturnTypeInference] = new FaultAttributes(90);
723af6ab5fSopenharmony_cifaultsAttrs[FaultID.DestructuringParameter] = new FaultAttributes(91);
733af6ab5fSopenharmony_cifaultsAttrs[FaultID.LocalFunction] = new FaultAttributes(92);
743af6ab5fSopenharmony_cifaultsAttrs[FaultID.FunctionContainsThis] = new FaultAttributes(93);
753af6ab5fSopenharmony_cifaultsAttrs[FaultID.GeneratorFunction] = new FaultAttributes(94);
763af6ab5fSopenharmony_cifaultsAttrs[FaultID.YieldExpression] = new FaultAttributes(94);
773af6ab5fSopenharmony_cifaultsAttrs[FaultID.IsOperator] = new FaultAttributes(96);
783af6ab5fSopenharmony_cifaultsAttrs[FaultID.SpreadOperator] = new FaultAttributes(99);
793af6ab5fSopenharmony_cifaultsAttrs[FaultID.IntefaceExtendDifProps] = new FaultAttributes(102);
803af6ab5fSopenharmony_cifaultsAttrs[FaultID.InterfaceMerging] = new FaultAttributes(103);
813af6ab5fSopenharmony_cifaultsAttrs[FaultID.InterfaceExtendsClass] = new FaultAttributes(104);
823af6ab5fSopenharmony_cifaultsAttrs[FaultID.ConstructorFuncs] = new FaultAttributes(106);
833af6ab5fSopenharmony_cifaultsAttrs[FaultID.EnumMemberNonConstInit] = new FaultAttributes(111);
843af6ab5fSopenharmony_cifaultsAttrs[FaultID.EnumMerging] = new FaultAttributes(113);
853af6ab5fSopenharmony_cifaultsAttrs[FaultID.NamespaceAsObject] = new FaultAttributes(114);
863af6ab5fSopenharmony_cifaultsAttrs[FaultID.NonDeclarationInNamespace] = new FaultAttributes(116);
873af6ab5fSopenharmony_cifaultsAttrs[FaultID.ImportAssignment] = new FaultAttributes(121);
883af6ab5fSopenharmony_cifaultsAttrs[FaultID.ExportAssignment] = new FaultAttributes(126);
893af6ab5fSopenharmony_cifaultsAttrs[FaultID.ShorthandAmbientModuleDecl] = new FaultAttributes(128);
903af6ab5fSopenharmony_cifaultsAttrs[FaultID.WildcardsInModuleName] = new FaultAttributes(129);
913af6ab5fSopenharmony_cifaultsAttrs[FaultID.UMDModuleDefinition] = new FaultAttributes(130);
923af6ab5fSopenharmony_cifaultsAttrs[FaultID.NewTarget] = new FaultAttributes(132);
933af6ab5fSopenharmony_cifaultsAttrs[FaultID.DefiniteAssignment] = new FaultAttributes(134, ProblemSeverity.WARNING);
943af6ab5fSopenharmony_cifaultsAttrs[FaultID.DefiniteAssignmentError] = new FaultAttributes(134);
953af6ab5fSopenharmony_cifaultsAttrs[FaultID.Prototype] = new FaultAttributes(136);
963af6ab5fSopenharmony_cifaultsAttrs[FaultID.GlobalThis] = new FaultAttributes(137, ProblemSeverity.WARNING);
973af6ab5fSopenharmony_cifaultsAttrs[FaultID.GlobalThisError] = new FaultAttributes(137);
983af6ab5fSopenharmony_cifaultsAttrs[FaultID.UtilityType] = new FaultAttributes(138);
993af6ab5fSopenharmony_cifaultsAttrs[FaultID.PropertyDeclOnFunction] = new FaultAttributes(139);
1003af6ab5fSopenharmony_cifaultsAttrs[FaultID.FunctionBind] = new FaultAttributes(140, ProblemSeverity.WARNING);
1013af6ab5fSopenharmony_cifaultsAttrs[FaultID.FunctionBindError] = new FaultAttributes(140);
1023af6ab5fSopenharmony_cifaultsAttrs[FaultID.ConstAssertion] = new FaultAttributes(142);
1033af6ab5fSopenharmony_cifaultsAttrs[FaultID.ImportAssertion] = new FaultAttributes(143);
1043af6ab5fSopenharmony_cifaultsAttrs[FaultID.LimitedStdLibApi] = new FaultAttributes(144);
1053af6ab5fSopenharmony_cifaultsAttrs[FaultID.StrictDiagnostic] = new FaultAttributes(145);
1063af6ab5fSopenharmony_cifaultsAttrs[FaultID.ErrorSuppression] = new FaultAttributes(146);
1073af6ab5fSopenharmony_cifaultsAttrs[FaultID.ClassAsObject] = new FaultAttributes(149, ProblemSeverity.WARNING);
1083af6ab5fSopenharmony_cifaultsAttrs[FaultID.ClassAsObjectError] = new FaultAttributes(149);
1093af6ab5fSopenharmony_cifaultsAttrs[FaultID.ImportAfterStatement] = new FaultAttributes(150);
1103af6ab5fSopenharmony_cifaultsAttrs[FaultID.EsObjectType] = new FaultAttributes(151, ProblemSeverity.WARNING);
1113af6ab5fSopenharmony_cifaultsAttrs[FaultID.EsObjectTypeError] = new FaultAttributes(151);
1123af6ab5fSopenharmony_cifaultsAttrs[FaultID.FunctionApplyCall] = new FaultAttributes(152);
1133af6ab5fSopenharmony_cifaultsAttrs[FaultID.SendableClassInheritance] = new FaultAttributes(153);
1143af6ab5fSopenharmony_cifaultsAttrs[FaultID.SendablePropType] = new FaultAttributes(154);
1153af6ab5fSopenharmony_cifaultsAttrs[FaultID.SendableDefiniteAssignment] = new FaultAttributes(155);
1163af6ab5fSopenharmony_cifaultsAttrs[FaultID.SendableGenericTypes] = new FaultAttributes(156);
1173af6ab5fSopenharmony_cifaultsAttrs[FaultID.SendableCapturedVars] = new FaultAttributes(157);
1183af6ab5fSopenharmony_cifaultsAttrs[FaultID.SendableClassDecorator] = new FaultAttributes(158);
1193af6ab5fSopenharmony_cifaultsAttrs[FaultID.SendableObjectInitialization] = new FaultAttributes(159);
1203af6ab5fSopenharmony_cifaultsAttrs[FaultID.SendableComputedPropName] = new FaultAttributes(160);
1213af6ab5fSopenharmony_cifaultsAttrs[FaultID.SendableAsExpr] = new FaultAttributes(161);
1223af6ab5fSopenharmony_cifaultsAttrs[FaultID.SharedNoSideEffectImport] = new FaultAttributes(162);
1233af6ab5fSopenharmony_cifaultsAttrs[FaultID.SharedModuleExports] = new FaultAttributes(163);
1243af6ab5fSopenharmony_cifaultsAttrs[FaultID.SharedModuleNoWildcardExport] = new FaultAttributes(164);
1253af6ab5fSopenharmony_cifaultsAttrs[FaultID.NoTsImportEts] = new FaultAttributes(165);
1263af6ab5fSopenharmony_cifaultsAttrs[FaultID.SendableTypeInheritance] = new FaultAttributes(166);
1273af6ab5fSopenharmony_cifaultsAttrs[FaultID.SendableTypeExported] = new FaultAttributes(167);
1283af6ab5fSopenharmony_cifaultsAttrs[FaultID.NoTsReExportEts] = new FaultAttributes(168);
1293af6ab5fSopenharmony_cifaultsAttrs[FaultID.NoNameSpaceImportEtsToTs] = new FaultAttributes(169);
1303af6ab5fSopenharmony_cifaultsAttrs[FaultID.NoSIdeEffectImportEtsToTs] = new FaultAttributes(170);
1313af6ab5fSopenharmony_cifaultsAttrs[FaultID.SendableExplicitFieldType] = new FaultAttributes(171);
1323af6ab5fSopenharmony_cifaultsAttrs[FaultID.SendableFunctionImportedVariables] = new FaultAttributes(172);
1333af6ab5fSopenharmony_cifaultsAttrs[FaultID.SendableFunctionDecorator] = new FaultAttributes(173);
1343af6ab5fSopenharmony_cifaultsAttrs[FaultID.SendableTypeAliasDecorator] = new FaultAttributes(174);
1353af6ab5fSopenharmony_cifaultsAttrs[FaultID.SendableTypeAliasDeclaration] = new FaultAttributes(175);
1363af6ab5fSopenharmony_cifaultsAttrs[FaultID.SendableFunctionAssignment] = new FaultAttributes(176);
1373af6ab5fSopenharmony_cifaultsAttrs[FaultID.SendableFunctionOverloadDecorator] = new FaultAttributes(177);
1383af6ab5fSopenharmony_cifaultsAttrs[FaultID.SendableFunctionProperty] = new FaultAttributes(178);
1393af6ab5fSopenharmony_cifaultsAttrs[FaultID.SendableFunctionAsExpr] = new FaultAttributes(179);
1403af6ab5fSopenharmony_cifaultsAttrs[FaultID.SendableDecoratorLimited] = new FaultAttributes(180);
1413af6ab5fSopenharmony_cifaultsAttrs[FaultID.SendableClosureExport] = new FaultAttributes(181, ProblemSeverity.WARNING);
1423af6ab5fSopenharmony_cifaultsAttrs[FaultID.SharedModuleExportsWarning] = new FaultAttributes(163, ProblemSeverity.WARNING);
1433af6ab5fSopenharmony_cifaultsAttrs[FaultID.SendableBetaCompatible] = new FaultAttributes(182);
1443af6ab5fSopenharmony_cifaultsAttrs[FaultID.ObjectLiteralProperty] = new FaultAttributes(183);
1453af6ab5fSopenharmony_cifaultsAttrs[FaultID.OptionalMethod] = new FaultAttributes(184);
1463af6ab5fSopenharmony_cifaultsAttrs[FaultID.ImportType] = new FaultAttributes(185);
1473af6ab5fSopenharmony_cifaultsAttrs[FaultID.DynamicCtorCall] = new FaultAttributes(186);
148