package mdx
-
mdx.top
Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
include module type of struct include Printtyp end
val longident : Format.formatter -> Longident.t -> unit
val ident : Format.formatter -> Ident.t -> unit
val tree_of_path : Path.t -> Outcometree.out_ident
val path : Format.formatter -> Path.t -> unit
val string_of_path : Path.t -> string
module Out_name = Printtyp.Out_name
type namespace = Printtyp.namespace =
Print a list of paths, using the same naming context to avoid name collisions
val raw_type_expr : Format.formatter -> Types.type_expr -> unit
val string_of_label : Asttypes.arg_label -> string
module Naming_context = Printtyp.Naming_context
module Conflicts = Printtyp.Conflicts
The Conflicts
module keeps track of conflicts arising when attributing names to identifiers and provides functions that can print explanations for these conflict in error messages
val mark_loops : Types.type_expr -> unit
val reset_and_mark_loops : Types.type_expr -> unit
val reset_and_mark_loops_list : Types.type_expr list -> unit
val type_expr : Format.formatter -> Types.type_expr -> unit
val marked_type_expr : Format.formatter -> Types.type_expr -> unit
The function type_expr
is the safe version of the pair (typed_expr, marked_type_expr)
: it takes care of marking loops in the type expression and resetting type variable names before printing. Contrarily, the function marked_type_expr
should only be called on type expressions whose loops have been marked or it may stackoverflow (see #8860 for examples).
val constructor_arguments :
Format.formatter ->
Types.constructor_arguments ->
unit
val tree_of_type_scheme : Types.type_expr -> Outcometree.out_type
val type_sch : Format.formatter -> Types.type_expr -> unit
val type_scheme : Format.formatter -> Types.type_expr -> unit
val type_scheme_max :
?b_reset_names:bool ->
Format.formatter ->
Types.type_expr ->
unit
val tree_of_value_description :
Ident.t ->
Types.value_description ->
Outcometree.out_sig_item
val value_description :
Ident.t ->
Format.formatter ->
Types.value_description ->
unit
val label : Format.formatter -> Types.label_declaration -> unit
val constructor : Format.formatter -> Types.constructor_declaration -> unit
val tree_of_type_declaration :
Ident.t ->
Types.type_declaration ->
Types.rec_status ->
Outcometree.out_sig_item
val type_declaration :
Ident.t ->
Format.formatter ->
Types.type_declaration ->
unit
val tree_of_extension_constructor :
Ident.t ->
Types.extension_constructor ->
Types.ext_status ->
Outcometree.out_sig_item
val extension_constructor :
Ident.t ->
Format.formatter ->
Types.extension_constructor ->
unit
val extension_only_constructor :
Ident.t ->
Format.formatter ->
Types.extension_constructor ->
unit
val tree_of_module :
Ident.t ->
?ellipsis:bool ->
Types.module_type ->
Types.rec_status ->
Outcometree.out_sig_item
val modtype : Format.formatter -> Types.module_type -> unit
val signature : Format.formatter -> Types.signature -> unit
val tree_of_modtype : Types.module_type -> Outcometree.out_module_type
val tree_of_modtype_declaration :
Ident.t ->
Types.modtype_declaration ->
Outcometree.out_sig_item
val tree_of_signature : Types.signature -> Outcometree.out_sig_item list
val tree_of_typexp : bool -> Types.type_expr -> Outcometree.out_type
val modtype_declaration :
Ident.t ->
Format.formatter ->
Types.modtype_declaration ->
unit
val class_type : Format.formatter -> Types.class_type -> unit
val tree_of_class_declaration :
Ident.t ->
Types.class_declaration ->
Types.rec_status ->
Outcometree.out_sig_item
val class_declaration :
Ident.t ->
Format.formatter ->
Types.class_declaration ->
unit
val tree_of_cltype_declaration :
Ident.t ->
Types.class_type_declaration ->
Types.rec_status ->
Outcometree.out_sig_item
val cltype_declaration :
Ident.t ->
Format.formatter ->
Types.class_type_declaration ->
unit
val type_expansion :
Types.type_expr ->
Format.formatter ->
Types.type_expr ->
unit
val prepare_expansion :
(Types.type_expr * Types.type_expr) ->
Types.type_expr * Types.type_expr
val trace :
bool ->
bool ->
string ->
Format.formatter ->
(Types.type_expr * Types.type_expr) Ctype.Unification_trace.elt list ->
unit
val report_unification_error :
Format.formatter ->
Env.t ->
Ctype.Unification_trace.t ->
?type_expected_explanation:(Format.formatter -> unit) ->
(Format.formatter -> unit) ->
(Format.formatter -> unit) ->
unit
val report_subtyping_error :
Format.formatter ->
Env.t ->
Ctype.Unification_trace.t ->
string ->
Ctype.Unification_trace.t ->
unit
val report_ambiguous_type_error :
Format.formatter ->
Env.t ->
(Path.t * Path.t) ->
(Path.t * Path.t) list ->
(Format.formatter -> unit) ->
(Format.formatter -> unit) ->
(Format.formatter -> unit) ->
unit
val print_items :
(Env.t -> Types.signature_item -> 'a option) ->
Env.t ->
Types.signature_item list ->
(Outcometree.out_sig_item * 'a option) list
val printed_signature : string -> Format.formatter -> Types.signature -> unit
printed_signature sourcefile ppf sg
print the signature sg
of sourcefile
with potential warnings for name collisions
val wrap_printing_env : Env.t -> (unit -> 'a) -> 'a