pa_ppx

PPX Rewriters for Ocaml, written using Camlp5
IN THIS PACKAGE
Module Pa_import
val debug : bool ref
val mli_only : bool ref
val redeclare : bool ref
val predicates : string list ref
val lookup_path : string list ref
val add_predicates : string -> unit
val add_package : string -> unit
val add_include : string -> unit
val report : unit -> unit
val lookup1 : string -> string -> Fpath.t
val reparse_cmi : string -> MLast.sig_item list
val parse_mli : string -> MLast.sig_item list
val lookup_file : string -> string -> string
val find1lid : string -> MLast.sig_item -> MLast.type_decl * (bool * MLast.type_decl list)
val find_lid : string -> MLast.sig_item list -> MLast.type_decl * (bool * MLast.type_decl list)
val find1mod : string -> MLast.sig_item -> MLast.sig_item list
val find1modty : string -> MLast.sig_item -> MLast.module_type
val find_mod : string -> MLast.sig_item list -> MLast.sig_item list
val find_modty : string -> MLast.sig_item list -> MLast.module_type
val find_type : string list -> string -> MLast.sig_item list -> MLast.type_decl * (bool * MLast.type_decl list)
val find_module_type : string list -> MLast.sig_item list -> MLast.module_type
val logged_parse : ( string -> 'a ) -> string -> 'a
val do_lookup_interf : string -> MLast.sig_item list
val interface_cache : (string * MLast.sig_item list) list ref
val lookup_interf : string -> MLast.sig_item list
val lookup_typedecl : (string * string list * string) -> MLast.type_decl * (bool * MLast.type_decl list)
val lookup_module_type : string list -> MLast.module_type
val import_typedecl : 'a -> MLast.ctyp -> MLast.type_decl * (bool * MLast.type_decl list)
module RM : sig ... end
val substitute_ctyp : (MLast.ctyp * MLast.ctyp) list -> MLast.ctyp -> MLast.ctyp
val string_list_of_expr : MLast.expr -> string list
val expr_to_ctyp0 : MLast.loc -> MLast.expr -> MLast.ctyp
val expr_to_ctyp : MLast.loc -> MLast.expr -> MLast.ctyp
val assignment_to_subst : MLast.expr -> (MLast.ctyp * MLast.ctyp) list
val extend_renmap : (('a * string) Ploc.vala * MLast.payload) Ploc.vala -> (MLast.ctyp * MLast.ctyp) list -> (MLast.ctyp * MLast.ctyp) list
val extract_with_attributes : (('a * string) Ploc.vala * 'b) Ploc.vala list -> (('a * string) Ploc.vala * 'b) Ploc.vala list * (('a * string) Ploc.vala * 'b) Ploc.vala list
val extract_add_attributes : (('a * string) Ploc.vala * 'b) Ploc.vala list -> (('a * string) Ploc.vala * 'b) Ploc.vala list * (('a * string) Ploc.vala * 'b) Ploc.vala list
type unpacked_t = {
full_t : MLast.ctyp;
attrs : MLast.attribute list;
bare_t : MLast.ctyp;
unapp_t : MLast.ctyp;
args : MLast.ctyp list;
li : MLast.longid;
lid : string;
sl : string list;
loc : Ploc.t;
}
val unpack_imported_type : MLast.ctyp -> unpacked_t
val import_type : 'a -> (('b * string Ploc.vala) * 'c) -> MLast.ctyp -> MLast.ctyp
val expand_add_attribute : 'a -> Pa_ppx_base.Pp_MLast.attribute -> MLast.type_decl list
val import_typedecl_group : 'a -> MLast.ctyp -> MLast.attributes_no_anti -> bool * MLast.type_decl list
val import_module_type : 'a -> MLast.ctyp -> MLast.module_type
val registered_str_item_extension : 'a -> MLast.str_item -> MLast.str_item
val registered_sig_item_extension : 'a -> MLast.sig_item -> MLast.sig_item
val registered_module_type_extension : 'a -> MLast.module_type -> MLast.module_type option
val install : unit -> unit