1/* 2 * Copyright (c) 2022-2023 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 16export enum FaultID { 17 AnyType, SymbolType, ObjectLiteralNoContextType, ArrayLiteralNoContextType, 18 ComputedPropertyName, LiteralAsPropertyName, TypeQuery, RegexLiteral, IsOperator, 19 DestructuringParameter, YieldExpression, InterfaceMerging, EnumMerging, InterfaceExtendsClass, IndexMember, WithStatement, 20 ThrowStatement, IndexedAccessType, UnknownType, ForInStatement, InOperator, 21 ImportFromPath, FunctionExpression, IntersectionType, 22 ObjectTypeLiteral, CommaOperator, LimitedReturnTypeInference, 23 LambdaWithTypeParameters, ClassExpression, DestructuringAssignment, 24 DestructuringDeclaration, VarDeclaration, CatchWithUnsupportedType, DeleteOperator, 25 DeclWithDuplicateName, UnaryArithmNotNumber, ConstructorType, ConstructorIface, ConstructorFuncs, CallSignature, 26 TypeAssertion, PrivateIdentifier, LocalFunction, 27 ConditionalType, MappedType, NamespaceAsObject, ClassAsObject, 28 NonDeclarationInNamespace, GeneratorFunction, FunctionContainsThis, PropertyAccessByIndex, JsxElement, 29 EnumMemberNonConstInit, ImplementsClass, MethodReassignment, MultipleStaticBlocks, ThisType, 30 IntefaceExtendDifProps, StructuralIdentity, TypeOnlyImport, TypeOnlyExport, DefaultImport, 31 ExportAssignment, ImportAssignment, 32 GenericCallNoTypeArgs, ParameterProperties, 33 InstanceofUnsupported, ShorthandAmbientModuleDecl, WildcardsInModuleName, UMDModuleDefinition, 34 NewTarget, DefiniteAssignment, Prototype, GlobalThis, 35 UtilityType, PropertyDeclOnFunction, FunctionApplyBindCall, ConstAssertion, ImportAssertion, 36 SpreadOperator, LimitedStdLibApi, ErrorSuppression, StrictDiagnostic, UnsupportedDecorators, ImportAfterStatement, 37 EsObjectType, LAST_ID, // this should always be last enum 38} 39 40export class FaultAttributs { 41 migratable?: boolean; 42 warning?: boolean; 43 cookBookRef = '-1'; 44} 45 46export const faultsAttrs: FaultAttributs[] = []; 47 48faultsAttrs[FaultID.LiteralAsPropertyName] = {migratable: true, cookBookRef: '1',}; 49faultsAttrs[FaultID.ComputedPropertyName] = {cookBookRef: '1',}; 50faultsAttrs[FaultID.SymbolType] = {cookBookRef: '2',}; 51faultsAttrs[FaultID.PrivateIdentifier] = {migratable: true, cookBookRef: '3',}; 52faultsAttrs[FaultID.DeclWithDuplicateName] = {migratable: true, cookBookRef: '4',}; 53faultsAttrs[FaultID.VarDeclaration] = {migratable: true, cookBookRef: '5',}; 54faultsAttrs[FaultID.AnyType] = {cookBookRef: '8'}; 55faultsAttrs[FaultID.UnknownType] = {cookBookRef: '8',}; 56faultsAttrs[FaultID.CallSignature] = {cookBookRef: '14',}; 57faultsAttrs[FaultID.ConstructorType] = {cookBookRef: '15',}; 58faultsAttrs[FaultID.MultipleStaticBlocks] = {cookBookRef: '16',}; 59faultsAttrs[FaultID.IndexMember] = {cookBookRef: '17',}; 60faultsAttrs[FaultID.IntersectionType] = {cookBookRef: '19',}; 61faultsAttrs[FaultID.ThisType] = {cookBookRef: '21',}; 62faultsAttrs[FaultID.ConditionalType] = {cookBookRef: '22',}; 63faultsAttrs[FaultID.ParameterProperties] = {migratable: true, cookBookRef: '25',}; 64faultsAttrs[FaultID.ConstructorIface] = {cookBookRef: '27',}; 65faultsAttrs[FaultID.IndexedAccessType] = {cookBookRef: '28',}; 66faultsAttrs[FaultID.PropertyAccessByIndex] = {migratable: true, cookBookRef: '29',}; 67faultsAttrs[FaultID.StructuralIdentity] = {cookBookRef: '30',}; 68faultsAttrs[FaultID.GenericCallNoTypeArgs] = {cookBookRef: '34',}; 69faultsAttrs[FaultID.RegexLiteral] = {cookBookRef: '37',}; 70faultsAttrs[FaultID.ObjectLiteralNoContextType] = {cookBookRef: '38',}; 71faultsAttrs[FaultID.ObjectTypeLiteral] = {cookBookRef: '40',}; 72faultsAttrs[FaultID.ArrayLiteralNoContextType] = {cookBookRef: '43',}; 73faultsAttrs[FaultID.FunctionExpression] = {migratable: true, cookBookRef: '46',}; 74faultsAttrs[FaultID.LambdaWithTypeParameters] = {migratable: true, cookBookRef: '49',}; 75faultsAttrs[FaultID.ClassExpression] = {migratable: true, cookBookRef: '50',}; 76faultsAttrs[FaultID.ImplementsClass] = {cookBookRef: '51',}; 77faultsAttrs[FaultID.MethodReassignment] = {cookBookRef: '52',}; 78faultsAttrs[FaultID.TypeAssertion] = {migratable: true, cookBookRef: '53',}; 79faultsAttrs[FaultID.JsxElement] = {cookBookRef: '54',}; 80faultsAttrs[FaultID.UnaryArithmNotNumber] = {cookBookRef: '55',}; 81faultsAttrs[FaultID.DeleteOperator] = {cookBookRef: '59',}; 82faultsAttrs[FaultID.TypeQuery] = {cookBookRef: '60',}; 83faultsAttrs[FaultID.InstanceofUnsupported] = {cookBookRef: '65',}; 84faultsAttrs[FaultID.InOperator] = {cookBookRef: '66',}; 85faultsAttrs[FaultID.DestructuringAssignment] = {migratable: true, cookBookRef: '69',}; 86faultsAttrs[FaultID.CommaOperator] = {cookBookRef: '71',}; 87faultsAttrs[FaultID.DestructuringDeclaration] = {migratable: true, cookBookRef: '74',}; 88faultsAttrs[FaultID.CatchWithUnsupportedType] = {migratable: true, cookBookRef: '79',}; 89faultsAttrs[FaultID.ForInStatement] = {cookBookRef: '80',}; 90faultsAttrs[FaultID.MappedType] = {cookBookRef: '83',}; 91faultsAttrs[FaultID.WithStatement] = {cookBookRef: '84',}; 92faultsAttrs[FaultID.ThrowStatement] = {migratable: true, cookBookRef: '87',}; 93faultsAttrs[FaultID.LimitedReturnTypeInference] = {migratable: true, cookBookRef: '90',}; 94faultsAttrs[FaultID.DestructuringParameter] = {cookBookRef: '91',}; 95faultsAttrs[FaultID.LocalFunction] = {migratable: true, cookBookRef: '92',}; 96faultsAttrs[FaultID.FunctionContainsThis] = {cookBookRef: '93',}; 97faultsAttrs[FaultID.GeneratorFunction] = {cookBookRef: '94',}; 98faultsAttrs[FaultID.YieldExpression] = {cookBookRef: '94',}; 99faultsAttrs[FaultID.IsOperator] = {cookBookRef: '96',}; 100faultsAttrs[FaultID.SpreadOperator] = {cookBookRef: '99',}; 101faultsAttrs[FaultID.IntefaceExtendDifProps] = {cookBookRef: '102',}; 102faultsAttrs[FaultID.InterfaceMerging] = {cookBookRef: '103',}; 103faultsAttrs[FaultID.InterfaceExtendsClass] = {cookBookRef: '104',}; 104faultsAttrs[FaultID.ConstructorFuncs] = {cookBookRef: '106',}; 105faultsAttrs[FaultID.EnumMemberNonConstInit] = {cookBookRef: '111',}; 106faultsAttrs[FaultID.EnumMerging] = {cookBookRef: '113',}; 107faultsAttrs[FaultID.NamespaceAsObject] = {cookBookRef: '114',}; 108faultsAttrs[FaultID.NonDeclarationInNamespace] = {cookBookRef: '116',}; 109faultsAttrs[FaultID.ImportFromPath] = {cookBookRef: '119',}; 110faultsAttrs[FaultID.TypeOnlyImport] = {migratable: true, cookBookRef: '118',}; 111faultsAttrs[FaultID.DefaultImport] = {migratable: true, cookBookRef: '120',}; 112faultsAttrs[FaultID.ImportAssignment] = {cookBookRef: '121',}; 113faultsAttrs[FaultID.ExportAssignment] = {cookBookRef: '126',}; 114faultsAttrs[FaultID.TypeOnlyExport] = {migratable: true, cookBookRef: '127',}; 115faultsAttrs[FaultID.ShorthandAmbientModuleDecl] = {cookBookRef: '128',}; 116faultsAttrs[FaultID.WildcardsInModuleName] = {cookBookRef: '129',}; 117faultsAttrs[FaultID.UMDModuleDefinition] = {cookBookRef: '130',}; 118faultsAttrs[FaultID.NewTarget] = {cookBookRef: '132',}; 119faultsAttrs[FaultID.DefiniteAssignment] = {warning: true, cookBookRef: '134',}; 120faultsAttrs[FaultID.Prototype] = {cookBookRef: '136',}; 121faultsAttrs[FaultID.GlobalThis] = {cookBookRef: '137',}; 122faultsAttrs[FaultID.UtilityType] = {cookBookRef: '138',}; 123faultsAttrs[FaultID.PropertyDeclOnFunction] = {cookBookRef: '139',}; 124faultsAttrs[FaultID.FunctionApplyBindCall] = {cookBookRef: '140',}; 125faultsAttrs[FaultID.ConstAssertion] = {cookBookRef: '142',}; 126faultsAttrs[FaultID.ImportAssertion] = {cookBookRef: '143',}; 127faultsAttrs[FaultID.LimitedStdLibApi] = {cookBookRef: '144',}; 128faultsAttrs[FaultID.StrictDiagnostic] = {cookBookRef: '145',}; 129faultsAttrs[FaultID.ErrorSuppression] = {cookBookRef: '146',}; 130faultsAttrs[FaultID.UnsupportedDecorators] = {warning: true, cookBookRef: '148',}; 131faultsAttrs[FaultID.ClassAsObject] = {cookBookRef: '149',}; 132faultsAttrs[FaultID.ImportAfterStatement] = {cookBookRef: '150',}; 133faultsAttrs[FaultID.EsObjectType] = {warning: true, cookBookRef: '151',}; 134