Module Ast_407.Outcometree

module Outcometree: sig .. end

type out_ident = 
| Oide_apply of out_ident * out_ident
| Oide_dot of out_ident * string
| Oide_ident of string
type out_string = 
| Ostr_string
| Ostr_bytes
type out_attribute = {
   oattr_name : string;
}
type 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 = 
| 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
type out_variant = 
| Ovar_fields of (string * bool * out_type list) list
| Ovar_typ of out_type
type 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
type 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 = 
| 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
type 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
type out_type_decl = {
   otype_name : string;
   otype_params : (string * (bool * bool)) list;
   otype_type : out_type;
   otype_private : Ast_407.Asttypes.private_flag;
   otype_immediate : bool;
   otype_unboxed : bool;
   otype_cstrs : (out_type * out_type) list;
}
type 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 : Ast_407.Asttypes.private_flag;
}
type out_type_extension = {
   otyext_name : string;
   otyext_params : string list;
   otyext_constructors : (string * out_type list *
out_type option)
list
;
   otyext_private : Ast_407.Asttypes.private_flag;
}
type out_val_decl = {
   oval_name : string;
   oval_type : out_type;
   oval_prims : string list;
   oval_attributes : out_attribute list;
}
type out_rec_status = 
| Orec_not
| Orec_first
| Orec_next
type out_ext_status = 
| Oext_first
| Oext_next
| Oext_exception
type 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)