2 * Copyright (c) 2015, Facebook, Inc.
5 * This source code is licensed under the MIT license found in the
6 * LICENSE file in the "hack" directory of this source tree.
10 (*****************************************************************************)
12 * Each error has a unique number associated with it. The following modules
13 * define the error code associated with each kind of error.
14 * It is ok to extend the codes with new values, it is NOT OK to change the
15 * value of an existing error to a different error code!
17 * When removing error codes, you should NOT delete them! Instead, prefer to
18 * comment them out as documentation and append DEPRECATED to the name.
19 * See below for plenty of examples.
21 (*****************************************************************************)
23 module Parsing
= struct
25 | FixmeFormat
[@value 1001]
26 | ParsingError
[@value 1002]
27 (* | UnexpectedEofDEPRECATED [@value 1003] *)
28 (* | UnterminatedCommentDEPRECATED [@value 1004] *)
29 (* | UnterminatedXhpCommentDEPRECATED [@value 1005] *)
30 (* | CallTimePassByReferenceDEPRECATED [@value 1006] *)
31 | XhpParsingError
[@value 1007]
32 | HhIgnoreComment
[@value 1008]
33 | PackageConfigError
[@value 1009]
34 (* Add new Parsing codes here! Comment out when deprecating. *)
35 [@@deriving enum
, show
{ with_path
= false }]
37 let err_code = to_enum
40 module Naming
= struct
42 | AddATypehint
[@value 2001]
43 (* | TypeparamAlokDEPRECATED [@value 2002] *)
44 | AssertArity
[@value 2003]
45 | PrimitiveInvalidAlias
[@value 2004]
46 (* | CyclicConstraintDEPRECATED [@value 2005] *)
47 | DidYouMeanNaming
[@value 2006]
48 (* | DifferentScopeDEPRECATED [@value 2007] *)
49 | DisallowedXhpType
[@value 2008]
50 (* | DoubleInsteadOfFloatDEPRECATED [@value 2009] *)
51 (* | DynamicClassDEPRECATED [@value 2010] *)
52 | LvarInObjGet
[@value 2011]
53 | ErrorNameAlreadyBound
[@value 2012]
54 | ExpectedCollection
[@value 2013]
55 | ExpectedVariable
[@value 2014]
56 | FdNameAlreadyBound
[@value 2015]
57 (* | GenArrayRecArityDEPRECATED [@value 2016] *)
58 (* | GenArrayVaRecArityDEPRECATED [@value 2017] *)
59 (* | GenaArityDEPRECATED [@value 2018] *)
60 (* | GenericClassVarDEPRECATED [@value 2019] *)
61 (* | GenvaArityDEPRECATED [@value 2020] *)
62 | IllegalClass
[@value 2021]
63 | IllegalClassMeth
[@value 2022]
64 | IllegalConstant
[@value 2023]
65 | IllegalFun
[@value 2024]
66 | IllegalInstMeth
[@value 2025]
67 | IllegalMethCaller
[@value 2026]
68 | IllegalMethFun
[@value 2027]
69 (* | IntegerInsteadOfIntDEPRECATED [@value 2028] *)
70 | InvalidReqExtends
[@value 2029]
71 | InvalidReqImplements
[@value 2030]
72 (* | LocalConstDEPRECATED [@value 2031] *)
73 | LowercaseThis
[@value 2032]
74 | MethodNameAlreadyBound
[@value 2033]
75 | MissingArrow
[@value 2034]
76 | MissingTypehint
[@value 2035]
77 | NameAlreadyBound
[@value 2036]
78 | NamingTooFewArguments
[@value 2037]
79 | NamingTooManyArguments
[@value 2038]
80 | PrimitiveToplevel
[@value 2039]
81 (* | RealInsteadOfFloatDEPRECATED [@value 2040] *)
82 | ShadowedTypeParam
[@value 2041]
83 | StartWith_T
[@value 2042]
84 | ThisMustBeReturn
[@value 2043]
85 | ThisNoArgument
[@value 2044]
86 | ThisHintOutsideClass
[@value 2045]
87 | ThisReserved
[@value 2046]
88 | HigherKindedTypesUnsupportedFeature
[@value 2047]
89 (* | TypedefConstraintDEPRECATED [@value 2048] *)
90 | UnboundName
[@value 2049]
91 | Undefined
[@value 2050]
92 | UnexpectedArrow
[@value 2051]
93 | UnexpectedTypedef
[@value 2052]
94 | UsingInternalClass
[@value 2053]
95 | VoidCast
[@value 2054]
96 | ObjectCast
[@value 2055]
97 | UnsetCast
[@value 2056]
98 (* | NullsafePropertyAccessDEPRECATED [@value 2057] *)
99 | IllegalTrait
[@value 2058]
100 (* | ShapeTypehintDEPRECATED [@value 2059] *)
101 | DynamicNewInStrictMode
[@value 2060]
102 | InvalidTypeAccessRoot
[@value 2061]
103 | DuplicateUserAttribute
[@value 2062]
104 | ReturnOnlyTypehint
[@value 2063]
105 | UnexpectedTypeArguments
[@value 2064]
106 | TooManyTypeArguments
[@value 2065]
107 | ClassnameParam
[@value 2066]
108 (* | InvalidInstanceofDEPRECATED [@value 2067] *)
109 | NameIsReserved
[@value 2068]
110 | DollardollarUnused
[@value 2069]
111 | IllegalMemberVariableClass
[@value 2070]
112 | TooFewTypeArguments
[@value 2071]
113 (* | GotoLabelAlreadyDefinedDEPRECATED [@value 2072] *)
114 (* | GotoLabelUndefinedDEPRECATED [@value 2073] *)
115 (* | GotoLabelDefinedInFinallyDEPRECATED [@value 2074] *)
116 (* | GotoInvokedInFinallyDEPRECATED [@value 2075] *)
117 (* | DynamicClassPropertyNameInStrictModeDEPRECATED [@value 2076] *)
118 | ThisAsLexicalVariable
[@value 2077]
119 | DynamicClassNameInStrictMode
[@value 2078]
120 | XhpOptionalRequiredAttr
[@value 2079]
121 | XhpRequiredWithDefault
[@value 2080]
122 (* | VariableVariablesDisallowedDEPRECATED [@value 2081] *)
123 | ArrayTypehintsDisallowed
[@value 2082]
124 (* | ArrayLiteralsDisallowedDEPRECATED [@value 2083] *)
125 | WildcardHintDisallowed
[@value 2084]
126 (* | AttributeClassNameConflictDEPRECATED [@value 2085] *)
127 | MethodNeedsVisibility
[@value 2086]
128 (* | ReferenceInStrictModeDEPRECATED [@value 2087] *)
129 (* | ReferenceInRxDEPRECATED [@value 2088] *)
130 (* | DeclareStatementDEPRECATED [@value 2089] *)
131 (* | MisplacedRxOfScopeDEPRECATED [@value 2090] *)
132 (* | RxOfScopeAndExplicitRxDEPRECATED [@value 2091] *)
133 (* | UnsupportedFeatureDEPRECATED [@value 2092] *)
134 (* | TraitInterfaceConstructorPromoDEPRECATED [@value 2093] *)
135 | NonstaticPropertyWithLSB
[@value 2094]
136 (* | ReferenceInAnonUseClauseDEPRECATED [@value 2095] *)
137 (* | RxMoveInvalidLocationDEPRECATED [@value 2096] *)
138 (* | MisplacedMutabilityHintDEPRECATED [@value 2097] *)
139 (* | MutabilityHintInNonRxDEPRECATED [@value 2098] *)
140 (* | InvalidReturnMutableHintDEPRECATED [@value 2099] *)
141 (* | NoTparamsOnTypeConstsDEPRECATED [@value 2100] *)
142 (* | PocketUniversesDuplicationDEPRECATED [@value 2101] *)
143 | UnsupportedTraitUseAs
[@value 2102]
144 | UnsupportedInsteadOf
[@value 2103]
145 (* | InvalidTraitUseAsVisibilityDEPRECATED [@value 2104] *)
146 | InvalidFunPointer
[@value 2105]
147 | IllegalUseOfDynamicallyCallable
[@value 2106]
148 (* | PocketUniversesNotInClassDEPRECATED [@value 2107] *)
149 (* | PocketUniversesAtomMissingDEPRECATED [@value 2108] *)
150 (* | PocketUniversesAtomUnknownDEPRECATED [@value 2109] *)
151 (* | PocketUniversesLocalizationDEPRECATED [@value 2110] *)
152 | ClassMethNonFinalSelf
[@value 2111]
153 | ParentInFunctionPointer
[@value 2112]
154 | SelfInNonFinalFunctionPointer
[@value 2113]
155 | ClassMethNonFinalCLASS
[@value 2114]
156 | WildcardTypeParamDisallowed
[@value 2115]
157 (* | CallingAssertDEPRECATED [@value 2116] *)
158 | InvalidWildcardContext
[@value 2117]
159 | ExplicitConsistentConstructor
[@value 2118]
160 | InvalidReqClass
[@value 2119]
161 | ModuleDeclarationOutsideAllowedFiles
[@value 2120]
162 | DynamicMethodAccess
[@value 2121]
163 | TypeConstantInEnumClassOutsideAllowedLocations
[@value 2122]
164 | InvalidBuiltinType
[@value 2123]
165 | InvalidMemoizeLabel
[@value 2124]
166 | DynamicHintDisallowed
[@value 2125]
167 | IllegalTypedLocal
[@value 2126]
168 | InternalModuleLevelTrait
[@value 2127]
169 | ToplevelStatement
[@value 2128]
170 | InvalidTypeAccessInWhere
[@value 2129]
171 | AttributeOutsideAllowedFiles
[@value 2130]
172 (* Add new Naming codes here! Comment out when deprecating. *)
173 [@@deriving enum
, show
{ with_path
= false }]
175 let err_code = to_enum
178 module NastCheck
= struct
180 | AbstractBody
[@value 3001]
181 | AbstractWithBody
[@value 3002]
182 | AwaitInSyncFunction
[@value 3003]
183 | CallBeforeInit
[@value 3004]
184 | CaseFallthrough
[@value 3005]
185 | ContinueInSwitch
[@value 3006]
186 (* | DangerousMethodNameDEPRECATED [@value 3007] *)
187 | DefaultFallthrough
[@value 3008]
188 | InterfaceWithMemberVariable
[@value 3009]
189 | InterfaceWithStaticMemberVariable
[@value 3010]
190 | Magic
[@value 3011]
191 | NoConstructParent
[@value 3012]
192 | NonInterface
[@value 3013]
193 | NotAbstractWithoutBody
[@value 3014]
194 | NotInitialized
[@value 3015]
195 | NotPublicInterface
[@value 3016]
196 | RequiresNonClass
[@value 3017]
197 | ReturnInFinally
[@value 3018]
198 | ReturnInGen
[@value 3019]
199 | ToStringReturnsString
[@value 3020]
200 | ToStringVisibility
[@value 3021]
201 | ToplevelBreak
[@value 3022]
202 | ToplevelContinue
[@value 3023]
203 | UsesNonTrait
[@value 3024]
204 | IllegalFunctionName
[@value 3025]
205 | NotAbstractWithoutTypeconst
[@value 3026]
206 | TypeconstDependsOnExternalTparam
[@value 3027]
207 (* | TypeconstAssignedTparamDEPRECATED [@value 3028] *)
208 (* | AbstractWithTypeconstDEPRECATED [@value 3029] *)
209 | ConstructorRequired
[@value 3030]
210 | InterfaceWithPartialTypeconst
[@value 3031]
211 | MultipleXhpCategory
[@value 3032]
212 (* | OptionalShapeFieldsNotSupportedDEPRECATED [@value 3033] *)
213 (* | AwaitNotAllowedDEPRECATED [@value 3034] *)
214 (* | AsyncInInterfaceDEPRECATED [@value 3035] *)
215 (* | AwaitInCoroutineDEPRECATED [@value 3036] *)
216 (* | YieldInCoroutineDEPRECATED [@value 3037] *)
217 (* | SuspendOutsideOfCoroutineDEPRECATED [@value 3038] *)
218 (* | SuspendInFinallyDEPRECATED [@value 3039] *)
219 (* | BreakContinueNNotSupportedDEPRECATED [@value 3040] *)
220 | StaticMemoizedFunction
[@value 3041]
221 (* | InoutParamsInCoroutineDEPRECATED [@value 3042] *)
222 | InoutParamsSpecial
[@value 3043]
223 (* | InoutParamsMixByrefDEPRECATED [@value 3044] *)
224 | InoutParamsMemoize
[@value 3045]
225 (* | InoutParamsRetByRefDEPRECATED [@value 3046] *)
226 | ReadingFromAppend
[@value 3047]
227 (* | ConstAttributeProhibitedDEPRECATED [@value 3048] *)
228 (* | GlobalInReactiveContextDEPRECATED [@value 3049] *)
229 (* | InoutArgumentBadExprDEPRECATED [@value 3050] *)
230 (* | MutableParamsOutsideOfSyncDEPRECATED [@value 3051] *)
231 (* | MutableAsyncMethodDEPRECATED [@value 3052] *)
232 (* | MutableMethodsMustBeReactiveDEPRECATED [@value 3053] *)
233 (* | MutableAttributeOnFunctionDEPRECATED [@value 3054] *)
234 (* | MutableReturnAnnotatedDeclsMustBeReactiveDEPRECATED [@value 3055] *)
235 | IllegalDestructor
[@value 3056]
236 (* | ConditionallyReactiveFunctionDEPRECATED [@value 3057] *)
237 (* | MultipleConditionallyReactiveAnnotationsDEPRECATED [@value 3058] *)
238 (* | ConditionallyReactiveAnnotationInvalidArgumentsDEPRECATED [@value 3059] *)
239 (* | MissingReactivityForConditionDEPRECATED [@value 3060] *)
240 (* | MultipleReactivityAnnotationsDEPRECATED [@value 3061] *)
241 (* | RxIsEnabledInvalidLocationDEPRECATED [@value 3062] *)
242 (* | MaybeRxInvalidLocationDEPRECATED [@value 3063] *)
243 (* | NoOnlyrxIfRxfuncForRxIfArgsDEPRECATED [@value 3064] *)
244 (* | CoroutineInConstructorDEPRECATED [@value 3065] *)
245 (* | IllegalReturnByRefDEPRECATED [@value 3066] *)
246 (* | IllegalByRefExprDEPRECATED [@value 3067] *)
247 (* | VariadicByRefParamDEPRECATED [@value 3068] *)
248 (* | MaybeMutableAttributeOnFunctionDEPRECATED [@value 3069] *)
249 (* | ConflictingMutableAndMaybeMutableAttributesDEPRECATED [@value 3070] *)
250 (* | MaybeMutableMethodsMustBeReactiveDEPRECATED [@value 3071] *)
251 | RequiresFinalClass
[@value 3072]
252 | InterfaceUsesTrait
[@value 3073]
253 | NonstaticMethodInAbstractFinalClass
[@value 3074]
254 (* | MutableOnStaticDEPRECATED [@value 3075] *)
255 (* | ClassnameConstInstanceOfDEPRECATED [@value 3076] *)
256 (* | ByRefParamOnConstructDEPRECATED [@value 3077] *)
257 (* | ByRefDynamicCallDEPRECATED [@value 3078] *)
258 (* | ByRefPropertyDEPRECATED [@value 3079] *)
259 (* | ByRefCallDEPRECATED [@value 3080] *)
260 | SwitchNonTerminalDefault
[@value 3081]
261 | SwitchMultipleDefault
[@value 3082]
262 | RepeatedRecordFieldName
[@value 3083]
263 | PhpLambdaDisallowed
[@value 3084]
264 | EntryPointArguments
[@value 3085]
265 | VariadicMemoize
[@value 3086]
266 | AbstractMethodMemoize
[@value 3087]
267 | InstancePropertyInAbstractFinalClass
[@value 3088]
268 | DynamicallyCallableReified
[@value 3089]
269 | IllegalContext
[@value 3090]
270 (* | InvalidConstFunAttributeDEPRECATED [@value 3091] *)
271 | ListRvalue
[@value 3092]
272 | PartiallyAbstractTypeconstDefinition
[@value 3093]
273 | EntryPointGenerics
[@value 3094]
274 | InternalProtectedOrPrivate
[@value 3095]
275 | InoutInTransformedPsuedofunction
[@value 3096]
276 | PrivateAndFinal
[@value 3097]
277 (* | InternalOutsideModuleDEPRECATED [@value 3098] *)
278 | InternalMemberInsidePublicTrait
[@value 3099]
279 | AttributeConflictingMemoize
[@value 3100]
280 | RefinementInTypeStruct
[@value 3101]
281 | Soft_internal_without_internal
[@value 3102]
282 | CloneReturnType
[@value 3104]
283 (* Add new NastCheck codes here! Comment out when deprecating. *)
284 [@@deriving enum
, show
{ with_path
= false }]
286 let err_code = to_enum
289 module Typing
= struct
291 | InternalError
[@value 0]
292 (* | AbstractClassFinalDEPRECATED [@value 4001] *)
293 | UninstantiableClass
[@value 4002]
294 (* | AnonymousRecursiveDEPRECATED [@value 4003] *)
295 (* | AnonymousRecursiveCallDEPRECATED [@value 4004] *)
296 | ArrayAccessRead
[@value 4005]
297 | ArrayAppend
[@value 4006]
298 | ArrayCast
[@value 4007]
299 | ArrayGetArity
[@value 4008]
300 | BadCall
[@value 4009]
301 (* | ClassArityDEPRECATED [@value 4010] *)
302 | ConstMutation
[@value 4011]
303 | ConstructorNoArgs
[@value 4012]
304 | CyclicClassDef
[@value 4013]
305 | CyclicTypedef
[@value 4014]
306 | DiscardedAwaitable
[@value 4015]
307 | IssetEmptyInStrict
[@value 4016]
308 (* | DynamicYieldPrivateDEPRECATED [@value 4017] *)
309 | EnumConstantTypeBad
[@value 4018]
310 | EnumSwitchNonexhaustive
[@value 4019]
311 | EnumSwitchNotConst
[@value 4020]
312 | EnumSwitchRedundant
[@value 4021]
313 | EnumSwitchRedundantDefault
[@value 4022]
314 | EnumSwitchWrongClass
[@value 4023]
315 | EnumTypeBad
[@value 4024]
316 (* | EnumTypeTypedefMixedDEPRECATED [@value 4025] *)
317 | ExpectedClass
[@value 4026]
318 | ExpectedLiteralFormatString
[@value 4027]
319 (* | ExpectedStaticIntDEPRECATED [@value 4028] *)
320 | ExpectedTparam
[@value 4029]
321 | ExpectingReturnTypeHint
[@value 4030]
322 (* | ExpectingReturnTypeHintSuggestDEPRECATED [@value 4031] *)
323 | ExpectingTypeHint
[@value 4032]
324 | ExpectingTypeHintVariadic
[@value 4033]
325 (* | RetiredError4034DEPRECATED [@value 4034] *)
326 | ExtendFinal
[@value 4035]
327 | FieldKinds
[@value 4036]
328 (* | FieldMissingDEPRECATED [@value 4037] *)
329 | FormatString
[@value 4038]
330 | FunArityMismatch
[@value 4039]
331 | FunTooFewArgs
[@value 4040]
332 | FunTooManyArgs
[@value 4041]
333 | FunUnexpectedNonvariadic
[@value 4042]
334 | FunVariadicityHhVsPhp56
[@value 4043]
335 (* | GenaExpectsArrayDEPRECATED [@value 4044] *)
336 | GenericArrayStrict
[@value 4045]
337 | GenericStatic
[@value 4046]
338 | ImplementAbstract
[@value 4047]
339 (* | InterfaceFinalDEPRECATED [@value 4048] *)
340 | InvalidShapeFieldConst
[@value 4049]
341 | InvalidShapeFieldLiteral
[@value 4050]
342 | InvalidShapeFieldName
[@value 4051]
343 | InvalidShapeFieldType
[@value 4052]
344 | MemberNotFound
[@value 4053]
345 | MemberNotImplemented
[@value 4054]
346 | MissingAssign
[@value 4055]
347 | MissingConstructor
[@value 4056]
348 | MissingField
[@value 4057]
349 (* | NegativeTupleIndexDEPRECATED [@value 4058] *)
350 | SelfOutsideClass
[@value 4059]
351 | NewStaticInconsistent
[@value 4060]
352 | StaticOutsideClass
[@value 4061]
353 | NonObjectMemberRead
[@value 4062]
354 | NullContainer
[@value 4063]
355 | NullMemberRead
[@value 4064]
356 (* | NullableParameterDEPRECATED [@value 4065] *)
357 | OptionReturnOnlyTypehint
[@value 4066]
358 | ObjectString
[@value 4067]
359 (* | OptionMixedDEPRECATED [@value 4068] *)
360 (* | OverflowDEPRECATED [@value 4069] *)
361 | OverrideFinal
[@value 4070]
362 | OverridePerTrait
[@value 4071]
363 (* | PairArityDEPRECATED [@value 4072] *)
364 | AbstractCall
[@value 4073]
365 | ParentInTrait
[@value 4074]
366 | ParentOutsideClass
[@value 4075]
367 | ParentUndefined
[@value 4076]
368 | PreviousDefault
[@value 4077]
369 (* | PrivateClassMethDEPRECATED [@value 4078] *)
370 (* | PrivateInstMethDEPRECATED [@value 4079] *)
371 | PrivateOverride
[@value 4080]
372 (* | ProtectedClassMethDEPRECATED [@value 4081] *)
373 (* | ProtectedInstMethDEPRECATED [@value 4082] *)
374 | ReadBeforeWrite
[@value 4083]
375 | ReturnInVoid
[@value 4084]
376 | ShapeFieldClassMismatch
[@value 4085]
377 | ShapeFieldTypeMismatch
[@value 4086]
378 | ShouldNotBeOverride
[@value 4087]
379 (* | SketchyNullCheckDEPRECATED [@value 4088] *)
380 (* | SketchyNullCheckPrimitiveDEPRECATED [@value 4089] *)
381 | SmemberNotFound
[@value 4090]
382 | StaticDynamic
[@value 4091]
383 (* | StaticOverflowDEPRECATED [@value 4092] *)
384 (* | RetiredError4093DEPRECATED [@value 4093] *)
385 (* | ThisInStaticDEPRECATED [@value 4094] *)
386 | ThisVarOutsideClass
[@value 4095]
387 (* | TraitFinalDEPRECATED [@value 4096] *)
388 (* | TupleArityDEPRECATED [@value 4097] *)
389 (* | TupleArityMismatchDEPRECATED [@value 4098] *)
390 (* | TupleIndexTooLargeDEPRECATED [@value 4099] *)
391 | TupleSyntax
[@value 4100]
392 | TypeArityMismatch
[@value 4101]
393 (* | TypeParamArityDEPRECATED [@value 4102] *)
394 (* | RetiredError4103DEPRECATED [@value 4103] *)
395 | TypingTooFewArgs
[@value 4104]
396 | TypingTooManyArgs
[@value 4105]
397 | UnboundGlobal
[@value 4106]
398 | UnboundNameTyping
[@value 4107]
399 | UndefinedField
[@value 4108]
400 | UndefinedParent
[@value 4109]
401 | UnifyError
[@value 4110]
402 | UnsatisfiedReq
[@value 4111]
403 | Visibility
[@value 4112]
404 | VisibilityExtends
[@value 4113]
405 (* | VoidParameterDEPRECATED [@value 4114] *)
406 | WrongExtendKind
[@value 4115]
407 | GenericUnify
[@value 4116]
408 (* | NullsafeNotNeededDEPRECATED [@value 4117] *)
409 | TrivialStrictEq
[@value 4118]
410 | VoidUsage
[@value 4119]
411 | DeclaredCovariant
[@value 4120]
412 | DeclaredContravariant
[@value 4121]
413 (* | UnsetInStrictDEPRECATED [@value 4122] *)
414 | StrictMembersNotKnown
[@value 4123]
415 | ErasedGenericAtRuntime
[@value 4124]
416 (* | DynamicClassDEPRECATED [@value 4125] *)
417 | AttributeTooManyArguments
[@value 4126]
418 | AttributeParamType
[@value 4127]
419 | DeprecatedUse
[@value 4128]
420 | AbstractConstUsage
[@value 4129]
421 | CannotDeclareConstant
[@value 4130]
422 | CyclicTypeconst
[@value 4131]
423 | NullsafePropertyWriteContext
[@value 4132]
424 | NoreturnUsage
[@value 4133]
425 (* | ThisLvalueDEPRECATED [@value 4134] *)
426 | UnsetNonidxInStrict
[@value 4135]
427 | InvalidShapeFieldNameEmpty
[@value 4136]
428 (* | InvalidShapeFieldNameNumberDEPRECATED [@value 4137] *)
429 | ShapeFieldsUnknown
[@value 4138]
430 | InvalidShapeRemoveKey
[@value 4139]
431 (* | MissingOptionalFieldDEPRECATED [@value 4140] *)
432 | ShapeFieldUnset
[@value 4141]
433 | AbstractConcreteOverride
[@value 4142]
434 | LocalVariableModifedAndUsed
[@value 4143]
435 | LocalVariableModifedTwice
[@value 4144]
436 | AssignDuringCase
[@value 4145]
437 | CyclicEnumConstraint
[@value 4146]
438 | UnpackingDisallowed
[@value 4147]
439 | InvalidClassname
[@value 4148]
440 | InvalidMemoizedParam
[@value 4149]
441 | IllegalTypeStructure
[@value 4150]
442 | NotNullableCompareNullTrivial
[@value 4151]
443 (* | ClassPropertyOnlyStaticLiteralDEPRECATED [@value 4152] *)
444 | AttributeTooFewArguments
[@value 4153]
445 (* | ReferenceExprDEPRECATED [@value 4154] *)
446 | UnificationCycle
[@value 4155]
447 | KeysetSet
[@value 4156]
448 | EqIncompatibleTypes
[@value 4157]
449 | ContravariantThis
[@value 4158]
450 (* | InstanceofAlwaysFalseDEPRECATED [@value 4159] *)
451 (* | InstanceofAlwaysTrueDEPRECATED [@value 4160] *)
452 (* | AmbiguousMemberDEPRECATED [@value 4161] *)
453 (* | InstanceofGenericClassnameDEPRECATED [@value 4162] *)
454 | RequiredFieldIsOptional
[@value 4163]
455 | FinalProperty
[@value 4164]
456 | ArrayGetWithOptionalField
[@value 4165]
457 | UnknownFieldDisallowedInShape
[@value 4166]
458 | NullableCast
[@value 4167]
459 (* | PassByRefAnnotationMissingDEPRECATED [@value 4168] *)
460 (* | NonCallArgumentInSuspendDEPRECATED [@value 4169] *)
461 (* | NonCoroutineCallInSuspendDEPRECATED [@value 4170] *)
462 (* | CoroutineCallOutsideOfSuspendDEPRECATED [@value 4171] *)
463 (* | FunctionIsNotCoroutineDEPRECATED [@value 4172] *)
464 (* | CoroutinnessMismatchDEPRECATED [@value 4173] *)
465 (* | ExpectingAwaitableReturnTypeHintDEPRECATED [@value 4174] *)
466 (* | ReffinessInvariantDEPRECATED [@value 4175] *)
467 (* | DollardollarLvalueDEPRECATED [@value 4176] *)
468 (* | StaticMethodOnInterfaceDEPRECATED [@value 4177] *)
469 | DuplicateUsingVar
[@value 4178]
470 | IllegalDisposable
[@value 4179]
471 | EscapingDisposable
[@value 4180]
472 (* | PassByRefAnnotationUnexpectedDEPRECATED [@value 4181] *)
473 | InoutAnnotationMissing
[@value 4182]
474 | InoutAnnotationUnexpected
[@value 4183]
475 | InoutnessMismatch
[@value 4184]
476 | StaticSyntheticMethod
[@value 4185]
477 | TraitReuse
[@value 4186]
478 | InvalidNewDisposable
[@value 4187]
479 | EscapingDisposableParameter
[@value 4188]
480 | AcceptDisposableInvariant
[@value 4189]
481 | InvalidDisposableHint
[@value 4190]
482 | XhpRequired
[@value 4191]
483 | EscapingThis
[@value 4192]
484 | IllegalXhpChild
[@value 4193]
485 | MustExtendDisposable
[@value 4194]
486 | InvalidIsAsExpressionHint
[@value 4195]
487 | AssigningToConst
[@value 4196]
488 | SelfConstParentNot
[@value 4197]
489 (* | ParentConstSelfNotDEPRECATED [@value 4198] *)
490 (* | PartiallyValidIsAsExpressionHintDEPRECATED [@value 4199] *)
491 (* | NonreactiveFunctionCallDEPRECATED [@value 4200] *)
492 (* | NonreactiveIndexingDEPRECATED [@value 4201] *)
493 (* | ObjSetReactiveDEPRECATED [@value 4202] *)
494 (* | FunReactivityMismatchDEPRECATED [@value 4203] *)
495 | OverridingPropConstMismatch
[@value 4204]
496 | InvalidReturnDisposable
[@value 4205]
497 | InvalidDisposableReturnHint
[@value 4206]
498 | ReturnDisposableMismatch
[@value 4207]
499 | InoutArgumentBadType
[@value 4208]
500 (* | InconsistentUnsetDEPRECATED [@value 4209] *)
501 (* | ReassignMutableVarDEPRECATED [@value 4210] *)
502 (* | InvalidFreezeTargetDEPRECATED [@value 4211] *)
503 (* | InvalidFreezeUseDEPRECATED [@value 4212] *)
504 (* | FreezeInNonreactiveContextDEPRECATED [@value 4213] *)
505 (* | MutableCallOnImmutableDEPRECATED [@value 4214] *)
506 (* | MutableArgumentMismatchDEPRECATED [@value 4215] *)
507 (* | InvalidMutableReturnResultDEPRECATED [@value 4216] *)
508 (* | MutableReturnResultMismatchDEPRECATED [@value 4217] *)
509 (* | NonreactiveCallFromShallowDEPRECATED [@value 4218] *)
510 | EnumTypeTypedefNonnull
[@value 4219]
511 (* | RxEnabledInNonRxContextDEPRECATED [@value 4220] *)
512 (* | RxEnabledInLambdasDEPRECATED [@value 4221] *)
513 | AmbiguousLambda
[@value 4222]
514 | EllipsisStrictMode
[@value 4223]
515 (* | UntypedLambdaStrictModeDEPRECATED [@value 4224] *)
516 (* | BindingRefInArrayDEPRECATED [@value 4225] *)
517 | OutputInWrongContext
[@value 4226]
518 (* | SuperglobalInReactiveContextDEPRECATED [@value 4227] *)
519 | StaticPropertyInWrongContext
[@value 4228]
520 (* | StaticInReactiveContextDEPRECATED [@value 4229] *)
521 (* | GlobalInReactiveContextDEPRECATED [@value 4230] *)
522 | WrongExpressionKindAttribute
[@value 4231]
523 (* | AttributeClassNoConstructorArgsDEPRECATED [@value 4232] *)
524 (* | InvalidTypeForOnlyrxIfRxfuncParameterDEPRECATED [@value 4233] *)
525 (* | MissingAnnotationForOnlyrxIfRxfuncParameterDEPRECATED [@value 4234] *)
526 (* | CannotReturnBorrowedValueAsImmutableDEPRECATED [@value 4235] *)
527 | DeclOverrideMissingHint
[@value 4236]
528 (* | InvalidConditionallyReactiveCallDEPRECATED [@value 4237] *)
529 | ExtendSealed
[@value 4238]
530 (* | SealedFinalDEPRECATED [@value 4239] *)
531 | ComparisonInvalidTypes
[@value 4240]
532 (* | OptionVoidDEPRECATED [@value 4241] *)
533 (* | MutableInNonreactiveContextDEPRECATED [@value 4242] *)
534 (* | InvalidArgumentOfRxMutableFunctionDEPRECATED [@value 4243] *)
535 (* | LetVarImmutabilityViolationDEPRECATED [@value 4244] *)
536 (* | UnsealableDEPRECATED [@value 4245] *)
537 (* | ReturnVoidToRxMismatchDEPRECATED [@value 4246] *)
538 (* | ReturnsVoidToRxAsNonExpressionStatementDEPRECATED [@value 4247] *)
539 (* | NonawaitedAwaitableInReactiveContextDEPRECATED [@value 4248] *)
540 | ShapesKeyExistsAlwaysTrue
[@value 4249]
541 | ShapesKeyExistsAlwaysFalse
[@value 4250]
542 | ShapesMethodAccessWithNonExistentField
[@value 4251]
543 | NonClassMember
[@value 4252]
544 (* | PassingArrayCellByRefDEPRECATED [@value 4253] *)
545 (* | CallSiteReactivityMismatchDEPRECATED [@value 4254] *)
546 (* | RxParameterConditionMismatchDEPRECATED [@value 4255] *)
547 | AmbiguousObjectAccess
[@value 4256]
548 (* | ExtendPPLDEPRECATED [@value 4257] *)
549 (* | ReassignMaybeMutableVarDEPRECATED [@value 4258] *)
550 (* | MaybeMutableArgumentMismatchDEPRECATED [@value 4259] *)
551 (* | ImmutableArgumentMismatchDEPRECATED [@value 4260] *)
552 (* | ImmutableCallOnMutableDEPRECATED [@value 4261] *)
553 (* | InvalidCallMaybeMutableDEPRECATED [@value 4262] *)
554 (* | MutabilityMismatchDEPRECATED [@value 4263] *)
555 (* | InvalidPPLCallDEPRECATED [@value 4264] *)
556 (* | InvalidPPLStaticCallDEPRECATED [@value 4265] *)
557 (* | TypeTestInLambdaDEPRECATED [@value 4266] *)
558 (* | InvalidTraversableInRxDEPRECATED [@value 4267] *)
559 (* | ReassignMutableThisDEPRECATED [@value 4268] *)
560 (* | MutableExpressionAsMultipleMutableArgumentsDEPRECATED [@value 4269] *)
561 (* | InvalidUnsetTargetInRxDEPRECATED [@value 4270] *)
562 (* | CoroutineOutsideExperimentalDEPRECATED [@value 4271] *)
563 (* | PPLMethPointerDEPRECATED [@value 4272] *)
564 (* | InvalidTruthinessTestDEPRECATED [@value 4273] *)
565 | RePrefixedNonString
[@value 4274]
566 | BadRegexPattern
[@value 4275]
567 (* | SketchyTruthinessTestDEPRECATED [@value 4276] *)
568 | LateInitWithDefault
[@value 4277]
569 | OverrideMemoizeLSB
[@value 4278]
570 | ClassVarTypeGenericParam
[@value 4279]
571 | InvalidSwitchCaseValueType
[@value 4280]
572 | StringCast
[@value 4281]
573 | BadLateInitOverride
[@value 4282]
574 (* | EscapingMutableObjectDEPRECATED [@value 4283] *)
575 | OverrideLSB
[@value 4284]
576 | MultipleConcreteDefs
[@value 4285]
577 (* | MoveInNonreactiveContextDEPRECATED [@value 4286] *)
578 | InvalidMoveUse
[@value 4287]
579 | InvalidMoveTarget
[@value 4288]
580 (* | IgnoredResultOfFreezeDEPRECATED [@value 4289] *)
581 (* | IgnoredResultOfMoveDEPRECATED [@value 4290] *)
582 | UnexpectedTy
[@value 4291]
583 | UnserializableType
[@value 4292]
584 (* | InconsistentMutabilityDEPRECATED [@value 4293] *)
585 (* | InvalidMutabilityFlavorInAssignmentDEPRECATED [@value 4294] *)
586 (* | OptionNullDEPRECATED [@value 4295] *)
587 | UnknownObjectMember
[@value 4296]
588 | UnknownType
[@value 4297]
589 | InvalidArrayKeyRead
[@value 4298]
590 (* | ReferenceExprNotFunctionArgDEPRECATED [@value 4299] *)
591 (* | RedundantRxConditionDEPRECATED [@value 4300] *)
592 | RedeclaringMissingMethod
[@value 4301]
593 | InvalidEnforceableTypeArgument
[@value 4302]
594 | RequireArgsReify
[@value 4303]
595 | TypecheckerTimeout
[@value 4304]
596 | InvalidReifiedArgument
[@value 4305]
597 | GenericsNotAllowed
[@value 4306]
598 | InvalidNewableTypeArgument
[@value 4307]
599 | InvalidNewableTypeParamConstraints
[@value 4308]
600 | NewWithoutNewable
[@value 4309]
601 | NewClassReified
[@value 4310]
602 | MemoizeReified
[@value 4311]
603 | ConsistentConstructReified
[@value 4312]
604 | MethodVariance
[@value 4313]
605 | MissingXhpRequiredAttr
[@value 4314]
606 | BadXhpAttrRequiredOverride
[@value 4315]
607 (* | ReifiedTparamVariadicDEPRECATED [@value 4316] *)
608 | UnresolvedTypeVariable
[@value 4317]
609 | InvalidSubString
[@value 4318]
610 | InvalidArrayKeyConstraint
[@value 4319]
611 | OverrideNoDefaultTypeconst
[@value 4320]
612 | ShapeAccessWithNonExistentField
[@value 4321]
613 | DisallowPHPArraysAttr
[@value 4322]
614 | TypeConstraintViolation
[@value 4323]
615 | IndexTypeMismatch
[@value 4324]
616 | ExpectedStringlike
[@value 4325]
617 | TypeConstantMismatch
[@value 4326]
618 (* | TypeConstantRedeclarationDEPRECATED [@value 4327] *)
619 | ConstantDoesNotMatchEnumType
[@value 4328]
620 | EnumConstraintMustBeArraykey
[@value 4329]
621 | EnumSubtypeMustHaveCompatibleConstraint
[@value 4330]
622 | ParameterDefaultValueWrongType
[@value 4331]
623 | NewtypeAliasMustSatisfyConstraint
[@value 4332]
624 (* | BadFunctionTypevarDEPRECATED [@value 4333] *)
625 (* | BadClassTypevarDEPRECATED [@value 4334] *)
626 (* | BadMethodTypevarDEPRECATED [@value 4335] *)
627 | MissingReturnInNonVoidFunction
[@value 4336]
628 | InoutReturnTypeMismatch
[@value 4337]
629 | ClassConstantValueDoesNotMatchHint
[@value 4338]
630 | ClassPropertyInitializerTypeDoesNotMatchHint
[@value 4339]
631 | BadDeclOverride
[@value 4340]
632 | BadMethodOverride
[@value 4341]
633 | BadEnumExtends
[@value 4342]
634 | XhpAttributeValueDoesNotMatchHint
[@value 4343]
635 | TraitPropConstClass
[@value 4344]
636 | EnumUnderlyingTypeMustBeArraykey
[@value 4345]
637 | ClassGetReified
[@value 4346]
638 | RequireGenericExplicit
[@value 4347]
639 | ClassConstantTypeMismatch
[@value 4348]
640 (* | PocketUniversesExpansionDEPRECATED [@value 4349] *)
641 (* | PocketUniversesTypingDEPRECATED [@value 4350] *)
642 | RecordInitValueDoesNotMatchHint
[@value 4351]
643 | AbstractTconstNotAllowed
[@value 4352]
644 (* | NewAbstractRecordDEPRECATED [@value 4353] *)
645 (* | RecordMissingRequiredFieldDEPRECATED [@value 4354] *)
646 (* | RecordUnknownFieldDEPRECATED [@value 4355] *)
647 (* | CyclicRecordDefDEPRECATED [@value 4356] *)
648 | InvalidDestructure
[@value 4357]
649 | StaticMethWithClassReifiedGeneric
[@value 4358]
650 | SplatArrayRequired
[@value 4359]
651 | SplatArrayVariadic
[@value 4360]
652 | ExceptionOccurred
[@value 4361]
653 | InvalidReifiedFunctionPointer
[@value 4362]
654 | BadFunctionPointerConstruction
[@value 4363]
655 (* | NotARecordDEPRECATED [@value 4364] *)
656 | TraitReuseInsideClass
[@value 4365]
657 | RedundantGeneric
[@value 4366]
658 (* | PocketUniversesInvalidUpperBoundsDEPRECATED [@value 4367] *)
659 (* | PocketUniversesRefinementDEPRECATED [@value 4368] *)
660 (* | PocketUniversesReservedSyntaxDEPRECATED [@value 4369] *)
661 | ArrayAccessWrite
[@value 4370]
662 | InvalidArrayKeyWrite
[@value 4371]
663 | NullMemberWrite
[@value 4372]
664 | NonObjectMemberWrite
[@value 4373]
665 | ConcreteConstInterfaceOverride
[@value 4374]
666 | MethCallerTrait
[@value 4375]
667 (* | PocketUniversesAttributesDEPRECATED [@value 4376] *)
668 | DuplicateInterface
[@value 4377]
669 | TypeParameterNameAlreadyUsedNonShadow
[@value 4378]
670 | IllegalInformationFlow
[@value 4379]
671 | ContextImplicitPolicyLeakage
[@value 4380]
672 | ReifiedFunctionReference
[@value 4381]
673 | ClassMethAbstractCall
[@value 4382]
674 | KindMismatch
[@value 4383]
675 | UnboundNameTypeConstantAccess
[@value 4384]
676 | UnknownInformationFlow
[@value 4385]
677 | CallsiteCIPPMismatch
[@value 4386]
678 | NonpureFunctionCall
[@value 4387]
679 | IncompatibleEnumInclusion
[@value 4388]
680 | RedeclaringClassishConstant
[@value 4389]
681 | CallCoeffects
[@value 4390]
682 | AbstractFunctionPointer
[@value 4391]
683 | UnnecessaryAttribute
[@value 4392]
684 | InheritedMethodCaseDiffers
[@value 4393]
685 | EnumClassLabelUnknown
[@value 4394]
686 (* | ViaLabelInvalidParameterDEPRECATED [@value 4395] *)
687 | EnumClassLabelAsExpression
[@value 4396]
688 (* | EnumClassLabelInvalidArgumentDEPRECATED [@value 4397] *)
689 (* | IFCInternalErrorDEPRECATED [@value 4398] *)
690 (* | IFCExternalContravariantDEPRECATED [@value 4399] *)
691 (* | IFCPolicyMismatchDEPRECATED [@value 4400] *)
692 | OpCoeffects
[@value 4401]
693 | ImplementsDynamic
[@value 4402]
694 | SubtypeCoeffects
[@value 4403]
695 | ImmutableLocal
[@value 4404]
696 | EnumClassesReservedSyntax
[@value 4405]
697 | NonsenseMemberSelection
[@value 4406]
698 | ConsiderMethCaller
[@value 4407]
699 | EnumSupertypingReservedSyntax
[@value 4408]
700 | ReadonlyValueModified
[@value 4409]
701 (* | ReadonlyVarMismatchDEPRECATED [@value 4410] *)
702 | ReadonlyMismatch
[@value 4411]
703 | ExplicitReadonlyCast
[@value 4412]
704 | ReadonlyMethodCall
[@value 4413]
705 | StrictStrConcatTypeMismatch
[@value 4414]
706 | StrictStrInterpTypeMismatch
[@value 4415]
707 | InvalidMethCallerCallingConvention
[@value 4416]
708 (* | UnsafeCastDEPRECATED [@value 4417] *)
709 | ReadonlyException
[@value 4418]
710 | InvalidTypeHint
[@value 4419]
711 | ExperimentalExpressionTrees
[@value 4420]
712 | ReturnsWithAndWithoutValue
[@value 4421]
713 | NonVoidAnnotationOnReturnVoidFun
[@value 4422]
714 | BitwiseMathInvalidArgument
[@value 4423]
715 | CyclicClassConstant
[@value 4424]
716 | PrivateDynamicRead
[@value 4425]
717 | PrivateDynamicWrite
[@value 4426]
718 | IncDecInvalidArgument
[@value 4427]
719 | ReadonlyClosureCall
[@value 4428]
720 | MathInvalidArgument
[@value 4429]
721 | TypeconstConcreteConcreteOverride
[@value 4430]
722 | PrivateMethCaller
[@value 4431]
723 | ProtectedMethCaller
[@value 4432]
724 | BadConditionalSupportDynamic
[@value 4433]
725 | ReadonlyInvalidAsMut
[@value 4434]
726 | InvalidKeysetValue
[@value 4435]
727 | UnresolvedTypeVariableProjection
[@value 4436]
728 (* | FunctionPointerWithViaLabelDEPRECATED [@value 4437] *)
729 | InvalidEchoArgument
[@value 4438]
730 | DiamondTraitMethod
[@value 4439]
731 | ReifiedStaticMethodInExprTree
[@value 4440]
732 | InvariantViolated
[@value 4441]
733 | RigidTVarEscape
[@value 4442]
734 | StrictEqValueIncompatibleTypes
[@value 4443]
735 | ModuleError
[@value 4444]
736 | SealedNotSubtype
[@value 4445]
737 | ModuleHintError
[@value 4446]
738 | MemoizeObjectWithoutGlobals
[@value 4447]
739 | ExpressionTreeNonPublicProperty
[@value 4448]
740 | CovariantIndexTypeMismatch
[@value 4449]
741 | InoutInPseudofunction
[@value 4450]
742 | TraitParentConstructInconsistent
[@value 4451]
743 | HHExpectEquivalentFailure
[@value 4452]
744 | HHExpectFailure
[@value 4453]
745 | CallLvalue
[@value 4454]
746 | UnsafeCastAwait
[@value 4455]
747 | HigherKindedTypesUnsupportedFeature
[@value 4456]
748 | ThisFinal
[@value 4457]
749 | ExactClassFinal
[@value 4458]
750 (* | GlobalVariableWriteDEPRECATED [@value 4459] *)
751 (* | GlobalVariableInFunctionCallDEPRECATED [@value 4460] *)
752 (* | MemoizedFunctionCallDEPRECATED [@value 4461] *)
753 | DiamondTraitProperty
[@value 4462]
754 | ConstructNotInstanceMethod
[@value 4463]
755 | InvalidMethCallerReadonlyReturn
[@value 4464]
756 | AbstractMemberInConcreteClass
[@value 4465]
757 | TraitNotUsed
[@value 4466]
758 | OverrideAsync
[@value 4467]
759 | InexactTConstAccess
[@value 4468]
760 | UnsupportedRefinement
[@value 4469]
761 | InvalidClassRefinement
[@value 4470]
762 | InvalidRefinedConstKind
[@value 4471]
763 | InvalidCrossPackage
[@value 4472]
764 | InvalidCrossPackageSoft
[@value 4473]
765 | AttributeNoAutoDynamic
[@value 4474]
766 | IllegalCaseTypeVariants
[@value 4475]
767 | StaticCallOnTraitRequireClass
[@value 4476]
768 | WrongUseKind
[@value 4477]
769 | MatchNotExhaustive
[@value 4478]
770 | MatchOnUnsupportedType
[@value 4479]
771 | MultipleInstantiationInheritence
[@value 4480]
772 | InternalMethCaller
[@value 4481]
773 | ClassPointerToString
[@value 4482]
774 | InvalidXhpAttributeValue
[@value 4483]
775 | OptionalParameterNotSupported
[@value 4484]
776 (* Add new Typing codes here! Comment out when deprecating. *)
777 [@@deriving enum
, show
{ with_path
= false }]
779 let err_code = to_enum
782 module Warning
= struct
784 | SketchyEquality
[@value 12001]
785 | SketchyNullCheck
[@value 12003]
786 | NonDisjointCheck
[@value 12004]
787 | CastNonPrimitive
[@value 12005]
788 | TruthinessTest
[@value 12006]
789 | EqualityCheck
[@value 12007]
790 | DuplicateProperties
[@value 12008]
791 | IsIsAlwaysTrue
[@value 12009]
792 | IsIsAlwaysFalse
[@value 12010]
793 | AsAlwaysSucceeds
[@value 12011]
794 | AsAlwaysFails
[@value 12012]
795 [@@deriving enum
, ord
, show
{ with_path
= false }]
798 module Warning_set
= Stdlib.Set.Make
(Warning
)
800 (* 5xxx: reserved for FB lint *)
801 (* 6xxx: reserved for FB ai *)
802 (* 7xxx: reserved for FB ai *)
803 (* 8xxx: had been used for forward/back-compat; no longer *)
804 (* 9xxx: reserved for FB ai *)
805 (* 10xxx: reserved for FB ai *)
806 (* 11xxx: reserved for global access check (fbcode/hphp/hack/src/typing/tast_check/global_access_check.ml),
807 * which is used to detect potential data leaks caused by global variable access.
808 * 11001 represents the error when a global variable is definitely written.
809 * 11002 represents the warning when a global variable is possibly written via reference.
810 * 11003 represents the warning when a global variable is possibly written via function calls.
811 * 11004 represents the error when a global variable is definitely read.
813 (* 12xxx: reserved for warnings, see module Warning above *)
815 module GlobalAccessCheck
= struct
817 | DefiniteGlobalWrite
[@value 11001]
818 | PossibleGlobalWriteViaReference
[@value 11002]
819 | PossibleGlobalWriteViaFunctionCall
[@value 11003]
820 | DefiniteGlobalRead
[@value 11004]
821 (* Add new GlobalAccessCheck codes here! Comment out when deprecating. *)
822 [@@deriving enum
, show
{ with_path
= false }]
824 let err_code : t
-> int = to_enum