Up

module Ast_mapper

: sig
#
type mapper = {
# attribute
: mapper -> Parsetree.attribute -> Parsetree.attribute;
# attributes
: mapper -> Parsetree.attribute list -> Parsetree.attribute list;
# case
: mapper -> Parsetree.case -> Parsetree.case;
# cases
: mapper -> Parsetree.case list -> Parsetree.case list;
# class_declaration
: mapper -> Parsetree.class_declaration -> Parsetree.class_declaration;
# class_description
: mapper -> Parsetree.class_description -> Parsetree.class_description;
# class_expr
: mapper -> Parsetree.class_expr -> Parsetree.class_expr;
# class_field
: mapper -> Parsetree.class_field -> Parsetree.class_field;
# class_signature
: mapper -> Parsetree.class_signature -> Parsetree.class_signature;
# class_structure
: mapper -> Parsetree.class_structure -> Parsetree.class_structure;
# class_type
: mapper -> Parsetree.class_type -> Parsetree.class_type;
# class_type_declaration
: mapper -> Parsetree.class_type_declaration -> Parsetree.class_type_declaration;
# class_type_field
: mapper -> Parsetree.class_type_field -> Parsetree.class_type_field;
# constructor_declaration
: mapper -> Parsetree.constructor_declaration -> Parsetree.constructor_declaration;
# documentation
: mapper -> Documentation.t -> Documentation.t;
# expr
: mapper -> Parsetree.expression -> Parsetree.expression;
# extension
: mapper -> Parsetree.extension -> Parsetree.extension;
# extension_constructor
: mapper -> Parsetree.extension_constructor -> Parsetree.extension_constructor;
# include_declaration
: mapper -> Parsetree.include_declaration -> Parsetree.include_declaration;
# include_description
: mapper -> Parsetree.include_description -> Parsetree.include_description;
# label_declaration
: mapper -> Parsetree.label_declaration -> Parsetree.label_declaration;
# location
: mapper -> Location.t -> Location.t;
# module_binding
: mapper -> Parsetree.module_binding -> Parsetree.module_binding;
# module_declaration
: mapper -> Parsetree.module_declaration -> Parsetree.module_declaration;
# module_expr
: mapper -> Parsetree.module_expr -> Parsetree.module_expr;
# module_type
: mapper -> Parsetree.module_type -> Parsetree.module_type;
# module_type_declaration
: mapper -> Parsetree.module_type_declaration -> Parsetree.module_type_declaration;
# open_description
: mapper -> Parsetree.open_description -> Parsetree.open_description;
# pat
: mapper -> Parsetree.pattern -> Parsetree.pattern;
# payload
: mapper -> Parsetree.payload -> Parsetree.payload;
# signature
: mapper -> Parsetree.signature -> Parsetree.signature;
# signature_item
: mapper -> Parsetree.signature_item -> Parsetree.signature_item;
# structure
: mapper -> Parsetree.structure -> Parsetree.structure;
# structure_item
: mapper -> Parsetree.structure_item -> Parsetree.structure_item;
# typ
: mapper -> Parsetree.core_type -> Parsetree.core_type;
# type_declaration
: mapper -> Parsetree.type_declaration -> Parsetree.type_declaration;
# type_extension
: mapper -> Parsetree.type_extension -> Parsetree.type_extension;
# type_kind
: mapper -> Parsetree.type_kind -> Parsetree.type_kind;
# value_binding
: mapper -> Parsetree.value_binding -> Parsetree.value_binding;
# value_description
: mapper -> Parsetree.value_description -> Parsetree.value_description;
# with_constraint
: mapper -> Parsetree.with_constraint -> Parsetree.with_constraint;
}
#
val default_mapper : mapper
#
val tool_name : unit -> string
#
val apply : source:string -> target:string -> mapper -> unit
#
val run_main : (string list -> mapper) -> unit
#
val register_function : (string -> (string list -> mapper) -> unit) Pervasives.ref
#
val register : string -> (string list -> 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
end