Module IR.PythonClassName

module F = Stdlib.Format
type builtin_type =
  1. | PyBool
  2. | PyDict
  3. | PyInt
  4. | PyNone
  5. | PyObject
  6. | PyString
  7. | PyTuple
val compare_builtin_type : builtin_type -> builtin_type -> int
val equal_builtin_type : builtin_type -> builtin_type -> bool
val yojson_of_builtin_type : builtin_type -> Ppx_yojson_conv_lib.Yojson.Safe.t
val sexp_of_builtin_type : builtin_type -> Sexplib0.Sexp.t
val builtin_type_of_sexp : Sexplib0.Sexp.t -> builtin_type
val hash_fold_builtin_type : Ppx_hash_lib.Std.Hash.state -> builtin_type -> Ppx_hash_lib.Std.Hash.state
val hash_builtin_type : builtin_type -> Ppx_hash_lib.Std.Hash.hash_value
val hash_normalize_builtin_type : builtin_type -> builtin_type
val hash_normalize_builtin_type_opt : builtin_type option -> builtin_type option
val hash_normalize_builtin_type_list : builtin_type list -> builtin_type list
type builtin_closure =
  1. | DictFun
  2. | IntFun
  3. | StrFun
  4. | TypeFun
val compare_builtin_closure : builtin_closure -> builtin_closure -> int
val equal_builtin_closure : builtin_closure -> builtin_closure -> bool
val yojson_of_builtin_closure : builtin_closure -> Ppx_yojson_conv_lib.Yojson.Safe.t
val sexp_of_builtin_closure : builtin_closure -> Sexplib0.Sexp.t
val builtin_closure_of_sexp : Sexplib0.Sexp.t -> builtin_closure
val hash_fold_builtin_closure : Ppx_hash_lib.Std.Hash.state -> builtin_closure -> Ppx_hash_lib.Std.Hash.state
val hash_builtin_closure : builtin_closure -> Ppx_hash_lib.Std.Hash.hash_value
val hash_normalize_builtin_closure : builtin_closure -> builtin_closure
val hash_normalize_builtin_closure_opt : builtin_closure option -> builtin_closure option
val hash_normalize_builtin_closure_list : builtin_closure list -> builtin_closure list
type t =
  1. | Builtin of builtin_type
  2. | Globals of string
  3. | Closure of string
  4. | BuiltinClosure of builtin_closure
  5. | ClassCompanion of {
    1. module_name : string;
    2. class_name : string;
    }
  6. | ClassInstance of {
    1. module_name : string;
    2. class_name : string;
    }
  7. | ModuleAttribute of {
    1. module_name : string;
    2. attr_name : string;
    }
  8. | Filename of string
  9. | Package of string
  10. | Wildcard
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 classname : t -> string
val components : t -> string list
val pp : F.formatter -> t -> unit
val to_string : t -> string
val is_final : t -> bool
val is_singleton : t -> bool
val split_module_attr : t -> (string * string) option

if the argument is a closure type or a module type, split the corresponding name into a pair (module_name, function_name)

val concatenate_package_name_and_file_name : t -> string -> t option
val get_builtin_closure_from_builtin_type : builtin_type -> builtin_closure option