Module InferModules__CMethodSignature
Define the signature of a method consisting of its name, its arguments, return type, location and whether its an instance method.
type param_type
=
{
name : InferIR.Mangled.t;
typ : InferIR.Typ.t;
is_pointer_to_const : bool;
annot : InferIR.Annot.Item.t;
}
type t
=
{
name : InferIR.Typ.Procname.t;
access : InferGenerated.Clang_ast_t.access_specifier;
class_param : param_type option;
params : param_type list;
ret_type : InferIR.Typ.t * InferIR.Annot.Item.t;
has_added_return_param : bool;
attributes : InferGenerated.Clang_ast_t.attribute list;
loc : InferGenerated.Clang_ast_t.source_range;
method_kind : InferIR.ClangMethodKind.t;
is_cpp_virtual : bool;
is_cpp_nothrow : bool;
is_variadic : bool;
pointer_to_parent : InferGenerated.Clang_ast_t.pointer option;
pointer_to_property_opt : InferGenerated.Clang_ast_t.pointer option;
return_param_typ : InferIR.Typ.t option;
}
val is_getter : t -> bool
val is_setter : t -> bool
val mk : InferIR.Typ.Procname.t -> param_type option -> param_type list -> (InferIR.Typ.t * InferIR.Annot.Item.t) -> ?has_added_return_param:bool -> InferGenerated.Clang_ast_t.attribute list -> InferGenerated.Clang_ast_t.source_range -> InferIR.ClangMethodKind.t -> ?is_cpp_virtual:bool -> ?is_cpp_nothrow:bool -> ?is_variadic:bool -> InferGenerated.Clang_ast_t.pointer option -> InferGenerated.Clang_ast_t.pointer option -> InferIR.Typ.t option -> InferGenerated.Clang_ast_t.access_specifier -> t
val pp : Stdlib.Format.formatter -> t -> unit
val mk_param_type : ?is_pointer_to_const:bool -> ?annot:InferIR.Annot.Item.t -> InferIR.Mangled.t -> InferIR.Typ.t -> param_type