Module Nullsafe__ThirdPartyMethod

A helper module responsible for representing nullability information for a single 3rd party method, as well with functionality to read this information from the 3rd party nullability repository.

type t = {
class_name : fully_qualified_type;
method_name : method_name;
ret_nullability : type_nullability;
params : (fully_qualified_type * type_nullability) list;
}
and fully_qualified_type = string
and method_name =
| Constructor
| Method of string
and type_nullability =
| Nullable
| Nonnull
val sexp_of_t : t -> Ppx_sexp_conv_lib.Sexp.t
val sexp_of_fully_qualified_type : fully_qualified_type -> Ppx_sexp_conv_lib.Sexp.t
val sexp_of_method_name : method_name -> Ppx_sexp_conv_lib.Sexp.t
val sexp_of_type_nullability : type_nullability -> Ppx_sexp_conv_lib.Sexp.t
val t_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> t
val fully_qualified_type_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> fully_qualified_type
val method_name_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> method_name
val type_nullability_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> type_nullability
val sexp_of_t : t -> Ppx_sexp_conv_lib.Sexp.t
val sexp_of_fully_qualified_type : fully_qualified_type -> Ppx_sexp_conv_lib.Sexp.t
val sexp_of_method_name : method_name -> Ppx_sexp_conv_lib.Sexp.t
val sexp_of_type_nullability : type_nullability -> Ppx_sexp_conv_lib.Sexp.t
val t_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> t
val fully_qualified_type_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> fully_qualified_type
val method_name_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> method_name
val type_nullability_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> type_nullability
val sexp_of_t : t -> Ppx_sexp_conv_lib.Sexp.t
val sexp_of_fully_qualified_type : fully_qualified_type -> Ppx_sexp_conv_lib.Sexp.t
val sexp_of_method_name : method_name -> Ppx_sexp_conv_lib.Sexp.t
val sexp_of_type_nullability : type_nullability -> Ppx_sexp_conv_lib.Sexp.t
val t_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> t
val fully_qualified_type_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> fully_qualified_type
val method_name_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> method_name
val type_nullability_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> type_nullability
type parsing_error
val string_of_parsing_error : parsing_error -> string
val parse : string -> (tparsing_error) IStdlib.IStd.result

Given a string representing nullability information for a given third-party method, return the method signature and nullability of its params and return values. The string should come from a repository storing 3rd party annotations. E.g. "package.name.Class$NestedClass#foo(package.name.SomeClass, @Nullable package.name.OtherClass) @Nullable"

val to_canonical_string : t -> string
val pp : Stdlib.Format.formatter -> t -> unit

String representation as it can be parsed via parse <Class>#<method>(<params>)<ret_nullability>