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. *)

}
include sig ... end
val compare : t ‑> t ‑> int
type annotation =
| Nullable
| Present
include sig ... end
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 mark_return : annotation ‑> t ‑> t

Mark the return of the annotated signature with the given annotation.

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 ‑> Format.formatter ‑> t ‑> unit

Pretty print a method signature with annotations.