Module Procname.ObjC_Cpp

type mangled = string option
val compare_mangled : mangled -> mangled -> int
type kind =
  1. | CPPMethod of mangled
  2. | CPPConstructor of mangled
  3. | CPPDestructor of mangled
  4. | ObjCClassMethod
  5. | ObjCInstanceMethod
val compare_kind : kind -> kind -> int
type t = {
  1. class_name : Typ.Name.t;
  2. kind : kind;
  3. method_name : string;
  4. parameters : Parameter.clang_parameter list;
    (*

    NOTE: parameters should NOT include additional this/self or __return_param.

    *)
  5. template_args : Typ.template_spec_info;
}

Type of Objective C and C++ procedure names: method signatures.

include Ppx_compare_lib.Comparable.S with type t := t
val compare : t Base__Ppx_compare_lib.compare
val make : Typ.Name.t -> string -> kind -> Typ.template_spec_info -> Parameter.clang_parameter list -> t

Create an objc procedure name from a class_name and method_name.

val get_class_name : t -> string
val get_class_type_name : t -> Typ.Name.t
val get_class_qualifiers : t -> QualifiedCppName.t
val objc_method_kind_of_bool : bool -> kind

Create ObjC method type from a bool is_instance.

val is_objc_constructor : string -> bool

Check if this is a constructor method in Objective-C.

val is_destructor : t -> bool

Check if this is a dealloc method.

val is_inner_destructor : t -> bool

Check if this is a frontend-generated "inner" destructor (see D5834555/D7189239)