Module Nullsafe.InferredNullability

type t
val compare : t -> t -> int
val get_nullability : t -> Nullability.t
val create : TypeOrigin.t -> t
val is_nonnullish : t -> bool

Check whether corresponding Nullability is Nullability.is_nonnullish

val get_simple_origin : t -> TypeOrigin.t

The simple explanation of how was nullability inferred.

val get_provisional_annotations : t -> ProvisionalAnnotation.t list
val join : t -> t -> t

This is what happens with nullability when we join two flows in CFG, e.g.

if(something) {
  a = e1;
} else {
  a = e2;
}
// what is nullability of `a` at this point?
val origin_is_fun_defined : t -> bool
val pp : Stdlib.Format.formatter -> t -> unit