Module InferModules__AnnotatedSignature

Method signature with annotations.

type t = {
ret : InferIR.Annot.Item.t * InferIR.Typ.t;

Annotated return type.

params : (InferIR.Mangled.t * InferIR.Annot.Item.t * InferIR.Typ.t) list;

Annotated parameters.

}
val compare : t -> t -> int
type annotation =
| Nullable
| Present
val compare_annotation : annotation -> annotation -> int
val param_has_annot : (InferIR.Annot.Item.t -> bool) -> InferIR.Pvar.t -> t -> bool

Check if the given parameter has an annotation in the given signature

val mark : InferIR.Typ.Procname.t -> annotation -> t -> (bool * bool list) -> t

Mark the annotated signature with the given annotation map.

val get : InferIR.ProcAttributes.t -> t

Get a method signature with annotations from a proc_attributes.

val mk_ia : annotation -> InferIR.Annot.Item.t -> InferIR.Annot.Item.t

Add the annotation to the item_annotation.

val pp : InferIR.Typ.Procname.t -> Stdlib.Format.formatter -> t -> unit

Pretty print a method signature with annotations.