Module IR.SwiftProcname

module F = Stdlib.Format
type builtin =
  1. | DerivedEnumEquals
  2. | DynamicCall
  3. | InitTuple
  4. | Memcpy
  5. | NonDet
  6. | ObjcMsgSend
  7. | ObjcMsgSendSuper2
  8. | SwiftGetDynamicType
  9. | MetadataEquals
    (*

    Used to compare metadata of two types.

    *)
val compare_builtin : builtin -> builtin -> int
val equal_builtin : builtin -> builtin -> bool
val yojson_of_builtin : builtin -> Ppx_yojson_conv_lib.Yojson.Safe.t
val sexp_of_builtin : builtin -> Sexplib0.Sexp.t
val builtin_of_sexp : Sexplib0.Sexp.t -> builtin
val hash_fold_builtin : Ppx_hash_lib.Std.Hash.state -> builtin -> Ppx_hash_lib.Std.Hash.state
val hash_builtin : builtin -> Ppx_hash_lib.Std.Hash.hash_value
val hash_normalize_builtin : builtin -> builtin
val hash_normalize_builtin_opt : builtin option -> builtin option
val hash_normalize_builtin_list : builtin list -> builtin list
val all_of_builtin : builtin list
type t =
  1. | ClassMethod of {
    1. class_name : Typ.Name.t;
    2. method_name : Mangled.t;
    }
  2. | Function of {
    1. function_name : Mangled.t;
    }
  3. | Builtin of builtin
include Ppx_compare_lib.Comparable.S with type t := t
val compare : t Base__Ppx_compare_lib.compare
include Ppx_compare_lib.Equal.S with type t := t
val equal : t Base__Ppx_compare_lib.equal
val yojson_of_t : t -> Ppx_yojson_conv_lib.Yojson.Safe.t
include Sexplib0.Sexpable.S with type t := t
val t_of_sexp : Sexplib0__.Sexp.t -> t
val sexp_of_t : t -> Sexplib0__.Sexp.t
include Ppx_hash_lib.Hashable.S with type t := t
val hash_fold_t : t Base__Ppx_hash_lib.hash_fold
val hash : t -> Base__Ppx_hash_lib.Std.Hash.hash_value
val hash_normalize : t -> t
val hash_normalize_opt : t option -> t option
val hash_normalize_list : t list -> t list
val mk_function : Mangled.t -> t
val mk_class_method : Typ.Name.t -> Mangled.t -> t
val mk_builtin : builtin -> t
val get_function_name : t -> Mangled.t
val pp : PpDetailLevel.t -> F.formatter -> t -> unit
val builtin_from_string : string -> builtin option
val show_builtin : builtin -> string
val to_string : t -> string