OCaml compiler library : Ast_mapper

`sig
type mapper = {
attribute :
Ast_mapper.mapper -> Parsetree.attribute -> Parsetree.attribute;
attributes :
Ast_mapper.mapper ->
Parsetree.attribute list -> Parsetree.attribute list;
binding_op :
Ast_mapper.mapper -> Parsetree.binding_op -> Parsetree.binding_op;
case : Ast_mapper.mapper -> Parsetree.case -> Parsetree.case;
cases : Ast_mapper.mapper -> Parsetree.case list -> Parsetree.case list;
class_declaration :
Ast_mapper.mapper ->
Parsetree.class_declaration -> Parsetree.class_declaration;
class_description :
Ast_mapper.mapper ->
Parsetree.class_description -> Parsetree.class_description;
class_expr :
Ast_mapper.mapper -> Parsetree.class_expr -> Parsetree.class_expr;
class_field :
Ast_mapper.mapper -> Parsetree.class_field -> Parsetree.class_field;
class_signature :
Ast_mapper.mapper ->
Parsetree.class_signature -> Parsetree.class_signature;
class_structure :
Ast_mapper.mapper ->
Parsetree.class_structure -> Parsetree.class_structure;
class_type :
Ast_mapper.mapper -> Parsetree.class_type -> Parsetree.class_type;
class_type_declaration :
Ast_mapper.mapper ->
Parsetree.class_type_declaration -> Parsetree.class_type_declaration;
class_type_field :
Ast_mapper.mapper ->
Parsetree.class_type_field -> Parsetree.class_type_field;
constant : Ast_mapper.mapper -> Parsetree.constant -> Parsetree.constant;
constructor_declaration :
Ast_mapper.mapper ->
Parsetree.constructor_declaration -> Parsetree.constructor_declaration;
directive_argument :
Ast_mapper.mapper ->
Parsetree.directive_argument -> Parsetree.directive_argument;
expr : Ast_mapper.mapper -> Parsetree.expression -> Parsetree.expression;
extension :
Ast_mapper.mapper -> Parsetree.extension -> Parsetree.extension;
extension_constructor :
Ast_mapper.mapper ->
Parsetree.extension_constructor -> Parsetree.extension_constructor;
include_declaration :
Ast_mapper.mapper ->
Parsetree.include_declaration -> Parsetree.include_declaration;
include_description :
Ast_mapper.mapper ->
Parsetree.include_description -> Parsetree.include_description;
label_declaration :
Ast_mapper.mapper ->
Parsetree.label_declaration -> Parsetree.label_declaration;
location : Ast_mapper.mapper -> Location.t -> Location.t;
module_binding :
Ast_mapper.mapper ->
Parsetree.module_binding -> Parsetree.module_binding;
module_declaration :
Ast_mapper.mapper ->
Parsetree.module_declaration -> Parsetree.module_declaration;
module_substitution :
Ast_mapper.mapper ->
Parsetree.module_substitution -> Parsetree.module_substitution;
module_expr :
Ast_mapper.mapper -> Parsetree.module_expr -> Parsetree.module_expr;
module_type :
Ast_mapper.mapper -> Parsetree.module_type -> Parsetree.module_type;
module_type_declaration :
Ast_mapper.mapper ->
Parsetree.module_type_declaration -> Parsetree.module_type_declaration;
open_declaration :
Ast_mapper.mapper ->
Parsetree.open_declaration -> Parsetree.open_declaration;
open_description :
Ast_mapper.mapper ->
Parsetree.open_description -> Parsetree.open_description;
package_type :
Ast_mapper.mapper -> Parsetree.package_type -> Parsetree.package_type;
pat : Ast_mapper.mapper -> Parsetree.pattern -> Parsetree.pattern;
payload : Ast_mapper.mapper -> Parsetree.payload -> Parsetree.payload;
signature :
Ast_mapper.mapper -> Parsetree.signature -> Parsetree.signature;
signature_item :
Ast_mapper.mapper ->
Parsetree.signature_item -> Parsetree.signature_item;
structure :
Ast_mapper.mapper -> Parsetree.structure -> Parsetree.structure;
structure_item :
Ast_mapper.mapper ->
Parsetree.structure_item -> Parsetree.structure_item;
toplevel_directive :
Ast_mapper.mapper ->
Parsetree.toplevel_directive -> Parsetree.toplevel_directive;
toplevel_phrase :
Ast_mapper.mapper ->
Parsetree.toplevel_phrase -> Parsetree.toplevel_phrase;
typ : Ast_mapper.mapper -> Parsetree.core_type -> Parsetree.core_type;
type_declaration :
Ast_mapper.mapper ->
Parsetree.type_declaration -> Parsetree.type_declaration;
type_extension :
Ast_mapper.mapper ->
Parsetree.type_extension -> Parsetree.type_extension;
type_exception :
Ast_mapper.mapper ->
Parsetree.type_exception -> Parsetree.type_exception;
type_kind :
Ast_mapper.mapper -> Parsetree.type_kind -> Parsetree.type_kind;
value_binding :
Ast_mapper.mapper -> Parsetree.value_binding -> Parsetree.value_binding;
value_description :
Ast_mapper.mapper ->
Parsetree.value_description -> Parsetree.value_description;
with_constraint :
Ast_mapper.mapper ->
Parsetree.with_constraint -> Parsetree.with_constraint;
}
val default_mapper : Ast_mapper.mapper
val tool_name : unit -> string
val apply : source:string -> target:string -> Ast_mapper.mapper -> unit
val run_main : (string list -> Ast_mapper.mapper) -> unit
val register_function :
(string -> (string list -> Ast_mapper.mapper) -> unit) Stdlib.ref
val register : string -> (string list -> Ast_mapper.mapper) -> unit
val map_opt : ('a -> 'b) -> 'a option -> 'b option
val extension_of_error : Location.error -> Parsetree.extension
val attribute_of_warning : Location.t -> string -> Parsetree.attribute
val add_ppx_context_str :
tool_name:string -> Parsetree.structure -> Parsetree.structure
val add_ppx_context_sig :
tool_name:string -> Parsetree.signature -> Parsetree.signature
val drop_ppx_context_str :
restore:bool -> Parsetree.structure -> Parsetree.structure
val drop_ppx_context_sig :
restore:bool -> Parsetree.signature -> Parsetree.signature
val set_cookie : string -> Parsetree.expression -> unit
val get_cookie : string -> Parsetree.expression option
end`