package ppx_open

  1. Overview
  2. Docs

Module Ppx_open.Type

include module type of struct include Parsed.Type end
type kind = Ppx_open_parsing.Parsed.Type.kind =
  1. | Kind_open
  2. | Kind_closed
type t = Ppx_open_parsing.Parsed.Type.t = {
  1. type_ident : string;
  2. type_alias : string option;
  3. type_kind : kind;
}
val string_of_path : Ocaml_common.Path.t -> Base.String.t
val string_of_lident : Ppxlib.longident -> Base.String.t
val string_of_env : Ocaml_common.Env.t -> Base.String.t
val lident_flatten : Ocaml_common.Longident.t -> string list
val path_flatten : Ocaml_common.Path.t -> (Ident.t * string list) option
val path_unflatten : (Ident.t * string Base.List.t) -> Ocaml_common.Path.t
val env : Env.t lazy_t
val find_module_type_by_module : loc:Location.t -> Ocaml_common.Env.t -> Longident.t -> Ocaml_common.Types.module_type Base.Option.t
val find_module_type_by_module_type : Ocaml_common.Env.t -> Longident.t -> Ocaml_common.Types.module_type Base.Option.t
val find_module_type : loc:Location.t -> Ocaml_common.Env.t -> Ppxlib.longident -> Ocaml_common.Types.module_type
val signature_of_module_type : loc:Ocaml_common.Location.t -> Ocaml_common.Env.t -> Ocaml_common.Types.module_type -> Ocaml_common.Types.signature
val find_type : loc:Location.t -> Ocaml_common.Env.t -> Ocaml_common.Longident.t -> string -> Types.type_declaration
val lident_of_path : Ocaml_common.Path.t -> Ppxlib.longident
val pcore_type_of_ttype_expr : loc:Ppxlib__.Location.t -> Ocaml_common.Types.type_expr -> Ppxlib__.Import.core_type
val plabel_decl_of_tlabel_decl : loc:Ppxlib__.Location.t -> Ocaml_common.Types.label_declaration -> Ppxlib__.Import.label_declaration
val pconstr_decl_of_tconstr_decl : loc:Ppxlib__.Location.t -> Ocaml_common.Types.constructor_declaration -> Ppxlib__.Import.constructor_declaration
val ptype_kind_of_ttype_decl_kind : loc:Ppxlib__.Location.t -> Ocaml_common.Types.type_kind -> Ppxlib.type_kind
val ptype_params_and_cstrs_of_ttype_params : loc:Ppxlib__.Location.t -> Ocaml_common.Types.type_expr Base.List.t -> (Ppxlib__.Import.core_type * (Ppxlib.variance * Ppxlib.injectivity)) Base.List.t * (Ppxlib__.Import.core_type * Ppxlib__.Import.core_type * Ppxlib__.Location.t) Base.List.t
val open_ptype_decl_of_ttype_decl : loc:Ppxlib__.Location.t -> string -> Ppxlib__.Import.longident -> Ocaml_common.Types.type_declaration -> Ppxlib__.Import.type_declaration
val closed_ptype_decl_of_ttype_decl : loc:Ppxlib__.Location.t -> string -> Ppxlib__.Import.longident -> Ocaml_common.Types.type_declaration -> Ppxlib__.Import.type_declaration
val expand : loc:Ppxlib__.Location.t -> Ocaml_common.Longident.t -> t -> Ppxlib__.Import.structure_item