Module Nullsafe.ThirdPartyMethod
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
val string_of_parsing_error : parsing_error -> string
val parse : string -> (t, parsing_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"