Printtyp
Printing functions
type namespace := Shape.Sig_component_kind.t
val string_of_path : Path.t -> string
Print a list of paths, using the same naming context to avoid name collisions
val printed_signature :
string ->
Stdlib.Format.formatter ->
Types.signature ->
unit
printed_signature sourcefile ppf sg
print the signature sg
of sourcefile
with potential warnings for name collisions
module type Printers := sig ... end
module Doc : Printers with type 'a printer := 'a Format_doc.printer
For compatibility with Format printers
include Printers with type 'a printer := 'a Format_doc.format_printer
val wrap_printing_env : error:bool -> Env.t -> (unit -> 'a) -> 'a
Call the function using the environment for type path shortening This affects all the printing functions below Also, if ~error:true
, then disable the loading of cmis
val longident : Longident.t Format_doc.format_printer
val ident : Ident.t Format_doc.format_printer
val path : Path.t Format_doc.format_printer
val type_path : Path.t Format_doc.format_printer
Print a type path taking account of -short-paths
. Calls should be within wrap_printing_env
.
val type_expr : Types.type_expr Format_doc.format_printer
Print out a type. This will pick names for type variables, and will not reuse names for common type variables shared across multiple type expressions. (It will also reset the printing state, which matters for other type formatters such as prepared_type_expr
.) If you want multiple types to use common names for type variables, see Out_type.prepare_for_printing
and Out_type.prepared_type_expr
.
val type_scheme : Types.type_expr Format_doc.format_printer
shared_type_scheme
is very similar to type_scheme
, but does not reset the printing context first. This is intended to be used in cases where the printing should have a particularly wide context, such as documentation generators; most use cases, such as error messages, have narrower contexts for which type_scheme
is better suited.
val type_expansion :
Out_type.type_or_scheme ->
Errortrace.expanded_type Format_doc.format_printer
val label : Types.label_declaration Format_doc.format_printer
val constructor : Types.constructor_declaration Format_doc.format_printer
val constructor_arguments :
Types.constructor_arguments Format_doc.format_printer
val extension_constructor :
Ident.t ->
Types.extension_constructor Format_doc.format_printer
Prints extension constructor with the type signature: type ('a, 'b) bar += A of float
val extension_only_constructor :
Ident.t ->
Types.extension_constructor Format_doc.format_printer
Prints only extension constructor without type signature: A of float
val value_description :
Ident.t ->
Types.value_description Format_doc.format_printer
val type_declaration :
Ident.t ->
Types.type_declaration Format_doc.format_printer
val modtype_declaration :
Ident.t ->
Types.modtype_declaration Format_doc.format_printer
val class_declaration :
Ident.t ->
Types.class_declaration Format_doc.format_printer
val cltype_declaration :
Ident.t ->
Types.class_type_declaration Format_doc.format_printer
val modtype : Types.module_type Format_doc.format_printer
val signature : Types.signature Format_doc.format_printer
val class_type : Types.class_type Format_doc.format_printer