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