sig
module type Ast =
sig
module Parsetree :
sig
type structure
type signature
type toplevel_phrase
type core_type
type expression
type pattern
type case
type type_declaration
type type_extension
type extension_constructor
end
module Outcometree :
sig
type out_value
type out_type
type out_class_type
type out_module_type
type out_sig_item
type out_type_extension
type out_phrase
end
module Ast_mapper : sig type mapper end
module Config :
sig
val ast_impl_magic_number : string
val ast_intf_magic_number : string
end
val shallow_identity : Migrate_parsetree_versions.Ast.Ast_mapper.mapper
val map_signature :
Migrate_parsetree_versions.Ast.Ast_mapper.mapper ->
Migrate_parsetree_versions.Ast.Parsetree.signature ->
Migrate_parsetree_versions.Ast.Parsetree.signature
val map_structure :
Migrate_parsetree_versions.Ast.Ast_mapper.mapper ->
Migrate_parsetree_versions.Ast.Parsetree.structure ->
Migrate_parsetree_versions.Ast.Parsetree.structure
val make_top_mapper :
signature:(Migrate_parsetree_versions.Ast.Parsetree.signature ->
Migrate_parsetree_versions.Ast.Parsetree.signature) ->
structure:(Migrate_parsetree_versions.Ast.Parsetree.structure ->
Migrate_parsetree_versions.Ast.Parsetree.structure) ->
Migrate_parsetree_versions.Ast.Ast_mapper.mapper
end
type 'a _types = 'a
constraint 'a =
< case : 'b; core_type : 'c; expression : 'd;
extension_constructor : 'e; mapper : 'f; out_class_type : 'g;
out_module_type : 'h; out_phrase : 'i; out_sig_item : 'j;
out_type : 'k; out_type_extension : 'l; out_value : 'm; pattern : 'n;
signature : 'o; structure : 'p; toplevel_phrase : 'q;
type_declaration : 'r; type_extension : 's >
type 'a get_structure = 'x
constraint 'a =
< case : 'b; core_type : 'c; expression : 'd;
extension_constructor : 'e; mapper : 'f; out_class_type : 'g;
out_module_type : 'h; out_phrase : 'i; out_sig_item : 'j;
out_type : 'k; out_type_extension : 'l; out_value : 'm; pattern : 'n;
signature : 'o; structure : 'x; toplevel_phrase : 'p;
type_declaration : 'q; type_extension : 'r >
type 'a get_signature = 'x
constraint 'a =
< case : 'b; core_type : 'c; expression : 'd;
extension_constructor : 'e; mapper : 'f; out_class_type : 'g;
out_module_type : 'h; out_phrase : 'i; out_sig_item : 'j;
out_type : 'k; out_type_extension : 'l; out_value : 'm; pattern : 'n;
signature : 'x; structure : 'o; toplevel_phrase : 'p;
type_declaration : 'q; type_extension : 'r >
type 'a get_toplevel_phrase = 'x
constraint 'a =
< case : 'b; core_type : 'c; expression : 'd;
extension_constructor : 'e; mapper : 'f; out_class_type : 'g;
out_module_type : 'h; out_phrase : 'i; out_sig_item : 'j;
out_type : 'k; out_type_extension : 'l; out_value : 'm; pattern : 'n;
signature : 'o; structure : 'p; toplevel_phrase : 'x;
type_declaration : 'q; type_extension : 'r >
type 'a get_core_type = 'x
constraint 'a =
< case : 'b; core_type : 'x; expression : 'c;
extension_constructor : 'd; mapper : 'e; out_class_type : 'f;
out_module_type : 'g; out_phrase : 'h; out_sig_item : 'i;
out_type : 'j; out_type_extension : 'k; out_value : 'l; pattern : 'm;
signature : 'n; structure : 'o; toplevel_phrase : 'p;
type_declaration : 'q; type_extension : 'r >
type 'a get_expression = 'x
constraint 'a =
< case : 'b; core_type : 'c; expression : 'x;
extension_constructor : 'd; mapper : 'e; out_class_type : 'f;
out_module_type : 'g; out_phrase : 'h; out_sig_item : 'i;
out_type : 'j; out_type_extension : 'k; out_value : 'l; pattern : 'm;
signature : 'n; structure : 'o; toplevel_phrase : 'p;
type_declaration : 'q; type_extension : 'r >
type 'a get_pattern = 'x
constraint 'a =
< case : 'b; core_type : 'c; expression : 'd;
extension_constructor : 'e; mapper : 'f; out_class_type : 'g;
out_module_type : 'h; out_phrase : 'i; out_sig_item : 'j;
out_type : 'k; out_type_extension : 'l; out_value : 'm; pattern : 'x;
signature : 'n; structure : 'o; toplevel_phrase : 'p;
type_declaration : 'q; type_extension : 'r >
type 'a get_case = 'x
constraint 'a =
< case : 'x; core_type : 'b; expression : 'c;
extension_constructor : 'd; mapper : 'e; out_class_type : 'f;
out_module_type : 'g; out_phrase : 'h; out_sig_item : 'i;
out_type : 'j; out_type_extension : 'k; out_value : 'l; pattern : 'm;
signature : 'n; structure : 'o; toplevel_phrase : 'p;
type_declaration : 'q; type_extension : 'r >
type 'a get_type_declaration = 'x
constraint 'a =
< case : 'b; core_type : 'c; expression : 'd;
extension_constructor : 'e; mapper : 'f; out_class_type : 'g;
out_module_type : 'h; out_phrase : 'i; out_sig_item : 'j;
out_type : 'k; out_type_extension : 'l; out_value : 'm; pattern : 'n;
signature : 'o; structure : 'p; toplevel_phrase : 'q;
type_declaration : 'x; type_extension : 'r >
type 'a get_type_extension = 'x
constraint 'a =
< case : 'b; core_type : 'c; expression : 'd;
extension_constructor : 'e; mapper : 'f; out_class_type : 'g;
out_module_type : 'h; out_phrase : 'i; out_sig_item : 'j;
out_type : 'k; out_type_extension : 'l; out_value : 'm; pattern : 'n;
signature : 'o; structure : 'p; toplevel_phrase : 'q;
type_declaration : 'r; type_extension : 'x >
type 'a get_extension_constructor = 'x
constraint 'a =
< case : 'b; core_type : 'c; expression : 'd;
extension_constructor : 'x; mapper : 'e; out_class_type : 'f;
out_module_type : 'g; out_phrase : 'h; out_sig_item : 'i;
out_type : 'j; out_type_extension : 'k; out_value : 'l; pattern : 'm;
signature : 'n; structure : 'o; toplevel_phrase : 'p;
type_declaration : 'q; type_extension : 'r >
type 'a get_out_value = 'x
constraint 'a =
< case : 'b; core_type : 'c; expression : 'd;
extension_constructor : 'e; mapper : 'f; out_class_type : 'g;
out_module_type : 'h; out_phrase : 'i; out_sig_item : 'j;
out_type : 'k; out_type_extension : 'l; out_value : 'x; pattern : 'm;
signature : 'n; structure : 'o; toplevel_phrase : 'p;
type_declaration : 'q; type_extension : 'r >
type 'a get_out_type = 'x
constraint 'a =
< case : 'b; core_type : 'c; expression : 'd;
extension_constructor : 'e; mapper : 'f; out_class_type : 'g;
out_module_type : 'h; out_phrase : 'i; out_sig_item : 'j;
out_type : 'x; out_type_extension : 'k; out_value : 'l; pattern : 'm;
signature : 'n; structure : 'o; toplevel_phrase : 'p;
type_declaration : 'q; type_extension : 'r >
type 'a get_out_class_type = 'x
constraint 'a =
< case : 'b; core_type : 'c; expression : 'd;
extension_constructor : 'e; mapper : 'f; out_class_type : 'x;
out_module_type : 'g; out_phrase : 'h; out_sig_item : 'i;
out_type : 'j; out_type_extension : 'k; out_value : 'l; pattern : 'm;
signature : 'n; structure : 'o; toplevel_phrase : 'p;
type_declaration : 'q; type_extension : 'r >
type 'a get_out_module_type = 'x
constraint 'a =
< case : 'b; core_type : 'c; expression : 'd;
extension_constructor : 'e; mapper : 'f; out_class_type : 'g;
out_module_type : 'x; out_phrase : 'h; out_sig_item : 'i;
out_type : 'j; out_type_extension : 'k; out_value : 'l; pattern : 'm;
signature : 'n; structure : 'o; toplevel_phrase : 'p;
type_declaration : 'q; type_extension : 'r >
type 'a get_out_sig_item = 'x
constraint 'a =
< case : 'b; core_type : 'c; expression : 'd;
extension_constructor : 'e; mapper : 'f; out_class_type : 'g;
out_module_type : 'h; out_phrase : 'i; out_sig_item : 'x;
out_type : 'j; out_type_extension : 'k; out_value : 'l; pattern : 'm;
signature : 'n; structure : 'o; toplevel_phrase : 'p;
type_declaration : 'q; type_extension : 'r >
type 'a get_out_type_extension = 'x
constraint 'a =
< case : 'b; core_type : 'c; expression : 'd;
extension_constructor : 'e; mapper : 'f; out_class_type : 'g;
out_module_type : 'h; out_phrase : 'i; out_sig_item : 'j;
out_type : 'k; out_type_extension : 'x; out_value : 'l; pattern : 'm;
signature : 'n; structure : 'o; toplevel_phrase : 'p;
type_declaration : 'q; type_extension : 'r >
type 'a get_out_phrase = 'x
constraint 'a =
< case : 'b; core_type : 'c; expression : 'd;
extension_constructor : 'e; mapper : 'f; out_class_type : 'g;
out_module_type : 'h; out_phrase : 'x; out_sig_item : 'i;
out_type : 'j; out_type_extension : 'k; out_value : 'l; pattern : 'm;
signature : 'n; structure : 'o; toplevel_phrase : 'p;
type_declaration : 'q; type_extension : 'r >
type 'a get_mapper = 'x
constraint 'a =
< case : 'b; core_type : 'c; expression : 'd;
extension_constructor : 'e; mapper : 'x; out_class_type : 'f;
out_module_type : 'g; out_phrase : 'h; out_sig_item : 'i;
out_type : 'j; out_type_extension : 'k; out_value : 'l; pattern : 'm;
signature : 'n; structure : 'o; toplevel_phrase : 'p;
type_declaration : 'q; type_extension : 'r >
type _ witnesses
type _ migration_info
module type OCaml_version =
sig
module Ast : Ast
val version : int
val string_version : string
type types =
< case : Migrate_parsetree_versions.Ast.Parsetree.case;
core_type : Migrate_parsetree_versions.Ast.Parsetree.core_type;
expression : Migrate_parsetree_versions.Ast.Parsetree.expression;
extension_constructor : Migrate_parsetree_versions.Ast.Parsetree.extension_constructor;
mapper : Migrate_parsetree_versions.Ast.Ast_mapper.mapper;
out_class_type : Migrate_parsetree_versions.Ast.Outcometree.out_class_type;
out_module_type : Migrate_parsetree_versions.Ast.Outcometree.out_module_type;
out_phrase : Migrate_parsetree_versions.Ast.Outcometree.out_phrase;
out_sig_item : Migrate_parsetree_versions.Ast.Outcometree.out_sig_item;
out_type : Migrate_parsetree_versions.Ast.Outcometree.out_type;
out_type_extension : Migrate_parsetree_versions.Ast.Outcometree.out_type_extension;
out_value : Migrate_parsetree_versions.Ast.Outcometree.out_value;
pattern : Migrate_parsetree_versions.Ast.Parsetree.pattern;
signature : Migrate_parsetree_versions.Ast.Parsetree.signature;
structure : Migrate_parsetree_versions.Ast.Parsetree.structure;
toplevel_phrase : Migrate_parsetree_versions.Ast.Parsetree.toplevel_phrase;
type_declaration : Migrate_parsetree_versions.Ast.Parsetree.type_declaration;
type_extension : Migrate_parsetree_versions.Ast.Parsetree.type_extension >
Migrate_parsetree_versions._types
type _ witnesses +=
Version :
Migrate_parsetree_versions.OCaml_version.types
Migrate_parsetree_versions.witnesses
val migration_info :
Migrate_parsetree_versions.OCaml_version.types
Migrate_parsetree_versions.migration_info
end
type 'a ocaml_version =
(module Migrate_parsetree_versions.OCaml_version with type Ast.Ast_mapper.mapper =
'a Migrate_parsetree_versions.get_mapper and type Ast.Outcometree.out_class_type =
'a Migrate_parsetree_versions.get_out_class_type and type Ast.Outcometree.out_module_type =
'a Migrate_parsetree_versions.get_out_module_type and type Ast.Outcometree.out_phrase =
'a Migrate_parsetree_versions.get_out_phrase and type Ast.Outcometree.out_sig_item =
'a Migrate_parsetree_versions.get_out_sig_item and type Ast.Outcometree.out_type =
'a Migrate_parsetree_versions.get_out_type and type Ast.Outcometree.out_type_extension =
'a Migrate_parsetree_versions.get_out_type_extension and type Ast.Outcometree.out_value =
'a Migrate_parsetree_versions.get_out_value and type Ast.Parsetree.case =
'a Migrate_parsetree_versions.get_case and type Ast.Parsetree.core_type =
'a Migrate_parsetree_versions.get_core_type and type Ast.Parsetree.expression =
'a Migrate_parsetree_versions.get_expression and type Ast.Parsetree.extension_constructor =
'a Migrate_parsetree_versions.get_extension_constructor and type Ast.Parsetree.pattern =
'a Migrate_parsetree_versions.get_pattern and type Ast.Parsetree.signature =
'a Migrate_parsetree_versions.get_signature and type Ast.Parsetree.structure =
'a Migrate_parsetree_versions.get_structure and type Ast.Parsetree.toplevel_phrase =
'a Migrate_parsetree_versions.get_toplevel_phrase and type Ast.Parsetree.type_declaration =
'a Migrate_parsetree_versions.get_type_declaration and type Ast.Parsetree.type_extension =
'a Migrate_parsetree_versions.get_type_extension)
constraint 'a =
< case : 'b; core_type : 'c; expression : 'd;
extension_constructor : 'e; mapper : 'f; out_class_type : 'g;
out_module_type : 'h; out_phrase : 'i; out_sig_item : 'j;
out_type : 'k; out_type_extension : 'l; out_value : 'm; pattern : 'n;
signature : 'o; structure : 'p; toplevel_phrase : 'q;
type_declaration : 'r; type_extension : 's >
module OCaml_402 :
sig
module Ast :
sig
module Location :
sig
type t =
Location.t = {
loc_start : Lexing.position;
loc_end : Lexing.position;
loc_ghost : bool;
}
val none : t
val in_file : string -> t
val init : Lexing.lexbuf -> string -> unit
val curr : Lexing.lexbuf -> t
val symbol_rloc : unit -> t
val symbol_gloc : unit -> t
val rhs_loc : int -> t
val input_name : string ref
val input_lexbuf : Lexing.lexbuf option ref
val get_pos_info : Lexing.position -> string * int * int
val print_loc : Format.formatter -> t -> unit
val print_error : Format.formatter -> t -> unit
val print_error_cur_file : Format.formatter -> unit -> unit
val print_warning : t -> Format.formatter -> Warnings.t -> unit
val formatter_for_warnings : Format.formatter ref
val prerr_warning : t -> Warnings.t -> unit
val echo_eof : unit -> unit
val reset : unit -> unit
val warning_printer :
(t -> Format.formatter -> Warnings.t -> unit) ref
val default_warning_printer :
t -> Format.formatter -> Warnings.t -> unit
val highlight_locations : Format.formatter -> t list -> bool
type 'a loc = 'a Location.loc = { txt : 'a; loc : t; }
val mknoloc : 'a -> 'a loc
val mkloc : 'a -> t -> 'a loc
val print : Format.formatter -> t -> unit
val print_compact : Format.formatter -> t -> unit
val print_filename : Format.formatter -> string -> unit
val absolute_path : string -> string
val show_filename : string -> string
val absname : bool ref
type error =
Location.error = {
loc : t;
msg : string;
sub : error list;
if_highlight : string;
}
exception Error of error
val print_error_prefix : Format.formatter -> unit -> unit
val error :
?loc:t ->
?sub:error list -> ?if_highlight:string -> string -> error
val errorf :
?loc:t ->
?sub:error list ->
?if_highlight:string ->
('a, Format.formatter, unit, error) format4 -> 'a
val raise_errorf :
?loc:t ->
?sub:error list ->
?if_highlight:string ->
('a, Format.formatter, unit, 'b) format4 -> 'a
val error_of_printer :
t -> (Format.formatter -> 'a -> unit) -> 'a -> error
val error_of_printer_file :
(Format.formatter -> 'a -> unit) -> 'a -> error
val error_of_exn : exn -> error option
val register_error_of_exn : (exn -> error option) -> unit
val report_error : Format.formatter -> error -> unit
val error_reporter : (Format.formatter -> error -> unit) ref
val default_error_reporter : Format.formatter -> error -> unit
val report_exception : Format.formatter -> exn -> unit
end
module Longident :
sig
type t =
Longident.t =
Lident of string
| Ldot of t * string
| Lapply of t * t
val flatten : t -> string list
val last : t -> string
val parse : string -> t
end
module Asttypes :
sig
type constant =
Ast_402.Asttypes.constant =
Const_int of int
| Const_char of char
| Const_string of string * string option
| Const_float of string
| Const_int32 of int32
| Const_int64 of int64
| Const_nativeint of nativeint
type rec_flag =
Ast_402.Asttypes.rec_flag =
Nonrecursive
| Recursive
type direction_flag =
Ast_402.Asttypes.direction_flag =
Upto
| Downto
type private_flag =
Ast_402.Asttypes.private_flag =
Private
| Public
type mutable_flag =
Ast_402.Asttypes.mutable_flag =
Immutable
| Mutable
type virtual_flag =
Ast_402.Asttypes.virtual_flag =
Virtual
| Concrete
type override_flag =
Ast_402.Asttypes.override_flag =
Override
| Fresh
type closed_flag = Ast_402.Asttypes.closed_flag = Closed | Open
type label = string
type 'a loc = 'a Location.loc = { txt : 'a; loc : Location.t; }
type variance =
Ast_402.Asttypes.variance =
Covariant
| Contravariant
| Invariant
end
module Parsetree :
sig
type attribute = string Asttypes.loc * payload
and extension = string Asttypes.loc * payload
and attributes = attribute list
and payload =
Ast_402.Parsetree.payload =
PStr of structure
| PTyp of core_type
| PPat of pattern * expression option
and core_type =
Ast_402.Parsetree.core_type = {
ptyp_desc : core_type_desc;
ptyp_loc : Location.t;
ptyp_attributes : attributes;
}
and core_type_desc =
Ast_402.Parsetree.core_type_desc =
Ptyp_any
| Ptyp_var of string
| Ptyp_arrow of Asttypes.label * core_type * core_type
| Ptyp_tuple of core_type list
| Ptyp_constr of Longident.t Asttypes.loc * core_type list
| Ptyp_object of (string * attributes * core_type) list *
Asttypes.closed_flag
| Ptyp_class of Longident.t Asttypes.loc * core_type list
| Ptyp_alias of core_type * string
| Ptyp_variant of row_field list * Asttypes.closed_flag *
Asttypes.label list option
| Ptyp_poly of string list * core_type
| Ptyp_package of package_type
| Ptyp_extension of extension
and package_type =
Longident.t Asttypes.loc *
(Longident.t Asttypes.loc * core_type) list
and row_field =
Ast_402.Parsetree.row_field =
Rtag of Asttypes.label * attributes * bool * core_type list
| Rinherit of core_type
and pattern =
Ast_402.Parsetree.pattern = {
ppat_desc : pattern_desc;
ppat_loc : Location.t;
ppat_attributes : attributes;
}
and pattern_desc =
Ast_402.Parsetree.pattern_desc =
Ppat_any
| Ppat_var of string Asttypes.loc
| Ppat_alias of pattern * string Asttypes.loc
| Ppat_constant of Asttypes.constant
| Ppat_interval of Asttypes.constant * Asttypes.constant
| Ppat_tuple of pattern list
| Ppat_construct of Longident.t Asttypes.loc * pattern option
| Ppat_variant of Asttypes.label * pattern option
| Ppat_record of (Longident.t Asttypes.loc * pattern) list *
Asttypes.closed_flag
| Ppat_array of pattern list
| Ppat_or of pattern * pattern
| Ppat_constraint of pattern * core_type
| Ppat_type of Longident.t Asttypes.loc
| Ppat_lazy of pattern
| Ppat_unpack of string Asttypes.loc
| Ppat_exception of pattern
| Ppat_extension of extension
and expression =
Ast_402.Parsetree.expression = {
pexp_desc : expression_desc;
pexp_loc : Location.t;
pexp_attributes : attributes;
}
and expression_desc =
Ast_402.Parsetree.expression_desc =
Pexp_ident of Longident.t Asttypes.loc
| Pexp_constant of Asttypes.constant
| Pexp_let of Asttypes.rec_flag * value_binding list *
expression
| Pexp_function of case list
| Pexp_fun of Asttypes.label * expression option * pattern *
expression
| Pexp_apply of expression *
(Asttypes.label * expression) list
| Pexp_match of expression * case list
| Pexp_try of expression * case list
| Pexp_tuple of expression list
| Pexp_construct of Longident.t Asttypes.loc *
expression option
| Pexp_variant of Asttypes.label * expression option
| Pexp_record of
(Longident.t Asttypes.loc * expression) list *
expression option
| Pexp_field of expression * Longident.t Asttypes.loc
| Pexp_setfield of expression * Longident.t Asttypes.loc *
expression
| Pexp_array of expression list
| Pexp_ifthenelse of expression * expression *
expression option
| Pexp_sequence of expression * expression
| Pexp_while of expression * expression
| Pexp_for of pattern * expression * expression *
Asttypes.direction_flag * expression
| Pexp_constraint of expression * core_type
| Pexp_coerce of expression * core_type option * core_type
| Pexp_send of expression * string
| Pexp_new of Longident.t Asttypes.loc
| Pexp_setinstvar of string Asttypes.loc * expression
| Pexp_override of (string Asttypes.loc * expression) list
| Pexp_letmodule of string Asttypes.loc * module_expr *
expression
| Pexp_assert of expression
| Pexp_lazy of expression
| Pexp_poly of expression * core_type option
| Pexp_object of class_structure
| Pexp_newtype of string * expression
| Pexp_pack of module_expr
| Pexp_open of Asttypes.override_flag *
Longident.t Asttypes.loc * expression
| Pexp_extension of extension
and case =
Ast_402.Parsetree.case = {
pc_lhs : pattern;
pc_guard : expression option;
pc_rhs : expression;
}
and value_description =
Ast_402.Parsetree.value_description = {
pval_name : string Asttypes.loc;
pval_type : core_type;
pval_prim : string list;
pval_attributes : attributes;
pval_loc : Location.t;
}
and type_declaration =
Ast_402.Parsetree.type_declaration = {
ptype_name : string Asttypes.loc;
ptype_params : (core_type * Asttypes.variance) list;
ptype_cstrs : (core_type * core_type * Location.t) list;
ptype_kind : type_kind;
ptype_private : Asttypes.private_flag;
ptype_manifest : core_type option;
ptype_attributes : attributes;
ptype_loc : Location.t;
}
and type_kind =
Ast_402.Parsetree.type_kind =
Ptype_abstract
| Ptype_variant of constructor_declaration list
| Ptype_record of label_declaration list
| Ptype_open
and label_declaration =
Ast_402.Parsetree.label_declaration = {
pld_name : string Asttypes.loc;
pld_mutable : Asttypes.mutable_flag;
pld_type : core_type;
pld_loc : Location.t;
pld_attributes : attributes;
}
and constructor_declaration =
Ast_402.Parsetree.constructor_declaration = {
pcd_name : string Asttypes.loc;
pcd_args : core_type list;
pcd_res : core_type option;
pcd_loc : Location.t;
pcd_attributes : attributes;
}
and type_extension =
Ast_402.Parsetree.type_extension = {
ptyext_path : Longident.t Asttypes.loc;
ptyext_params : (core_type * Asttypes.variance) list;
ptyext_constructors : extension_constructor list;
ptyext_private : Asttypes.private_flag;
ptyext_attributes : attributes;
}
and extension_constructor =
Ast_402.Parsetree.extension_constructor = {
pext_name : string Asttypes.loc;
pext_kind : extension_constructor_kind;
pext_loc : Location.t;
pext_attributes : attributes;
}
and extension_constructor_kind =
Ast_402.Parsetree.extension_constructor_kind =
Pext_decl of core_type list * core_type option
| Pext_rebind of Longident.t Asttypes.loc
and class_type =
Ast_402.Parsetree.class_type = {
pcty_desc : class_type_desc;
pcty_loc : Location.t;
pcty_attributes : attributes;
}
and class_type_desc =
Ast_402.Parsetree.class_type_desc =
Pcty_constr of Longident.t Asttypes.loc * core_type list
| Pcty_signature of class_signature
| Pcty_arrow of Asttypes.label * core_type * class_type
| Pcty_extension of extension
and class_signature =
Ast_402.Parsetree.class_signature = {
pcsig_self : core_type;
pcsig_fields : class_type_field list;
}
and class_type_field =
Ast_402.Parsetree.class_type_field = {
pctf_desc : class_type_field_desc;
pctf_loc : Location.t;
pctf_attributes : attributes;
}
and class_type_field_desc =
Ast_402.Parsetree.class_type_field_desc =
Pctf_inherit of class_type
| Pctf_val of
(string * Asttypes.mutable_flag * Asttypes.virtual_flag *
core_type)
| Pctf_method of
(string * Asttypes.private_flag * Asttypes.virtual_flag *
core_type)
| Pctf_constraint of (core_type * core_type)
| Pctf_attribute of attribute
| Pctf_extension of extension
and 'a class_infos =
'a Ast_402.Parsetree.class_infos = {
pci_virt : Asttypes.virtual_flag;
pci_params : (core_type * Asttypes.variance) list;
pci_name : string Asttypes.loc;
pci_expr : 'a;
pci_loc : Location.t;
pci_attributes : attributes;
}
and class_description = class_type class_infos
and class_type_declaration = class_type class_infos
and class_expr =
Ast_402.Parsetree.class_expr = {
pcl_desc : class_expr_desc;
pcl_loc : Location.t;
pcl_attributes : attributes;
}
and class_expr_desc =
Ast_402.Parsetree.class_expr_desc =
Pcl_constr of Longident.t Asttypes.loc * core_type list
| Pcl_structure of class_structure
| Pcl_fun of Asttypes.label * expression option * pattern *
class_expr
| Pcl_apply of class_expr *
(Asttypes.label * expression) list
| Pcl_let of Asttypes.rec_flag * value_binding list *
class_expr
| Pcl_constraint of class_expr * class_type
| Pcl_extension of extension
and class_structure =
Ast_402.Parsetree.class_structure = {
pcstr_self : pattern;
pcstr_fields : class_field list;
}
and class_field =
Ast_402.Parsetree.class_field = {
pcf_desc : class_field_desc;
pcf_loc : Location.t;
pcf_attributes : attributes;
}
and class_field_desc =
Ast_402.Parsetree.class_field_desc =
Pcf_inherit of Asttypes.override_flag * class_expr *
string option
| Pcf_val of
(string Asttypes.loc * Asttypes.mutable_flag *
class_field_kind)
| Pcf_method of
(string Asttypes.loc * Asttypes.private_flag *
class_field_kind)
| Pcf_constraint of (core_type * core_type)
| Pcf_initializer of expression
| Pcf_attribute of attribute
| Pcf_extension of extension
and class_field_kind =
Ast_402.Parsetree.class_field_kind =
Cfk_virtual of core_type
| Cfk_concrete of Asttypes.override_flag * expression
and class_declaration = class_expr class_infos
and module_type =
Ast_402.Parsetree.module_type = {
pmty_desc : module_type_desc;
pmty_loc : Location.t;
pmty_attributes : attributes;
}
and module_type_desc =
Ast_402.Parsetree.module_type_desc =
Pmty_ident of Longident.t Asttypes.loc
| Pmty_signature of signature
| Pmty_functor of string Asttypes.loc * module_type option *
module_type
| Pmty_with of module_type * with_constraint list
| Pmty_typeof of module_expr
| Pmty_extension of extension
| Pmty_alias of Longident.t Asttypes.loc
and signature = signature_item list
and signature_item =
Ast_402.Parsetree.signature_item = {
psig_desc : signature_item_desc;
psig_loc : Location.t;
}
and signature_item_desc =
Ast_402.Parsetree.signature_item_desc =
Psig_value of value_description
| Psig_type of type_declaration list
| Psig_typext of type_extension
| Psig_exception of extension_constructor
| Psig_module of module_declaration
| Psig_recmodule of module_declaration list
| Psig_modtype of module_type_declaration
| Psig_open of open_description
| Psig_include of include_description
| Psig_class of class_description list
| Psig_class_type of class_type_declaration list
| Psig_attribute of attribute
| Psig_extension of extension * attributes
and module_declaration =
Ast_402.Parsetree.module_declaration = {
pmd_name : string Asttypes.loc;
pmd_type : module_type;
pmd_attributes : attributes;
pmd_loc : Location.t;
}
and module_type_declaration =
Ast_402.Parsetree.module_type_declaration = {
pmtd_name : string Asttypes.loc;
pmtd_type : module_type option;
pmtd_attributes : attributes;
pmtd_loc : Location.t;
}
and open_description =
Ast_402.Parsetree.open_description = {
popen_lid : Longident.t Asttypes.loc;
popen_override : Asttypes.override_flag;
popen_loc : Location.t;
popen_attributes : attributes;
}
and 'a include_infos =
'a Ast_402.Parsetree.include_infos = {
pincl_mod : 'a;
pincl_loc : Location.t;
pincl_attributes : attributes;
}
and include_description = module_type include_infos
and include_declaration = module_expr include_infos
and with_constraint =
Ast_402.Parsetree.with_constraint =
Pwith_type of Longident.t Asttypes.loc * type_declaration
| Pwith_module of Longident.t Asttypes.loc *
Longident.t Asttypes.loc
| Pwith_typesubst of type_declaration
| Pwith_modsubst of string Asttypes.loc *
Longident.t Asttypes.loc
and module_expr =
Ast_402.Parsetree.module_expr = {
pmod_desc : module_expr_desc;
pmod_loc : Location.t;
pmod_attributes : attributes;
}
and module_expr_desc =
Ast_402.Parsetree.module_expr_desc =
Pmod_ident of Longident.t Asttypes.loc
| Pmod_structure of structure
| Pmod_functor of string Asttypes.loc * module_type option *
module_expr
| Pmod_apply of module_expr * module_expr
| Pmod_constraint of module_expr * module_type
| Pmod_unpack of expression
| Pmod_extension of extension
and structure = structure_item list
and structure_item =
Ast_402.Parsetree.structure_item = {
pstr_desc : structure_item_desc;
pstr_loc : Location.t;
}
and structure_item_desc =
Ast_402.Parsetree.structure_item_desc =
Pstr_eval of expression * attributes
| Pstr_value of Asttypes.rec_flag * value_binding list
| Pstr_primitive of value_description
| Pstr_type of type_declaration list
| Pstr_typext of type_extension
| Pstr_exception of extension_constructor
| Pstr_module of module_binding
| Pstr_recmodule of module_binding list
| Pstr_modtype of module_type_declaration
| Pstr_open of open_description
| Pstr_class of class_declaration list
| Pstr_class_type of class_type_declaration list
| Pstr_include of include_declaration
| Pstr_attribute of attribute
| Pstr_extension of extension * attributes
and value_binding =
Ast_402.Parsetree.value_binding = {
pvb_pat : pattern;
pvb_expr : expression;
pvb_attributes : attributes;
pvb_loc : Location.t;
}
and module_binding =
Ast_402.Parsetree.module_binding = {
pmb_name : string Asttypes.loc;
pmb_expr : module_expr;
pmb_attributes : attributes;
pmb_loc : Location.t;
}
type toplevel_phrase =
Ast_402.Parsetree.toplevel_phrase =
Ptop_def of structure
| Ptop_dir of string * directive_argument
and directive_argument =
Ast_402.Parsetree.directive_argument =
Pdir_none
| Pdir_string of string
| Pdir_int of int
| Pdir_ident of Longident.t
| Pdir_bool of bool
end
module Docstrings :
sig
type docstring = Ast_402.Docstrings.docstring
val docstring : string -> Location.t -> docstring
val docstring_body : docstring -> string
val docstring_loc : docstring -> Location.t
type docs =
Ast_402.Docstrings.docs = {
docs_pre : docstring option;
docs_post : docstring option;
}
val empty_docs : docs
val docs_attr : docstring -> Parsetree.attribute
val add_docs_attrs :
docs -> Parsetree.attributes -> Parsetree.attributes
type info = docstring option
val empty_info : info
val info_attr : docstring -> Parsetree.attribute
val add_info_attrs :
info -> Parsetree.attributes -> Parsetree.attributes
type text = docstring list
val empty_text : text
val text_attr : docstring -> Parsetree.attribute
val add_text_attrs :
text -> Parsetree.attributes -> Parsetree.attributes
end
module Ast_helper :
sig
type lid = Longident.t Asttypes.loc
type str = string Asttypes.loc
type loc = Location.t
type attrs = Parsetree.attribute list
val default_loc : loc ref
val with_default_loc : loc -> (unit -> 'a) -> 'a
module Typ :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
Parsetree.core_type_desc -> Parsetree.core_type
val attr :
Parsetree.core_type ->
Parsetree.attribute -> Parsetree.core_type
val any :
?loc:loc -> ?attrs:attrs -> unit -> Parsetree.core_type
val var :
?loc:loc -> ?attrs:attrs -> string -> Parsetree.core_type
val arrow :
?loc:loc ->
?attrs:attrs ->
Asttypes.label ->
Parsetree.core_type ->
Parsetree.core_type -> Parsetree.core_type
val tuple :
?loc:loc ->
?attrs:attrs ->
Parsetree.core_type list -> Parsetree.core_type
val constr :
?loc:loc ->
?attrs:attrs ->
lid -> Parsetree.core_type list -> Parsetree.core_type
val object_ :
?loc:loc ->
?attrs:attrs ->
(string * Parsetree.attributes * Parsetree.core_type)
list -> Asttypes.closed_flag -> Parsetree.core_type
val class_ :
?loc:loc ->
?attrs:attrs ->
lid -> Parsetree.core_type list -> Parsetree.core_type
val alias :
?loc:loc ->
?attrs:attrs ->
Parsetree.core_type -> string -> Parsetree.core_type
val variant :
?loc:loc ->
?attrs:attrs ->
Parsetree.row_field list ->
Asttypes.closed_flag ->
Asttypes.label list option -> Parsetree.core_type
val poly :
?loc:loc ->
?attrs:attrs ->
string list -> Parsetree.core_type -> Parsetree.core_type
val package :
?loc:loc ->
?attrs:attrs ->
lid ->
(lid * Parsetree.core_type) list -> Parsetree.core_type
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.core_type
val force_poly : Parsetree.core_type -> Parsetree.core_type
end
module Pat :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
Parsetree.pattern_desc -> Parsetree.pattern
val attr :
Parsetree.pattern ->
Parsetree.attribute -> Parsetree.pattern
val any :
?loc:loc -> ?attrs:attrs -> unit -> Parsetree.pattern
val var :
?loc:loc -> ?attrs:attrs -> str -> Parsetree.pattern
val alias :
?loc:loc ->
?attrs:attrs ->
Parsetree.pattern -> str -> Parsetree.pattern
val constant :
?loc:loc ->
?attrs:attrs -> Asttypes.constant -> Parsetree.pattern
val interval :
?loc:loc ->
?attrs:attrs ->
Asttypes.constant ->
Asttypes.constant -> Parsetree.pattern
val tuple :
?loc:loc ->
?attrs:attrs ->
Parsetree.pattern list -> Parsetree.pattern
val construct :
?loc:loc ->
?attrs:attrs ->
lid -> Parsetree.pattern option -> Parsetree.pattern
val variant :
?loc:loc ->
?attrs:attrs ->
Asttypes.label ->
Parsetree.pattern option -> Parsetree.pattern
val record :
?loc:loc ->
?attrs:attrs ->
(lid * Parsetree.pattern) list ->
Asttypes.closed_flag -> Parsetree.pattern
val array :
?loc:loc ->
?attrs:attrs ->
Parsetree.pattern list -> Parsetree.pattern
val or_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.pattern ->
Parsetree.pattern -> Parsetree.pattern
val constraint_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.pattern ->
Parsetree.core_type -> Parsetree.pattern
val type_ :
?loc:loc -> ?attrs:attrs -> lid -> Parsetree.pattern
val lazy_ :
?loc:loc ->
?attrs:attrs -> Parsetree.pattern -> Parsetree.pattern
val unpack :
?loc:loc -> ?attrs:attrs -> str -> Parsetree.pattern
val exception_ :
?loc:loc ->
?attrs:attrs -> Parsetree.pattern -> Parsetree.pattern
val extension :
?loc:loc ->
?attrs:attrs -> Parsetree.extension -> Parsetree.pattern
end
module Exp :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression_desc -> Parsetree.expression
val attr :
Parsetree.expression ->
Parsetree.attribute -> Parsetree.expression
val ident :
?loc:loc -> ?attrs:attrs -> lid -> Parsetree.expression
val constant :
?loc:loc ->
?attrs:attrs -> Asttypes.constant -> Parsetree.expression
val let_ :
?loc:loc ->
?attrs:attrs ->
Asttypes.rec_flag ->
Parsetree.value_binding list ->
Parsetree.expression -> Parsetree.expression
val fun_ :
?loc:loc ->
?attrs:attrs ->
Asttypes.label ->
Parsetree.expression option ->
Parsetree.pattern ->
Parsetree.expression -> Parsetree.expression
val function_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.case list -> Parsetree.expression
val apply :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
(Asttypes.label * Parsetree.expression) list ->
Parsetree.expression
val match_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
Parsetree.case list -> Parsetree.expression
val try_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
Parsetree.case list -> Parsetree.expression
val tuple :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression list -> Parsetree.expression
val construct :
?loc:loc ->
?attrs:attrs ->
lid ->
Parsetree.expression option -> Parsetree.expression
val variant :
?loc:loc ->
?attrs:attrs ->
Asttypes.label ->
Parsetree.expression option -> Parsetree.expression
val record :
?loc:loc ->
?attrs:attrs ->
(lid * Parsetree.expression) list ->
Parsetree.expression option -> Parsetree.expression
val field :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression -> lid -> Parsetree.expression
val setfield :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
lid -> Parsetree.expression -> Parsetree.expression
val array :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression list -> Parsetree.expression
val ifthenelse :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
Parsetree.expression ->
Parsetree.expression option -> Parsetree.expression
val sequence :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
Parsetree.expression -> Parsetree.expression
val while_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
Parsetree.expression -> Parsetree.expression
val for_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.pattern ->
Parsetree.expression ->
Parsetree.expression ->
Asttypes.direction_flag ->
Parsetree.expression -> Parsetree.expression
val coerce :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
Parsetree.core_type option ->
Parsetree.core_type -> Parsetree.expression
val constraint_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
Parsetree.core_type -> Parsetree.expression
val send :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression -> string -> Parsetree.expression
val new_ :
?loc:loc -> ?attrs:attrs -> lid -> Parsetree.expression
val setinstvar :
?loc:loc ->
?attrs:attrs ->
str -> Parsetree.expression -> Parsetree.expression
val override :
?loc:loc ->
?attrs:attrs ->
(str * Parsetree.expression) list -> Parsetree.expression
val letmodule :
?loc:loc ->
?attrs:attrs ->
str ->
Parsetree.module_expr ->
Parsetree.expression -> Parsetree.expression
val assert_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression -> Parsetree.expression
val lazy_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression -> Parsetree.expression
val poly :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
Parsetree.core_type option -> Parsetree.expression
val object_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.class_structure -> Parsetree.expression
val newtype :
?loc:loc ->
?attrs:attrs ->
string -> Parsetree.expression -> Parsetree.expression
val pack :
?loc:loc ->
?attrs:attrs ->
Parsetree.module_expr -> Parsetree.expression
val open_ :
?loc:loc ->
?attrs:attrs ->
Asttypes.override_flag ->
lid -> Parsetree.expression -> Parsetree.expression
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.expression
val case :
Parsetree.pattern ->
?guard:Parsetree.expression ->
Parsetree.expression -> Parsetree.case
end
module Val :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?prim:string list ->
str -> Parsetree.core_type -> Parsetree.value_description
end
module Type :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?text:Docstrings.text ->
?params:(Parsetree.core_type * Asttypes.variance) list ->
?cstrs:(Parsetree.core_type * Parsetree.core_type * loc)
list ->
?kind:Parsetree.type_kind ->
?priv:Asttypes.private_flag ->
?manifest:Parsetree.core_type ->
str -> Parsetree.type_declaration
val constructor :
?loc:loc ->
?attrs:attrs ->
?info:Docstrings.info ->
?args:Parsetree.core_type list ->
?res:Parsetree.core_type ->
str -> Parsetree.constructor_declaration
val field :
?loc:loc ->
?attrs:attrs ->
?info:Docstrings.info ->
?mut:Asttypes.mutable_flag ->
str -> Parsetree.core_type -> Parsetree.label_declaration
end
module Te :
sig
val mk :
?attrs:attrs ->
?docs:Docstrings.docs ->
?params:(Parsetree.core_type * Asttypes.variance) list ->
?priv:Asttypes.private_flag ->
lid ->
Parsetree.extension_constructor list ->
Parsetree.type_extension
val constructor :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?info:Docstrings.info ->
str ->
Parsetree.extension_constructor_kind ->
Parsetree.extension_constructor
val decl :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?info:Docstrings.info ->
?args:Parsetree.core_type list ->
?res:Parsetree.core_type ->
str -> Parsetree.extension_constructor
val rebind :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?info:Docstrings.info ->
str -> lid -> Parsetree.extension_constructor
end
module Mty :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
Parsetree.module_type_desc -> Parsetree.module_type
val attr :
Parsetree.module_type ->
Parsetree.attribute -> Parsetree.module_type
val ident :
?loc:loc -> ?attrs:attrs -> lid -> Parsetree.module_type
val alias :
?loc:loc -> ?attrs:attrs -> lid -> Parsetree.module_type
val signature :
?loc:loc ->
?attrs:attrs ->
Parsetree.signature -> Parsetree.module_type
val functor_ :
?loc:loc ->
?attrs:attrs ->
str ->
Parsetree.module_type option ->
Parsetree.module_type -> Parsetree.module_type
val with_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.module_type ->
Parsetree.with_constraint list -> Parsetree.module_type
val typeof_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.module_expr -> Parsetree.module_type
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.module_type
end
module Mod :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
Parsetree.module_expr_desc -> Parsetree.module_expr
val attr :
Parsetree.module_expr ->
Parsetree.attribute -> Parsetree.module_expr
val ident :
?loc:loc -> ?attrs:attrs -> lid -> Parsetree.module_expr
val structure :
?loc:loc ->
?attrs:attrs ->
Parsetree.structure -> Parsetree.module_expr
val functor_ :
?loc:loc ->
?attrs:attrs ->
str ->
Parsetree.module_type option ->
Parsetree.module_expr -> Parsetree.module_expr
val apply :
?loc:loc ->
?attrs:attrs ->
Parsetree.module_expr ->
Parsetree.module_expr -> Parsetree.module_expr
val constraint_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.module_expr ->
Parsetree.module_type -> Parsetree.module_expr
val unpack :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression -> Parsetree.module_expr
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.module_expr
end
module Sig :
sig
val mk :
?loc:loc ->
Parsetree.signature_item_desc -> Parsetree.signature_item
val value :
?loc:loc ->
Parsetree.value_description -> Parsetree.signature_item
val type_ :
?loc:loc ->
Parsetree.type_declaration list ->
Parsetree.signature_item
val type_extension :
?loc:loc ->
Parsetree.type_extension -> Parsetree.signature_item
val exception_ :
?loc:loc ->
Parsetree.extension_constructor ->
Parsetree.signature_item
val module_ :
?loc:loc ->
Parsetree.module_declaration -> Parsetree.signature_item
val rec_module :
?loc:loc ->
Parsetree.module_declaration list ->
Parsetree.signature_item
val modtype :
?loc:loc ->
Parsetree.module_type_declaration ->
Parsetree.signature_item
val open_ :
?loc:loc ->
Parsetree.open_description -> Parsetree.signature_item
val include_ :
?loc:loc ->
Parsetree.include_description -> Parsetree.signature_item
val class_ :
?loc:loc ->
Parsetree.class_description list ->
Parsetree.signature_item
val class_type :
?loc:loc ->
Parsetree.class_type_declaration list ->
Parsetree.signature_item
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.signature_item
val attribute :
?loc:loc ->
Parsetree.attribute -> Parsetree.signature_item
val text : Docstrings.text -> Parsetree.signature_item list
end
module Str :
sig
val mk :
?loc:loc ->
Parsetree.structure_item_desc -> Parsetree.structure_item
val eval :
?loc:loc ->
?attrs:Parsetree.attributes ->
Parsetree.expression -> Parsetree.structure_item
val value :
?loc:loc ->
Asttypes.rec_flag ->
Parsetree.value_binding list -> Parsetree.structure_item
val primitive :
?loc:loc ->
Parsetree.value_description -> Parsetree.structure_item
val type_ :
?loc:loc ->
Parsetree.type_declaration list ->
Parsetree.structure_item
val type_extension :
?loc:loc ->
Parsetree.type_extension -> Parsetree.structure_item
val exception_ :
?loc:loc ->
Parsetree.extension_constructor ->
Parsetree.structure_item
val module_ :
?loc:loc ->
Parsetree.module_binding -> Parsetree.structure_item
val rec_module :
?loc:loc ->
Parsetree.module_binding list -> Parsetree.structure_item
val modtype :
?loc:loc ->
Parsetree.module_type_declaration ->
Parsetree.structure_item
val open_ :
?loc:loc ->
Parsetree.open_description -> Parsetree.structure_item
val class_ :
?loc:loc ->
Parsetree.class_declaration list ->
Parsetree.structure_item
val class_type :
?loc:loc ->
Parsetree.class_type_declaration list ->
Parsetree.structure_item
val include_ :
?loc:loc ->
Parsetree.include_declaration -> Parsetree.structure_item
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.structure_item
val attribute :
?loc:loc ->
Parsetree.attribute -> Parsetree.structure_item
val text : Docstrings.text -> Parsetree.structure_item list
end
module Md :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?text:Docstrings.text ->
str ->
Parsetree.module_type -> Parsetree.module_declaration
end
module Mtd :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?text:Docstrings.text ->
?typ:Parsetree.module_type ->
str -> Parsetree.module_type_declaration
end
module Mb :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?text:Docstrings.text ->
str -> Parsetree.module_expr -> Parsetree.module_binding
end
module Opn :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?override:Asttypes.override_flag ->
lid -> Parsetree.open_description
end
module Incl :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs -> 'a -> 'a Parsetree.include_infos
end
module Vb :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?text:Docstrings.text ->
Parsetree.pattern ->
Parsetree.expression -> Parsetree.value_binding
end
module Cty :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
Parsetree.class_type_desc -> Parsetree.class_type
val attr :
Parsetree.class_type ->
Parsetree.attribute -> Parsetree.class_type
val constr :
?loc:loc ->
?attrs:attrs ->
lid -> Parsetree.core_type list -> Parsetree.class_type
val signature :
?loc:loc ->
?attrs:attrs ->
Parsetree.class_signature -> Parsetree.class_type
val arrow :
?loc:loc ->
?attrs:attrs ->
Asttypes.label ->
Parsetree.core_type ->
Parsetree.class_type -> Parsetree.class_type
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.class_type
end
module Ctf :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
Parsetree.class_type_field_desc ->
Parsetree.class_type_field
val attr :
Parsetree.class_type_field ->
Parsetree.attribute -> Parsetree.class_type_field
val inherit_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.class_type -> Parsetree.class_type_field
val val_ :
?loc:loc ->
?attrs:attrs ->
string ->
Asttypes.mutable_flag ->
Asttypes.virtual_flag ->
Parsetree.core_type -> Parsetree.class_type_field
val method_ :
?loc:loc ->
?attrs:attrs ->
string ->
Asttypes.private_flag ->
Asttypes.virtual_flag ->
Parsetree.core_type -> Parsetree.class_type_field
val constraint_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.core_type ->
Parsetree.core_type -> Parsetree.class_type_field
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.class_type_field
val attribute :
?loc:loc ->
Parsetree.attribute -> Parsetree.class_type_field
val text :
Docstrings.text -> Parsetree.class_type_field list
end
module Cl :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
Parsetree.class_expr_desc -> Parsetree.class_expr
val attr :
Parsetree.class_expr ->
Parsetree.attribute -> Parsetree.class_expr
val constr :
?loc:loc ->
?attrs:attrs ->
lid -> Parsetree.core_type list -> Parsetree.class_expr
val structure :
?loc:loc ->
?attrs:attrs ->
Parsetree.class_structure -> Parsetree.class_expr
val fun_ :
?loc:loc ->
?attrs:attrs ->
Asttypes.label ->
Parsetree.expression option ->
Parsetree.pattern ->
Parsetree.class_expr -> Parsetree.class_expr
val apply :
?loc:loc ->
?attrs:attrs ->
Parsetree.class_expr ->
(Asttypes.label * Parsetree.expression) list ->
Parsetree.class_expr
val let_ :
?loc:loc ->
?attrs:attrs ->
Asttypes.rec_flag ->
Parsetree.value_binding list ->
Parsetree.class_expr -> Parsetree.class_expr
val constraint_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.class_expr ->
Parsetree.class_type -> Parsetree.class_expr
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.class_expr
end
module Cf :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
Parsetree.class_field_desc -> Parsetree.class_field
val attr :
Parsetree.class_field ->
Parsetree.attribute -> Parsetree.class_field
val inherit_ :
?loc:loc ->
?attrs:attrs ->
Asttypes.override_flag ->
Parsetree.class_expr ->
string option -> Parsetree.class_field
val val_ :
?loc:loc ->
?attrs:attrs ->
str ->
Asttypes.mutable_flag ->
Parsetree.class_field_kind -> Parsetree.class_field
val method_ :
?loc:loc ->
?attrs:attrs ->
str ->
Asttypes.private_flag ->
Parsetree.class_field_kind -> Parsetree.class_field
val constraint_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.core_type ->
Parsetree.core_type -> Parsetree.class_field
val initializer_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression -> Parsetree.class_field
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.class_field
val attribute :
?loc:loc -> Parsetree.attribute -> Parsetree.class_field
val text : Docstrings.text -> Parsetree.class_field list
val virtual_ :
Parsetree.core_type -> Parsetree.class_field_kind
val concrete :
Asttypes.override_flag ->
Parsetree.expression -> Parsetree.class_field_kind
end
module Ci :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?text:Docstrings.text ->
?virt:Asttypes.virtual_flag ->
?params:(Parsetree.core_type * Asttypes.variance) list ->
str -> 'a -> 'a Parsetree.class_infos
end
module Csig :
sig
val mk :
Parsetree.core_type ->
Parsetree.class_type_field list ->
Parsetree.class_signature
end
module Cstr :
sig
val mk :
Parsetree.pattern ->
Parsetree.class_field list -> Parsetree.class_structure
end
end
module Ast_mapper :
sig
type mapper =
Ast_402.Ast_mapper.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;
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 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
end
module Outcometree :
sig
type out_ident =
Ast_402.Outcometree.out_ident =
Oide_apply of out_ident * out_ident
| Oide_dot of out_ident * string
| Oide_ident of string
type out_value =
Ast_402.Outcometree.out_value =
Oval_array of out_value list
| Oval_char of char
| Oval_constr of out_ident * out_value list
| Oval_ellipsis
| Oval_float of float
| Oval_int of int
| Oval_int32 of int32
| Oval_int64 of int64
| Oval_nativeint of nativeint
| Oval_list of out_value list
| Oval_printer of (Format.formatter -> unit)
| Oval_record of (out_ident * out_value) list
| Oval_string of string
| Oval_stuff of string
| Oval_tuple of out_value list
| Oval_variant of string * out_value option
type out_type =
Ast_402.Outcometree.out_type =
Otyp_abstract
| Otyp_open
| Otyp_alias of out_type * string
| Otyp_arrow of string * out_type * out_type
| Otyp_class of bool * out_ident * out_type list
| Otyp_constr of out_ident * out_type list
| Otyp_manifest of out_type * out_type
| Otyp_object of (string * out_type) list * bool option
| Otyp_record of (string * bool * out_type) list
| Otyp_stuff of string
| Otyp_sum of (string * out_type list * out_type option) list
| Otyp_tuple of out_type list
| Otyp_var of bool * string
| Otyp_variant of bool * out_variant * bool *
string list option
| Otyp_poly of string list * out_type
| Otyp_module of string * string list * out_type list
and out_variant =
Ast_402.Outcometree.out_variant =
Ovar_fields of (string * bool * out_type list) list
| Ovar_name of out_ident * out_type list
type out_class_type =
Ast_402.Outcometree.out_class_type =
Octy_constr of out_ident * out_type list
| Octy_arrow of string * out_type * out_class_type
| Octy_signature of out_type option * out_class_sig_item list
and out_class_sig_item =
Ast_402.Outcometree.out_class_sig_item =
Ocsg_constraint of out_type * out_type
| Ocsg_method of string * bool * bool * out_type
| Ocsg_value of string * bool * bool * out_type
type out_module_type =
Ast_402.Outcometree.out_module_type =
Omty_abstract
| Omty_functor of string * out_module_type option *
out_module_type
| Omty_ident of out_ident
| Omty_signature of out_sig_item list
| Omty_alias of out_ident
and out_sig_item =
Ast_402.Outcometree.out_sig_item =
Osig_class of bool * string *
(string * (bool * bool)) list * out_class_type *
out_rec_status
| Osig_class_type of bool * string *
(string * (bool * bool)) list * out_class_type *
out_rec_status
| Osig_typext of out_extension_constructor * out_ext_status
| Osig_modtype of string * out_module_type
| Osig_module of string * out_module_type * out_rec_status
| Osig_type of out_type_decl * out_rec_status
| Osig_value of string * out_type * string list
and out_type_decl =
Ast_402.Outcometree.out_type_decl = {
otype_name : string;
otype_params : (string * (bool * bool)) list;
otype_type : out_type;
otype_private : Asttypes.private_flag;
otype_cstrs : (out_type * out_type) list;
}
and out_extension_constructor =
Ast_402.Outcometree.out_extension_constructor = {
oext_name : string;
oext_type_name : string;
oext_type_params : string list;
oext_args : out_type list;
oext_ret_type : out_type option;
oext_private : Asttypes.private_flag;
}
and out_type_extension =
Ast_402.Outcometree.out_type_extension = {
otyext_name : string;
otyext_params : string list;
otyext_constructors :
(string * out_type list * out_type option) list;
otyext_private : Asttypes.private_flag;
}
and out_rec_status =
Ast_402.Outcometree.out_rec_status =
Orec_not
| Orec_first
| Orec_next
and out_ext_status =
Ast_402.Outcometree.out_ext_status =
Oext_first
| Oext_next
| Oext_exception
type out_phrase =
Ast_402.Outcometree.out_phrase =
Ophr_eval of out_value * out_type
| Ophr_signature of (out_sig_item * out_value option) list
| Ophr_exception of (exn * out_value)
end
module Config :
sig
val ast_impl_magic_number : string
val ast_intf_magic_number : string
end
val map_signature :
Ast_mapper.mapper -> Parsetree.signature -> Parsetree.signature
val map_structure :
Ast_mapper.mapper -> Parsetree.structure -> Parsetree.structure
val shallow_identity : Ast_mapper.mapper
val failing_mapper : Ast_mapper.mapper
val make_top_mapper :
signature:(Parsetree.signature -> Parsetree.signature) ->
structure:(Parsetree.structure -> Parsetree.structure) ->
Ast_mapper.mapper
end
val version : int
val string_version : string
type types =
< case : Ast.Parsetree.case; core_type : Ast.Parsetree.core_type;
expression : Ast.Parsetree.expression;
extension_constructor : Ast.Parsetree.extension_constructor;
mapper : Ast.Ast_mapper.mapper;
out_class_type : Ast.Outcometree.out_class_type;
out_module_type : Ast.Outcometree.out_module_type;
out_phrase : Ast.Outcometree.out_phrase;
out_sig_item : Ast.Outcometree.out_sig_item;
out_type : Ast.Outcometree.out_type;
out_type_extension : Ast.Outcometree.out_type_extension;
out_value : Ast.Outcometree.out_value;
pattern : Ast.Parsetree.pattern;
signature : Ast.Parsetree.signature;
structure : Ast.Parsetree.structure;
toplevel_phrase : Ast.Parsetree.toplevel_phrase;
type_declaration : Ast.Parsetree.type_declaration;
type_extension : Ast.Parsetree.type_extension >
_types
type _ witnesses += Version : types witnesses
val migration_info : types migration_info
end
val ocaml_402 :
Migrate_parsetree_versions.OCaml_402.types
Migrate_parsetree_versions.ocaml_version
module OCaml_403 :
sig
module Ast :
sig
module Location :
sig
type t =
Location.t = {
loc_start : Lexing.position;
loc_end : Lexing.position;
loc_ghost : bool;
}
val none : t
val in_file : string -> t
val init : Lexing.lexbuf -> string -> unit
val curr : Lexing.lexbuf -> t
val symbol_rloc : unit -> t
val symbol_gloc : unit -> t
val rhs_loc : int -> t
val input_name : string ref
val input_lexbuf : Lexing.lexbuf option ref
val get_pos_info : Lexing.position -> string * int * int
val print_loc : Format.formatter -> t -> unit
val print_error : Format.formatter -> t -> unit
val print_error_cur_file : Format.formatter -> unit -> unit
val print_warning : t -> Format.formatter -> Warnings.t -> unit
val formatter_for_warnings : Format.formatter ref
val prerr_warning : t -> Warnings.t -> unit
val echo_eof : unit -> unit
val reset : unit -> unit
val warning_printer :
(t -> Format.formatter -> Warnings.t -> unit) ref
val default_warning_printer :
t -> Format.formatter -> Warnings.t -> unit
val highlight_locations : Format.formatter -> t list -> bool
type 'a loc = 'a Location.loc = { txt : 'a; loc : t; }
val mknoloc : 'a -> 'a loc
val mkloc : 'a -> t -> 'a loc
val print : Format.formatter -> t -> unit
val print_compact : Format.formatter -> t -> unit
val print_filename : Format.formatter -> string -> unit
val absolute_path : string -> string
val show_filename : string -> string
val absname : bool ref
type error =
Location.error = {
loc : t;
msg : string;
sub : error list;
if_highlight : string;
}
exception Error of error
val print_error_prefix : Format.formatter -> unit -> unit
val error :
?loc:t ->
?sub:error list -> ?if_highlight:string -> string -> error
val errorf :
?loc:t ->
?sub:error list ->
?if_highlight:string ->
('a, Format.formatter, unit, error) format4 -> 'a
val raise_errorf :
?loc:t ->
?sub:error list ->
?if_highlight:string ->
('a, Format.formatter, unit, 'b) format4 -> 'a
val error_of_printer :
t -> (Format.formatter -> 'a -> unit) -> 'a -> error
val error_of_printer_file :
(Format.formatter -> 'a -> unit) -> 'a -> error
val error_of_exn : exn -> error option
val register_error_of_exn : (exn -> error option) -> unit
val report_error : Format.formatter -> error -> unit
val error_reporter : (Format.formatter -> error -> unit) ref
val default_error_reporter : Format.formatter -> error -> unit
val report_exception : Format.formatter -> exn -> unit
end
module Longident :
sig
type t =
Longident.t =
Lident of string
| Ldot of t * string
| Lapply of t * t
val flatten : t -> string list
val last : t -> string
val parse : string -> t
end
module Asttypes :
sig
type constant =
Ast_403.Asttypes.constant =
Const_int of int
| Const_char of char
| Const_string of string * string option
| Const_float of string
| Const_int32 of int32
| Const_int64 of int64
| Const_nativeint of nativeint
type rec_flag =
Ast_403.Asttypes.rec_flag =
Nonrecursive
| Recursive
type direction_flag =
Ast_403.Asttypes.direction_flag =
Upto
| Downto
type private_flag =
Ast_403.Asttypes.private_flag =
Private
| Public
type mutable_flag =
Ast_403.Asttypes.mutable_flag =
Immutable
| Mutable
type virtual_flag =
Ast_403.Asttypes.virtual_flag =
Virtual
| Concrete
type override_flag =
Ast_403.Asttypes.override_flag =
Override
| Fresh
type closed_flag = Ast_403.Asttypes.closed_flag = Closed | Open
type label = string
type arg_label =
Ast_403.Asttypes.arg_label =
Nolabel
| Labelled of string
| Optional of string
type 'a loc = 'a Location.loc = { txt : 'a; loc : Location.t; }
type variance =
Ast_403.Asttypes.variance =
Covariant
| Contravariant
| Invariant
end
module Parsetree :
sig
type constant =
Ast_403.Parsetree.constant =
Pconst_integer of string * char option
| Pconst_char of char
| Pconst_string of string * string option
| Pconst_float of string * char option
type attribute = string Asttypes.loc * payload
and extension = string Asttypes.loc * payload
and attributes = attribute list
and payload =
Ast_403.Parsetree.payload =
PStr of structure
| PSig of signature
| PTyp of core_type
| PPat of pattern * expression option
and core_type =
Ast_403.Parsetree.core_type = {
ptyp_desc : core_type_desc;
ptyp_loc : Location.t;
ptyp_attributes : attributes;
}
and core_type_desc =
Ast_403.Parsetree.core_type_desc =
Ptyp_any
| Ptyp_var of string
| Ptyp_arrow of Asttypes.arg_label * core_type * core_type
| Ptyp_tuple of core_type list
| Ptyp_constr of Longident.t Asttypes.loc * core_type list
| Ptyp_object of (string * attributes * core_type) list *
Asttypes.closed_flag
| Ptyp_class of Longident.t Asttypes.loc * core_type list
| Ptyp_alias of core_type * string
| Ptyp_variant of row_field list * Asttypes.closed_flag *
Asttypes.label list option
| Ptyp_poly of string list * core_type
| Ptyp_package of package_type
| Ptyp_extension of extension
and package_type =
Longident.t Asttypes.loc *
(Longident.t Asttypes.loc * core_type) list
and row_field =
Ast_403.Parsetree.row_field =
Rtag of Asttypes.label * attributes * bool * core_type list
| Rinherit of core_type
and pattern =
Ast_403.Parsetree.pattern = {
ppat_desc : pattern_desc;
ppat_loc : Location.t;
ppat_attributes : attributes;
}
and pattern_desc =
Ast_403.Parsetree.pattern_desc =
Ppat_any
| Ppat_var of string Asttypes.loc
| Ppat_alias of pattern * string Asttypes.loc
| Ppat_constant of constant
| Ppat_interval of constant * constant
| Ppat_tuple of pattern list
| Ppat_construct of Longident.t Asttypes.loc * pattern option
| Ppat_variant of Asttypes.label * pattern option
| Ppat_record of (Longident.t Asttypes.loc * pattern) list *
Asttypes.closed_flag
| Ppat_array of pattern list
| Ppat_or of pattern * pattern
| Ppat_constraint of pattern * core_type
| Ppat_type of Longident.t Asttypes.loc
| Ppat_lazy of pattern
| Ppat_unpack of string Asttypes.loc
| Ppat_exception of pattern
| Ppat_extension of extension
and expression =
Ast_403.Parsetree.expression = {
pexp_desc : expression_desc;
pexp_loc : Location.t;
pexp_attributes : attributes;
}
and expression_desc =
Ast_403.Parsetree.expression_desc =
Pexp_ident of Longident.t Asttypes.loc
| Pexp_constant of constant
| Pexp_let of Asttypes.rec_flag * value_binding list *
expression
| Pexp_function of case list
| Pexp_fun of Asttypes.arg_label * expression option *
pattern * expression
| Pexp_apply of expression *
(Asttypes.arg_label * expression) list
| Pexp_match of expression * case list
| Pexp_try of expression * case list
| Pexp_tuple of expression list
| Pexp_construct of Longident.t Asttypes.loc *
expression option
| Pexp_variant of Asttypes.label * expression option
| Pexp_record of
(Longident.t Asttypes.loc * expression) list *
expression option
| Pexp_field of expression * Longident.t Asttypes.loc
| Pexp_setfield of expression * Longident.t Asttypes.loc *
expression
| Pexp_array of expression list
| Pexp_ifthenelse of expression * expression *
expression option
| Pexp_sequence of expression * expression
| Pexp_while of expression * expression
| Pexp_for of pattern * expression * expression *
Asttypes.direction_flag * expression
| Pexp_constraint of expression * core_type
| Pexp_coerce of expression * core_type option * core_type
| Pexp_send of expression * string
| Pexp_new of Longident.t Asttypes.loc
| Pexp_setinstvar of string Asttypes.loc * expression
| Pexp_override of (string Asttypes.loc * expression) list
| Pexp_letmodule of string Asttypes.loc * module_expr *
expression
| Pexp_assert of expression
| Pexp_lazy of expression
| Pexp_poly of expression * core_type option
| Pexp_object of class_structure
| Pexp_newtype of string * expression
| Pexp_pack of module_expr
| Pexp_open of Asttypes.override_flag *
Longident.t Asttypes.loc * expression
| Pexp_extension of extension
| Pexp_unreachable
and case =
Ast_403.Parsetree.case = {
pc_lhs : pattern;
pc_guard : expression option;
pc_rhs : expression;
}
and value_description =
Ast_403.Parsetree.value_description = {
pval_name : string Asttypes.loc;
pval_type : core_type;
pval_prim : string list;
pval_attributes : attributes;
pval_loc : Location.t;
}
and type_declaration =
Ast_403.Parsetree.type_declaration = {
ptype_name : string Asttypes.loc;
ptype_params : (core_type * Asttypes.variance) list;
ptype_cstrs : (core_type * core_type * Location.t) list;
ptype_kind : type_kind;
ptype_private : Asttypes.private_flag;
ptype_manifest : core_type option;
ptype_attributes : attributes;
ptype_loc : Location.t;
}
and type_kind =
Ast_403.Parsetree.type_kind =
Ptype_abstract
| Ptype_variant of constructor_declaration list
| Ptype_record of label_declaration list
| Ptype_open
and label_declaration =
Ast_403.Parsetree.label_declaration = {
pld_name : string Asttypes.loc;
pld_mutable : Asttypes.mutable_flag;
pld_type : core_type;
pld_loc : Location.t;
pld_attributes : attributes;
}
and constructor_declaration =
Ast_403.Parsetree.constructor_declaration = {
pcd_name : string Asttypes.loc;
pcd_args : constructor_arguments;
pcd_res : core_type option;
pcd_loc : Location.t;
pcd_attributes : attributes;
}
and constructor_arguments =
Ast_403.Parsetree.constructor_arguments =
Pcstr_tuple of core_type list
| Pcstr_record of label_declaration list
and type_extension =
Ast_403.Parsetree.type_extension = {
ptyext_path : Longident.t Asttypes.loc;
ptyext_params : (core_type * Asttypes.variance) list;
ptyext_constructors : extension_constructor list;
ptyext_private : Asttypes.private_flag;
ptyext_attributes : attributes;
}
and extension_constructor =
Ast_403.Parsetree.extension_constructor = {
pext_name : string Asttypes.loc;
pext_kind : extension_constructor_kind;
pext_loc : Location.t;
pext_attributes : attributes;
}
and extension_constructor_kind =
Ast_403.Parsetree.extension_constructor_kind =
Pext_decl of constructor_arguments * core_type option
| Pext_rebind of Longident.t Asttypes.loc
and class_type =
Ast_403.Parsetree.class_type = {
pcty_desc : class_type_desc;
pcty_loc : Location.t;
pcty_attributes : attributes;
}
and class_type_desc =
Ast_403.Parsetree.class_type_desc =
Pcty_constr of Longident.t Asttypes.loc * core_type list
| Pcty_signature of class_signature
| Pcty_arrow of Asttypes.arg_label * core_type * class_type
| Pcty_extension of extension
and class_signature =
Ast_403.Parsetree.class_signature = {
pcsig_self : core_type;
pcsig_fields : class_type_field list;
}
and class_type_field =
Ast_403.Parsetree.class_type_field = {
pctf_desc : class_type_field_desc;
pctf_loc : Location.t;
pctf_attributes : attributes;
}
and class_type_field_desc =
Ast_403.Parsetree.class_type_field_desc =
Pctf_inherit of class_type
| Pctf_val of
(string * Asttypes.mutable_flag * Asttypes.virtual_flag *
core_type)
| Pctf_method of
(string * Asttypes.private_flag * Asttypes.virtual_flag *
core_type)
| Pctf_constraint of (core_type * core_type)
| Pctf_attribute of attribute
| Pctf_extension of extension
and 'a class_infos =
'a Ast_403.Parsetree.class_infos = {
pci_virt : Asttypes.virtual_flag;
pci_params : (core_type * Asttypes.variance) list;
pci_name : string Asttypes.loc;
pci_expr : 'a;
pci_loc : Location.t;
pci_attributes : attributes;
}
and class_description = class_type class_infos
and class_type_declaration = class_type class_infos
and class_expr =
Ast_403.Parsetree.class_expr = {
pcl_desc : class_expr_desc;
pcl_loc : Location.t;
pcl_attributes : attributes;
}
and class_expr_desc =
Ast_403.Parsetree.class_expr_desc =
Pcl_constr of Longident.t Asttypes.loc * core_type list
| Pcl_structure of class_structure
| Pcl_fun of Asttypes.arg_label * expression option *
pattern * class_expr
| Pcl_apply of class_expr *
(Asttypes.arg_label * expression) list
| Pcl_let of Asttypes.rec_flag * value_binding list *
class_expr
| Pcl_constraint of class_expr * class_type
| Pcl_extension of extension
and class_structure =
Ast_403.Parsetree.class_structure = {
pcstr_self : pattern;
pcstr_fields : class_field list;
}
and class_field =
Ast_403.Parsetree.class_field = {
pcf_desc : class_field_desc;
pcf_loc : Location.t;
pcf_attributes : attributes;
}
and class_field_desc =
Ast_403.Parsetree.class_field_desc =
Pcf_inherit of Asttypes.override_flag * class_expr *
string option
| Pcf_val of
(string Asttypes.loc * Asttypes.mutable_flag *
class_field_kind)
| Pcf_method of
(string Asttypes.loc * Asttypes.private_flag *
class_field_kind)
| Pcf_constraint of (core_type * core_type)
| Pcf_initializer of expression
| Pcf_attribute of attribute
| Pcf_extension of extension
and class_field_kind =
Ast_403.Parsetree.class_field_kind =
Cfk_virtual of core_type
| Cfk_concrete of Asttypes.override_flag * expression
and class_declaration = class_expr class_infos
and module_type =
Ast_403.Parsetree.module_type = {
pmty_desc : module_type_desc;
pmty_loc : Location.t;
pmty_attributes : attributes;
}
and module_type_desc =
Ast_403.Parsetree.module_type_desc =
Pmty_ident of Longident.t Asttypes.loc
| Pmty_signature of signature
| Pmty_functor of string Asttypes.loc * module_type option *
module_type
| Pmty_with of module_type * with_constraint list
| Pmty_typeof of module_expr
| Pmty_extension of extension
| Pmty_alias of Longident.t Asttypes.loc
and signature = signature_item list
and signature_item =
Ast_403.Parsetree.signature_item = {
psig_desc : signature_item_desc;
psig_loc : Location.t;
}
and signature_item_desc =
Ast_403.Parsetree.signature_item_desc =
Psig_value of value_description
| Psig_type of Asttypes.rec_flag * type_declaration list
| Psig_typext of type_extension
| Psig_exception of extension_constructor
| Psig_module of module_declaration
| Psig_recmodule of module_declaration list
| Psig_modtype of module_type_declaration
| Psig_open of open_description
| Psig_include of include_description
| Psig_class of class_description list
| Psig_class_type of class_type_declaration list
| Psig_attribute of attribute
| Psig_extension of extension * attributes
and module_declaration =
Ast_403.Parsetree.module_declaration = {
pmd_name : string Asttypes.loc;
pmd_type : module_type;
pmd_attributes : attributes;
pmd_loc : Location.t;
}
and module_type_declaration =
Ast_403.Parsetree.module_type_declaration = {
pmtd_name : string Asttypes.loc;
pmtd_type : module_type option;
pmtd_attributes : attributes;
pmtd_loc : Location.t;
}
and open_description =
Ast_403.Parsetree.open_description = {
popen_lid : Longident.t Asttypes.loc;
popen_override : Asttypes.override_flag;
popen_loc : Location.t;
popen_attributes : attributes;
}
and 'a include_infos =
'a Ast_403.Parsetree.include_infos = {
pincl_mod : 'a;
pincl_loc : Location.t;
pincl_attributes : attributes;
}
and include_description = module_type include_infos
and include_declaration = module_expr include_infos
and with_constraint =
Ast_403.Parsetree.with_constraint =
Pwith_type of Longident.t Asttypes.loc * type_declaration
| Pwith_module of Longident.t Asttypes.loc *
Longident.t Asttypes.loc
| Pwith_typesubst of type_declaration
| Pwith_modsubst of string Asttypes.loc *
Longident.t Asttypes.loc
and module_expr =
Ast_403.Parsetree.module_expr = {
pmod_desc : module_expr_desc;
pmod_loc : Location.t;
pmod_attributes : attributes;
}
and module_expr_desc =
Ast_403.Parsetree.module_expr_desc =
Pmod_ident of Longident.t Asttypes.loc
| Pmod_structure of structure
| Pmod_functor of string Asttypes.loc * module_type option *
module_expr
| Pmod_apply of module_expr * module_expr
| Pmod_constraint of module_expr * module_type
| Pmod_unpack of expression
| Pmod_extension of extension
and structure = structure_item list
and structure_item =
Ast_403.Parsetree.structure_item = {
pstr_desc : structure_item_desc;
pstr_loc : Location.t;
}
and structure_item_desc =
Ast_403.Parsetree.structure_item_desc =
Pstr_eval of expression * attributes
| Pstr_value of Asttypes.rec_flag * value_binding list
| Pstr_primitive of value_description
| Pstr_type of Asttypes.rec_flag * type_declaration list
| Pstr_typext of type_extension
| Pstr_exception of extension_constructor
| Pstr_module of module_binding
| Pstr_recmodule of module_binding list
| Pstr_modtype of module_type_declaration
| Pstr_open of open_description
| Pstr_class of class_declaration list
| Pstr_class_type of class_type_declaration list
| Pstr_include of include_declaration
| Pstr_attribute of attribute
| Pstr_extension of extension * attributes
and value_binding =
Ast_403.Parsetree.value_binding = {
pvb_pat : pattern;
pvb_expr : expression;
pvb_attributes : attributes;
pvb_loc : Location.t;
}
and module_binding =
Ast_403.Parsetree.module_binding = {
pmb_name : string Asttypes.loc;
pmb_expr : module_expr;
pmb_attributes : attributes;
pmb_loc : Location.t;
}
type toplevel_phrase =
Ast_403.Parsetree.toplevel_phrase =
Ptop_def of structure
| Ptop_dir of string * directive_argument
and directive_argument =
Ast_403.Parsetree.directive_argument =
Pdir_none
| Pdir_string of string
| Pdir_int of string * char option
| Pdir_ident of Longident.t
| Pdir_bool of bool
end
module Docstrings :
sig
type docstring = Ast_403.Docstrings.docstring
val docstring : string -> Location.t -> docstring
val docstring_body : docstring -> string
val docstring_loc : docstring -> Location.t
type docs =
Ast_403.Docstrings.docs = {
docs_pre : docstring option;
docs_post : docstring option;
}
val empty_docs : docs
val docs_attr : docstring -> Parsetree.attribute
val add_docs_attrs :
docs -> Parsetree.attributes -> Parsetree.attributes
type info = docstring option
val empty_info : info
val info_attr : docstring -> Parsetree.attribute
val add_info_attrs :
info -> Parsetree.attributes -> Parsetree.attributes
type text = docstring list
val empty_text : text
val text_attr : docstring -> Parsetree.attribute
val add_text_attrs :
text -> Parsetree.attributes -> Parsetree.attributes
end
module Ast_helper :
sig
type lid = Longident.t Asttypes.loc
type str = string Asttypes.loc
type loc = Location.t
type attrs = Parsetree.attribute list
val default_loc : loc ref
val with_default_loc : loc -> (unit -> 'a) -> 'a
module Const :
sig
val char : char -> Parsetree.constant
val string :
?quotation_delimiter:string ->
string -> Parsetree.constant
val integer : ?suffix:char -> string -> Parsetree.constant
val int : ?suffix:char -> int -> Parsetree.constant
val int32 : ?suffix:char -> int32 -> Parsetree.constant
val int64 : ?suffix:char -> int64 -> Parsetree.constant
val nativeint :
?suffix:char -> nativeint -> Parsetree.constant
val float : ?suffix:char -> string -> Parsetree.constant
end
module Typ :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
Parsetree.core_type_desc -> Parsetree.core_type
val attr :
Parsetree.core_type ->
Parsetree.attribute -> Parsetree.core_type
val any :
?loc:loc -> ?attrs:attrs -> unit -> Parsetree.core_type
val var :
?loc:loc -> ?attrs:attrs -> string -> Parsetree.core_type
val arrow :
?loc:loc ->
?attrs:attrs ->
Asttypes.arg_label ->
Parsetree.core_type ->
Parsetree.core_type -> Parsetree.core_type
val tuple :
?loc:loc ->
?attrs:attrs ->
Parsetree.core_type list -> Parsetree.core_type
val constr :
?loc:loc ->
?attrs:attrs ->
lid -> Parsetree.core_type list -> Parsetree.core_type
val object_ :
?loc:loc ->
?attrs:attrs ->
(string * Parsetree.attributes * Parsetree.core_type)
list -> Asttypes.closed_flag -> Parsetree.core_type
val class_ :
?loc:loc ->
?attrs:attrs ->
lid -> Parsetree.core_type list -> Parsetree.core_type
val alias :
?loc:loc ->
?attrs:attrs ->
Parsetree.core_type -> string -> Parsetree.core_type
val variant :
?loc:loc ->
?attrs:attrs ->
Parsetree.row_field list ->
Asttypes.closed_flag ->
Asttypes.label list option -> Parsetree.core_type
val poly :
?loc:loc ->
?attrs:attrs ->
string list -> Parsetree.core_type -> Parsetree.core_type
val package :
?loc:loc ->
?attrs:attrs ->
lid ->
(lid * Parsetree.core_type) list -> Parsetree.core_type
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.core_type
val force_poly : Parsetree.core_type -> Parsetree.core_type
end
module Pat :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
Parsetree.pattern_desc -> Parsetree.pattern
val attr :
Parsetree.pattern ->
Parsetree.attribute -> Parsetree.pattern
val any :
?loc:loc -> ?attrs:attrs -> unit -> Parsetree.pattern
val var :
?loc:loc -> ?attrs:attrs -> str -> Parsetree.pattern
val alias :
?loc:loc ->
?attrs:attrs ->
Parsetree.pattern -> str -> Parsetree.pattern
val constant :
?loc:loc ->
?attrs:attrs -> Parsetree.constant -> Parsetree.pattern
val interval :
?loc:loc ->
?attrs:attrs ->
Parsetree.constant ->
Parsetree.constant -> Parsetree.pattern
val tuple :
?loc:loc ->
?attrs:attrs ->
Parsetree.pattern list -> Parsetree.pattern
val construct :
?loc:loc ->
?attrs:attrs ->
lid -> Parsetree.pattern option -> Parsetree.pattern
val variant :
?loc:loc ->
?attrs:attrs ->
Asttypes.label ->
Parsetree.pattern option -> Parsetree.pattern
val record :
?loc:loc ->
?attrs:attrs ->
(lid * Parsetree.pattern) list ->
Asttypes.closed_flag -> Parsetree.pattern
val array :
?loc:loc ->
?attrs:attrs ->
Parsetree.pattern list -> Parsetree.pattern
val or_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.pattern ->
Parsetree.pattern -> Parsetree.pattern
val constraint_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.pattern ->
Parsetree.core_type -> Parsetree.pattern
val type_ :
?loc:loc -> ?attrs:attrs -> lid -> Parsetree.pattern
val lazy_ :
?loc:loc ->
?attrs:attrs -> Parsetree.pattern -> Parsetree.pattern
val unpack :
?loc:loc -> ?attrs:attrs -> str -> Parsetree.pattern
val exception_ :
?loc:loc ->
?attrs:attrs -> Parsetree.pattern -> Parsetree.pattern
val extension :
?loc:loc ->
?attrs:attrs -> Parsetree.extension -> Parsetree.pattern
end
module Exp :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression_desc -> Parsetree.expression
val attr :
Parsetree.expression ->
Parsetree.attribute -> Parsetree.expression
val ident :
?loc:loc -> ?attrs:attrs -> lid -> Parsetree.expression
val constant :
?loc:loc ->
?attrs:attrs ->
Parsetree.constant -> Parsetree.expression
val let_ :
?loc:loc ->
?attrs:attrs ->
Asttypes.rec_flag ->
Parsetree.value_binding list ->
Parsetree.expression -> Parsetree.expression
val fun_ :
?loc:loc ->
?attrs:attrs ->
Asttypes.arg_label ->
Parsetree.expression option ->
Parsetree.pattern ->
Parsetree.expression -> Parsetree.expression
val function_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.case list -> Parsetree.expression
val apply :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
(Asttypes.arg_label * Parsetree.expression) list ->
Parsetree.expression
val match_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
Parsetree.case list -> Parsetree.expression
val try_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
Parsetree.case list -> Parsetree.expression
val tuple :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression list -> Parsetree.expression
val construct :
?loc:loc ->
?attrs:attrs ->
lid ->
Parsetree.expression option -> Parsetree.expression
val variant :
?loc:loc ->
?attrs:attrs ->
Asttypes.label ->
Parsetree.expression option -> Parsetree.expression
val record :
?loc:loc ->
?attrs:attrs ->
(lid * Parsetree.expression) list ->
Parsetree.expression option -> Parsetree.expression
val field :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression -> lid -> Parsetree.expression
val setfield :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
lid -> Parsetree.expression -> Parsetree.expression
val array :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression list -> Parsetree.expression
val ifthenelse :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
Parsetree.expression ->
Parsetree.expression option -> Parsetree.expression
val sequence :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
Parsetree.expression -> Parsetree.expression
val while_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
Parsetree.expression -> Parsetree.expression
val for_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.pattern ->
Parsetree.expression ->
Parsetree.expression ->
Asttypes.direction_flag ->
Parsetree.expression -> Parsetree.expression
val coerce :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
Parsetree.core_type option ->
Parsetree.core_type -> Parsetree.expression
val constraint_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
Parsetree.core_type -> Parsetree.expression
val send :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression -> string -> Parsetree.expression
val new_ :
?loc:loc -> ?attrs:attrs -> lid -> Parsetree.expression
val setinstvar :
?loc:loc ->
?attrs:attrs ->
str -> Parsetree.expression -> Parsetree.expression
val override :
?loc:loc ->
?attrs:attrs ->
(str * Parsetree.expression) list -> Parsetree.expression
val letmodule :
?loc:loc ->
?attrs:attrs ->
str ->
Parsetree.module_expr ->
Parsetree.expression -> Parsetree.expression
val assert_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression -> Parsetree.expression
val lazy_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression -> Parsetree.expression
val poly :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
Parsetree.core_type option -> Parsetree.expression
val object_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.class_structure -> Parsetree.expression
val newtype :
?loc:loc ->
?attrs:attrs ->
string -> Parsetree.expression -> Parsetree.expression
val pack :
?loc:loc ->
?attrs:attrs ->
Parsetree.module_expr -> Parsetree.expression
val open_ :
?loc:loc ->
?attrs:attrs ->
Asttypes.override_flag ->
lid -> Parsetree.expression -> Parsetree.expression
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.expression
val unreachable :
?loc:loc -> ?attrs:attrs -> unit -> Parsetree.expression
val case :
Parsetree.pattern ->
?guard:Parsetree.expression ->
Parsetree.expression -> Parsetree.case
end
module Val :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?prim:string list ->
str -> Parsetree.core_type -> Parsetree.value_description
end
module Type :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?text:Docstrings.text ->
?params:(Parsetree.core_type * Asttypes.variance) list ->
?cstrs:(Parsetree.core_type * Parsetree.core_type * loc)
list ->
?kind:Parsetree.type_kind ->
?priv:Asttypes.private_flag ->
?manifest:Parsetree.core_type ->
str -> Parsetree.type_declaration
val constructor :
?loc:loc ->
?attrs:attrs ->
?info:Docstrings.info ->
?args:Parsetree.constructor_arguments ->
?res:Parsetree.core_type ->
str -> Parsetree.constructor_declaration
val field :
?loc:loc ->
?attrs:attrs ->
?info:Docstrings.info ->
?mut:Asttypes.mutable_flag ->
str -> Parsetree.core_type -> Parsetree.label_declaration
end
module Te :
sig
val mk :
?attrs:attrs ->
?docs:Docstrings.docs ->
?params:(Parsetree.core_type * Asttypes.variance) list ->
?priv:Asttypes.private_flag ->
lid ->
Parsetree.extension_constructor list ->
Parsetree.type_extension
val constructor :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?info:Docstrings.info ->
str ->
Parsetree.extension_constructor_kind ->
Parsetree.extension_constructor
val decl :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?info:Docstrings.info ->
?args:Parsetree.constructor_arguments ->
?res:Parsetree.core_type ->
str -> Parsetree.extension_constructor
val rebind :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?info:Docstrings.info ->
str -> lid -> Parsetree.extension_constructor
end
module Mty :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
Parsetree.module_type_desc -> Parsetree.module_type
val attr :
Parsetree.module_type ->
Parsetree.attribute -> Parsetree.module_type
val ident :
?loc:loc -> ?attrs:attrs -> lid -> Parsetree.module_type
val alias :
?loc:loc -> ?attrs:attrs -> lid -> Parsetree.module_type
val signature :
?loc:loc ->
?attrs:attrs ->
Parsetree.signature -> Parsetree.module_type
val functor_ :
?loc:loc ->
?attrs:attrs ->
str ->
Parsetree.module_type option ->
Parsetree.module_type -> Parsetree.module_type
val with_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.module_type ->
Parsetree.with_constraint list -> Parsetree.module_type
val typeof_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.module_expr -> Parsetree.module_type
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.module_type
end
module Mod :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
Parsetree.module_expr_desc -> Parsetree.module_expr
val attr :
Parsetree.module_expr ->
Parsetree.attribute -> Parsetree.module_expr
val ident :
?loc:loc -> ?attrs:attrs -> lid -> Parsetree.module_expr
val structure :
?loc:loc ->
?attrs:attrs ->
Parsetree.structure -> Parsetree.module_expr
val functor_ :
?loc:loc ->
?attrs:attrs ->
str ->
Parsetree.module_type option ->
Parsetree.module_expr -> Parsetree.module_expr
val apply :
?loc:loc ->
?attrs:attrs ->
Parsetree.module_expr ->
Parsetree.module_expr -> Parsetree.module_expr
val constraint_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.module_expr ->
Parsetree.module_type -> Parsetree.module_expr
val unpack :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression -> Parsetree.module_expr
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.module_expr
end
module Sig :
sig
val mk :
?loc:loc ->
Parsetree.signature_item_desc -> Parsetree.signature_item
val value :
?loc:loc ->
Parsetree.value_description -> Parsetree.signature_item
val type_ :
?loc:loc ->
Asttypes.rec_flag ->
Parsetree.type_declaration list ->
Parsetree.signature_item
val type_extension :
?loc:loc ->
Parsetree.type_extension -> Parsetree.signature_item
val exception_ :
?loc:loc ->
Parsetree.extension_constructor ->
Parsetree.signature_item
val module_ :
?loc:loc ->
Parsetree.module_declaration -> Parsetree.signature_item
val rec_module :
?loc:loc ->
Parsetree.module_declaration list ->
Parsetree.signature_item
val modtype :
?loc:loc ->
Parsetree.module_type_declaration ->
Parsetree.signature_item
val open_ :
?loc:loc ->
Parsetree.open_description -> Parsetree.signature_item
val include_ :
?loc:loc ->
Parsetree.include_description -> Parsetree.signature_item
val class_ :
?loc:loc ->
Parsetree.class_description list ->
Parsetree.signature_item
val class_type :
?loc:loc ->
Parsetree.class_type_declaration list ->
Parsetree.signature_item
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.signature_item
val attribute :
?loc:loc ->
Parsetree.attribute -> Parsetree.signature_item
val text : Docstrings.text -> Parsetree.signature_item list
end
module Str :
sig
val mk :
?loc:loc ->
Parsetree.structure_item_desc -> Parsetree.structure_item
val eval :
?loc:loc ->
?attrs:Parsetree.attributes ->
Parsetree.expression -> Parsetree.structure_item
val value :
?loc:loc ->
Asttypes.rec_flag ->
Parsetree.value_binding list -> Parsetree.structure_item
val primitive :
?loc:loc ->
Parsetree.value_description -> Parsetree.structure_item
val type_ :
?loc:loc ->
Asttypes.rec_flag ->
Parsetree.type_declaration list ->
Parsetree.structure_item
val type_extension :
?loc:loc ->
Parsetree.type_extension -> Parsetree.structure_item
val exception_ :
?loc:loc ->
Parsetree.extension_constructor ->
Parsetree.structure_item
val module_ :
?loc:loc ->
Parsetree.module_binding -> Parsetree.structure_item
val rec_module :
?loc:loc ->
Parsetree.module_binding list -> Parsetree.structure_item
val modtype :
?loc:loc ->
Parsetree.module_type_declaration ->
Parsetree.structure_item
val open_ :
?loc:loc ->
Parsetree.open_description -> Parsetree.structure_item
val class_ :
?loc:loc ->
Parsetree.class_declaration list ->
Parsetree.structure_item
val class_type :
?loc:loc ->
Parsetree.class_type_declaration list ->
Parsetree.structure_item
val include_ :
?loc:loc ->
Parsetree.include_declaration -> Parsetree.structure_item
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.structure_item
val attribute :
?loc:loc ->
Parsetree.attribute -> Parsetree.structure_item
val text : Docstrings.text -> Parsetree.structure_item list
end
module Md :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?text:Docstrings.text ->
str ->
Parsetree.module_type -> Parsetree.module_declaration
end
module Mtd :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?text:Docstrings.text ->
?typ:Parsetree.module_type ->
str -> Parsetree.module_type_declaration
end
module Mb :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?text:Docstrings.text ->
str -> Parsetree.module_expr -> Parsetree.module_binding
end
module Opn :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?override:Asttypes.override_flag ->
lid -> Parsetree.open_description
end
module Incl :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs -> 'a -> 'a Parsetree.include_infos
end
module Vb :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?text:Docstrings.text ->
Parsetree.pattern ->
Parsetree.expression -> Parsetree.value_binding
end
module Cty :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
Parsetree.class_type_desc -> Parsetree.class_type
val attr :
Parsetree.class_type ->
Parsetree.attribute -> Parsetree.class_type
val constr :
?loc:loc ->
?attrs:attrs ->
lid -> Parsetree.core_type list -> Parsetree.class_type
val signature :
?loc:loc ->
?attrs:attrs ->
Parsetree.class_signature -> Parsetree.class_type
val arrow :
?loc:loc ->
?attrs:attrs ->
Asttypes.arg_label ->
Parsetree.core_type ->
Parsetree.class_type -> Parsetree.class_type
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.class_type
end
module Ctf :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
Parsetree.class_type_field_desc ->
Parsetree.class_type_field
val attr :
Parsetree.class_type_field ->
Parsetree.attribute -> Parsetree.class_type_field
val inherit_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.class_type -> Parsetree.class_type_field
val val_ :
?loc:loc ->
?attrs:attrs ->
string ->
Asttypes.mutable_flag ->
Asttypes.virtual_flag ->
Parsetree.core_type -> Parsetree.class_type_field
val method_ :
?loc:loc ->
?attrs:attrs ->
string ->
Asttypes.private_flag ->
Asttypes.virtual_flag ->
Parsetree.core_type -> Parsetree.class_type_field
val constraint_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.core_type ->
Parsetree.core_type -> Parsetree.class_type_field
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.class_type_field
val attribute :
?loc:loc ->
Parsetree.attribute -> Parsetree.class_type_field
val text :
Docstrings.text -> Parsetree.class_type_field list
end
module Cl :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
Parsetree.class_expr_desc -> Parsetree.class_expr
val attr :
Parsetree.class_expr ->
Parsetree.attribute -> Parsetree.class_expr
val constr :
?loc:loc ->
?attrs:attrs ->
lid -> Parsetree.core_type list -> Parsetree.class_expr
val structure :
?loc:loc ->
?attrs:attrs ->
Parsetree.class_structure -> Parsetree.class_expr
val fun_ :
?loc:loc ->
?attrs:attrs ->
Asttypes.arg_label ->
Parsetree.expression option ->
Parsetree.pattern ->
Parsetree.class_expr -> Parsetree.class_expr
val apply :
?loc:loc ->
?attrs:attrs ->
Parsetree.class_expr ->
(Asttypes.arg_label * Parsetree.expression) list ->
Parsetree.class_expr
val let_ :
?loc:loc ->
?attrs:attrs ->
Asttypes.rec_flag ->
Parsetree.value_binding list ->
Parsetree.class_expr -> Parsetree.class_expr
val constraint_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.class_expr ->
Parsetree.class_type -> Parsetree.class_expr
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.class_expr
end
module Cf :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
Parsetree.class_field_desc -> Parsetree.class_field
val attr :
Parsetree.class_field ->
Parsetree.attribute -> Parsetree.class_field
val inherit_ :
?loc:loc ->
?attrs:attrs ->
Asttypes.override_flag ->
Parsetree.class_expr ->
string option -> Parsetree.class_field
val val_ :
?loc:loc ->
?attrs:attrs ->
str ->
Asttypes.mutable_flag ->
Parsetree.class_field_kind -> Parsetree.class_field
val method_ :
?loc:loc ->
?attrs:attrs ->
str ->
Asttypes.private_flag ->
Parsetree.class_field_kind -> Parsetree.class_field
val constraint_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.core_type ->
Parsetree.core_type -> Parsetree.class_field
val initializer_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression -> Parsetree.class_field
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.class_field
val attribute :
?loc:loc -> Parsetree.attribute -> Parsetree.class_field
val text : Docstrings.text -> Parsetree.class_field list
val virtual_ :
Parsetree.core_type -> Parsetree.class_field_kind
val concrete :
Asttypes.override_flag ->
Parsetree.expression -> Parsetree.class_field_kind
end
module Ci :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?text:Docstrings.text ->
?virt:Asttypes.virtual_flag ->
?params:(Parsetree.core_type * Asttypes.variance) list ->
str -> 'a -> 'a Parsetree.class_infos
end
module Csig :
sig
val mk :
Parsetree.core_type ->
Parsetree.class_type_field list ->
Parsetree.class_signature
end
module Cstr :
sig
val mk :
Parsetree.pattern ->
Parsetree.class_field list -> Parsetree.class_structure
end
end
module Ast_mapper :
sig
type mapper =
Ast_403.Ast_mapper.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;
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 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
end
module Outcometree :
sig
type out_ident =
Ast_403.Outcometree.out_ident =
Oide_apply of out_ident * out_ident
| Oide_dot of out_ident * string
| Oide_ident of string
type out_attribute =
Ast_403.Outcometree.out_attribute = {
oattr_name : string;
}
type out_value =
Ast_403.Outcometree.out_value =
Oval_array of out_value list
| Oval_char of char
| Oval_constr of out_ident * out_value list
| Oval_ellipsis
| Oval_float of float
| Oval_int of int
| Oval_int32 of int32
| Oval_int64 of int64
| Oval_nativeint of nativeint
| Oval_list of out_value list
| Oval_printer of (Format.formatter -> unit)
| Oval_record of (out_ident * out_value) list
| Oval_string of string
| Oval_stuff of string
| Oval_tuple of out_value list
| Oval_variant of string * out_value option
type out_type =
Ast_403.Outcometree.out_type =
Otyp_abstract
| Otyp_open
| Otyp_alias of out_type * string
| Otyp_arrow of string * out_type * out_type
| Otyp_class of bool * out_ident * out_type list
| Otyp_constr of out_ident * out_type list
| Otyp_manifest of out_type * out_type
| Otyp_object of (string * out_type) list * bool option
| Otyp_record of (string * bool * out_type) list
| Otyp_stuff of string
| Otyp_sum of (string * out_type list * out_type option) list
| Otyp_tuple of out_type list
| Otyp_var of bool * string
| Otyp_variant of bool * out_variant * bool *
string list option
| Otyp_poly of string list * out_type
| Otyp_module of string * string list * out_type list
| Otyp_attribute of out_type * out_attribute
and out_variant =
Ast_403.Outcometree.out_variant =
Ovar_fields of (string * bool * out_type list) list
| Ovar_name of out_ident * out_type list
type out_class_type =
Ast_403.Outcometree.out_class_type =
Octy_constr of out_ident * out_type list
| Octy_arrow of string * out_type * out_class_type
| Octy_signature of out_type option * out_class_sig_item list
and out_class_sig_item =
Ast_403.Outcometree.out_class_sig_item =
Ocsg_constraint of out_type * out_type
| Ocsg_method of string * bool * bool * out_type
| Ocsg_value of string * bool * bool * out_type
type out_module_type =
Ast_403.Outcometree.out_module_type =
Omty_abstract
| Omty_functor of string * out_module_type option *
out_module_type
| Omty_ident of out_ident
| Omty_signature of out_sig_item list
| Omty_alias of out_ident
and out_sig_item =
Ast_403.Outcometree.out_sig_item =
Osig_class of bool * string *
(string * (bool * bool)) list * out_class_type *
out_rec_status
| Osig_class_type of bool * string *
(string * (bool * bool)) list * out_class_type *
out_rec_status
| Osig_typext of out_extension_constructor * out_ext_status
| Osig_modtype of string * out_module_type
| Osig_module of string * out_module_type * out_rec_status
| Osig_type of out_type_decl * out_rec_status
| Osig_value of out_val_decl
| Osig_ellipsis
and out_type_decl =
Ast_403.Outcometree.out_type_decl = {
otype_name : string;
otype_params : (string * (bool * bool)) list;
otype_type : out_type;
otype_private : Asttypes.private_flag;
otype_immediate : bool;
otype_cstrs : (out_type * out_type) list;
}
and out_extension_constructor =
Ast_403.Outcometree.out_extension_constructor = {
oext_name : string;
oext_type_name : string;
oext_type_params : string list;
oext_args : out_type list;
oext_ret_type : out_type option;
oext_private : Asttypes.private_flag;
}
and out_type_extension =
Ast_403.Outcometree.out_type_extension = {
otyext_name : string;
otyext_params : string list;
otyext_constructors :
(string * out_type list * out_type option) list;
otyext_private : Asttypes.private_flag;
}
and out_val_decl =
Ast_403.Outcometree.out_val_decl = {
oval_name : string;
oval_type : out_type;
oval_prims : string list;
oval_attributes : out_attribute list;
}
and out_rec_status =
Ast_403.Outcometree.out_rec_status =
Orec_not
| Orec_first
| Orec_next
and out_ext_status =
Ast_403.Outcometree.out_ext_status =
Oext_first
| Oext_next
| Oext_exception
type out_phrase =
Ast_403.Outcometree.out_phrase =
Ophr_eval of out_value * out_type
| Ophr_signature of (out_sig_item * out_value option) list
| Ophr_exception of (exn * out_value)
end
module Config :
sig
val ast_impl_magic_number : string
val ast_intf_magic_number : string
end
val map_signature :
Ast_mapper.mapper -> Parsetree.signature -> Parsetree.signature
val map_structure :
Ast_mapper.mapper -> Parsetree.structure -> Parsetree.structure
val shallow_identity : Ast_mapper.mapper
val failing_mapper : Ast_mapper.mapper
val make_top_mapper :
signature:(Parsetree.signature -> Parsetree.signature) ->
structure:(Parsetree.structure -> Parsetree.structure) ->
Ast_mapper.mapper
end
val version : int
val string_version : string
type types =
< case : Ast.Parsetree.case; core_type : Ast.Parsetree.core_type;
expression : Ast.Parsetree.expression;
extension_constructor : Ast.Parsetree.extension_constructor;
mapper : Ast.Ast_mapper.mapper;
out_class_type : Ast.Outcometree.out_class_type;
out_module_type : Ast.Outcometree.out_module_type;
out_phrase : Ast.Outcometree.out_phrase;
out_sig_item : Ast.Outcometree.out_sig_item;
out_type : Ast.Outcometree.out_type;
out_type_extension : Ast.Outcometree.out_type_extension;
out_value : Ast.Outcometree.out_value;
pattern : Ast.Parsetree.pattern;
signature : Ast.Parsetree.signature;
structure : Ast.Parsetree.structure;
toplevel_phrase : Ast.Parsetree.toplevel_phrase;
type_declaration : Ast.Parsetree.type_declaration;
type_extension : Ast.Parsetree.type_extension >
_types
type _ witnesses += Version : types witnesses
val migration_info : types migration_info
end
val ocaml_403 :
Migrate_parsetree_versions.OCaml_403.types
Migrate_parsetree_versions.ocaml_version
module OCaml_404 :
sig
module Ast :
sig
module Location :
sig
type t =
Location.t = {
loc_start : Lexing.position;
loc_end : Lexing.position;
loc_ghost : bool;
}
val none : t
val in_file : string -> t
val init : Lexing.lexbuf -> string -> unit
val curr : Lexing.lexbuf -> t
val symbol_rloc : unit -> t
val symbol_gloc : unit -> t
val rhs_loc : int -> t
val input_name : string ref
val input_lexbuf : Lexing.lexbuf option ref
val get_pos_info : Lexing.position -> string * int * int
val print_loc : Format.formatter -> t -> unit
val print_error : Format.formatter -> t -> unit
val print_error_cur_file : Format.formatter -> unit -> unit
val print_warning : t -> Format.formatter -> Warnings.t -> unit
val formatter_for_warnings : Format.formatter ref
val prerr_warning : t -> Warnings.t -> unit
val echo_eof : unit -> unit
val reset : unit -> unit
val warning_printer :
(t -> Format.formatter -> Warnings.t -> unit) ref
val default_warning_printer :
t -> Format.formatter -> Warnings.t -> unit
val highlight_locations : Format.formatter -> t list -> bool
type 'a loc = 'a Location.loc = { txt : 'a; loc : t; }
val mknoloc : 'a -> 'a loc
val mkloc : 'a -> t -> 'a loc
val print : Format.formatter -> t -> unit
val print_compact : Format.formatter -> t -> unit
val print_filename : Format.formatter -> string -> unit
val absolute_path : string -> string
val show_filename : string -> string
val absname : bool ref
type error =
Location.error = {
loc : t;
msg : string;
sub : error list;
if_highlight : string;
}
exception Error of error
val print_error_prefix : Format.formatter -> unit -> unit
val error :
?loc:t ->
?sub:error list -> ?if_highlight:string -> string -> error
val errorf :
?loc:t ->
?sub:error list ->
?if_highlight:string ->
('a, Format.formatter, unit, error) format4 -> 'a
val raise_errorf :
?loc:t ->
?sub:error list ->
?if_highlight:string ->
('a, Format.formatter, unit, 'b) format4 -> 'a
val error_of_printer :
t -> (Format.formatter -> 'a -> unit) -> 'a -> error
val error_of_printer_file :
(Format.formatter -> 'a -> unit) -> 'a -> error
val error_of_exn : exn -> error option
val register_error_of_exn : (exn -> error option) -> unit
val report_error : Format.formatter -> error -> unit
val error_reporter : (Format.formatter -> error -> unit) ref
val default_error_reporter : Format.formatter -> error -> unit
val report_exception : Format.formatter -> exn -> unit
end
module Longident :
sig
type t =
Longident.t =
Lident of string
| Ldot of t * string
| Lapply of t * t
val flatten : t -> string list
val last : t -> string
val parse : string -> t
end
module Asttypes :
sig
type constant =
Ast_404.Asttypes.constant =
Const_int of int
| Const_char of char
| Const_string of string * string option
| Const_float of string
| Const_int32 of int32
| Const_int64 of int64
| Const_nativeint of nativeint
type rec_flag =
Ast_404.Asttypes.rec_flag =
Nonrecursive
| Recursive
type direction_flag =
Ast_404.Asttypes.direction_flag =
Upto
| Downto
type private_flag =
Ast_404.Asttypes.private_flag =
Private
| Public
type mutable_flag =
Ast_404.Asttypes.mutable_flag =
Immutable
| Mutable
type virtual_flag =
Ast_404.Asttypes.virtual_flag =
Virtual
| Concrete
type override_flag =
Ast_404.Asttypes.override_flag =
Override
| Fresh
type closed_flag = Ast_404.Asttypes.closed_flag = Closed | Open
type label = string
type arg_label =
Ast_404.Asttypes.arg_label =
Nolabel
| Labelled of string
| Optional of string
type 'a loc = 'a Location.loc = { txt : 'a; loc : Location.t; }
type variance =
Ast_404.Asttypes.variance =
Covariant
| Contravariant
| Invariant
end
module Parsetree :
sig
type constant =
Ast_404.Parsetree.constant =
Pconst_integer of string * char option
| Pconst_char of char
| Pconst_string of string * string option
| Pconst_float of string * char option
type attribute = string Asttypes.loc * payload
and extension = string Asttypes.loc * payload
and attributes = attribute list
and payload =
Ast_404.Parsetree.payload =
PStr of structure
| PSig of signature
| PTyp of core_type
| PPat of pattern * expression option
and core_type =
Ast_404.Parsetree.core_type = {
ptyp_desc : core_type_desc;
ptyp_loc : Location.t;
ptyp_attributes : attributes;
}
and core_type_desc =
Ast_404.Parsetree.core_type_desc =
Ptyp_any
| Ptyp_var of string
| Ptyp_arrow of Asttypes.arg_label * core_type * core_type
| Ptyp_tuple of core_type list
| Ptyp_constr of Longident.t Asttypes.loc * core_type list
| Ptyp_object of (string * attributes * core_type) list *
Asttypes.closed_flag
| Ptyp_class of Longident.t Asttypes.loc * core_type list
| Ptyp_alias of core_type * string
| Ptyp_variant of row_field list * Asttypes.closed_flag *
Asttypes.label list option
| Ptyp_poly of string list * core_type
| Ptyp_package of package_type
| Ptyp_extension of extension
and package_type =
Longident.t Asttypes.loc *
(Longident.t Asttypes.loc * core_type) list
and row_field =
Ast_404.Parsetree.row_field =
Rtag of Asttypes.label * attributes * bool * core_type list
| Rinherit of core_type
and pattern =
Ast_404.Parsetree.pattern = {
ppat_desc : pattern_desc;
ppat_loc : Location.t;
ppat_attributes : attributes;
}
and pattern_desc =
Ast_404.Parsetree.pattern_desc =
Ppat_any
| Ppat_var of string Asttypes.loc
| Ppat_alias of pattern * string Asttypes.loc
| Ppat_constant of constant
| Ppat_interval of constant * constant
| Ppat_tuple of pattern list
| Ppat_construct of Longident.t Asttypes.loc * pattern option
| Ppat_variant of Asttypes.label * pattern option
| Ppat_record of (Longident.t Asttypes.loc * pattern) list *
Asttypes.closed_flag
| Ppat_array of pattern list
| Ppat_or of pattern * pattern
| Ppat_constraint of pattern * core_type
| Ppat_type of Longident.t Asttypes.loc
| Ppat_lazy of pattern
| Ppat_unpack of string Asttypes.loc
| Ppat_exception of pattern
| Ppat_extension of extension
| Ppat_open of Longident.t Asttypes.loc * pattern
and expression =
Ast_404.Parsetree.expression = {
pexp_desc : expression_desc;
pexp_loc : Location.t;
pexp_attributes : attributes;
}
and expression_desc =
Ast_404.Parsetree.expression_desc =
Pexp_ident of Longident.t Asttypes.loc
| Pexp_constant of constant
| Pexp_let of Asttypes.rec_flag * value_binding list *
expression
| Pexp_function of case list
| Pexp_fun of Asttypes.arg_label * expression option *
pattern * expression
| Pexp_apply of expression *
(Asttypes.arg_label * expression) list
| Pexp_match of expression * case list
| Pexp_try of expression * case list
| Pexp_tuple of expression list
| Pexp_construct of Longident.t Asttypes.loc *
expression option
| Pexp_variant of Asttypes.label * expression option
| Pexp_record of
(Longident.t Asttypes.loc * expression) list *
expression option
| Pexp_field of expression * Longident.t Asttypes.loc
| Pexp_setfield of expression * Longident.t Asttypes.loc *
expression
| Pexp_array of expression list
| Pexp_ifthenelse of expression * expression *
expression option
| Pexp_sequence of expression * expression
| Pexp_while of expression * expression
| Pexp_for of pattern * expression * expression *
Asttypes.direction_flag * expression
| Pexp_constraint of expression * core_type
| Pexp_coerce of expression * core_type option * core_type
| Pexp_send of expression * string
| Pexp_new of Longident.t Asttypes.loc
| Pexp_setinstvar of string Asttypes.loc * expression
| Pexp_override of (string Asttypes.loc * expression) list
| Pexp_letmodule of string Asttypes.loc * module_expr *
expression
| Pexp_letexception of extension_constructor * expression
| Pexp_assert of expression
| Pexp_lazy of expression
| Pexp_poly of expression * core_type option
| Pexp_object of class_structure
| Pexp_newtype of string * expression
| Pexp_pack of module_expr
| Pexp_open of Asttypes.override_flag *
Longident.t Asttypes.loc * expression
| Pexp_extension of extension
| Pexp_unreachable
and case =
Ast_404.Parsetree.case = {
pc_lhs : pattern;
pc_guard : expression option;
pc_rhs : expression;
}
and value_description =
Ast_404.Parsetree.value_description = {
pval_name : string Asttypes.loc;
pval_type : core_type;
pval_prim : string list;
pval_attributes : attributes;
pval_loc : Location.t;
}
and type_declaration =
Ast_404.Parsetree.type_declaration = {
ptype_name : string Asttypes.loc;
ptype_params : (core_type * Asttypes.variance) list;
ptype_cstrs : (core_type * core_type * Location.t) list;
ptype_kind : type_kind;
ptype_private : Asttypes.private_flag;
ptype_manifest : core_type option;
ptype_attributes : attributes;
ptype_loc : Location.t;
}
and type_kind =
Ast_404.Parsetree.type_kind =
Ptype_abstract
| Ptype_variant of constructor_declaration list
| Ptype_record of label_declaration list
| Ptype_open
and label_declaration =
Ast_404.Parsetree.label_declaration = {
pld_name : string Asttypes.loc;
pld_mutable : Asttypes.mutable_flag;
pld_type : core_type;
pld_loc : Location.t;
pld_attributes : attributes;
}
and constructor_declaration =
Ast_404.Parsetree.constructor_declaration = {
pcd_name : string Asttypes.loc;
pcd_args : constructor_arguments;
pcd_res : core_type option;
pcd_loc : Location.t;
pcd_attributes : attributes;
}
and constructor_arguments =
Ast_404.Parsetree.constructor_arguments =
Pcstr_tuple of core_type list
| Pcstr_record of label_declaration list
and type_extension =
Ast_404.Parsetree.type_extension = {
ptyext_path : Longident.t Asttypes.loc;
ptyext_params : (core_type * Asttypes.variance) list;
ptyext_constructors : extension_constructor list;
ptyext_private : Asttypes.private_flag;
ptyext_attributes : attributes;
}
and extension_constructor =
Ast_404.Parsetree.extension_constructor = {
pext_name : string Asttypes.loc;
pext_kind : extension_constructor_kind;
pext_loc : Location.t;
pext_attributes : attributes;
}
and extension_constructor_kind =
Ast_404.Parsetree.extension_constructor_kind =
Pext_decl of constructor_arguments * core_type option
| Pext_rebind of Longident.t Asttypes.loc
and class_type =
Ast_404.Parsetree.class_type = {
pcty_desc : class_type_desc;
pcty_loc : Location.t;
pcty_attributes : attributes;
}
and class_type_desc =
Ast_404.Parsetree.class_type_desc =
Pcty_constr of Longident.t Asttypes.loc * core_type list
| Pcty_signature of class_signature
| Pcty_arrow of Asttypes.arg_label * core_type * class_type
| Pcty_extension of extension
and class_signature =
Ast_404.Parsetree.class_signature = {
pcsig_self : core_type;
pcsig_fields : class_type_field list;
}
and class_type_field =
Ast_404.Parsetree.class_type_field = {
pctf_desc : class_type_field_desc;
pctf_loc : Location.t;
pctf_attributes : attributes;
}
and class_type_field_desc =
Ast_404.Parsetree.class_type_field_desc =
Pctf_inherit of class_type
| Pctf_val of
(string * Asttypes.mutable_flag * Asttypes.virtual_flag *
core_type)
| Pctf_method of
(string * Asttypes.private_flag * Asttypes.virtual_flag *
core_type)
| Pctf_constraint of (core_type * core_type)
| Pctf_attribute of attribute
| Pctf_extension of extension
and 'a class_infos =
'a Ast_404.Parsetree.class_infos = {
pci_virt : Asttypes.virtual_flag;
pci_params : (core_type * Asttypes.variance) list;
pci_name : string Asttypes.loc;
pci_expr : 'a;
pci_loc : Location.t;
pci_attributes : attributes;
}
and class_description = class_type class_infos
and class_type_declaration = class_type class_infos
and class_expr =
Ast_404.Parsetree.class_expr = {
pcl_desc : class_expr_desc;
pcl_loc : Location.t;
pcl_attributes : attributes;
}
and class_expr_desc =
Ast_404.Parsetree.class_expr_desc =
Pcl_constr of Longident.t Asttypes.loc * core_type list
| Pcl_structure of class_structure
| Pcl_fun of Asttypes.arg_label * expression option *
pattern * class_expr
| Pcl_apply of class_expr *
(Asttypes.arg_label * expression) list
| Pcl_let of Asttypes.rec_flag * value_binding list *
class_expr
| Pcl_constraint of class_expr * class_type
| Pcl_extension of extension
and class_structure =
Ast_404.Parsetree.class_structure = {
pcstr_self : pattern;
pcstr_fields : class_field list;
}
and class_field =
Ast_404.Parsetree.class_field = {
pcf_desc : class_field_desc;
pcf_loc : Location.t;
pcf_attributes : attributes;
}
and class_field_desc =
Ast_404.Parsetree.class_field_desc =
Pcf_inherit of Asttypes.override_flag * class_expr *
string option
| Pcf_val of
(string Asttypes.loc * Asttypes.mutable_flag *
class_field_kind)
| Pcf_method of
(string Asttypes.loc * Asttypes.private_flag *
class_field_kind)
| Pcf_constraint of (core_type * core_type)
| Pcf_initializer of expression
| Pcf_attribute of attribute
| Pcf_extension of extension
and class_field_kind =
Ast_404.Parsetree.class_field_kind =
Cfk_virtual of core_type
| Cfk_concrete of Asttypes.override_flag * expression
and class_declaration = class_expr class_infos
and module_type =
Ast_404.Parsetree.module_type = {
pmty_desc : module_type_desc;
pmty_loc : Location.t;
pmty_attributes : attributes;
}
and module_type_desc =
Ast_404.Parsetree.module_type_desc =
Pmty_ident of Longident.t Asttypes.loc
| Pmty_signature of signature
| Pmty_functor of string Asttypes.loc * module_type option *
module_type
| Pmty_with of module_type * with_constraint list
| Pmty_typeof of module_expr
| Pmty_extension of extension
| Pmty_alias of Longident.t Asttypes.loc
and signature = signature_item list
and signature_item =
Ast_404.Parsetree.signature_item = {
psig_desc : signature_item_desc;
psig_loc : Location.t;
}
and signature_item_desc =
Ast_404.Parsetree.signature_item_desc =
Psig_value of value_description
| Psig_type of Asttypes.rec_flag * type_declaration list
| Psig_typext of type_extension
| Psig_exception of extension_constructor
| Psig_module of module_declaration
| Psig_recmodule of module_declaration list
| Psig_modtype of module_type_declaration
| Psig_open of open_description
| Psig_include of include_description
| Psig_class of class_description list
| Psig_class_type of class_type_declaration list
| Psig_attribute of attribute
| Psig_extension of extension * attributes
and module_declaration =
Ast_404.Parsetree.module_declaration = {
pmd_name : string Asttypes.loc;
pmd_type : module_type;
pmd_attributes : attributes;
pmd_loc : Location.t;
}
and module_type_declaration =
Ast_404.Parsetree.module_type_declaration = {
pmtd_name : string Asttypes.loc;
pmtd_type : module_type option;
pmtd_attributes : attributes;
pmtd_loc : Location.t;
}
and open_description =
Ast_404.Parsetree.open_description = {
popen_lid : Longident.t Asttypes.loc;
popen_override : Asttypes.override_flag;
popen_loc : Location.t;
popen_attributes : attributes;
}
and 'a include_infos =
'a Ast_404.Parsetree.include_infos = {
pincl_mod : 'a;
pincl_loc : Location.t;
pincl_attributes : attributes;
}
and include_description = module_type include_infos
and include_declaration = module_expr include_infos
and with_constraint =
Ast_404.Parsetree.with_constraint =
Pwith_type of Longident.t Asttypes.loc * type_declaration
| Pwith_module of Longident.t Asttypes.loc *
Longident.t Asttypes.loc
| Pwith_typesubst of type_declaration
| Pwith_modsubst of string Asttypes.loc *
Longident.t Asttypes.loc
and module_expr =
Ast_404.Parsetree.module_expr = {
pmod_desc : module_expr_desc;
pmod_loc : Location.t;
pmod_attributes : attributes;
}
and module_expr_desc =
Ast_404.Parsetree.module_expr_desc =
Pmod_ident of Longident.t Asttypes.loc
| Pmod_structure of structure
| Pmod_functor of string Asttypes.loc * module_type option *
module_expr
| Pmod_apply of module_expr * module_expr
| Pmod_constraint of module_expr * module_type
| Pmod_unpack of expression
| Pmod_extension of extension
and structure = structure_item list
and structure_item =
Ast_404.Parsetree.structure_item = {
pstr_desc : structure_item_desc;
pstr_loc : Location.t;
}
and structure_item_desc =
Ast_404.Parsetree.structure_item_desc =
Pstr_eval of expression * attributes
| Pstr_value of Asttypes.rec_flag * value_binding list
| Pstr_primitive of value_description
| Pstr_type of Asttypes.rec_flag * type_declaration list
| Pstr_typext of type_extension
| Pstr_exception of extension_constructor
| Pstr_module of module_binding
| Pstr_recmodule of module_binding list
| Pstr_modtype of module_type_declaration
| Pstr_open of open_description
| Pstr_class of class_declaration list
| Pstr_class_type of class_type_declaration list
| Pstr_include of include_declaration
| Pstr_attribute of attribute
| Pstr_extension of extension * attributes
and value_binding =
Ast_404.Parsetree.value_binding = {
pvb_pat : pattern;
pvb_expr : expression;
pvb_attributes : attributes;
pvb_loc : Location.t;
}
and module_binding =
Ast_404.Parsetree.module_binding = {
pmb_name : string Asttypes.loc;
pmb_expr : module_expr;
pmb_attributes : attributes;
pmb_loc : Location.t;
}
type toplevel_phrase =
Ast_404.Parsetree.toplevel_phrase =
Ptop_def of structure
| Ptop_dir of string * directive_argument
and directive_argument =
Ast_404.Parsetree.directive_argument =
Pdir_none
| Pdir_string of string
| Pdir_int of string * char option
| Pdir_ident of Longident.t
| Pdir_bool of bool
end
module Docstrings :
sig
type docstring = Ast_404.Docstrings.docstring
val docstring : string -> Location.t -> docstring
val docstring_body : docstring -> string
val docstring_loc : docstring -> Location.t
type docs =
Ast_404.Docstrings.docs = {
docs_pre : docstring option;
docs_post : docstring option;
}
val empty_docs : docs
val docs_attr : docstring -> Parsetree.attribute
val add_docs_attrs :
docs -> Parsetree.attributes -> Parsetree.attributes
type info = docstring option
val empty_info : info
val info_attr : docstring -> Parsetree.attribute
val add_info_attrs :
info -> Parsetree.attributes -> Parsetree.attributes
type text = docstring list
val empty_text : text
val text_attr : docstring -> Parsetree.attribute
val add_text_attrs :
text -> Parsetree.attributes -> Parsetree.attributes
end
module Ast_helper :
sig
type lid = Longident.t Asttypes.loc
type str = string Asttypes.loc
type loc = Location.t
type attrs = Parsetree.attribute list
val default_loc : loc ref
val with_default_loc : loc -> (unit -> 'a) -> 'a
module Const :
sig
val char : char -> Parsetree.constant
val string :
?quotation_delimiter:string ->
string -> Parsetree.constant
val integer : ?suffix:char -> string -> Parsetree.constant
val int : ?suffix:char -> int -> Parsetree.constant
val int32 : ?suffix:char -> int32 -> Parsetree.constant
val int64 : ?suffix:char -> int64 -> Parsetree.constant
val nativeint :
?suffix:char -> nativeint -> Parsetree.constant
val float : ?suffix:char -> string -> Parsetree.constant
end
module Typ :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
Parsetree.core_type_desc -> Parsetree.core_type
val attr :
Parsetree.core_type ->
Parsetree.attribute -> Parsetree.core_type
val any :
?loc:loc -> ?attrs:attrs -> unit -> Parsetree.core_type
val var :
?loc:loc -> ?attrs:attrs -> string -> Parsetree.core_type
val arrow :
?loc:loc ->
?attrs:attrs ->
Asttypes.arg_label ->
Parsetree.core_type ->
Parsetree.core_type -> Parsetree.core_type
val tuple :
?loc:loc ->
?attrs:attrs ->
Parsetree.core_type list -> Parsetree.core_type
val constr :
?loc:loc ->
?attrs:attrs ->
lid -> Parsetree.core_type list -> Parsetree.core_type
val object_ :
?loc:loc ->
?attrs:attrs ->
(string * Parsetree.attributes * Parsetree.core_type)
list -> Asttypes.closed_flag -> Parsetree.core_type
val class_ :
?loc:loc ->
?attrs:attrs ->
lid -> Parsetree.core_type list -> Parsetree.core_type
val alias :
?loc:loc ->
?attrs:attrs ->
Parsetree.core_type -> string -> Parsetree.core_type
val variant :
?loc:loc ->
?attrs:attrs ->
Parsetree.row_field list ->
Asttypes.closed_flag ->
Asttypes.label list option -> Parsetree.core_type
val poly :
?loc:loc ->
?attrs:attrs ->
string list -> Parsetree.core_type -> Parsetree.core_type
val package :
?loc:loc ->
?attrs:attrs ->
lid ->
(lid * Parsetree.core_type) list -> Parsetree.core_type
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.core_type
val force_poly : Parsetree.core_type -> Parsetree.core_type
end
module Pat :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
Parsetree.pattern_desc -> Parsetree.pattern
val attr :
Parsetree.pattern ->
Parsetree.attribute -> Parsetree.pattern
val any :
?loc:loc -> ?attrs:attrs -> unit -> Parsetree.pattern
val var :
?loc:loc -> ?attrs:attrs -> str -> Parsetree.pattern
val alias :
?loc:loc ->
?attrs:attrs ->
Parsetree.pattern -> str -> Parsetree.pattern
val constant :
?loc:loc ->
?attrs:attrs -> Parsetree.constant -> Parsetree.pattern
val interval :
?loc:loc ->
?attrs:attrs ->
Parsetree.constant ->
Parsetree.constant -> Parsetree.pattern
val tuple :
?loc:loc ->
?attrs:attrs ->
Parsetree.pattern list -> Parsetree.pattern
val construct :
?loc:loc ->
?attrs:attrs ->
lid -> Parsetree.pattern option -> Parsetree.pattern
val variant :
?loc:loc ->
?attrs:attrs ->
Asttypes.label ->
Parsetree.pattern option -> Parsetree.pattern
val record :
?loc:loc ->
?attrs:attrs ->
(lid * Parsetree.pattern) list ->
Asttypes.closed_flag -> Parsetree.pattern
val array :
?loc:loc ->
?attrs:attrs ->
Parsetree.pattern list -> Parsetree.pattern
val or_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.pattern ->
Parsetree.pattern -> Parsetree.pattern
val constraint_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.pattern ->
Parsetree.core_type -> Parsetree.pattern
val type_ :
?loc:loc -> ?attrs:attrs -> lid -> Parsetree.pattern
val lazy_ :
?loc:loc ->
?attrs:attrs -> Parsetree.pattern -> Parsetree.pattern
val unpack :
?loc:loc -> ?attrs:attrs -> str -> Parsetree.pattern
val open_ :
?loc:loc ->
?attrs:attrs ->
lid -> Parsetree.pattern -> Parsetree.pattern
val exception_ :
?loc:loc ->
?attrs:attrs -> Parsetree.pattern -> Parsetree.pattern
val extension :
?loc:loc ->
?attrs:attrs -> Parsetree.extension -> Parsetree.pattern
end
module Exp :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression_desc -> Parsetree.expression
val attr :
Parsetree.expression ->
Parsetree.attribute -> Parsetree.expression
val ident :
?loc:loc -> ?attrs:attrs -> lid -> Parsetree.expression
val constant :
?loc:loc ->
?attrs:attrs ->
Parsetree.constant -> Parsetree.expression
val let_ :
?loc:loc ->
?attrs:attrs ->
Asttypes.rec_flag ->
Parsetree.value_binding list ->
Parsetree.expression -> Parsetree.expression
val fun_ :
?loc:loc ->
?attrs:attrs ->
Asttypes.arg_label ->
Parsetree.expression option ->
Parsetree.pattern ->
Parsetree.expression -> Parsetree.expression
val function_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.case list -> Parsetree.expression
val apply :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
(Asttypes.arg_label * Parsetree.expression) list ->
Parsetree.expression
val match_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
Parsetree.case list -> Parsetree.expression
val try_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
Parsetree.case list -> Parsetree.expression
val tuple :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression list -> Parsetree.expression
val construct :
?loc:loc ->
?attrs:attrs ->
lid ->
Parsetree.expression option -> Parsetree.expression
val variant :
?loc:loc ->
?attrs:attrs ->
Asttypes.label ->
Parsetree.expression option -> Parsetree.expression
val record :
?loc:loc ->
?attrs:attrs ->
(lid * Parsetree.expression) list ->
Parsetree.expression option -> Parsetree.expression
val field :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression -> lid -> Parsetree.expression
val setfield :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
lid -> Parsetree.expression -> Parsetree.expression
val array :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression list -> Parsetree.expression
val ifthenelse :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
Parsetree.expression ->
Parsetree.expression option -> Parsetree.expression
val sequence :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
Parsetree.expression -> Parsetree.expression
val while_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
Parsetree.expression -> Parsetree.expression
val for_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.pattern ->
Parsetree.expression ->
Parsetree.expression ->
Asttypes.direction_flag ->
Parsetree.expression -> Parsetree.expression
val coerce :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
Parsetree.core_type option ->
Parsetree.core_type -> Parsetree.expression
val constraint_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
Parsetree.core_type -> Parsetree.expression
val send :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression -> string -> Parsetree.expression
val new_ :
?loc:loc -> ?attrs:attrs -> lid -> Parsetree.expression
val setinstvar :
?loc:loc ->
?attrs:attrs ->
str -> Parsetree.expression -> Parsetree.expression
val override :
?loc:loc ->
?attrs:attrs ->
(str * Parsetree.expression) list -> Parsetree.expression
val letmodule :
?loc:loc ->
?attrs:attrs ->
str ->
Parsetree.module_expr ->
Parsetree.expression -> Parsetree.expression
val letexception :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension_constructor ->
Parsetree.expression -> Parsetree.expression
val assert_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression -> Parsetree.expression
val lazy_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression -> Parsetree.expression
val poly :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
Parsetree.core_type option -> Parsetree.expression
val object_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.class_structure -> Parsetree.expression
val newtype :
?loc:loc ->
?attrs:attrs ->
string -> Parsetree.expression -> Parsetree.expression
val pack :
?loc:loc ->
?attrs:attrs ->
Parsetree.module_expr -> Parsetree.expression
val open_ :
?loc:loc ->
?attrs:attrs ->
Asttypes.override_flag ->
lid -> Parsetree.expression -> Parsetree.expression
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.expression
val unreachable :
?loc:loc -> ?attrs:attrs -> unit -> Parsetree.expression
val case :
Parsetree.pattern ->
?guard:Parsetree.expression ->
Parsetree.expression -> Parsetree.case
end
module Val :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?prim:string list ->
str -> Parsetree.core_type -> Parsetree.value_description
end
module Type :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?text:Docstrings.text ->
?params:(Parsetree.core_type * Asttypes.variance) list ->
?cstrs:(Parsetree.core_type * Parsetree.core_type * loc)
list ->
?kind:Parsetree.type_kind ->
?priv:Asttypes.private_flag ->
?manifest:Parsetree.core_type ->
str -> Parsetree.type_declaration
val constructor :
?loc:loc ->
?attrs:attrs ->
?info:Docstrings.info ->
?args:Parsetree.constructor_arguments ->
?res:Parsetree.core_type ->
str -> Parsetree.constructor_declaration
val field :
?loc:loc ->
?attrs:attrs ->
?info:Docstrings.info ->
?mut:Asttypes.mutable_flag ->
str -> Parsetree.core_type -> Parsetree.label_declaration
end
module Te :
sig
val mk :
?attrs:attrs ->
?docs:Docstrings.docs ->
?params:(Parsetree.core_type * Asttypes.variance) list ->
?priv:Asttypes.private_flag ->
lid ->
Parsetree.extension_constructor list ->
Parsetree.type_extension
val constructor :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?info:Docstrings.info ->
str ->
Parsetree.extension_constructor_kind ->
Parsetree.extension_constructor
val decl :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?info:Docstrings.info ->
?args:Parsetree.constructor_arguments ->
?res:Parsetree.core_type ->
str -> Parsetree.extension_constructor
val rebind :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?info:Docstrings.info ->
str -> lid -> Parsetree.extension_constructor
end
module Mty :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
Parsetree.module_type_desc -> Parsetree.module_type
val attr :
Parsetree.module_type ->
Parsetree.attribute -> Parsetree.module_type
val ident :
?loc:loc -> ?attrs:attrs -> lid -> Parsetree.module_type
val alias :
?loc:loc -> ?attrs:attrs -> lid -> Parsetree.module_type
val signature :
?loc:loc ->
?attrs:attrs ->
Parsetree.signature -> Parsetree.module_type
val functor_ :
?loc:loc ->
?attrs:attrs ->
str ->
Parsetree.module_type option ->
Parsetree.module_type -> Parsetree.module_type
val with_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.module_type ->
Parsetree.with_constraint list -> Parsetree.module_type
val typeof_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.module_expr -> Parsetree.module_type
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.module_type
end
module Mod :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
Parsetree.module_expr_desc -> Parsetree.module_expr
val attr :
Parsetree.module_expr ->
Parsetree.attribute -> Parsetree.module_expr
val ident :
?loc:loc -> ?attrs:attrs -> lid -> Parsetree.module_expr
val structure :
?loc:loc ->
?attrs:attrs ->
Parsetree.structure -> Parsetree.module_expr
val functor_ :
?loc:loc ->
?attrs:attrs ->
str ->
Parsetree.module_type option ->
Parsetree.module_expr -> Parsetree.module_expr
val apply :
?loc:loc ->
?attrs:attrs ->
Parsetree.module_expr ->
Parsetree.module_expr -> Parsetree.module_expr
val constraint_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.module_expr ->
Parsetree.module_type -> Parsetree.module_expr
val unpack :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression -> Parsetree.module_expr
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.module_expr
end
module Sig :
sig
val mk :
?loc:loc ->
Parsetree.signature_item_desc -> Parsetree.signature_item
val value :
?loc:loc ->
Parsetree.value_description -> Parsetree.signature_item
val type_ :
?loc:loc ->
Asttypes.rec_flag ->
Parsetree.type_declaration list ->
Parsetree.signature_item
val type_extension :
?loc:loc ->
Parsetree.type_extension -> Parsetree.signature_item
val exception_ :
?loc:loc ->
Parsetree.extension_constructor ->
Parsetree.signature_item
val module_ :
?loc:loc ->
Parsetree.module_declaration -> Parsetree.signature_item
val rec_module :
?loc:loc ->
Parsetree.module_declaration list ->
Parsetree.signature_item
val modtype :
?loc:loc ->
Parsetree.module_type_declaration ->
Parsetree.signature_item
val open_ :
?loc:loc ->
Parsetree.open_description -> Parsetree.signature_item
val include_ :
?loc:loc ->
Parsetree.include_description -> Parsetree.signature_item
val class_ :
?loc:loc ->
Parsetree.class_description list ->
Parsetree.signature_item
val class_type :
?loc:loc ->
Parsetree.class_type_declaration list ->
Parsetree.signature_item
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.signature_item
val attribute :
?loc:loc ->
Parsetree.attribute -> Parsetree.signature_item
val text : Docstrings.text -> Parsetree.signature_item list
end
module Str :
sig
val mk :
?loc:loc ->
Parsetree.structure_item_desc -> Parsetree.structure_item
val eval :
?loc:loc ->
?attrs:Parsetree.attributes ->
Parsetree.expression -> Parsetree.structure_item
val value :
?loc:loc ->
Asttypes.rec_flag ->
Parsetree.value_binding list -> Parsetree.structure_item
val primitive :
?loc:loc ->
Parsetree.value_description -> Parsetree.structure_item
val type_ :
?loc:loc ->
Asttypes.rec_flag ->
Parsetree.type_declaration list ->
Parsetree.structure_item
val type_extension :
?loc:loc ->
Parsetree.type_extension -> Parsetree.structure_item
val exception_ :
?loc:loc ->
Parsetree.extension_constructor ->
Parsetree.structure_item
val module_ :
?loc:loc ->
Parsetree.module_binding -> Parsetree.structure_item
val rec_module :
?loc:loc ->
Parsetree.module_binding list -> Parsetree.structure_item
val modtype :
?loc:loc ->
Parsetree.module_type_declaration ->
Parsetree.structure_item
val open_ :
?loc:loc ->
Parsetree.open_description -> Parsetree.structure_item
val class_ :
?loc:loc ->
Parsetree.class_declaration list ->
Parsetree.structure_item
val class_type :
?loc:loc ->
Parsetree.class_type_declaration list ->
Parsetree.structure_item
val include_ :
?loc:loc ->
Parsetree.include_declaration -> Parsetree.structure_item
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.structure_item
val attribute :
?loc:loc ->
Parsetree.attribute -> Parsetree.structure_item
val text : Docstrings.text -> Parsetree.structure_item list
end
module Md :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?text:Docstrings.text ->
str ->
Parsetree.module_type -> Parsetree.module_declaration
end
module Mtd :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?text:Docstrings.text ->
?typ:Parsetree.module_type ->
str -> Parsetree.module_type_declaration
end
module Mb :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?text:Docstrings.text ->
str -> Parsetree.module_expr -> Parsetree.module_binding
end
module Opn :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?override:Asttypes.override_flag ->
lid -> Parsetree.open_description
end
module Incl :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs -> 'a -> 'a Parsetree.include_infos
end
module Vb :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?text:Docstrings.text ->
Parsetree.pattern ->
Parsetree.expression -> Parsetree.value_binding
end
module Cty :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
Parsetree.class_type_desc -> Parsetree.class_type
val attr :
Parsetree.class_type ->
Parsetree.attribute -> Parsetree.class_type
val constr :
?loc:loc ->
?attrs:attrs ->
lid -> Parsetree.core_type list -> Parsetree.class_type
val signature :
?loc:loc ->
?attrs:attrs ->
Parsetree.class_signature -> Parsetree.class_type
val arrow :
?loc:loc ->
?attrs:attrs ->
Asttypes.arg_label ->
Parsetree.core_type ->
Parsetree.class_type -> Parsetree.class_type
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.class_type
end
module Ctf :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
Parsetree.class_type_field_desc ->
Parsetree.class_type_field
val attr :
Parsetree.class_type_field ->
Parsetree.attribute -> Parsetree.class_type_field
val inherit_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.class_type -> Parsetree.class_type_field
val val_ :
?loc:loc ->
?attrs:attrs ->
string ->
Asttypes.mutable_flag ->
Asttypes.virtual_flag ->
Parsetree.core_type -> Parsetree.class_type_field
val method_ :
?loc:loc ->
?attrs:attrs ->
string ->
Asttypes.private_flag ->
Asttypes.virtual_flag ->
Parsetree.core_type -> Parsetree.class_type_field
val constraint_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.core_type ->
Parsetree.core_type -> Parsetree.class_type_field
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.class_type_field
val attribute :
?loc:loc ->
Parsetree.attribute -> Parsetree.class_type_field
val text :
Docstrings.text -> Parsetree.class_type_field list
end
module Cl :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
Parsetree.class_expr_desc -> Parsetree.class_expr
val attr :
Parsetree.class_expr ->
Parsetree.attribute -> Parsetree.class_expr
val constr :
?loc:loc ->
?attrs:attrs ->
lid -> Parsetree.core_type list -> Parsetree.class_expr
val structure :
?loc:loc ->
?attrs:attrs ->
Parsetree.class_structure -> Parsetree.class_expr
val fun_ :
?loc:loc ->
?attrs:attrs ->
Asttypes.arg_label ->
Parsetree.expression option ->
Parsetree.pattern ->
Parsetree.class_expr -> Parsetree.class_expr
val apply :
?loc:loc ->
?attrs:attrs ->
Parsetree.class_expr ->
(Asttypes.arg_label * Parsetree.expression) list ->
Parsetree.class_expr
val let_ :
?loc:loc ->
?attrs:attrs ->
Asttypes.rec_flag ->
Parsetree.value_binding list ->
Parsetree.class_expr -> Parsetree.class_expr
val constraint_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.class_expr ->
Parsetree.class_type -> Parsetree.class_expr
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.class_expr
end
module Cf :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
Parsetree.class_field_desc -> Parsetree.class_field
val attr :
Parsetree.class_field ->
Parsetree.attribute -> Parsetree.class_field
val inherit_ :
?loc:loc ->
?attrs:attrs ->
Asttypes.override_flag ->
Parsetree.class_expr ->
string option -> Parsetree.class_field
val val_ :
?loc:loc ->
?attrs:attrs ->
str ->
Asttypes.mutable_flag ->
Parsetree.class_field_kind -> Parsetree.class_field
val method_ :
?loc:loc ->
?attrs:attrs ->
str ->
Asttypes.private_flag ->
Parsetree.class_field_kind -> Parsetree.class_field
val constraint_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.core_type ->
Parsetree.core_type -> Parsetree.class_field
val initializer_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression -> Parsetree.class_field
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.class_field
val attribute :
?loc:loc -> Parsetree.attribute -> Parsetree.class_field
val text : Docstrings.text -> Parsetree.class_field list
val virtual_ :
Parsetree.core_type -> Parsetree.class_field_kind
val concrete :
Asttypes.override_flag ->
Parsetree.expression -> Parsetree.class_field_kind
end
module Ci :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?text:Docstrings.text ->
?virt:Asttypes.virtual_flag ->
?params:(Parsetree.core_type * Asttypes.variance) list ->
str -> 'a -> 'a Parsetree.class_infos
end
module Csig :
sig
val mk :
Parsetree.core_type ->
Parsetree.class_type_field list ->
Parsetree.class_signature
end
module Cstr :
sig
val mk :
Parsetree.pattern ->
Parsetree.class_field list -> Parsetree.class_structure
end
end
module Ast_mapper :
sig
type mapper =
Ast_404.Ast_mapper.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;
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 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
end
module Outcometree :
sig
type out_ident =
Ast_404.Outcometree.out_ident =
Oide_apply of out_ident * out_ident
| Oide_dot of out_ident * string
| Oide_ident of string
type out_attribute =
Ast_404.Outcometree.out_attribute = {
oattr_name : string;
}
type out_value =
Ast_404.Outcometree.out_value =
Oval_array of out_value list
| Oval_char of char
| Oval_constr of out_ident * out_value list
| Oval_ellipsis
| Oval_float of float
| Oval_int of int
| Oval_int32 of int32
| Oval_int64 of int64
| Oval_nativeint of nativeint
| Oval_list of out_value list
| Oval_printer of (Format.formatter -> unit)
| Oval_record of (out_ident * out_value) list
| Oval_string of string
| Oval_stuff of string
| Oval_tuple of out_value list
| Oval_variant of string * out_value option
type out_type =
Ast_404.Outcometree.out_type =
Otyp_abstract
| Otyp_open
| Otyp_alias of out_type * string
| Otyp_arrow of string * out_type * out_type
| Otyp_class of bool * out_ident * out_type list
| Otyp_constr of out_ident * out_type list
| Otyp_manifest of out_type * out_type
| Otyp_object of (string * out_type) list * bool option
| Otyp_record of (string * bool * out_type) list
| Otyp_stuff of string
| Otyp_sum of (string * out_type list * out_type option) list
| Otyp_tuple of out_type list
| Otyp_var of bool * string
| Otyp_variant of bool * out_variant * bool *
string list option
| Otyp_poly of string list * out_type
| Otyp_module of string * string list * out_type list
| Otyp_attribute of out_type * out_attribute
and out_variant =
Ast_404.Outcometree.out_variant =
Ovar_fields of (string * bool * out_type list) list
| Ovar_name of out_ident * out_type list
type out_class_type =
Ast_404.Outcometree.out_class_type =
Octy_constr of out_ident * out_type list
| Octy_arrow of string * out_type * out_class_type
| Octy_signature of out_type option * out_class_sig_item list
and out_class_sig_item =
Ast_404.Outcometree.out_class_sig_item =
Ocsg_constraint of out_type * out_type
| Ocsg_method of string * bool * bool * out_type
| Ocsg_value of string * bool * bool * out_type
type out_module_type =
Ast_404.Outcometree.out_module_type =
Omty_abstract
| Omty_functor of string * out_module_type option *
out_module_type
| Omty_ident of out_ident
| Omty_signature of out_sig_item list
| Omty_alias of out_ident
and out_sig_item =
Ast_404.Outcometree.out_sig_item =
Osig_class of bool * string *
(string * (bool * bool)) list * out_class_type *
out_rec_status
| Osig_class_type of bool * string *
(string * (bool * bool)) list * out_class_type *
out_rec_status
| Osig_typext of out_extension_constructor * out_ext_status
| Osig_modtype of string * out_module_type
| Osig_module of string * out_module_type * out_rec_status
| Osig_type of out_type_decl * out_rec_status
| Osig_value of out_val_decl
| Osig_ellipsis
and out_type_decl =
Ast_404.Outcometree.out_type_decl = {
otype_name : string;
otype_params : (string * (bool * bool)) list;
otype_type : out_type;
otype_private : Asttypes.private_flag;
otype_immediate : bool;
otype_unboxed : bool;
otype_cstrs : (out_type * out_type) list;
}
and out_extension_constructor =
Ast_404.Outcometree.out_extension_constructor = {
oext_name : string;
oext_type_name : string;
oext_type_params : string list;
oext_args : out_type list;
oext_ret_type : out_type option;
oext_private : Asttypes.private_flag;
}
and out_type_extension =
Ast_404.Outcometree.out_type_extension = {
otyext_name : string;
otyext_params : string list;
otyext_constructors :
(string * out_type list * out_type option) list;
otyext_private : Asttypes.private_flag;
}
and out_val_decl =
Ast_404.Outcometree.out_val_decl = {
oval_name : string;
oval_type : out_type;
oval_prims : string list;
oval_attributes : out_attribute list;
}
and out_rec_status =
Ast_404.Outcometree.out_rec_status =
Orec_not
| Orec_first
| Orec_next
and out_ext_status =
Ast_404.Outcometree.out_ext_status =
Oext_first
| Oext_next
| Oext_exception
type out_phrase =
Ast_404.Outcometree.out_phrase =
Ophr_eval of out_value * out_type
| Ophr_signature of (out_sig_item * out_value option) list
| Ophr_exception of (exn * out_value)
end
module Config :
sig
val ast_impl_magic_number : string
val ast_intf_magic_number : string
end
val map_signature :
Ast_mapper.mapper -> Parsetree.signature -> Parsetree.signature
val map_structure :
Ast_mapper.mapper -> Parsetree.structure -> Parsetree.structure
val shallow_identity : Ast_mapper.mapper
val failing_mapper : Ast_mapper.mapper
val make_top_mapper :
signature:(Parsetree.signature -> Parsetree.signature) ->
structure:(Parsetree.structure -> Parsetree.structure) ->
Ast_mapper.mapper
end
val version : int
val string_version : string
type types =
< case : Ast.Parsetree.case; core_type : Ast.Parsetree.core_type;
expression : Ast.Parsetree.expression;
extension_constructor : Ast.Parsetree.extension_constructor;
mapper : Ast.Ast_mapper.mapper;
out_class_type : Ast.Outcometree.out_class_type;
out_module_type : Ast.Outcometree.out_module_type;
out_phrase : Ast.Outcometree.out_phrase;
out_sig_item : Ast.Outcometree.out_sig_item;
out_type : Ast.Outcometree.out_type;
out_type_extension : Ast.Outcometree.out_type_extension;
out_value : Ast.Outcometree.out_value;
pattern : Ast.Parsetree.pattern;
signature : Ast.Parsetree.signature;
structure : Ast.Parsetree.structure;
toplevel_phrase : Ast.Parsetree.toplevel_phrase;
type_declaration : Ast.Parsetree.type_declaration;
type_extension : Ast.Parsetree.type_extension >
_types
type _ witnesses += Version : types witnesses
val migration_info : types migration_info
end
val ocaml_404 :
Migrate_parsetree_versions.OCaml_404.types
Migrate_parsetree_versions.ocaml_version
module OCaml_405 :
sig
module Ast :
sig
module Location :
sig
type t =
Location.t = {
loc_start : Lexing.position;
loc_end : Lexing.position;
loc_ghost : bool;
}
val none : t
val in_file : string -> t
val init : Lexing.lexbuf -> string -> unit
val curr : Lexing.lexbuf -> t
val symbol_rloc : unit -> t
val symbol_gloc : unit -> t
val rhs_loc : int -> t
val input_name : string ref
val input_lexbuf : Lexing.lexbuf option ref
val get_pos_info : Lexing.position -> string * int * int
val print_loc : Format.formatter -> t -> unit
val print_error : Format.formatter -> t -> unit
val print_error_cur_file : Format.formatter -> unit -> unit
val print_warning : t -> Format.formatter -> Warnings.t -> unit
val formatter_for_warnings : Format.formatter ref
val prerr_warning : t -> Warnings.t -> unit
val echo_eof : unit -> unit
val reset : unit -> unit
val warning_printer :
(t -> Format.formatter -> Warnings.t -> unit) ref
val default_warning_printer :
t -> Format.formatter -> Warnings.t -> unit
val highlight_locations : Format.formatter -> t list -> bool
type 'a loc = 'a Location.loc = { txt : 'a; loc : t; }
val mknoloc : 'a -> 'a loc
val mkloc : 'a -> t -> 'a loc
val print : Format.formatter -> t -> unit
val print_compact : Format.formatter -> t -> unit
val print_filename : Format.formatter -> string -> unit
val absolute_path : string -> string
val show_filename : string -> string
val absname : bool ref
type error =
Location.error = {
loc : t;
msg : string;
sub : error list;
if_highlight : string;
}
exception Error of error
val print_error_prefix : Format.formatter -> unit -> unit
val error :
?loc:t ->
?sub:error list -> ?if_highlight:string -> string -> error
val errorf :
?loc:t ->
?sub:error list ->
?if_highlight:string ->
('a, Format.formatter, unit, error) format4 -> 'a
val raise_errorf :
?loc:t ->
?sub:error list ->
?if_highlight:string ->
('a, Format.formatter, unit, 'b) format4 -> 'a
val error_of_printer :
t -> (Format.formatter -> 'a -> unit) -> 'a -> error
val error_of_printer_file :
(Format.formatter -> 'a -> unit) -> 'a -> error
val error_of_exn : exn -> error option
val register_error_of_exn : (exn -> error option) -> unit
val report_error : Format.formatter -> error -> unit
val error_reporter : (Format.formatter -> error -> unit) ref
val default_error_reporter : Format.formatter -> error -> unit
val report_exception : Format.formatter -> exn -> unit
end
module Longident :
sig
type t =
Longident.t =
Lident of string
| Ldot of t * string
| Lapply of t * t
val flatten : t -> string list
val last : t -> string
val parse : string -> t
end
module Asttypes :
sig
type constant =
Asttypes.constant =
Const_int of int
| Const_char of char
| Const_string of string * string option
| Const_float of string
| Const_int32 of int32
| Const_int64 of int64
| Const_nativeint of nativeint
type rec_flag = Asttypes.rec_flag = Nonrecursive | Recursive
type direction_flag = Asttypes.direction_flag = Upto | Downto
type private_flag = Asttypes.private_flag = Private | Public
type mutable_flag = Asttypes.mutable_flag = Immutable | Mutable
type virtual_flag = Asttypes.virtual_flag = Virtual | Concrete
type override_flag = Asttypes.override_flag = Override | Fresh
type closed_flag = Asttypes.closed_flag = Closed | Open
type label = string
type arg_label =
Asttypes.arg_label =
Nolabel
| Labelled of string
| Optional of string
type 'a loc = 'a Location.loc = { txt : 'a; loc : Location.t; }
type variance =
Asttypes.variance =
Covariant
| Contravariant
| Invariant
end
module Parsetree :
sig
type constant =
Parsetree.constant =
Pconst_integer of string * char option
| Pconst_char of char
| Pconst_string of string * string option
| Pconst_float of string * char option
type attribute = string Asttypes.loc * payload
and extension = string Asttypes.loc * payload
and attributes = attribute list
and payload =
Parsetree.payload =
PStr of structure
| PSig of signature
| PTyp of core_type
| PPat of pattern * expression option
and core_type =
Parsetree.core_type = {
ptyp_desc : core_type_desc;
ptyp_loc : Location.t;
ptyp_attributes : attributes;
}
and core_type_desc =
Parsetree.core_type_desc =
Ptyp_any
| Ptyp_var of string
| Ptyp_arrow of Asttypes.arg_label * core_type * core_type
| Ptyp_tuple of core_type list
| Ptyp_constr of Longident.t Asttypes.loc * core_type list
| Ptyp_object of
(string Asttypes.loc * attributes * core_type) list *
Asttypes.closed_flag
| Ptyp_class of Longident.t Asttypes.loc * core_type list
| Ptyp_alias of core_type * string
| Ptyp_variant of row_field list * Asttypes.closed_flag *
Asttypes.label list option
| Ptyp_poly of string Asttypes.loc list * core_type
| Ptyp_package of package_type
| Ptyp_extension of extension
and package_type =
Longident.t Asttypes.loc *
(Longident.t Asttypes.loc * core_type) list
and row_field =
Parsetree.row_field =
Rtag of Asttypes.label * attributes * bool * core_type list
| Rinherit of core_type
and pattern =
Parsetree.pattern = {
ppat_desc : pattern_desc;
ppat_loc : Location.t;
ppat_attributes : attributes;
}
and pattern_desc =
Parsetree.pattern_desc =
Ppat_any
| Ppat_var of string Asttypes.loc
| Ppat_alias of pattern * string Asttypes.loc
| Ppat_constant of constant
| Ppat_interval of constant * constant
| Ppat_tuple of pattern list
| Ppat_construct of Longident.t Asttypes.loc * pattern option
| Ppat_variant of Asttypes.label * pattern option
| Ppat_record of (Longident.t Asttypes.loc * pattern) list *
Asttypes.closed_flag
| Ppat_array of pattern list
| Ppat_or of pattern * pattern
| Ppat_constraint of pattern * core_type
| Ppat_type of Longident.t Asttypes.loc
| Ppat_lazy of pattern
| Ppat_unpack of string Asttypes.loc
| Ppat_exception of pattern
| Ppat_extension of extension
| Ppat_open of Longident.t Asttypes.loc * pattern
and expression =
Parsetree.expression = {
pexp_desc : expression_desc;
pexp_loc : Location.t;
pexp_attributes : attributes;
}
and expression_desc =
Parsetree.expression_desc =
Pexp_ident of Longident.t Asttypes.loc
| Pexp_constant of constant
| Pexp_let of Asttypes.rec_flag * value_binding list *
expression
| Pexp_function of case list
| Pexp_fun of Asttypes.arg_label * expression option *
pattern * expression
| Pexp_apply of expression *
(Asttypes.arg_label * expression) list
| Pexp_match of expression * case list
| Pexp_try of expression * case list
| Pexp_tuple of expression list
| Pexp_construct of Longident.t Asttypes.loc *
expression option
| Pexp_variant of Asttypes.label * expression option
| Pexp_record of
(Longident.t Asttypes.loc * expression) list *
expression option
| Pexp_field of expression * Longident.t Asttypes.loc
| Pexp_setfield of expression * Longident.t Asttypes.loc *
expression
| Pexp_array of expression list
| Pexp_ifthenelse of expression * expression *
expression option
| Pexp_sequence of expression * expression
| Pexp_while of expression * expression
| Pexp_for of pattern * expression * expression *
Asttypes.direction_flag * expression
| Pexp_constraint of expression * core_type
| Pexp_coerce of expression * core_type option * core_type
| Pexp_send of expression * string Asttypes.loc
| Pexp_new of Longident.t Asttypes.loc
| Pexp_setinstvar of string Asttypes.loc * expression
| Pexp_override of (string Asttypes.loc * expression) list
| Pexp_letmodule of string Asttypes.loc * module_expr *
expression
| Pexp_letexception of extension_constructor * expression
| Pexp_assert of expression
| Pexp_lazy of expression
| Pexp_poly of expression * core_type option
| Pexp_object of class_structure
| Pexp_newtype of string Asttypes.loc * expression
| Pexp_pack of module_expr
| Pexp_open of Asttypes.override_flag *
Longident.t Asttypes.loc * expression
| Pexp_extension of extension
| Pexp_unreachable
and case =
Parsetree.case = {
pc_lhs : pattern;
pc_guard : expression option;
pc_rhs : expression;
}
and value_description =
Parsetree.value_description = {
pval_name : string Asttypes.loc;
pval_type : core_type;
pval_prim : string list;
pval_attributes : attributes;
pval_loc : Location.t;
}
and type_declaration =
Parsetree.type_declaration = {
ptype_name : string Asttypes.loc;
ptype_params : (core_type * Asttypes.variance) list;
ptype_cstrs : (core_type * core_type * Location.t) list;
ptype_kind : type_kind;
ptype_private : Asttypes.private_flag;
ptype_manifest : core_type option;
ptype_attributes : attributes;
ptype_loc : Location.t;
}
and type_kind =
Parsetree.type_kind =
Ptype_abstract
| Ptype_variant of constructor_declaration list
| Ptype_record of label_declaration list
| Ptype_open
and label_declaration =
Parsetree.label_declaration = {
pld_name : string Asttypes.loc;
pld_mutable : Asttypes.mutable_flag;
pld_type : core_type;
pld_loc : Location.t;
pld_attributes : attributes;
}
and constructor_declaration =
Parsetree.constructor_declaration = {
pcd_name : string Asttypes.loc;
pcd_args : constructor_arguments;
pcd_res : core_type option;
pcd_loc : Location.t;
pcd_attributes : attributes;
}
and constructor_arguments =
Parsetree.constructor_arguments =
Pcstr_tuple of core_type list
| Pcstr_record of label_declaration list
and type_extension =
Parsetree.type_extension = {
ptyext_path : Longident.t Asttypes.loc;
ptyext_params : (core_type * Asttypes.variance) list;
ptyext_constructors : extension_constructor list;
ptyext_private : Asttypes.private_flag;
ptyext_attributes : attributes;
}
and extension_constructor =
Parsetree.extension_constructor = {
pext_name : string Asttypes.loc;
pext_kind : extension_constructor_kind;
pext_loc : Location.t;
pext_attributes : attributes;
}
and extension_constructor_kind =
Parsetree.extension_constructor_kind =
Pext_decl of constructor_arguments * core_type option
| Pext_rebind of Longident.t Asttypes.loc
and class_type =
Parsetree.class_type = {
pcty_desc : class_type_desc;
pcty_loc : Location.t;
pcty_attributes : attributes;
}
and class_type_desc =
Parsetree.class_type_desc =
Pcty_constr of Longident.t Asttypes.loc * core_type list
| Pcty_signature of class_signature
| Pcty_arrow of Asttypes.arg_label * core_type * class_type
| Pcty_extension of extension
and class_signature =
Parsetree.class_signature = {
pcsig_self : core_type;
pcsig_fields : class_type_field list;
}
and class_type_field =
Parsetree.class_type_field = {
pctf_desc : class_type_field_desc;
pctf_loc : Location.t;
pctf_attributes : attributes;
}
and class_type_field_desc =
Parsetree.class_type_field_desc =
Pctf_inherit of class_type
| Pctf_val of
(string Asttypes.loc * Asttypes.mutable_flag *
Asttypes.virtual_flag * core_type)
| Pctf_method of
(string Asttypes.loc * Asttypes.private_flag *
Asttypes.virtual_flag * core_type)
| Pctf_constraint of (core_type * core_type)
| Pctf_attribute of attribute
| Pctf_extension of extension
and 'a class_infos =
'a Parsetree.class_infos = {
pci_virt : Asttypes.virtual_flag;
pci_params : (core_type * Asttypes.variance) list;
pci_name : string Asttypes.loc;
pci_expr : 'a;
pci_loc : Location.t;
pci_attributes : attributes;
}
and class_description = class_type class_infos
and class_type_declaration = class_type class_infos
and class_expr =
Parsetree.class_expr = {
pcl_desc : class_expr_desc;
pcl_loc : Location.t;
pcl_attributes : attributes;
}
and class_expr_desc =
Parsetree.class_expr_desc =
Pcl_constr of Longident.t Asttypes.loc * core_type list
| Pcl_structure of class_structure
| Pcl_fun of Asttypes.arg_label * expression option *
pattern * class_expr
| Pcl_apply of class_expr *
(Asttypes.arg_label * expression) list
| Pcl_let of Asttypes.rec_flag * value_binding list *
class_expr
| Pcl_constraint of class_expr * class_type
| Pcl_extension of extension
and class_structure =
Parsetree.class_structure = {
pcstr_self : pattern;
pcstr_fields : class_field list;
}
and class_field =
Parsetree.class_field = {
pcf_desc : class_field_desc;
pcf_loc : Location.t;
pcf_attributes : attributes;
}
and class_field_desc =
Parsetree.class_field_desc =
Pcf_inherit of Asttypes.override_flag * class_expr *
string Asttypes.loc option
| Pcf_val of
(string Asttypes.loc * Asttypes.mutable_flag *
class_field_kind)
| Pcf_method of
(string Asttypes.loc * Asttypes.private_flag *
class_field_kind)
| Pcf_constraint of (core_type * core_type)
| Pcf_initializer of expression
| Pcf_attribute of attribute
| Pcf_extension of extension
and class_field_kind =
Parsetree.class_field_kind =
Cfk_virtual of core_type
| Cfk_concrete of Asttypes.override_flag * expression
and class_declaration = class_expr class_infos
and module_type =
Parsetree.module_type = {
pmty_desc : module_type_desc;
pmty_loc : Location.t;
pmty_attributes : attributes;
}
and module_type_desc =
Parsetree.module_type_desc =
Pmty_ident of Longident.t Asttypes.loc
| Pmty_signature of signature
| Pmty_functor of string Asttypes.loc * module_type option *
module_type
| Pmty_with of module_type * with_constraint list
| Pmty_typeof of module_expr
| Pmty_extension of extension
| Pmty_alias of Longident.t Asttypes.loc
and signature = signature_item list
and signature_item =
Parsetree.signature_item = {
psig_desc : signature_item_desc;
psig_loc : Location.t;
}
and signature_item_desc =
Parsetree.signature_item_desc =
Psig_value of value_description
| Psig_type of Asttypes.rec_flag * type_declaration list
| Psig_typext of type_extension
| Psig_exception of extension_constructor
| Psig_module of module_declaration
| Psig_recmodule of module_declaration list
| Psig_modtype of module_type_declaration
| Psig_open of open_description
| Psig_include of include_description
| Psig_class of class_description list
| Psig_class_type of class_type_declaration list
| Psig_attribute of attribute
| Psig_extension of extension * attributes
and module_declaration =
Parsetree.module_declaration = {
pmd_name : string Asttypes.loc;
pmd_type : module_type;
pmd_attributes : attributes;
pmd_loc : Location.t;
}
and module_type_declaration =
Parsetree.module_type_declaration = {
pmtd_name : string Asttypes.loc;
pmtd_type : module_type option;
pmtd_attributes : attributes;
pmtd_loc : Location.t;
}
and open_description =
Parsetree.open_description = {
popen_lid : Longident.t Asttypes.loc;
popen_override : Asttypes.override_flag;
popen_loc : Location.t;
popen_attributes : attributes;
}
and 'a include_infos =
'a Parsetree.include_infos = {
pincl_mod : 'a;
pincl_loc : Location.t;
pincl_attributes : attributes;
}
and include_description = module_type include_infos
and include_declaration = module_expr include_infos
and with_constraint =
Parsetree.with_constraint =
Pwith_type of Longident.t Asttypes.loc * type_declaration
| Pwith_module of Longident.t Asttypes.loc *
Longident.t Asttypes.loc
| Pwith_typesubst of type_declaration
| Pwith_modsubst of string Asttypes.loc *
Longident.t Asttypes.loc
and module_expr =
Parsetree.module_expr = {
pmod_desc : module_expr_desc;
pmod_loc : Location.t;
pmod_attributes : attributes;
}
and module_expr_desc =
Parsetree.module_expr_desc =
Pmod_ident of Longident.t Asttypes.loc
| Pmod_structure of structure
| Pmod_functor of string Asttypes.loc * module_type option *
module_expr
| Pmod_apply of module_expr * module_expr
| Pmod_constraint of module_expr * module_type
| Pmod_unpack of expression
| Pmod_extension of extension
and structure = structure_item list
and structure_item =
Parsetree.structure_item = {
pstr_desc : structure_item_desc;
pstr_loc : Location.t;
}
and structure_item_desc =
Parsetree.structure_item_desc =
Pstr_eval of expression * attributes
| Pstr_value of Asttypes.rec_flag * value_binding list
| Pstr_primitive of value_description
| Pstr_type of Asttypes.rec_flag * type_declaration list
| Pstr_typext of type_extension
| Pstr_exception of extension_constructor
| Pstr_module of module_binding
| Pstr_recmodule of module_binding list
| Pstr_modtype of module_type_declaration
| Pstr_open of open_description
| Pstr_class of class_declaration list
| Pstr_class_type of class_type_declaration list
| Pstr_include of include_declaration
| Pstr_attribute of attribute
| Pstr_extension of extension * attributes
and value_binding =
Parsetree.value_binding = {
pvb_pat : pattern;
pvb_expr : expression;
pvb_attributes : attributes;
pvb_loc : Location.t;
}
and module_binding =
Parsetree.module_binding = {
pmb_name : string Asttypes.loc;
pmb_expr : module_expr;
pmb_attributes : attributes;
pmb_loc : Location.t;
}
type toplevel_phrase =
Parsetree.toplevel_phrase =
Ptop_def of structure
| Ptop_dir of string * directive_argument
and directive_argument =
Parsetree.directive_argument =
Pdir_none
| Pdir_string of string
| Pdir_int of string * char option
| Pdir_ident of Longident.t
| Pdir_bool of bool
end
module Docstrings :
sig
type docstring = Ast_405.Docstrings.docstring
val docstring : string -> Location.t -> docstring
val docstring_body : docstring -> string
val docstring_loc : docstring -> Location.t
type docs =
Ast_405.Docstrings.docs = {
docs_pre : docstring option;
docs_post : docstring option;
}
val empty_docs : docs
val docs_attr : docstring -> Parsetree.attribute
val add_docs_attrs :
docs -> Parsetree.attributes -> Parsetree.attributes
type info = docstring option
val empty_info : info
val info_attr : docstring -> Parsetree.attribute
val add_info_attrs :
info -> Parsetree.attributes -> Parsetree.attributes
type text = docstring list
val empty_text : text
val text_attr : docstring -> Parsetree.attribute
val add_text_attrs :
text -> Parsetree.attributes -> Parsetree.attributes
end
module Ast_helper :
sig
type lid = Longident.t Asttypes.loc
type str = string Asttypes.loc
type loc = Location.t
type attrs = Parsetree.attribute list
val default_loc : loc ref
val with_default_loc : loc -> (unit -> 'a) -> 'a
module Const :
sig
val char : char -> Parsetree.constant
val string :
?quotation_delimiter:string ->
string -> Parsetree.constant
val integer : ?suffix:char -> string -> Parsetree.constant
val int : ?suffix:char -> int -> Parsetree.constant
val int32 : ?suffix:char -> int32 -> Parsetree.constant
val int64 : ?suffix:char -> int64 -> Parsetree.constant
val nativeint :
?suffix:char -> nativeint -> Parsetree.constant
val float : ?suffix:char -> string -> Parsetree.constant
end
module Typ :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
Parsetree.core_type_desc -> Parsetree.core_type
val attr :
Parsetree.core_type ->
Parsetree.attribute -> Parsetree.core_type
val any :
?loc:loc -> ?attrs:attrs -> unit -> Parsetree.core_type
val var :
?loc:loc -> ?attrs:attrs -> string -> Parsetree.core_type
val arrow :
?loc:loc ->
?attrs:attrs ->
Asttypes.arg_label ->
Parsetree.core_type ->
Parsetree.core_type -> Parsetree.core_type
val tuple :
?loc:loc ->
?attrs:attrs ->
Parsetree.core_type list -> Parsetree.core_type
val constr :
?loc:loc ->
?attrs:attrs ->
lid -> Parsetree.core_type list -> Parsetree.core_type
val object_ :
?loc:loc ->
?attrs:attrs ->
(str * Parsetree.attributes * Parsetree.core_type) list ->
Asttypes.closed_flag -> Parsetree.core_type
val class_ :
?loc:loc ->
?attrs:attrs ->
lid -> Parsetree.core_type list -> Parsetree.core_type
val alias :
?loc:loc ->
?attrs:attrs ->
Parsetree.core_type -> string -> Parsetree.core_type
val variant :
?loc:loc ->
?attrs:attrs ->
Parsetree.row_field list ->
Asttypes.closed_flag ->
Asttypes.label list option -> Parsetree.core_type
val poly :
?loc:loc ->
?attrs:attrs ->
str list -> Parsetree.core_type -> Parsetree.core_type
val package :
?loc:loc ->
?attrs:attrs ->
lid ->
(lid * Parsetree.core_type) list -> Parsetree.core_type
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.core_type
val force_poly : Parsetree.core_type -> Parsetree.core_type
val varify_constructors :
str list -> Parsetree.core_type -> Parsetree.core_type
end
module Pat :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
Parsetree.pattern_desc -> Parsetree.pattern
val attr :
Parsetree.pattern ->
Parsetree.attribute -> Parsetree.pattern
val any :
?loc:loc -> ?attrs:attrs -> unit -> Parsetree.pattern
val var :
?loc:loc -> ?attrs:attrs -> str -> Parsetree.pattern
val alias :
?loc:loc ->
?attrs:attrs ->
Parsetree.pattern -> str -> Parsetree.pattern
val constant :
?loc:loc ->
?attrs:attrs -> Parsetree.constant -> Parsetree.pattern
val interval :
?loc:loc ->
?attrs:attrs ->
Parsetree.constant ->
Parsetree.constant -> Parsetree.pattern
val tuple :
?loc:loc ->
?attrs:attrs ->
Parsetree.pattern list -> Parsetree.pattern
val construct :
?loc:loc ->
?attrs:attrs ->
lid -> Parsetree.pattern option -> Parsetree.pattern
val variant :
?loc:loc ->
?attrs:attrs ->
Asttypes.label ->
Parsetree.pattern option -> Parsetree.pattern
val record :
?loc:loc ->
?attrs:attrs ->
(lid * Parsetree.pattern) list ->
Asttypes.closed_flag -> Parsetree.pattern
val array :
?loc:loc ->
?attrs:attrs ->
Parsetree.pattern list -> Parsetree.pattern
val or_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.pattern ->
Parsetree.pattern -> Parsetree.pattern
val constraint_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.pattern ->
Parsetree.core_type -> Parsetree.pattern
val type_ :
?loc:loc -> ?attrs:attrs -> lid -> Parsetree.pattern
val lazy_ :
?loc:loc ->
?attrs:attrs -> Parsetree.pattern -> Parsetree.pattern
val unpack :
?loc:loc -> ?attrs:attrs -> str -> Parsetree.pattern
val open_ :
?loc:loc ->
?attrs:attrs ->
lid -> Parsetree.pattern -> Parsetree.pattern
val exception_ :
?loc:loc ->
?attrs:attrs -> Parsetree.pattern -> Parsetree.pattern
val extension :
?loc:loc ->
?attrs:attrs -> Parsetree.extension -> Parsetree.pattern
end
module Exp :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression_desc -> Parsetree.expression
val attr :
Parsetree.expression ->
Parsetree.attribute -> Parsetree.expression
val ident :
?loc:loc -> ?attrs:attrs -> lid -> Parsetree.expression
val constant :
?loc:loc ->
?attrs:attrs ->
Parsetree.constant -> Parsetree.expression
val let_ :
?loc:loc ->
?attrs:attrs ->
Asttypes.rec_flag ->
Parsetree.value_binding list ->
Parsetree.expression -> Parsetree.expression
val fun_ :
?loc:loc ->
?attrs:attrs ->
Asttypes.arg_label ->
Parsetree.expression option ->
Parsetree.pattern ->
Parsetree.expression -> Parsetree.expression
val function_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.case list -> Parsetree.expression
val apply :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
(Asttypes.arg_label * Parsetree.expression) list ->
Parsetree.expression
val match_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
Parsetree.case list -> Parsetree.expression
val try_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
Parsetree.case list -> Parsetree.expression
val tuple :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression list -> Parsetree.expression
val construct :
?loc:loc ->
?attrs:attrs ->
lid ->
Parsetree.expression option -> Parsetree.expression
val variant :
?loc:loc ->
?attrs:attrs ->
Asttypes.label ->
Parsetree.expression option -> Parsetree.expression
val record :
?loc:loc ->
?attrs:attrs ->
(lid * Parsetree.expression) list ->
Parsetree.expression option -> Parsetree.expression
val field :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression -> lid -> Parsetree.expression
val setfield :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
lid -> Parsetree.expression -> Parsetree.expression
val array :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression list -> Parsetree.expression
val ifthenelse :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
Parsetree.expression ->
Parsetree.expression option -> Parsetree.expression
val sequence :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
Parsetree.expression -> Parsetree.expression
val while_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
Parsetree.expression -> Parsetree.expression
val for_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.pattern ->
Parsetree.expression ->
Parsetree.expression ->
Asttypes.direction_flag ->
Parsetree.expression -> Parsetree.expression
val coerce :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
Parsetree.core_type option ->
Parsetree.core_type -> Parsetree.expression
val constraint_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
Parsetree.core_type -> Parsetree.expression
val send :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression -> str -> Parsetree.expression
val new_ :
?loc:loc -> ?attrs:attrs -> lid -> Parsetree.expression
val setinstvar :
?loc:loc ->
?attrs:attrs ->
str -> Parsetree.expression -> Parsetree.expression
val override :
?loc:loc ->
?attrs:attrs ->
(str * Parsetree.expression) list -> Parsetree.expression
val letmodule :
?loc:loc ->
?attrs:attrs ->
str ->
Parsetree.module_expr ->
Parsetree.expression -> Parsetree.expression
val letexception :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension_constructor ->
Parsetree.expression -> Parsetree.expression
val assert_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression -> Parsetree.expression
val lazy_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression -> Parsetree.expression
val poly :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
Parsetree.core_type option -> Parsetree.expression
val object_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.class_structure -> Parsetree.expression
val newtype :
?loc:loc ->
?attrs:attrs ->
str -> Parsetree.expression -> Parsetree.expression
val pack :
?loc:loc ->
?attrs:attrs ->
Parsetree.module_expr -> Parsetree.expression
val open_ :
?loc:loc ->
?attrs:attrs ->
Asttypes.override_flag ->
lid -> Parsetree.expression -> Parsetree.expression
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.expression
val unreachable :
?loc:loc -> ?attrs:attrs -> unit -> Parsetree.expression
val case :
Parsetree.pattern ->
?guard:Parsetree.expression ->
Parsetree.expression -> Parsetree.case
end
module Val :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?prim:string list ->
str -> Parsetree.core_type -> Parsetree.value_description
end
module Type :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?text:Docstrings.text ->
?params:(Parsetree.core_type * Asttypes.variance) list ->
?cstrs:(Parsetree.core_type * Parsetree.core_type * loc)
list ->
?kind:Parsetree.type_kind ->
?priv:Asttypes.private_flag ->
?manifest:Parsetree.core_type ->
str -> Parsetree.type_declaration
val constructor :
?loc:loc ->
?attrs:attrs ->
?info:Docstrings.info ->
?args:Parsetree.constructor_arguments ->
?res:Parsetree.core_type ->
str -> Parsetree.constructor_declaration
val field :
?loc:loc ->
?attrs:attrs ->
?info:Docstrings.info ->
?mut:Asttypes.mutable_flag ->
str -> Parsetree.core_type -> Parsetree.label_declaration
end
module Te :
sig
val mk :
?attrs:attrs ->
?docs:Docstrings.docs ->
?params:(Parsetree.core_type * Asttypes.variance) list ->
?priv:Asttypes.private_flag ->
lid ->
Parsetree.extension_constructor list ->
Parsetree.type_extension
val constructor :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?info:Docstrings.info ->
str ->
Parsetree.extension_constructor_kind ->
Parsetree.extension_constructor
val decl :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?info:Docstrings.info ->
?args:Parsetree.constructor_arguments ->
?res:Parsetree.core_type ->
str -> Parsetree.extension_constructor
val rebind :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?info:Docstrings.info ->
str -> lid -> Parsetree.extension_constructor
end
module Mty :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
Parsetree.module_type_desc -> Parsetree.module_type
val attr :
Parsetree.module_type ->
Parsetree.attribute -> Parsetree.module_type
val ident :
?loc:loc -> ?attrs:attrs -> lid -> Parsetree.module_type
val alias :
?loc:loc -> ?attrs:attrs -> lid -> Parsetree.module_type
val signature :
?loc:loc ->
?attrs:attrs ->
Parsetree.signature -> Parsetree.module_type
val functor_ :
?loc:loc ->
?attrs:attrs ->
str ->
Parsetree.module_type option ->
Parsetree.module_type -> Parsetree.module_type
val with_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.module_type ->
Parsetree.with_constraint list -> Parsetree.module_type
val typeof_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.module_expr -> Parsetree.module_type
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.module_type
end
module Mod :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
Parsetree.module_expr_desc -> Parsetree.module_expr
val attr :
Parsetree.module_expr ->
Parsetree.attribute -> Parsetree.module_expr
val ident :
?loc:loc -> ?attrs:attrs -> lid -> Parsetree.module_expr
val structure :
?loc:loc ->
?attrs:attrs ->
Parsetree.structure -> Parsetree.module_expr
val functor_ :
?loc:loc ->
?attrs:attrs ->
str ->
Parsetree.module_type option ->
Parsetree.module_expr -> Parsetree.module_expr
val apply :
?loc:loc ->
?attrs:attrs ->
Parsetree.module_expr ->
Parsetree.module_expr -> Parsetree.module_expr
val constraint_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.module_expr ->
Parsetree.module_type -> Parsetree.module_expr
val unpack :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression -> Parsetree.module_expr
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.module_expr
end
module Sig :
sig
val mk :
?loc:loc ->
Parsetree.signature_item_desc -> Parsetree.signature_item
val value :
?loc:loc ->
Parsetree.value_description -> Parsetree.signature_item
val type_ :
?loc:loc ->
Asttypes.rec_flag ->
Parsetree.type_declaration list ->
Parsetree.signature_item
val type_extension :
?loc:loc ->
Parsetree.type_extension -> Parsetree.signature_item
val exception_ :
?loc:loc ->
Parsetree.extension_constructor ->
Parsetree.signature_item
val module_ :
?loc:loc ->
Parsetree.module_declaration -> Parsetree.signature_item
val rec_module :
?loc:loc ->
Parsetree.module_declaration list ->
Parsetree.signature_item
val modtype :
?loc:loc ->
Parsetree.module_type_declaration ->
Parsetree.signature_item
val open_ :
?loc:loc ->
Parsetree.open_description -> Parsetree.signature_item
val include_ :
?loc:loc ->
Parsetree.include_description -> Parsetree.signature_item
val class_ :
?loc:loc ->
Parsetree.class_description list ->
Parsetree.signature_item
val class_type :
?loc:loc ->
Parsetree.class_type_declaration list ->
Parsetree.signature_item
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.signature_item
val attribute :
?loc:loc ->
Parsetree.attribute -> Parsetree.signature_item
val text : Docstrings.text -> Parsetree.signature_item list
end
module Str :
sig
val mk :
?loc:loc ->
Parsetree.structure_item_desc -> Parsetree.structure_item
val eval :
?loc:loc ->
?attrs:Parsetree.attributes ->
Parsetree.expression -> Parsetree.structure_item
val value :
?loc:loc ->
Asttypes.rec_flag ->
Parsetree.value_binding list -> Parsetree.structure_item
val primitive :
?loc:loc ->
Parsetree.value_description -> Parsetree.structure_item
val type_ :
?loc:loc ->
Asttypes.rec_flag ->
Parsetree.type_declaration list ->
Parsetree.structure_item
val type_extension :
?loc:loc ->
Parsetree.type_extension -> Parsetree.structure_item
val exception_ :
?loc:loc ->
Parsetree.extension_constructor ->
Parsetree.structure_item
val module_ :
?loc:loc ->
Parsetree.module_binding -> Parsetree.structure_item
val rec_module :
?loc:loc ->
Parsetree.module_binding list -> Parsetree.structure_item
val modtype :
?loc:loc ->
Parsetree.module_type_declaration ->
Parsetree.structure_item
val open_ :
?loc:loc ->
Parsetree.open_description -> Parsetree.structure_item
val class_ :
?loc:loc ->
Parsetree.class_declaration list ->
Parsetree.structure_item
val class_type :
?loc:loc ->
Parsetree.class_type_declaration list ->
Parsetree.structure_item
val include_ :
?loc:loc ->
Parsetree.include_declaration -> Parsetree.structure_item
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.structure_item
val attribute :
?loc:loc ->
Parsetree.attribute -> Parsetree.structure_item
val text : Docstrings.text -> Parsetree.structure_item list
end
module Md :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?text:Docstrings.text ->
str ->
Parsetree.module_type -> Parsetree.module_declaration
end
module Mtd :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?text:Docstrings.text ->
?typ:Parsetree.module_type ->
str -> Parsetree.module_type_declaration
end
module Mb :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?text:Docstrings.text ->
str -> Parsetree.module_expr -> Parsetree.module_binding
end
module Opn :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?override:Asttypes.override_flag ->
lid -> Parsetree.open_description
end
module Incl :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs -> 'a -> 'a Parsetree.include_infos
end
module Vb :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?text:Docstrings.text ->
Parsetree.pattern ->
Parsetree.expression -> Parsetree.value_binding
end
module Cty :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
Parsetree.class_type_desc -> Parsetree.class_type
val attr :
Parsetree.class_type ->
Parsetree.attribute -> Parsetree.class_type
val constr :
?loc:loc ->
?attrs:attrs ->
lid -> Parsetree.core_type list -> Parsetree.class_type
val signature :
?loc:loc ->
?attrs:attrs ->
Parsetree.class_signature -> Parsetree.class_type
val arrow :
?loc:loc ->
?attrs:attrs ->
Asttypes.arg_label ->
Parsetree.core_type ->
Parsetree.class_type -> Parsetree.class_type
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.class_type
end
module Ctf :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
Parsetree.class_type_field_desc ->
Parsetree.class_type_field
val attr :
Parsetree.class_type_field ->
Parsetree.attribute -> Parsetree.class_type_field
val inherit_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.class_type -> Parsetree.class_type_field
val val_ :
?loc:loc ->
?attrs:attrs ->
str ->
Asttypes.mutable_flag ->
Asttypes.virtual_flag ->
Parsetree.core_type -> Parsetree.class_type_field
val method_ :
?loc:loc ->
?attrs:attrs ->
str ->
Asttypes.private_flag ->
Asttypes.virtual_flag ->
Parsetree.core_type -> Parsetree.class_type_field
val constraint_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.core_type ->
Parsetree.core_type -> Parsetree.class_type_field
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.class_type_field
val attribute :
?loc:loc ->
Parsetree.attribute -> Parsetree.class_type_field
val text :
Docstrings.text -> Parsetree.class_type_field list
end
module Cl :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
Parsetree.class_expr_desc -> Parsetree.class_expr
val attr :
Parsetree.class_expr ->
Parsetree.attribute -> Parsetree.class_expr
val constr :
?loc:loc ->
?attrs:attrs ->
lid -> Parsetree.core_type list -> Parsetree.class_expr
val structure :
?loc:loc ->
?attrs:attrs ->
Parsetree.class_structure -> Parsetree.class_expr
val fun_ :
?loc:loc ->
?attrs:attrs ->
Asttypes.arg_label ->
Parsetree.expression option ->
Parsetree.pattern ->
Parsetree.class_expr -> Parsetree.class_expr
val apply :
?loc:loc ->
?attrs:attrs ->
Parsetree.class_expr ->
(Asttypes.arg_label * Parsetree.expression) list ->
Parsetree.class_expr
val let_ :
?loc:loc ->
?attrs:attrs ->
Asttypes.rec_flag ->
Parsetree.value_binding list ->
Parsetree.class_expr -> Parsetree.class_expr
val constraint_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.class_expr ->
Parsetree.class_type -> Parsetree.class_expr
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.class_expr
end
module Cf :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
Parsetree.class_field_desc -> Parsetree.class_field
val attr :
Parsetree.class_field ->
Parsetree.attribute -> Parsetree.class_field
val inherit_ :
?loc:loc ->
?attrs:attrs ->
Asttypes.override_flag ->
Parsetree.class_expr ->
str option -> Parsetree.class_field
val val_ :
?loc:loc ->
?attrs:attrs ->
str ->
Asttypes.mutable_flag ->
Parsetree.class_field_kind -> Parsetree.class_field
val method_ :
?loc:loc ->
?attrs:attrs ->
str ->
Asttypes.private_flag ->
Parsetree.class_field_kind -> Parsetree.class_field
val constraint_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.core_type ->
Parsetree.core_type -> Parsetree.class_field
val initializer_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression -> Parsetree.class_field
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.class_field
val attribute :
?loc:loc -> Parsetree.attribute -> Parsetree.class_field
val text : Docstrings.text -> Parsetree.class_field list
val virtual_ :
Parsetree.core_type -> Parsetree.class_field_kind
val concrete :
Asttypes.override_flag ->
Parsetree.expression -> Parsetree.class_field_kind
end
module Ci :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?text:Docstrings.text ->
?virt:Asttypes.virtual_flag ->
?params:(Parsetree.core_type * Asttypes.variance) list ->
str -> 'a -> 'a Parsetree.class_infos
end
module Csig :
sig
val mk :
Parsetree.core_type ->
Parsetree.class_type_field list ->
Parsetree.class_signature
end
module Cstr :
sig
val mk :
Parsetree.pattern ->
Parsetree.class_field list -> Parsetree.class_structure
end
end
module Ast_mapper :
sig
type mapper =
Ast_mapper.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;
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 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
end
module Outcometree :
sig
type out_ident =
Outcometree.out_ident =
Oide_apply of out_ident * out_ident
| Oide_dot of out_ident * string
| Oide_ident of string
type out_attribute =
Outcometree.out_attribute = {
oattr_name : string;
}
type out_value =
Outcometree.out_value =
Oval_array of out_value list
| Oval_char of char
| Oval_constr of out_ident * out_value list
| Oval_ellipsis
| Oval_float of float
| Oval_int of int
| Oval_int32 of int32
| Oval_int64 of int64
| Oval_nativeint of nativeint
| Oval_list of out_value list
| Oval_printer of (Format.formatter -> unit)
| Oval_record of (out_ident * out_value) list
| Oval_string of string
| Oval_stuff of string
| Oval_tuple of out_value list
| Oval_variant of string * out_value option
type out_type =
Outcometree.out_type =
Otyp_abstract
| Otyp_open
| Otyp_alias of out_type * string
| Otyp_arrow of string * out_type * out_type
| Otyp_class of bool * out_ident * out_type list
| Otyp_constr of out_ident * out_type list
| Otyp_manifest of out_type * out_type
| Otyp_object of (string * out_type) list * bool option
| Otyp_record of (string * bool * out_type) list
| Otyp_stuff of string
| Otyp_sum of (string * out_type list * out_type option) list
| Otyp_tuple of out_type list
| Otyp_var of bool * string
| Otyp_variant of bool * out_variant * bool *
string list option
| Otyp_poly of string list * out_type
| Otyp_module of string * string list * out_type list
| Otyp_attribute of out_type * out_attribute
and out_variant =
Outcometree.out_variant =
Ovar_fields of (string * bool * out_type list) list
| Ovar_typ of out_type
type out_class_type =
Outcometree.out_class_type =
Octy_constr of out_ident * out_type list
| Octy_arrow of string * out_type * out_class_type
| Octy_signature of out_type option * out_class_sig_item list
and out_class_sig_item =
Outcometree.out_class_sig_item =
Ocsg_constraint of out_type * out_type
| Ocsg_method of string * bool * bool * out_type
| Ocsg_value of string * bool * bool * out_type
type out_module_type =
Outcometree.out_module_type =
Omty_abstract
| Omty_functor of string * out_module_type option *
out_module_type
| Omty_ident of out_ident
| Omty_signature of out_sig_item list
| Omty_alias of out_ident
and out_sig_item =
Outcometree.out_sig_item =
Osig_class of bool * string *
(string * (bool * bool)) list * out_class_type *
out_rec_status
| Osig_class_type of bool * string *
(string * (bool * bool)) list * out_class_type *
out_rec_status
| Osig_typext of out_extension_constructor * out_ext_status
| Osig_modtype of string * out_module_type
| Osig_module of string * out_module_type * out_rec_status
| Osig_type of out_type_decl * out_rec_status
| Osig_value of out_val_decl
| Osig_ellipsis
and out_type_decl =
Outcometree.out_type_decl = {
otype_name : string;
otype_params : (string * (bool * bool)) list;
otype_type : out_type;
otype_private : Asttypes.private_flag;
otype_immediate : bool;
otype_unboxed : bool;
otype_cstrs : (out_type * out_type) list;
}
and out_extension_constructor =
Outcometree.out_extension_constructor = {
oext_name : string;
oext_type_name : string;
oext_type_params : string list;
oext_args : out_type list;
oext_ret_type : out_type option;
oext_private : Asttypes.private_flag;
}
and out_type_extension =
Outcometree.out_type_extension = {
otyext_name : string;
otyext_params : string list;
otyext_constructors :
(string * out_type list * out_type option) list;
otyext_private : Asttypes.private_flag;
}
and out_val_decl =
Outcometree.out_val_decl = {
oval_name : string;
oval_type : out_type;
oval_prims : string list;
oval_attributes : out_attribute list;
}
and out_rec_status =
Outcometree.out_rec_status =
Orec_not
| Orec_first
| Orec_next
and out_ext_status =
Outcometree.out_ext_status =
Oext_first
| Oext_next
| Oext_exception
type out_phrase =
Outcometree.out_phrase =
Ophr_eval of out_value * out_type
| Ophr_signature of (out_sig_item * out_value option) list
| Ophr_exception of (exn * out_value)
end
module Config :
sig
val ast_impl_magic_number : string
val ast_intf_magic_number : string
end
val map_signature :
Ast_mapper.mapper -> Parsetree.signature -> Parsetree.signature
val map_structure :
Ast_mapper.mapper -> Parsetree.structure -> Parsetree.structure
val shallow_identity : Ast_mapper.mapper
val failing_mapper : Ast_mapper.mapper
val make_top_mapper :
signature:(Parsetree.signature -> Parsetree.signature) ->
structure:(Parsetree.structure -> Parsetree.structure) ->
Ast_mapper.mapper
end
val version : int
val string_version : string
type types =
< case : Ast.Parsetree.case; core_type : Ast.Parsetree.core_type;
expression : Ast.Parsetree.expression;
extension_constructor : Ast.Parsetree.extension_constructor;
mapper : Ast.Ast_mapper.mapper;
out_class_type : Ast.Outcometree.out_class_type;
out_module_type : Ast.Outcometree.out_module_type;
out_phrase : Ast.Outcometree.out_phrase;
out_sig_item : Ast.Outcometree.out_sig_item;
out_type : Ast.Outcometree.out_type;
out_type_extension : Ast.Outcometree.out_type_extension;
out_value : Ast.Outcometree.out_value;
pattern : Ast.Parsetree.pattern;
signature : Ast.Parsetree.signature;
structure : Ast.Parsetree.structure;
toplevel_phrase : Ast.Parsetree.toplevel_phrase;
type_declaration : Ast.Parsetree.type_declaration;
type_extension : Ast.Parsetree.type_extension >
_types
type _ witnesses += Version : types witnesses
val migration_info : types migration_info
end
val ocaml_405 :
Migrate_parsetree_versions.OCaml_405.types
Migrate_parsetree_versions.ocaml_version
module OCaml_406 :
sig
module Ast :
sig
module Location :
sig
type t =
Location.t = {
loc_start : Lexing.position;
loc_end : Lexing.position;
loc_ghost : bool;
}
val none : t
val in_file : string -> t
val init : Lexing.lexbuf -> string -> unit
val curr : Lexing.lexbuf -> t
val symbol_rloc : unit -> t
val symbol_gloc : unit -> t
val rhs_loc : int -> t
val input_name : string ref
val input_lexbuf : Lexing.lexbuf option ref
val get_pos_info : Lexing.position -> string * int * int
val print_loc : Format.formatter -> t -> unit
val print_error : Format.formatter -> t -> unit
val print_error_cur_file : Format.formatter -> unit -> unit
val print_warning : t -> Format.formatter -> Warnings.t -> unit
val formatter_for_warnings : Format.formatter ref
val prerr_warning : t -> Warnings.t -> unit
val echo_eof : unit -> unit
val reset : unit -> unit
val warning_printer :
(t -> Format.formatter -> Warnings.t -> unit) ref
val default_warning_printer :
t -> Format.formatter -> Warnings.t -> unit
val highlight_locations : Format.formatter -> t list -> bool
type 'a loc = 'a Location.loc = { txt : 'a; loc : t; }
val mknoloc : 'a -> 'a loc
val mkloc : 'a -> t -> 'a loc
val print : Format.formatter -> t -> unit
val print_compact : Format.formatter -> t -> unit
val print_filename : Format.formatter -> string -> unit
val absolute_path : string -> string
val show_filename : string -> string
val absname : bool ref
type error =
Location.error = {
loc : t;
msg : string;
sub : error list;
if_highlight : string;
}
exception Error of error
val print_error_prefix : Format.formatter -> unit -> unit
val error :
?loc:t ->
?sub:error list -> ?if_highlight:string -> string -> error
val errorf :
?loc:t ->
?sub:error list ->
?if_highlight:string ->
('a, Format.formatter, unit, error) format4 -> 'a
val raise_errorf :
?loc:t ->
?sub:error list ->
?if_highlight:string ->
('a, Format.formatter, unit, 'b) format4 -> 'a
val error_of_printer :
t -> (Format.formatter -> 'a -> unit) -> 'a -> error
val error_of_printer_file :
(Format.formatter -> 'a -> unit) -> 'a -> error
val error_of_exn : exn -> error option
val register_error_of_exn : (exn -> error option) -> unit
val report_error : Format.formatter -> error -> unit
val error_reporter : (Format.formatter -> error -> unit) ref
val default_error_reporter : Format.formatter -> error -> unit
val report_exception : Format.formatter -> exn -> unit
end
module Longident :
sig
type t =
Longident.t =
Lident of string
| Ldot of t * string
| Lapply of t * t
val flatten : t -> string list
val last : t -> string
val parse : string -> t
end
module Asttypes :
sig
type constant =
Ast_406.Asttypes.constant =
Const_int of int
| Const_char of char
| Const_string of string * string option
| Const_float of string
| Const_int32 of int32
| Const_int64 of int64
| Const_nativeint of nativeint
type rec_flag =
Ast_406.Asttypes.rec_flag =
Nonrecursive
| Recursive
type direction_flag =
Ast_406.Asttypes.direction_flag =
Upto
| Downto
type private_flag =
Ast_406.Asttypes.private_flag =
Private
| Public
type mutable_flag =
Ast_406.Asttypes.mutable_flag =
Immutable
| Mutable
type virtual_flag =
Ast_406.Asttypes.virtual_flag =
Virtual
| Concrete
type override_flag =
Ast_406.Asttypes.override_flag =
Override
| Fresh
type closed_flag = Ast_406.Asttypes.closed_flag = Closed | Open
type label = string
type arg_label =
Ast_406.Asttypes.arg_label =
Nolabel
| Labelled of string
| Optional of string
type 'a loc = 'a Location.loc = { txt : 'a; loc : Location.t; }
type variance =
Ast_406.Asttypes.variance =
Covariant
| Contravariant
| Invariant
end
module Parsetree :
sig
type constant =
Ast_406.Parsetree.constant =
Pconst_integer of string * char option
| Pconst_char of char
| Pconst_string of string * string option
| Pconst_float of string * char option
type attribute = string Asttypes.loc * payload
and extension = string Asttypes.loc * payload
and attributes = attribute list
and payload =
Ast_406.Parsetree.payload =
PStr of structure
| PSig of signature
| PTyp of core_type
| PPat of pattern * expression option
and core_type =
Ast_406.Parsetree.core_type = {
ptyp_desc : core_type_desc;
ptyp_loc : Location.t;
ptyp_attributes : attributes;
}
and core_type_desc =
Ast_406.Parsetree.core_type_desc =
Ptyp_any
| Ptyp_var of string
| Ptyp_arrow of Asttypes.arg_label * core_type * core_type
| Ptyp_tuple of core_type list
| Ptyp_constr of Longident.t Asttypes.loc * core_type list
| Ptyp_object of object_field list * Asttypes.closed_flag
| Ptyp_class of Longident.t Asttypes.loc * core_type list
| Ptyp_alias of core_type * string
| Ptyp_variant of row_field list * Asttypes.closed_flag *
Asttypes.label list option
| Ptyp_poly of string Asttypes.loc list * core_type
| Ptyp_package of package_type
| Ptyp_extension of extension
and package_type =
Longident.t Asttypes.loc *
(Longident.t Asttypes.loc * core_type) list
and row_field =
Ast_406.Parsetree.row_field =
Rtag of Asttypes.label Asttypes.loc * attributes *
bool * core_type list
| Rinherit of core_type
and object_field =
Ast_406.Parsetree.object_field =
Otag of Asttypes.label Asttypes.loc * attributes *
core_type
| Oinherit of core_type
and pattern =
Ast_406.Parsetree.pattern = {
ppat_desc : pattern_desc;
ppat_loc : Location.t;
ppat_attributes : attributes;
}
and pattern_desc =
Ast_406.Parsetree.pattern_desc =
Ppat_any
| Ppat_var of string Asttypes.loc
| Ppat_alias of pattern * string Asttypes.loc
| Ppat_constant of constant
| Ppat_interval of constant * constant
| Ppat_tuple of pattern list
| Ppat_construct of Longident.t Asttypes.loc * pattern option
| Ppat_variant of Asttypes.label * pattern option
| Ppat_record of (Longident.t Asttypes.loc * pattern) list *
Asttypes.closed_flag
| Ppat_array of pattern list
| Ppat_or of pattern * pattern
| Ppat_constraint of pattern * core_type
| Ppat_type of Longident.t Asttypes.loc
| Ppat_lazy of pattern
| Ppat_unpack of string Asttypes.loc
| Ppat_exception of pattern
| Ppat_extension of extension
| Ppat_open of Longident.t Asttypes.loc * pattern
and expression =
Ast_406.Parsetree.expression = {
pexp_desc : expression_desc;
pexp_loc : Location.t;
pexp_attributes : attributes;
}
and expression_desc =
Ast_406.Parsetree.expression_desc =
Pexp_ident of Longident.t Asttypes.loc
| Pexp_constant of constant
| Pexp_let of Asttypes.rec_flag * value_binding list *
expression
| Pexp_function of case list
| Pexp_fun of Asttypes.arg_label * expression option *
pattern * expression
| Pexp_apply of expression *
(Asttypes.arg_label * expression) list
| Pexp_match of expression * case list
| Pexp_try of expression * case list
| Pexp_tuple of expression list
| Pexp_construct of Longident.t Asttypes.loc *
expression option
| Pexp_variant of Asttypes.label * expression option
| Pexp_record of
(Longident.t Asttypes.loc * expression) list *
expression option
| Pexp_field of expression * Longident.t Asttypes.loc
| Pexp_setfield of expression * Longident.t Asttypes.loc *
expression
| Pexp_array of expression list
| Pexp_ifthenelse of expression * expression *
expression option
| Pexp_sequence of expression * expression
| Pexp_while of expression * expression
| Pexp_for of pattern * expression * expression *
Asttypes.direction_flag * expression
| Pexp_constraint of expression * core_type
| Pexp_coerce of expression * core_type option * core_type
| Pexp_send of expression * Asttypes.label Asttypes.loc
| Pexp_new of Longident.t Asttypes.loc
| Pexp_setinstvar of Asttypes.label Asttypes.loc * expression
| Pexp_override of
(Asttypes.label Asttypes.loc * expression) list
| Pexp_letmodule of string Asttypes.loc * module_expr *
expression
| Pexp_letexception of extension_constructor * expression
| Pexp_assert of expression
| Pexp_lazy of expression
| Pexp_poly of expression * core_type option
| Pexp_object of class_structure
| Pexp_newtype of string Asttypes.loc * expression
| Pexp_pack of module_expr
| Pexp_open of Asttypes.override_flag *
Longident.t Asttypes.loc * expression
| Pexp_extension of extension
| Pexp_unreachable
and case =
Ast_406.Parsetree.case = {
pc_lhs : pattern;
pc_guard : expression option;
pc_rhs : expression;
}
and value_description =
Ast_406.Parsetree.value_description = {
pval_name : string Asttypes.loc;
pval_type : core_type;
pval_prim : string list;
pval_attributes : attributes;
pval_loc : Location.t;
}
and type_declaration =
Ast_406.Parsetree.type_declaration = {
ptype_name : string Asttypes.loc;
ptype_params : (core_type * Asttypes.variance) list;
ptype_cstrs : (core_type * core_type * Location.t) list;
ptype_kind : type_kind;
ptype_private : Asttypes.private_flag;
ptype_manifest : core_type option;
ptype_attributes : attributes;
ptype_loc : Location.t;
}
and type_kind =
Ast_406.Parsetree.type_kind =
Ptype_abstract
| Ptype_variant of constructor_declaration list
| Ptype_record of label_declaration list
| Ptype_open
and label_declaration =
Ast_406.Parsetree.label_declaration = {
pld_name : string Asttypes.loc;
pld_mutable : Asttypes.mutable_flag;
pld_type : core_type;
pld_loc : Location.t;
pld_attributes : attributes;
}
and constructor_declaration =
Ast_406.Parsetree.constructor_declaration = {
pcd_name : string Asttypes.loc;
pcd_args : constructor_arguments;
pcd_res : core_type option;
pcd_loc : Location.t;
pcd_attributes : attributes;
}
and constructor_arguments =
Ast_406.Parsetree.constructor_arguments =
Pcstr_tuple of core_type list
| Pcstr_record of label_declaration list
and type_extension =
Ast_406.Parsetree.type_extension = {
ptyext_path : Longident.t Asttypes.loc;
ptyext_params : (core_type * Asttypes.variance) list;
ptyext_constructors : extension_constructor list;
ptyext_private : Asttypes.private_flag;
ptyext_attributes : attributes;
}
and extension_constructor =
Ast_406.Parsetree.extension_constructor = {
pext_name : string Asttypes.loc;
pext_kind : extension_constructor_kind;
pext_loc : Location.t;
pext_attributes : attributes;
}
and extension_constructor_kind =
Ast_406.Parsetree.extension_constructor_kind =
Pext_decl of constructor_arguments * core_type option
| Pext_rebind of Longident.t Asttypes.loc
and class_type =
Ast_406.Parsetree.class_type = {
pcty_desc : class_type_desc;
pcty_loc : Location.t;
pcty_attributes : attributes;
}
and class_type_desc =
Ast_406.Parsetree.class_type_desc =
Pcty_constr of Longident.t Asttypes.loc * core_type list
| Pcty_signature of class_signature
| Pcty_arrow of Asttypes.arg_label * core_type * class_type
| Pcty_extension of extension
| Pcty_open of Asttypes.override_flag *
Longident.t Asttypes.loc * class_type
and class_signature =
Ast_406.Parsetree.class_signature = {
pcsig_self : core_type;
pcsig_fields : class_type_field list;
}
and class_type_field =
Ast_406.Parsetree.class_type_field = {
pctf_desc : class_type_field_desc;
pctf_loc : Location.t;
pctf_attributes : attributes;
}
and class_type_field_desc =
Ast_406.Parsetree.class_type_field_desc =
Pctf_inherit of class_type
| Pctf_val of
(Asttypes.label Asttypes.loc * Asttypes.mutable_flag *
Asttypes.virtual_flag * core_type)
| Pctf_method of
(Asttypes.label Asttypes.loc * Asttypes.private_flag *
Asttypes.virtual_flag * core_type)
| Pctf_constraint of (core_type * core_type)
| Pctf_attribute of attribute
| Pctf_extension of extension
and 'a class_infos =
'a Ast_406.Parsetree.class_infos = {
pci_virt : Asttypes.virtual_flag;
pci_params : (core_type * Asttypes.variance) list;
pci_name : string Asttypes.loc;
pci_expr : 'a;
pci_loc : Location.t;
pci_attributes : attributes;
}
and class_description = class_type class_infos
and class_type_declaration = class_type class_infos
and class_expr =
Ast_406.Parsetree.class_expr = {
pcl_desc : class_expr_desc;
pcl_loc : Location.t;
pcl_attributes : attributes;
}
and class_expr_desc =
Ast_406.Parsetree.class_expr_desc =
Pcl_constr of Longident.t Asttypes.loc * core_type list
| Pcl_structure of class_structure
| Pcl_fun of Asttypes.arg_label * expression option *
pattern * class_expr
| Pcl_apply of class_expr *
(Asttypes.arg_label * expression) list
| Pcl_let of Asttypes.rec_flag * value_binding list *
class_expr
| Pcl_constraint of class_expr * class_type
| Pcl_extension of extension
| Pcl_open of Asttypes.override_flag *
Longident.t Asttypes.loc * class_expr
and class_structure =
Ast_406.Parsetree.class_structure = {
pcstr_self : pattern;
pcstr_fields : class_field list;
}
and class_field =
Ast_406.Parsetree.class_field = {
pcf_desc : class_field_desc;
pcf_loc : Location.t;
pcf_attributes : attributes;
}
and class_field_desc =
Ast_406.Parsetree.class_field_desc =
Pcf_inherit of Asttypes.override_flag * class_expr *
string Asttypes.loc option
| Pcf_val of
(Asttypes.label Asttypes.loc * Asttypes.mutable_flag *
class_field_kind)
| Pcf_method of
(Asttypes.label Asttypes.loc * Asttypes.private_flag *
class_field_kind)
| Pcf_constraint of (core_type * core_type)
| Pcf_initializer of expression
| Pcf_attribute of attribute
| Pcf_extension of extension
and class_field_kind =
Ast_406.Parsetree.class_field_kind =
Cfk_virtual of core_type
| Cfk_concrete of Asttypes.override_flag * expression
and class_declaration = class_expr class_infos
and module_type =
Ast_406.Parsetree.module_type = {
pmty_desc : module_type_desc;
pmty_loc : Location.t;
pmty_attributes : attributes;
}
and module_type_desc =
Ast_406.Parsetree.module_type_desc =
Pmty_ident of Longident.t Asttypes.loc
| Pmty_signature of signature
| Pmty_functor of string Asttypes.loc * module_type option *
module_type
| Pmty_with of module_type * with_constraint list
| Pmty_typeof of module_expr
| Pmty_extension of extension
| Pmty_alias of Longident.t Asttypes.loc
and signature = signature_item list
and signature_item =
Ast_406.Parsetree.signature_item = {
psig_desc : signature_item_desc;
psig_loc : Location.t;
}
and signature_item_desc =
Ast_406.Parsetree.signature_item_desc =
Psig_value of value_description
| Psig_type of Asttypes.rec_flag * type_declaration list
| Psig_typext of type_extension
| Psig_exception of extension_constructor
| Psig_module of module_declaration
| Psig_recmodule of module_declaration list
| Psig_modtype of module_type_declaration
| Psig_open of open_description
| Psig_include of include_description
| Psig_class of class_description list
| Psig_class_type of class_type_declaration list
| Psig_attribute of attribute
| Psig_extension of extension * attributes
and module_declaration =
Ast_406.Parsetree.module_declaration = {
pmd_name : string Asttypes.loc;
pmd_type : module_type;
pmd_attributes : attributes;
pmd_loc : Location.t;
}
and module_type_declaration =
Ast_406.Parsetree.module_type_declaration = {
pmtd_name : string Asttypes.loc;
pmtd_type : module_type option;
pmtd_attributes : attributes;
pmtd_loc : Location.t;
}
and open_description =
Ast_406.Parsetree.open_description = {
popen_lid : Longident.t Asttypes.loc;
popen_override : Asttypes.override_flag;
popen_loc : Location.t;
popen_attributes : attributes;
}
and 'a include_infos =
'a Ast_406.Parsetree.include_infos = {
pincl_mod : 'a;
pincl_loc : Location.t;
pincl_attributes : attributes;
}
and include_description = module_type include_infos
and include_declaration = module_expr include_infos
and with_constraint =
Ast_406.Parsetree.with_constraint =
Pwith_type of Longident.t Asttypes.loc * type_declaration
| Pwith_module of Longident.t Asttypes.loc *
Longident.t Asttypes.loc
| Pwith_typesubst of Longident.t Asttypes.loc *
type_declaration
| Pwith_modsubst of Longident.t Asttypes.loc *
Longident.t Asttypes.loc
and module_expr =
Ast_406.Parsetree.module_expr = {
pmod_desc : module_expr_desc;
pmod_loc : Location.t;
pmod_attributes : attributes;
}
and module_expr_desc =
Ast_406.Parsetree.module_expr_desc =
Pmod_ident of Longident.t Asttypes.loc
| Pmod_structure of structure
| Pmod_functor of string Asttypes.loc * module_type option *
module_expr
| Pmod_apply of module_expr * module_expr
| Pmod_constraint of module_expr * module_type
| Pmod_unpack of expression
| Pmod_extension of extension
and structure = structure_item list
and structure_item =
Ast_406.Parsetree.structure_item = {
pstr_desc : structure_item_desc;
pstr_loc : Location.t;
}
and structure_item_desc =
Ast_406.Parsetree.structure_item_desc =
Pstr_eval of expression * attributes
| Pstr_value of Asttypes.rec_flag * value_binding list
| Pstr_primitive of value_description
| Pstr_type of Asttypes.rec_flag * type_declaration list
| Pstr_typext of type_extension
| Pstr_exception of extension_constructor
| Pstr_module of module_binding
| Pstr_recmodule of module_binding list
| Pstr_modtype of module_type_declaration
| Pstr_open of open_description
| Pstr_class of class_declaration list
| Pstr_class_type of class_type_declaration list
| Pstr_include of include_declaration
| Pstr_attribute of attribute
| Pstr_extension of extension * attributes
and value_binding =
Ast_406.Parsetree.value_binding = {
pvb_pat : pattern;
pvb_expr : expression;
pvb_attributes : attributes;
pvb_loc : Location.t;
}
and module_binding =
Ast_406.Parsetree.module_binding = {
pmb_name : string Asttypes.loc;
pmb_expr : module_expr;
pmb_attributes : attributes;
pmb_loc : Location.t;
}
type toplevel_phrase =
Ast_406.Parsetree.toplevel_phrase =
Ptop_def of structure
| Ptop_dir of string * directive_argument
and directive_argument =
Ast_406.Parsetree.directive_argument =
Pdir_none
| Pdir_string of string
| Pdir_int of string * char option
| Pdir_ident of Longident.t
| Pdir_bool of bool
end
module Docstrings :
sig
type docstring = Ast_406.Docstrings.docstring
val docstring : string -> Location.t -> docstring
val docstring_body : docstring -> string
val docstring_loc : docstring -> Location.t
type docs =
Ast_406.Docstrings.docs = {
docs_pre : docstring option;
docs_post : docstring option;
}
val empty_docs : docs
val docs_attr : docstring -> Parsetree.attribute
val add_docs_attrs :
docs -> Parsetree.attributes -> Parsetree.attributes
type info = docstring option
val empty_info : info
val info_attr : docstring -> Parsetree.attribute
val add_info_attrs :
info -> Parsetree.attributes -> Parsetree.attributes
type text = docstring list
val empty_text : text
val text_attr : docstring -> Parsetree.attribute
val add_text_attrs :
text -> Parsetree.attributes -> Parsetree.attributes
end
module Ast_helper :
sig
type lid = Longident.t Asttypes.loc
type str = string Asttypes.loc
type loc = Location.t
type attrs = Parsetree.attribute list
val default_loc : loc ref
val with_default_loc : loc -> (unit -> 'a) -> 'a
module Const :
sig
val char : char -> Parsetree.constant
val string :
?quotation_delimiter:string ->
string -> Parsetree.constant
val integer : ?suffix:char -> string -> Parsetree.constant
val int : ?suffix:char -> int -> Parsetree.constant
val int32 : ?suffix:char -> int32 -> Parsetree.constant
val int64 : ?suffix:char -> int64 -> Parsetree.constant
val nativeint :
?suffix:char -> nativeint -> Parsetree.constant
val float : ?suffix:char -> string -> Parsetree.constant
end
module Typ :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
Parsetree.core_type_desc -> Parsetree.core_type
val attr :
Parsetree.core_type ->
Parsetree.attribute -> Parsetree.core_type
val any :
?loc:loc -> ?attrs:attrs -> unit -> Parsetree.core_type
val var :
?loc:loc -> ?attrs:attrs -> string -> Parsetree.core_type
val arrow :
?loc:loc ->
?attrs:attrs ->
Asttypes.arg_label ->
Parsetree.core_type ->
Parsetree.core_type -> Parsetree.core_type
val tuple :
?loc:loc ->
?attrs:attrs ->
Parsetree.core_type list -> Parsetree.core_type
val constr :
?loc:loc ->
?attrs:attrs ->
lid -> Parsetree.core_type list -> Parsetree.core_type
val object_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.object_field list ->
Asttypes.closed_flag -> Parsetree.core_type
val class_ :
?loc:loc ->
?attrs:attrs ->
lid -> Parsetree.core_type list -> Parsetree.core_type
val alias :
?loc:loc ->
?attrs:attrs ->
Parsetree.core_type -> string -> Parsetree.core_type
val variant :
?loc:loc ->
?attrs:attrs ->
Parsetree.row_field list ->
Asttypes.closed_flag ->
Asttypes.label list option -> Parsetree.core_type
val poly :
?loc:loc ->
?attrs:attrs ->
str list -> Parsetree.core_type -> Parsetree.core_type
val package :
?loc:loc ->
?attrs:attrs ->
lid ->
(lid * Parsetree.core_type) list -> Parsetree.core_type
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.core_type
val force_poly : Parsetree.core_type -> Parsetree.core_type
val varify_constructors :
str list -> Parsetree.core_type -> Parsetree.core_type
end
module Pat :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
Parsetree.pattern_desc -> Parsetree.pattern
val attr :
Parsetree.pattern ->
Parsetree.attribute -> Parsetree.pattern
val any :
?loc:loc -> ?attrs:attrs -> unit -> Parsetree.pattern
val var :
?loc:loc -> ?attrs:attrs -> str -> Parsetree.pattern
val alias :
?loc:loc ->
?attrs:attrs ->
Parsetree.pattern -> str -> Parsetree.pattern
val constant :
?loc:loc ->
?attrs:attrs -> Parsetree.constant -> Parsetree.pattern
val interval :
?loc:loc ->
?attrs:attrs ->
Parsetree.constant ->
Parsetree.constant -> Parsetree.pattern
val tuple :
?loc:loc ->
?attrs:attrs ->
Parsetree.pattern list -> Parsetree.pattern
val construct :
?loc:loc ->
?attrs:attrs ->
lid -> Parsetree.pattern option -> Parsetree.pattern
val variant :
?loc:loc ->
?attrs:attrs ->
Asttypes.label ->
Parsetree.pattern option -> Parsetree.pattern
val record :
?loc:loc ->
?attrs:attrs ->
(lid * Parsetree.pattern) list ->
Asttypes.closed_flag -> Parsetree.pattern
val array :
?loc:loc ->
?attrs:attrs ->
Parsetree.pattern list -> Parsetree.pattern
val or_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.pattern ->
Parsetree.pattern -> Parsetree.pattern
val constraint_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.pattern ->
Parsetree.core_type -> Parsetree.pattern
val type_ :
?loc:loc -> ?attrs:attrs -> lid -> Parsetree.pattern
val lazy_ :
?loc:loc ->
?attrs:attrs -> Parsetree.pattern -> Parsetree.pattern
val unpack :
?loc:loc -> ?attrs:attrs -> str -> Parsetree.pattern
val open_ :
?loc:loc ->
?attrs:attrs ->
lid -> Parsetree.pattern -> Parsetree.pattern
val exception_ :
?loc:loc ->
?attrs:attrs -> Parsetree.pattern -> Parsetree.pattern
val extension :
?loc:loc ->
?attrs:attrs -> Parsetree.extension -> Parsetree.pattern
end
module Exp :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression_desc -> Parsetree.expression
val attr :
Parsetree.expression ->
Parsetree.attribute -> Parsetree.expression
val ident :
?loc:loc -> ?attrs:attrs -> lid -> Parsetree.expression
val constant :
?loc:loc ->
?attrs:attrs ->
Parsetree.constant -> Parsetree.expression
val let_ :
?loc:loc ->
?attrs:attrs ->
Asttypes.rec_flag ->
Parsetree.value_binding list ->
Parsetree.expression -> Parsetree.expression
val fun_ :
?loc:loc ->
?attrs:attrs ->
Asttypes.arg_label ->
Parsetree.expression option ->
Parsetree.pattern ->
Parsetree.expression -> Parsetree.expression
val function_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.case list -> Parsetree.expression
val apply :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
(Asttypes.arg_label * Parsetree.expression) list ->
Parsetree.expression
val match_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
Parsetree.case list -> Parsetree.expression
val try_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
Parsetree.case list -> Parsetree.expression
val tuple :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression list -> Parsetree.expression
val construct :
?loc:loc ->
?attrs:attrs ->
lid ->
Parsetree.expression option -> Parsetree.expression
val variant :
?loc:loc ->
?attrs:attrs ->
Asttypes.label ->
Parsetree.expression option -> Parsetree.expression
val record :
?loc:loc ->
?attrs:attrs ->
(lid * Parsetree.expression) list ->
Parsetree.expression option -> Parsetree.expression
val field :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression -> lid -> Parsetree.expression
val setfield :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
lid -> Parsetree.expression -> Parsetree.expression
val array :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression list -> Parsetree.expression
val ifthenelse :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
Parsetree.expression ->
Parsetree.expression option -> Parsetree.expression
val sequence :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
Parsetree.expression -> Parsetree.expression
val while_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
Parsetree.expression -> Parsetree.expression
val for_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.pattern ->
Parsetree.expression ->
Parsetree.expression ->
Asttypes.direction_flag ->
Parsetree.expression -> Parsetree.expression
val coerce :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
Parsetree.core_type option ->
Parsetree.core_type -> Parsetree.expression
val constraint_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
Parsetree.core_type -> Parsetree.expression
val send :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression -> str -> Parsetree.expression
val new_ :
?loc:loc -> ?attrs:attrs -> lid -> Parsetree.expression
val setinstvar :
?loc:loc ->
?attrs:attrs ->
str -> Parsetree.expression -> Parsetree.expression
val override :
?loc:loc ->
?attrs:attrs ->
(str * Parsetree.expression) list -> Parsetree.expression
val letmodule :
?loc:loc ->
?attrs:attrs ->
str ->
Parsetree.module_expr ->
Parsetree.expression -> Parsetree.expression
val letexception :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension_constructor ->
Parsetree.expression -> Parsetree.expression
val assert_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression -> Parsetree.expression
val lazy_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression -> Parsetree.expression
val poly :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression ->
Parsetree.core_type option -> Parsetree.expression
val object_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.class_structure -> Parsetree.expression
val newtype :
?loc:loc ->
?attrs:attrs ->
str -> Parsetree.expression -> Parsetree.expression
val pack :
?loc:loc ->
?attrs:attrs ->
Parsetree.module_expr -> Parsetree.expression
val open_ :
?loc:loc ->
?attrs:attrs ->
Asttypes.override_flag ->
lid -> Parsetree.expression -> Parsetree.expression
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.expression
val unreachable :
?loc:loc -> ?attrs:attrs -> unit -> Parsetree.expression
val case :
Parsetree.pattern ->
?guard:Parsetree.expression ->
Parsetree.expression -> Parsetree.case
end
module Val :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?prim:string list ->
str -> Parsetree.core_type -> Parsetree.value_description
end
module Type :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?text:Docstrings.text ->
?params:(Parsetree.core_type * Asttypes.variance) list ->
?cstrs:(Parsetree.core_type * Parsetree.core_type * loc)
list ->
?kind:Parsetree.type_kind ->
?priv:Asttypes.private_flag ->
?manifest:Parsetree.core_type ->
str -> Parsetree.type_declaration
val constructor :
?loc:loc ->
?attrs:attrs ->
?info:Docstrings.info ->
?args:Parsetree.constructor_arguments ->
?res:Parsetree.core_type ->
str -> Parsetree.constructor_declaration
val field :
?loc:loc ->
?attrs:attrs ->
?info:Docstrings.info ->
?mut:Asttypes.mutable_flag ->
str -> Parsetree.core_type -> Parsetree.label_declaration
end
module Te :
sig
val mk :
?attrs:attrs ->
?docs:Docstrings.docs ->
?params:(Parsetree.core_type * Asttypes.variance) list ->
?priv:Asttypes.private_flag ->
lid ->
Parsetree.extension_constructor list ->
Parsetree.type_extension
val constructor :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?info:Docstrings.info ->
str ->
Parsetree.extension_constructor_kind ->
Parsetree.extension_constructor
val decl :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?info:Docstrings.info ->
?args:Parsetree.constructor_arguments ->
?res:Parsetree.core_type ->
str -> Parsetree.extension_constructor
val rebind :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?info:Docstrings.info ->
str -> lid -> Parsetree.extension_constructor
end
module Mty :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
Parsetree.module_type_desc -> Parsetree.module_type
val attr :
Parsetree.module_type ->
Parsetree.attribute -> Parsetree.module_type
val ident :
?loc:loc -> ?attrs:attrs -> lid -> Parsetree.module_type
val alias :
?loc:loc -> ?attrs:attrs -> lid -> Parsetree.module_type
val signature :
?loc:loc ->
?attrs:attrs ->
Parsetree.signature -> Parsetree.module_type
val functor_ :
?loc:loc ->
?attrs:attrs ->
str ->
Parsetree.module_type option ->
Parsetree.module_type -> Parsetree.module_type
val with_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.module_type ->
Parsetree.with_constraint list -> Parsetree.module_type
val typeof_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.module_expr -> Parsetree.module_type
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.module_type
end
module Mod :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
Parsetree.module_expr_desc -> Parsetree.module_expr
val attr :
Parsetree.module_expr ->
Parsetree.attribute -> Parsetree.module_expr
val ident :
?loc:loc -> ?attrs:attrs -> lid -> Parsetree.module_expr
val structure :
?loc:loc ->
?attrs:attrs ->
Parsetree.structure -> Parsetree.module_expr
val functor_ :
?loc:loc ->
?attrs:attrs ->
str ->
Parsetree.module_type option ->
Parsetree.module_expr -> Parsetree.module_expr
val apply :
?loc:loc ->
?attrs:attrs ->
Parsetree.module_expr ->
Parsetree.module_expr -> Parsetree.module_expr
val constraint_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.module_expr ->
Parsetree.module_type -> Parsetree.module_expr
val unpack :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression -> Parsetree.module_expr
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.module_expr
end
module Sig :
sig
val mk :
?loc:loc ->
Parsetree.signature_item_desc -> Parsetree.signature_item
val value :
?loc:loc ->
Parsetree.value_description -> Parsetree.signature_item
val type_ :
?loc:loc ->
Asttypes.rec_flag ->
Parsetree.type_declaration list ->
Parsetree.signature_item
val type_extension :
?loc:loc ->
Parsetree.type_extension -> Parsetree.signature_item
val exception_ :
?loc:loc ->
Parsetree.extension_constructor ->
Parsetree.signature_item
val module_ :
?loc:loc ->
Parsetree.module_declaration -> Parsetree.signature_item
val rec_module :
?loc:loc ->
Parsetree.module_declaration list ->
Parsetree.signature_item
val modtype :
?loc:loc ->
Parsetree.module_type_declaration ->
Parsetree.signature_item
val open_ :
?loc:loc ->
Parsetree.open_description -> Parsetree.signature_item
val include_ :
?loc:loc ->
Parsetree.include_description -> Parsetree.signature_item
val class_ :
?loc:loc ->
Parsetree.class_description list ->
Parsetree.signature_item
val class_type :
?loc:loc ->
Parsetree.class_type_declaration list ->
Parsetree.signature_item
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.signature_item
val attribute :
?loc:loc ->
Parsetree.attribute -> Parsetree.signature_item
val text : Docstrings.text -> Parsetree.signature_item list
end
module Str :
sig
val mk :
?loc:loc ->
Parsetree.structure_item_desc -> Parsetree.structure_item
val eval :
?loc:loc ->
?attrs:Parsetree.attributes ->
Parsetree.expression -> Parsetree.structure_item
val value :
?loc:loc ->
Asttypes.rec_flag ->
Parsetree.value_binding list -> Parsetree.structure_item
val primitive :
?loc:loc ->
Parsetree.value_description -> Parsetree.structure_item
val type_ :
?loc:loc ->
Asttypes.rec_flag ->
Parsetree.type_declaration list ->
Parsetree.structure_item
val type_extension :
?loc:loc ->
Parsetree.type_extension -> Parsetree.structure_item
val exception_ :
?loc:loc ->
Parsetree.extension_constructor ->
Parsetree.structure_item
val module_ :
?loc:loc ->
Parsetree.module_binding -> Parsetree.structure_item
val rec_module :
?loc:loc ->
Parsetree.module_binding list -> Parsetree.structure_item
val modtype :
?loc:loc ->
Parsetree.module_type_declaration ->
Parsetree.structure_item
val open_ :
?loc:loc ->
Parsetree.open_description -> Parsetree.structure_item
val class_ :
?loc:loc ->
Parsetree.class_declaration list ->
Parsetree.structure_item
val class_type :
?loc:loc ->
Parsetree.class_type_declaration list ->
Parsetree.structure_item
val include_ :
?loc:loc ->
Parsetree.include_declaration -> Parsetree.structure_item
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.structure_item
val attribute :
?loc:loc ->
Parsetree.attribute -> Parsetree.structure_item
val text : Docstrings.text -> Parsetree.structure_item list
end
module Md :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?text:Docstrings.text ->
str ->
Parsetree.module_type -> Parsetree.module_declaration
end
module Mtd :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?text:Docstrings.text ->
?typ:Parsetree.module_type ->
str -> Parsetree.module_type_declaration
end
module Mb :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?text:Docstrings.text ->
str -> Parsetree.module_expr -> Parsetree.module_binding
end
module Opn :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?override:Asttypes.override_flag ->
lid -> Parsetree.open_description
end
module Incl :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs -> 'a -> 'a Parsetree.include_infos
end
module Vb :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?text:Docstrings.text ->
Parsetree.pattern ->
Parsetree.expression -> Parsetree.value_binding
end
module Cty :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
Parsetree.class_type_desc -> Parsetree.class_type
val attr :
Parsetree.class_type ->
Parsetree.attribute -> Parsetree.class_type
val constr :
?loc:loc ->
?attrs:attrs ->
lid -> Parsetree.core_type list -> Parsetree.class_type
val signature :
?loc:loc ->
?attrs:attrs ->
Parsetree.class_signature -> Parsetree.class_type
val arrow :
?loc:loc ->
?attrs:attrs ->
Asttypes.arg_label ->
Parsetree.core_type ->
Parsetree.class_type -> Parsetree.class_type
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.class_type
val open_ :
?loc:loc ->
?attrs:attrs ->
Asttypes.override_flag ->
lid -> Parsetree.class_type -> Parsetree.class_type
end
module Ctf :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
Parsetree.class_type_field_desc ->
Parsetree.class_type_field
val attr :
Parsetree.class_type_field ->
Parsetree.attribute -> Parsetree.class_type_field
val inherit_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.class_type -> Parsetree.class_type_field
val val_ :
?loc:loc ->
?attrs:attrs ->
str ->
Asttypes.mutable_flag ->
Asttypes.virtual_flag ->
Parsetree.core_type -> Parsetree.class_type_field
val method_ :
?loc:loc ->
?attrs:attrs ->
str ->
Asttypes.private_flag ->
Asttypes.virtual_flag ->
Parsetree.core_type -> Parsetree.class_type_field
val constraint_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.core_type ->
Parsetree.core_type -> Parsetree.class_type_field
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.class_type_field
val attribute :
?loc:loc ->
Parsetree.attribute -> Parsetree.class_type_field
val text :
Docstrings.text -> Parsetree.class_type_field list
end
module Cl :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
Parsetree.class_expr_desc -> Parsetree.class_expr
val attr :
Parsetree.class_expr ->
Parsetree.attribute -> Parsetree.class_expr
val constr :
?loc:loc ->
?attrs:attrs ->
lid -> Parsetree.core_type list -> Parsetree.class_expr
val structure :
?loc:loc ->
?attrs:attrs ->
Parsetree.class_structure -> Parsetree.class_expr
val fun_ :
?loc:loc ->
?attrs:attrs ->
Asttypes.arg_label ->
Parsetree.expression option ->
Parsetree.pattern ->
Parsetree.class_expr -> Parsetree.class_expr
val apply :
?loc:loc ->
?attrs:attrs ->
Parsetree.class_expr ->
(Asttypes.arg_label * Parsetree.expression) list ->
Parsetree.class_expr
val let_ :
?loc:loc ->
?attrs:attrs ->
Asttypes.rec_flag ->
Parsetree.value_binding list ->
Parsetree.class_expr -> Parsetree.class_expr
val constraint_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.class_expr ->
Parsetree.class_type -> Parsetree.class_expr
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.class_expr
val open_ :
?loc:loc ->
?attrs:attrs ->
Asttypes.override_flag ->
lid -> Parsetree.class_expr -> Parsetree.class_expr
end
module Cf :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
Parsetree.class_field_desc -> Parsetree.class_field
val attr :
Parsetree.class_field ->
Parsetree.attribute -> Parsetree.class_field
val inherit_ :
?loc:loc ->
?attrs:attrs ->
Asttypes.override_flag ->
Parsetree.class_expr ->
str option -> Parsetree.class_field
val val_ :
?loc:loc ->
?attrs:attrs ->
str ->
Asttypes.mutable_flag ->
Parsetree.class_field_kind -> Parsetree.class_field
val method_ :
?loc:loc ->
?attrs:attrs ->
str ->
Asttypes.private_flag ->
Parsetree.class_field_kind -> Parsetree.class_field
val constraint_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.core_type ->
Parsetree.core_type -> Parsetree.class_field
val initializer_ :
?loc:loc ->
?attrs:attrs ->
Parsetree.expression -> Parsetree.class_field
val extension :
?loc:loc ->
?attrs:attrs ->
Parsetree.extension -> Parsetree.class_field
val attribute :
?loc:loc -> Parsetree.attribute -> Parsetree.class_field
val text : Docstrings.text -> Parsetree.class_field list
val virtual_ :
Parsetree.core_type -> Parsetree.class_field_kind
val concrete :
Asttypes.override_flag ->
Parsetree.expression -> Parsetree.class_field_kind
end
module Ci :
sig
val mk :
?loc:loc ->
?attrs:attrs ->
?docs:Docstrings.docs ->
?text:Docstrings.text ->
?virt:Asttypes.virtual_flag ->
?params:(Parsetree.core_type * Asttypes.variance) list ->
str -> 'a -> 'a Parsetree.class_infos
end
module Csig :
sig
val mk :
Parsetree.core_type ->
Parsetree.class_type_field list ->
Parsetree.class_signature
end
module Cstr :
sig
val mk :
Parsetree.pattern ->
Parsetree.class_field list -> Parsetree.class_structure
end
end
module Ast_mapper :
sig
type mapper =
Ast_406.Ast_mapper.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;
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 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
end
module Outcometree :
sig
type out_ident =
Ast_406.Outcometree.out_ident =
Oide_apply of out_ident * out_ident
| Oide_dot of out_ident * string
| Oide_ident of string
type out_string =
Ast_406.Outcometree.out_string =
Ostr_string
| Ostr_bytes
type out_attribute =
Ast_406.Outcometree.out_attribute = {
oattr_name : string;
}
type out_value =
Ast_406.Outcometree.out_value =
Oval_array of out_value list
| Oval_char of char
| Oval_constr of out_ident * out_value list
| Oval_ellipsis
| Oval_float of float
| Oval_int of int
| Oval_int32 of int32
| Oval_int64 of int64
| Oval_nativeint of nativeint
| Oval_list of out_value list
| Oval_printer of (Format.formatter -> unit)
| Oval_record of (out_ident * out_value) list
| Oval_string of string * int * out_string
| Oval_stuff of string
| Oval_tuple of out_value list
| Oval_variant of string * out_value option
type out_type =
Ast_406.Outcometree.out_type =
Otyp_abstract
| Otyp_open
| Otyp_alias of out_type * string
| Otyp_arrow of string * out_type * out_type
| Otyp_class of bool * out_ident * out_type list
| Otyp_constr of out_ident * out_type list
| Otyp_manifest of out_type * out_type
| Otyp_object of (string * out_type) list * bool option
| Otyp_record of (string * bool * out_type) list
| Otyp_stuff of string
| Otyp_sum of (string * out_type list * out_type option) list
| Otyp_tuple of out_type list
| Otyp_var of bool * string
| Otyp_variant of bool * out_variant * bool *
string list option
| Otyp_poly of string list * out_type
| Otyp_module of string * string list * out_type list
| Otyp_attribute of out_type * out_attribute
and out_variant =
Ast_406.Outcometree.out_variant =
Ovar_fields of (string * bool * out_type list) list
| Ovar_typ of out_type
type out_class_type =
Ast_406.Outcometree.out_class_type =
Octy_constr of out_ident * out_type list
| Octy_arrow of string * out_type * out_class_type
| Octy_signature of out_type option * out_class_sig_item list
and out_class_sig_item =
Ast_406.Outcometree.out_class_sig_item =
Ocsg_constraint of out_type * out_type
| Ocsg_method of string * bool * bool * out_type
| Ocsg_value of string * bool * bool * out_type
type out_module_type =
Ast_406.Outcometree.out_module_type =
Omty_abstract
| Omty_functor of string * out_module_type option *
out_module_type
| Omty_ident of out_ident
| Omty_signature of out_sig_item list
| Omty_alias of out_ident
and out_sig_item =
Ast_406.Outcometree.out_sig_item =
Osig_class of bool * string *
(string * (bool * bool)) list * out_class_type *
out_rec_status
| Osig_class_type of bool * string *
(string * (bool * bool)) list * out_class_type *
out_rec_status
| Osig_typext of out_extension_constructor * out_ext_status
| Osig_modtype of string * out_module_type
| Osig_module of string * out_module_type * out_rec_status
| Osig_type of out_type_decl * out_rec_status
| Osig_value of out_val_decl
| Osig_ellipsis
and out_type_decl =
Ast_406.Outcometree.out_type_decl = {
otype_name : string;
otype_params : (string * (bool * bool)) list;
otype_type : out_type;
otype_private : Asttypes.private_flag;
otype_immediate : bool;
otype_unboxed : bool;
otype_cstrs : (out_type * out_type) list;
}
and out_extension_constructor =
Ast_406.Outcometree.out_extension_constructor = {
oext_name : string;
oext_type_name : string;
oext_type_params : string list;
oext_args : out_type list;
oext_ret_type : out_type option;
oext_private : Asttypes.private_flag;
}
and out_type_extension =
Ast_406.Outcometree.out_type_extension = {
otyext_name : string;
otyext_params : string list;
otyext_constructors :
(string * out_type list * out_type option) list;
otyext_private : Asttypes.private_flag;
}
and out_val_decl =
Ast_406.Outcometree.out_val_decl = {
oval_name : string;
oval_type : out_type;
oval_prims : string list;
oval_attributes : out_attribute list;
}
and out_rec_status =
Ast_406.Outcometree.out_rec_status =
Orec_not
| Orec_first
| Orec_next
and out_ext_status =
Ast_406.Outcometree.out_ext_status =
Oext_first
| Oext_next
| Oext_exception
type out_phrase =
Ast_406.Outcometree.out_phrase =
Ophr_eval of out_value * out_type
| Ophr_signature of (out_sig_item * out_value option) list
| Ophr_exception of (exn * out_value)
end
module Config :
sig
val ast_impl_magic_number : string
val ast_intf_magic_number : string
end
val map_signature :
Ast_mapper.mapper -> Parsetree.signature -> Parsetree.signature
val map_structure :
Ast_mapper.mapper -> Parsetree.structure -> Parsetree.structure
val shallow_identity : Ast_mapper.mapper
val failing_mapper : Ast_mapper.mapper
val make_top_mapper :
signature:(Parsetree.signature -> Parsetree.signature) ->
structure:(Parsetree.structure -> Parsetree.structure) ->
Ast_mapper.mapper
end
val version : int
val string_version : string
type types =
< case : Ast.Parsetree.case; core_type : Ast.Parsetree.core_type;
expression : Ast.Parsetree.expression;
extension_constructor : Ast.Parsetree.extension_constructor;
mapper : Ast.Ast_mapper.mapper;
out_class_type : Ast.Outcometree.out_class_type;
out_module_type : Ast.Outcometree.out_module_type;
out_phrase : Ast.Outcometree.out_phrase;
out_sig_item : Ast.Outcometree.out_sig_item;
out_type : Ast.Outcometree.out_type;
out_type_extension : Ast.Outcometree.out_type_extension;
out_value : Ast.Outcometree.out_value;
pattern : Ast.Parsetree.pattern;
signature : Ast.Parsetree.signature;
structure : Ast.Parsetree.structure;
toplevel_phrase : Ast.Parsetree.toplevel_phrase;
type_declaration : Ast.Parsetree.type_declaration;
type_extension : Ast.Parsetree.type_extension >
_types
type _ witnesses += Version : types witnesses
val migration_info : types migration_info
end
val ocaml_406 :
Migrate_parsetree_versions.OCaml_406.types
Migrate_parsetree_versions.ocaml_version
module OCaml_current = OCaml_405
val ocaml_current :
OCaml_current.types Migrate_parsetree_versions.ocaml_version
val all_versions : (module Migrate_parsetree_versions.OCaml_version) list
type ('a, 'b) type_comparison =
Lt : ('a, 'b) Migrate_parsetree_versions.type_comparison
| Eq : ('a, 'a) Migrate_parsetree_versions.type_comparison
| Gt : ('a, 'b) Migrate_parsetree_versions.type_comparison
val compare_ocaml_version :
< case : 'a; core_type : 'b; expression : 'c; extension_constructor : 'd;
mapper : 'e; out_class_type : 'f; out_module_type : 'g;
out_phrase : 'h; out_sig_item : 'i; out_type : 'j;
out_type_extension : 'k; out_value : 'l; pattern : 'm; signature : 'n;
structure : 'o; toplevel_phrase : 'p; type_declaration : 'q;
type_extension : 'r >
Migrate_parsetree_versions.ocaml_version ->
< case : 's; core_type : 't; expression : 'u; extension_constructor : 'v;
mapper : 'w; out_class_type : 'x; out_module_type : 'y;
out_phrase : 'z; out_sig_item : 'a1; out_type : 'b1;
out_type_extension : 'c1; out_value : 'd1; pattern : 'e1;
signature : 'f1; structure : 'g1; toplevel_phrase : 'h1;
type_declaration : 'i1; type_extension : 'j1 >
Migrate_parsetree_versions.ocaml_version ->
(< case : 'a; core_type : 'b; expression : 'c;
extension_constructor : 'd; mapper : 'e; out_class_type : 'f;
out_module_type : 'g; out_phrase : 'h; out_sig_item : 'i;
out_type : 'j; out_type_extension : 'k; out_value : 'l; pattern : 'm;
signature : 'n; structure : 'o; toplevel_phrase : 'p;
type_declaration : 'q; type_extension : 'r >,
< case : 's; core_type : 't; expression : 'u;
extension_constructor : 'v; mapper : 'w; out_class_type : 'x;
out_module_type : 'y; out_phrase : 'z; out_sig_item : 'a1;
out_type : 'b1; out_type_extension : 'c1; out_value : 'd1;
pattern : 'e1; signature : 'f1; structure : 'g1;
toplevel_phrase : 'h1; type_declaration : 'i1; type_extension : 'j1 >)
Migrate_parsetree_versions.type_comparison
type ('a, 'b) migration_functions = {
copy_structure :
'a Migrate_parsetree_versions.get_structure ->
'b Migrate_parsetree_versions.get_structure;
copy_signature :
'a Migrate_parsetree_versions.get_signature ->
'b Migrate_parsetree_versions.get_signature;
copy_toplevel_phrase :
'a Migrate_parsetree_versions.get_toplevel_phrase ->
'b Migrate_parsetree_versions.get_toplevel_phrase;
copy_core_type :
'a Migrate_parsetree_versions.get_core_type ->
'b Migrate_parsetree_versions.get_core_type;
copy_expression :
'a Migrate_parsetree_versions.get_expression ->
'b Migrate_parsetree_versions.get_expression;
copy_pattern :
'a Migrate_parsetree_versions.get_pattern ->
'b Migrate_parsetree_versions.get_pattern;
copy_case :
'a Migrate_parsetree_versions.get_case ->
'b Migrate_parsetree_versions.get_case;
copy_type_declaration :
'a Migrate_parsetree_versions.get_type_declaration ->
'b Migrate_parsetree_versions.get_type_declaration;
copy_type_extension :
'a Migrate_parsetree_versions.get_type_extension ->
'b Migrate_parsetree_versions.get_type_extension;
copy_extension_constructor :
'a Migrate_parsetree_versions.get_extension_constructor ->
'b Migrate_parsetree_versions.get_extension_constructor;
copy_out_value :
'a Migrate_parsetree_versions.get_out_value ->
'b Migrate_parsetree_versions.get_out_value;
copy_out_type :
'a Migrate_parsetree_versions.get_out_type ->
'b Migrate_parsetree_versions.get_out_type;
copy_out_class_type :
'a Migrate_parsetree_versions.get_out_class_type ->
'b Migrate_parsetree_versions.get_out_class_type;
copy_out_module_type :
'a Migrate_parsetree_versions.get_out_module_type ->
'b Migrate_parsetree_versions.get_out_module_type;
copy_out_sig_item :
'a Migrate_parsetree_versions.get_out_sig_item ->
'b Migrate_parsetree_versions.get_out_sig_item;
copy_out_type_extension :
'a Migrate_parsetree_versions.get_out_type_extension ->
'b Migrate_parsetree_versions.get_out_type_extension;
copy_out_phrase :
'a Migrate_parsetree_versions.get_out_phrase ->
'b Migrate_parsetree_versions.get_out_phrase;
copy_mapper :
'a Migrate_parsetree_versions.get_mapper ->
'b Migrate_parsetree_versions.get_mapper;
}
constraint 'a =
< case : 'u; core_type : 'v; expression : 'w;
extension_constructor : 'x; mapper : 'y; out_class_type : 'z;
out_module_type : 'a1; out_phrase : 'b1; out_sig_item : 'c1;
out_type : 'd1; out_type_extension : 'e1; out_value : 'f1;
pattern : 'g1; signature : 'h1; structure : 'i1;
toplevel_phrase : 'j1; type_declaration : 'k1; type_extension : 'l1 >
constraint 'b =
< case : 'c; core_type : 'd; expression : 'e;
extension_constructor : 'f; mapper : 'g; out_class_type : 'h;
out_module_type : 'i; out_phrase : 'j; out_sig_item : 'k;
out_type : 'l; out_type_extension : 'm; out_value : 'n; pattern : 'o;
signature : 'p; structure : 'q; toplevel_phrase : 'r;
type_declaration : 's; type_extension : 't >
val migration_identity :
(< case : 'a; core_type : 'b; expression : 'c;
extension_constructor : 'd; mapper : 'e; out_class_type : 'f;
out_module_type : 'g; out_phrase : 'h; out_sig_item : 'i;
out_type : 'j; out_type_extension : 'k; out_value : 'l; pattern : 'm;
signature : 'n; structure : 'o; toplevel_phrase : 'p;
type_declaration : 'q; type_extension : 'r >,
< case : 'a; core_type : 'b; expression : 'c;
extension_constructor : 'd; mapper : 'e; out_class_type : 'f;
out_module_type : 'g; out_phrase : 'h; out_sig_item : 'i;
out_type : 'j; out_type_extension : 'k; out_value : 'l; pattern : 'm;
signature : 'n; structure : 'o; toplevel_phrase : 'p;
type_declaration : 'q; type_extension : 'r >)
Migrate_parsetree_versions.migration_functions
val migration_compose :
(< case : 'a; core_type : 'b; expression : 'c;
extension_constructor : 'd; mapper : 'e; out_class_type : 'f;
out_module_type : 'g; out_phrase : 'h; out_sig_item : 'i;
out_type : 'j; out_type_extension : 'k; out_value : 'l; pattern : 'm;
signature : 'n; structure : 'o; toplevel_phrase : 'p;
type_declaration : 'q; type_extension : 'r >,
< case : 's; core_type : 't; expression : 'u;
extension_constructor : 'v; mapper : 'w; out_class_type : 'x;
out_module_type : 'y; out_phrase : 'z; out_sig_item : 'a1;
out_type : 'b1; out_type_extension : 'c1; out_value : 'd1;
pattern : 'e1; signature : 'f1; structure : 'g1;
toplevel_phrase : 'h1; type_declaration : 'i1; type_extension : 'j1 >)
Migrate_parsetree_versions.migration_functions ->
(< case : 's; core_type : 't; expression : 'u;
extension_constructor : 'v; mapper : 'w; out_class_type : 'x;
out_module_type : 'y; out_phrase : 'z; out_sig_item : 'a1;
out_type : 'b1; out_type_extension : 'c1; out_value : 'd1;
pattern : 'e1; signature : 'f1; structure : 'g1;
toplevel_phrase : 'h1; type_declaration : 'i1; type_extension : 'j1 >,
< case : 'k1; core_type : 'l1; expression : 'm1;
extension_constructor : 'n1; mapper : 'o1; out_class_type : 'p1;
out_module_type : 'q1; out_phrase : 'r1; out_sig_item : 's1;
out_type : 't1; out_type_extension : 'u1; out_value : 'v1;
pattern : 'w1; signature : 'x1; structure : 'y1;
toplevel_phrase : 'z1; type_declaration : 'a2; type_extension : 'b2 >)
Migrate_parsetree_versions.migration_functions ->
(< case : 'a; core_type : 'b; expression : 'c;
extension_constructor : 'd; mapper : 'e; out_class_type : 'f;
out_module_type : 'g; out_phrase : 'h; out_sig_item : 'i;
out_type : 'j; out_type_extension : 'k; out_value : 'l; pattern : 'm;
signature : 'n; structure : 'o; toplevel_phrase : 'p;
type_declaration : 'q; type_extension : 'r >,
< case : 'k1; core_type : 'l1; expression : 'm1;
extension_constructor : 'n1; mapper : 'o1; out_class_type : 'p1;
out_module_type : 'q1; out_phrase : 'r1; out_sig_item : 's1;
out_type : 't1; out_type_extension : 'u1; out_value : 'v1;
pattern : 'w1; signature : 'x1; structure : 'y1;
toplevel_phrase : 'z1; type_declaration : 'a2; type_extension : 'b2 >)
Migrate_parsetree_versions.migration_functions
type 'from immediate_migration =
No_migration : 'from Migrate_parsetree_versions.immediate_migration
| Immediate_migration :
(< case : 'a; core_type : 'b; expression : 'c;
extension_constructor : 'd; mapper : 'e; out_class_type : 'f;
out_module_type : 'g; out_phrase : 'h; out_sig_item : 'i;
out_type : 'j; out_type_extension : 'k; out_value : 'l;
pattern : 'm; signature : 'n; structure : 'o;
toplevel_phrase : 'p; type_declaration : 'q; type_extension : 'r >,
< case : 's; core_type : 't; expression : 'u;
extension_constructor : 'v; mapper : 'w; out_class_type : 'x;
out_module_type : 'y; out_phrase : 'z; out_sig_item : 'a1;
out_type : 'b1; out_type_extension : 'c1; out_value : 'd1;
pattern : 'e1; signature : 'f1; structure : 'g1;
toplevel_phrase : 'h1; type_declaration : 'i1;
type_extension : 'j1 >)
Migrate_parsetree_versions.migration_functions *
< case : 's; core_type : 't; expression : 'u;
extension_constructor : 'v; mapper : 'w; out_class_type : 'x;
out_module_type : 'y; out_phrase : 'z; out_sig_item : 'a1;
out_type : 'b1; out_type_extension : 'c1; out_value : 'd1;
pattern : 'e1; signature : 'f1; structure : 'g1;
toplevel_phrase : 'h1; type_declaration : 'i1;
type_extension : 'j1 >
Migrate_parsetree_versions.ocaml_version -> < case : 'a;
core_type : 'b;
expression : 'c;
extension_constructor : 'd;
mapper : 'e;
out_class_type : 'f;
out_module_type : 'g;
out_phrase : 'h;
out_sig_item : 'i;
out_type : 'j;
out_type_extension : 'k;
out_value : 'l;
pattern : 'm;
signature : 'n;
structure : 'o;
toplevel_phrase : 'p;
type_declaration : 'q;
type_extension : 'r >
Migrate_parsetree_versions.immediate_migration
val immediate_migration :
< case : 'a; core_type : 'b; expression : 'c; extension_constructor : 'd;
mapper : 'e; out_class_type : 'f; out_module_type : 'g;
out_phrase : 'h; out_sig_item : 'i; out_type : 'j;
out_type_extension : 'k; out_value : 'l; pattern : 'm; signature : 'n;
structure : 'o; toplevel_phrase : 'p; type_declaration : 'q;
type_extension : 'r >
Migrate_parsetree_versions.ocaml_version ->
[< `Next | `Previous ] ->
< case : 'a; core_type : 'b; expression : 'c; extension_constructor : 'd;
mapper : 'e; out_class_type : 'f; out_module_type : 'g;
out_phrase : 'h; out_sig_item : 'i; out_type : 'j;
out_type_extension : 'k; out_value : 'l; pattern : 'm; signature : 'n;
structure : 'o; toplevel_phrase : 'p; type_declaration : 'q;
type_extension : 'r >
Migrate_parsetree_versions.immediate_migration
val migrate :
< case : 'a; core_type : 'b; expression : 'c; extension_constructor : 'd;
mapper : 'e; out_class_type : 'f; out_module_type : 'g;
out_phrase : 'h; out_sig_item : 'i; out_type : 'j;
out_type_extension : 'k; out_value : 'l; pattern : 'm; signature : 'n;
structure : 'o; toplevel_phrase : 'p; type_declaration : 'q;
type_extension : 'r >
Migrate_parsetree_versions.ocaml_version ->
< case : 's; core_type : 't; expression : 'u; extension_constructor : 'v;
mapper : 'w; out_class_type : 'x; out_module_type : 'y;
out_phrase : 'z; out_sig_item : 'a1; out_type : 'b1;
out_type_extension : 'c1; out_value : 'd1; pattern : 'e1;
signature : 'f1; structure : 'g1; toplevel_phrase : 'h1;
type_declaration : 'i1; type_extension : 'j1 >
Migrate_parsetree_versions.ocaml_version ->
(< case : 'a; core_type : 'b; expression : 'c;
extension_constructor : 'd; mapper : 'e; out_class_type : 'f;
out_module_type : 'g; out_phrase : 'h; out_sig_item : 'i;
out_type : 'j; out_type_extension : 'k; out_value : 'l; pattern : 'm;
signature : 'n; structure : 'o; toplevel_phrase : 'p;
type_declaration : 'q; type_extension : 'r >,
< case : 's; core_type : 't; expression : 'u;
extension_constructor : 'v; mapper : 'w; out_class_type : 'x;
out_module_type : 'y; out_phrase : 'z; out_sig_item : 'a1;
out_type : 'b1; out_type_extension : 'c1; out_value : 'd1;
pattern : 'e1; signature : 'f1; structure : 'g1;
toplevel_phrase : 'h1; type_declaration : 'i1; type_extension : 'j1 >)
Migrate_parsetree_versions.migration_functions
module Convert :
functor (A : OCaml_version) (B : OCaml_version) ->
sig
val copy_structure :
A.Ast.Parsetree.structure -> B.Ast.Parsetree.structure
val copy_signature :
A.Ast.Parsetree.signature -> B.Ast.Parsetree.signature
val copy_toplevel_phrase :
A.Ast.Parsetree.toplevel_phrase -> B.Ast.Parsetree.toplevel_phrase
val copy_core_type :
A.Ast.Parsetree.core_type -> B.Ast.Parsetree.core_type
val copy_expression :
A.Ast.Parsetree.expression -> B.Ast.Parsetree.expression
val copy_pattern : A.Ast.Parsetree.pattern -> B.Ast.Parsetree.pattern
val copy_case : A.Ast.Parsetree.case -> B.Ast.Parsetree.case
val copy_type_declaration :
A.Ast.Parsetree.type_declaration ->
B.Ast.Parsetree.type_declaration
val copy_type_extension :
A.Ast.Parsetree.type_extension -> B.Ast.Parsetree.type_extension
val copy_extension_constructor :
A.Ast.Parsetree.extension_constructor ->
B.Ast.Parsetree.extension_constructor
val copy_out_value :
A.Ast.Outcometree.out_value -> B.Ast.Outcometree.out_value
val copy_out_type :
A.Ast.Outcometree.out_type -> B.Ast.Outcometree.out_type
val copy_out_class_type :
A.Ast.Outcometree.out_class_type ->
B.Ast.Outcometree.out_class_type
val copy_out_module_type :
A.Ast.Outcometree.out_module_type ->
B.Ast.Outcometree.out_module_type
val copy_out_sig_item :
A.Ast.Outcometree.out_sig_item -> B.Ast.Outcometree.out_sig_item
val copy_out_type_extension :
A.Ast.Outcometree.out_type_extension ->
B.Ast.Outcometree.out_type_extension
val copy_out_phrase :
A.Ast.Outcometree.out_phrase -> B.Ast.Outcometree.out_phrase
val copy_mapper : A.Ast.Ast_mapper.mapper -> B.Ast.Ast_mapper.mapper
end
end