Module Oug_core


module Oug_core: sig .. end
Analyse of a typed tree.

module E: Oug_env
val dbg : ?loc:string -> ?level:int -> (unit -> string) -> unit
val add_links_for_or_pattern_ids : Oug_mod.t -> Oug_types.elt_id list -> Oug_mod.t
val pattern : ?prefix:bool ->
Oug_mod.t ->
Oug_types.elt_kind ->
?group:Oug_types.group_id ->
Typedtree.pattern ->
Oug_types.elt_id list * Oug_types.elt_id list * Oug_mod.t
val pattern_exp_list : ?prefix:bool ->
Oug_mod.t ->
(Typedtree.pattern * Typedtree.expression) list ->
Oug_types.elt_kind ->
Typedtree.expression option -> Oug_types.elt_id list * Oug_mod.t
val pattern_exp_list_rec : ?prefix:bool ->
Oug_mod.t ->
(Typedtree.pattern * Typedtree.expression) list ->
Oug_types.elt_kind ->
Typedtree.expression option -> Oug_types.elt_id list * Oug_mod.t
val expression : Oug_mod.t -> Typedtree.expression -> Oug_types.elt_id option * Oug_mod.t
val expr_pel : Oug_mod.t ->
Oug_types.elt_id option ->
(Typedtree.pattern * Typedtree.expression) list ->
Oug_types.elt_id list * Oug_mod.t
used_exp_id is the optional id of the expression e in try e with ... or match e with ....
val expression_list : Oug_mod.t -> Typedtree.expression list -> Oug_types.elt_id list * Oug_mod.t
val expr_desc : Oug_mod.t ->
Oug_loc.location ->
Env.t -> Typedtree.expression_desc -> Oug_types.elt_id option * Oug_mod.t
val let_pel : Oug_mod.t ->
prefix:bool ->
bool ->
(Typedtree.pattern * Typedtree.expression) list ->
Oug_types.elt_kind ->
Typedtree.expression option -> Oug_types.elt_id list * Oug_mod.t
val tstr_eval : Oug_mod.t -> Typedtree.expression -> Oug_mod.t
val tstr_value : Oug_mod.t ->
Asttypes.rec_flag ->
(Typedtree.pattern * Typedtree.expression) list -> Oug_mod.t
val tstr_primitive : Oug_mod.t -> Ident.t -> Types.value_description -> Oug_mod.t
val tstr_exception : Oug_mod.t -> Ident.t -> Types.exception_declaration -> Oug_mod.t
val tstr_exn_rebind : Oug_mod.t -> Ident.t -> Path.t -> Oug_mod.t
val module_expr : Oug_mod.t ->
Oug_types.depend ->
Typedtree.module_expr ->
Oug_mod.t * (Oug_types.String_weak.data * Oug_types.elt_id) list
val mod_functor : Oug_mod.t ->
Ident.t ->
Types.module_type ->
Typedtree.module_expr ->
Oug_mod.t * (Oug_types.String_weak.data * Oug_types.elt_id) list
val mod_apply : Oug_mod.t ->
Typedtree.module_expr ->
Typedtree.module_expr list ->
Oug_mod.t * (Oug_types.String_weak.data * Oug_types.elt_id) list
val tstr_module : ?contain:bool ->
Oug_mod.t ->
Ident.t -> ?depend:Oug_types.depend -> Typedtree.module_expr -> Oug_mod.t
val tstr_recmodule : Oug_mod.t -> (Ident.t * Typedtree.module_expr) list -> Oug_mod.t
val tstr_modtype : Oug_mod.t -> Ident.t -> Types.module_type -> Oug_mod.t
val tstr_class : Oug_mod.t ->
(Ident.t * int * string list * Typedtree.class_expr * Asttypes.virtual_flag)
list -> Oug_mod.t
val tstr_cltype : Oug_mod.t -> (Ident.t * Types.cltype_declaration) list -> Oug_mod.t
val tstr_include : Oug_mod.t -> Typedtree.module_expr -> Ident.t list -> Oug_mod.t
val structure_item : Oug_mod.t -> Typedtree.structure_item -> Oug_mod.t
val structure : Oug_mod.t -> Location.t -> Typedtree.structure -> Oug_mod.t
val analyze : Oug_loc.location -> string -> Typedtree.structure -> Oug_mod.t
val sig_value : Oug_mod.t -> Ident.t -> 'a -> Oug_mod.t
val sig_type : 'a -> 'b -> 'c -> 'd -> 'a
val sig_exception : 'a -> 'b -> 'c -> 'a
val sig_class : 'a -> 'b -> 'c -> 'd -> 'a
val sig_cltype : 'a -> 'b -> 'c -> 'd -> 'a
val sig_module : Oug_mod.t ->
?contain:bool ->
Ident.t ->
?depend:Oug_types.depend ->
Types.module_type -> Types.rec_status -> Oug_mod.t
val tmty_ident : Oug_mod.t ->
Oug_types.depend ->
Path.t -> Oug_mod.t * (Oug_types.String_weak.data * Oug_types.elt_id) list
val tmty_functor : Oug_mod.t ->
Ident.t ->
Types.module_type ->
Types.module_type ->
Oug_mod.t * (Oug_types.String_weak.data * Oug_types.elt_id) list
val module_type : Oug_mod.t ->
Oug_types.depend ->
Types.module_type ->
Oug_mod.t * (Oug_types.String_weak.data * Oug_types.elt_id) list
val sig_modtype : Oug_mod.t -> Ident.t -> Types.modtype_declaration -> Oug_mod.t
val signature_item : Oug_mod.t -> Types.signature_item -> Oug_mod.t
val signature_item_handle_types : Oug_mod.t * (Ident.t * Types.type_declaration) list ->
Types.signature_item -> Oug_mod.t * (Ident.t * Types.type_declaration) list
val signature : Oug_mod.t -> Location.t -> Types.signature -> Oug_mod.t
val analyze_intf : Oug_loc.location -> string -> Types.signature -> Oug_mod.t