src/common/errors/error_codes.ml (331 lines of code) (raw):

(* * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. *) type error_code = | AmbiguousObjectType | BigIntUnsupported | CannotDelete | CannotImplement | CannotInferType | CannotRead | CannotReassignConstLike | CannotResolveModule | CannotResolveName | CannotSpreadIndexer | CannotSpreadInexact | CannotSpreadInterface | CannotWrite | CannotWriteEnum | ClassObject | DefaultImportAccess | DeprecatedType | DeprecatedUtility | DuplicateClassMember | DuplicateEnumInit | DuplicateFlowDecl | DuplicateJsxDecl | DuplicateModule | DuplicateProvideModuleDecl | EnumValueAsType | EscapedGeneric | ExponentialSpread | ExportRenamedDefault | ExportValueAsType | ExtraArg | ExtraTypeArg | FunctionPredicate | IllegalEnum | IllegalGetSet | IllegalKey | IllegalNewArray | IllegalThis | IllegalTypeof | ImplicitInexactObject | ImportTypeAsValue | ImportValueAsType | IncompatibleCall | IncompatibleCast | IncompatibleExact | IncompatibleExtend | IncompatibleFunctionIndexer | IncompatibleIndexer | IncompatibleReturn | IncompatibleShape | IncompatibleTrust | IncompatibleType | IncompatibleTypeArg | IncompatibleUse | IncompatibleVariance | InvalidCallUtil | InvalidCharsetTypeArg | InvalidCompare | InvalidComputedProp | InvalidConstructor | InvalidEnumAccess | InvalidExact | InvalidExhaustiveCheck | InvalidExport | InvalidExportsTypeArg | InvalidFlowModeDecl | InvalidGraphQL | InvalidExportedAnnotation | InvalidExportedAnnotationRecursive | InvalidIdx | InvalidImportStarUse | InvalidImportType | InvalidInLhs | InvalidInRhs | InvalidJsxDecl | InvalidLhs | InvalidModule | InvalidObjMap | InvalidObjMapi | InvalidPredTypeArg | InvalidPrivateTypeArg | InvalidPropertyTypeArg | InvalidPropType | InvalidReactConfig | InvalidRefineTypeArg | InvalidTrustedTypeArg | InvalidTupleArity | InvalidTupleIndex | InvalidTupleMap | InvalidTypeArg | InvalidTypeOf | InvalidTempType | LintSetting | MalformedPackage | MethodUnbinding | MissingAnnot | MissingLocalAnnot | MissingThisAnnot | MissingArg | MissingExport | MissingTypeArg | MixedImportAndRequire | ToplevelLibraryImport | ModuleTypeConflict | NameAlreadyBound | NonConstVarExport | NonpolymorphicTypeApp | NonpolymorphicTypeArg | NonstrictImport | NotAClass | NotAComponent | NotAFunction | NotAnArray | NotAnObject | NotIterable | ObjectThisReference | PropMissing | ReassignConst | ReassignEnum | ReassignImport | ReferenceBeforeDeclaration | RefineAsValue | RequireExplicitEnumSwitchCases | SignatureVerificationFailure | SketchyNullBool | SketchyNullMixed | SketchyNullNumber | SketchyNullString | SketchyNumberAnd | Speculation | SpeculationAmbiguous | ThisInExportedFunction | TypeAsValue | UnclearAddition | UnclearType | UnderconstrainedImplicitInstantiation | UninitializedInstanceProperty | UnnecessaryInvariant | UnnecessaryOptionalChain | UnreachableCode | UnsafeAddition | UnsafeGettersSetters | UnsupportedSyntax | UntypedImport | UntypedTypeImport | ValueAsType | InvalidDeclaration | DefinitionCycle | RecursiveDefinition | LogicalAssignmentOperatorsNotSupported let code_of_lint : Lints.lint_kind -> error_code = function | Lints.UntypedTypeImport -> UntypedTypeImport | Lints.UntypedImport -> UntypedImport | Lints.NonstrictImport -> NonstrictImport | Lints.UnclearType -> UnclearType | Lints.DeprecatedType -> DeprecatedType | Lints.DeprecatedUtility -> DeprecatedUtility | Lints.UnsafeGettersSetters -> UnsafeGettersSetters | Lints.UnnecessaryOptionalChain -> UnnecessaryOptionalChain | Lints.UnnecessaryInvariant -> UnnecessaryInvariant | Lints.ImplicitInexactObject -> ImplicitInexactObject | Lints.UninitializedInstanceProperty -> UninitializedInstanceProperty | Lints.AmbiguousObjectType -> AmbiguousObjectType | Lints.RequireExplicitEnumSwitchCases -> RequireExplicitEnumSwitchCases | Lints.SketchyNumber Lints.SketchyNumberAnd -> SketchyNumberAnd | Lints.SketchyNull (Lints.SketchyNullBool | Lints.SketchyNullEnumBool) -> SketchyNullBool | Lints.SketchyNull (Lints.SketchyNullString | Lints.SketchyNullEnumString) -> SketchyNullString | Lints.SketchyNull (Lints.SketchyNullNumber | Lints.SketchyNullEnumNumber) -> SketchyNullNumber | Lints.SketchyNull Lints.SketchyNullMixed -> SketchyNullMixed | Lints.DefaultImportAccess -> DefaultImportAccess | Lints.InvalidImportStarUse -> InvalidImportStarUse | Lints.NonConstVarExport -> NonConstVarExport | Lints.ThisInExportedFunction -> ThisInExportedFunction | Lints.MixedImportAndRequire -> MixedImportAndRequire | Lints.ExportRenamedDefault -> ExportRenamedDefault let string_of_code : error_code -> string = function | AmbiguousObjectType -> "ambiguous-object-type" | BigIntUnsupported -> "bigint-unsupported" | CannotDelete -> "cannot-delete" | CannotImplement -> "cannot-implement" | CannotInferType -> "cannot-infer-type" | CannotRead -> "cannot-read" | CannotReassignConstLike -> "cannot-reassign" | CannotResolveModule -> "cannot-resolve-module" | CannotResolveName -> "cannot-resolve-name" | CannotSpreadIndexer -> "cannot-spread-indexer" | CannotSpreadInexact -> "cannot-spread-inexact" | CannotSpreadInterface -> "cannot-spread-interface" | CannotWrite -> "cannot-write" | CannotWriteEnum -> "cannot-write-enum" | ClassObject -> "class-object-subtyping" | DefaultImportAccess -> "default-import-access" | DeprecatedType -> "deprecated-type" | DeprecatedUtility -> "deprecated-utility" | DuplicateClassMember -> "duplicate-class-member" | DuplicateEnumInit -> "duplicate-enum-init" | DuplicateFlowDecl -> "duplicate-flow-decl" | DuplicateJsxDecl -> "duplicate-jsx-decl" | DuplicateModule -> "duplicate-module" | DuplicateProvideModuleDecl -> "duplicate-provide-module-decl" | EnumValueAsType -> "enum-value-as-type" | EscapedGeneric -> "escaped-generic" | ExponentialSpread -> "exponential-spread" | ExportRenamedDefault -> "export-renamed-default" | ExportValueAsType -> "export-value-as-type" | ExtraArg -> "extra-arg" | ExtraTypeArg -> "extra-type-arg" | FunctionPredicate -> "function-predicate" | IllegalEnum -> "illegal-enum" | IllegalGetSet -> "illegal-get-set" | IllegalKey -> "illegal-key" | IllegalNewArray -> "illegal-new-array" | IllegalThis -> "illegal-this" | IllegalTypeof -> "illegal-typeof" | ImplicitInexactObject -> "implicit-inexact-object" | ImportTypeAsValue -> "import-type-as-value" | ImportValueAsType -> "import-value-as-type" | IncompatibleCall -> "incompatible-call" | IncompatibleCast -> "incompatible-cast" | IncompatibleExact -> "incompatible-exact" | IncompatibleExtend -> "incompatible-extend" | IncompatibleFunctionIndexer -> "incompatible-function-indexer" | IncompatibleIndexer -> "incompatible-indexer" | IncompatibleReturn -> "incompatible-return" | IncompatibleShape -> "incompatible-shape" | IncompatibleTrust -> "incompatible-trust" | IncompatibleType -> "incompatible-type" | IncompatibleTypeArg -> "incompatible-type-arg" | IncompatibleUse -> "incompatible-use" | IncompatibleVariance -> "incompatible-variance" | InvalidCallUtil -> "invalid-call-util" | InvalidCharsetTypeArg -> "invalid-charset-type-arg" | InvalidCompare -> "invalid-compare" | InvalidComputedProp -> "invalid-computed-prop" | InvalidConstructor -> "invalid-constructor" | InvalidEnumAccess -> "invalid-enum-access" | InvalidExact -> "invalid-exact" | InvalidExhaustiveCheck -> "invalid-exhaustive-check" | InvalidExport -> "invalid-export" | InvalidExportsTypeArg -> "invalid-exports-type-arg" | InvalidFlowModeDecl -> "invalid-flow-mode" | InvalidGraphQL -> "invalid-graphql" | InvalidExportedAnnotation -> "invalid-exported-annotation" | InvalidExportedAnnotationRecursive -> "invalid-recursive-exported-annotation" | InvalidIdx -> "invalid-idx" | InvalidImportStarUse -> "invalid-import-star-use" | InvalidImportType -> "invalid-import-type" | InvalidInLhs -> "invalid-in-lhs" | InvalidInRhs -> "invalid-in-rhs" | InvalidJsxDecl -> "invalid-jsx-decl" | InvalidLhs -> "invalid-lhs" | InvalidModule -> "invalid-module" | InvalidObjMap -> "invalid-obj-map" | InvalidObjMapi -> "invalid-obj-mapi" | InvalidPredTypeArg -> "invalid-pred-type-arg" | InvalidPrivateTypeArg -> "invalid-private-type-arg" | InvalidPropertyTypeArg -> "invalid-property-type-arg" | InvalidPropType -> "invalid-prop-type" | InvalidReactConfig -> "invalid-react-config" | InvalidRefineTypeArg -> "invalid-refine-type-arg" | InvalidTrustedTypeArg -> "invalid-trusted-type-arg" | InvalidTupleArity -> "invalid-tuple-arity" | InvalidTupleIndex -> "invalid-tuple-index" | InvalidTupleMap -> "invalid-tuple-map" | InvalidTypeArg -> "invalid-type-arg" | InvalidTypeOf -> "invalid-typeof" | InvalidTempType -> "invalid-temp-type" | LintSetting -> "lint-setting" | MalformedPackage -> "malformed-package" | MethodUnbinding -> "method-unbinding" | MissingAnnot -> "missing-annot" | MissingLocalAnnot -> "missing-local-annot" | MissingThisAnnot -> "missing-this-annot" | MissingArg -> "missing-arg" | MissingExport -> "missing-export" | MissingTypeArg -> "missing-type-arg" | MixedImportAndRequire -> "mixed-import-and-require" | ModuleTypeConflict -> "module-type-conflict" | NameAlreadyBound -> "name-already-bound" | NonConstVarExport -> "non-const-var-export" | NonpolymorphicTypeApp -> "nonpolymorphic-type-app" | NonpolymorphicTypeArg -> "nonpolymorphic-type-arg" | NonstrictImport -> "nonstrict-import" | NotAClass -> "not-a-class" | NotAComponent -> "not-a-component" | NotAFunction -> "not-a-function" | NotAnArray -> "not-an-array" | NotAnObject -> "not-an-object" | NotIterable -> "not-iterable" | ObjectThisReference -> "object-this-reference" | PropMissing -> "prop-missing" | ReassignConst -> "reassign-const" | ReassignEnum -> "reassign-enum" | ReassignImport -> "reassign-import" | ReferenceBeforeDeclaration -> "reference-before-declaration" | RefineAsValue -> "refine-as-value" | RequireExplicitEnumSwitchCases -> "require-explicit-enum-switch-cases" | SignatureVerificationFailure -> "signature-verification-failure" | SketchyNullBool -> "sketchy-null-bool" | SketchyNullMixed -> "sketchy-null-mixed" | SketchyNullNumber -> "sketchy-null-number" | SketchyNullString -> "sketchy-null-string" | SketchyNumberAnd -> "sketchy-number-and" | Speculation -> "speculation" | SpeculationAmbiguous -> "speculation-ambiguous" | ThisInExportedFunction -> "this-in-exported-function" | ToplevelLibraryImport -> "toplevel-library-import" | TypeAsValue -> "type-as-value" | UnclearAddition -> "unclear-addition" | UnclearType -> "unclear-type" | UnderconstrainedImplicitInstantiation -> "underconstrained-implicit-instantiation" | UninitializedInstanceProperty -> "uninitialized-instance-property" | UnnecessaryInvariant -> "unnecessary-invariant" | UnnecessaryOptionalChain -> "unnecessary-optional-chain" | UnreachableCode -> "unreachable-code" | UnsafeAddition -> "unsafe-addition" | UnsafeGettersSetters -> "unsafe-getters-setters" | UnsupportedSyntax -> "unsupported-syntax" | UntypedImport -> "untyped-import" | UntypedTypeImport -> "untyped-type-import" | ValueAsType -> "value-as-type" | InvalidDeclaration -> "invalid-declaration" | DefinitionCycle -> "definition-cycle" | RecursiveDefinition -> "recursive-definition" | LogicalAssignmentOperatorsNotSupported -> "logical-assignment-operators-not-supported"