Module Textual.TypeName

type t = {
  1. name : BaseTypeName.t;
  2. args : t list;
}
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
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 of_string : ?loc:Location.t -> string -> t

we replace any dot in the string by '::' because dot is a reserved separator in Textual

val of_string_no_dot_escape : string -> t
val mk_swift_tuple_type_name : t list -> t
val mk_rust_tuple_type_name : t list -> t
val mk_swift_type_name : ?plain_name:string -> string -> t
val sil_string : t

the name of the Textual string type

val pp : F.formatter -> t -> unit
module Hashtbl : Hashtbl.S with type key = t
module HashSet : IStdlib.HashSet.S with type elt = t
module Map : Stdlib.Map.S with type key = t
module Set : Stdlib.Set.S with type elt = t
val hack_generics : t
val wildcard : t
val swift_mangled_name_of_type_name : t -> string option
val swift_plain_name_of_type_name : t -> string option