Up
module
Typeclass
:
sig
#
val
class_declarations :
Env
.
t
->
Parsetree
.
class_declaration
list
->
(
Ident
.
t
* string
Asttypes
.
loc
*
Types
.
class_declaration
*
Ident
.
t
*
Types
.
class_type_declaration
*
Ident
.
t
*
Types
.
type_declaration
*
Ident
.
t
*
Types
.
type_declaration
* int * string list *
Typedtree
.
class_declaration
) list *
Env
.
t
#
val
class_descriptions :
Env
.
t
->
Parsetree
.
class_description
list
->
(
Ident
.
t
* string
Asttypes
.
loc
*
Types
.
class_declaration
*
Ident
.
t
*
Types
.
class_type_declaration
*
Ident
.
t
*
Types
.
type_declaration
*
Ident
.
t
*
Types
.
type_declaration
* int * string list *
Typedtree
.
class_description
) list *
Env
.
t
#
val
class_type_declarations :
Env
.
t
->
Parsetree
.
class_description
list
->
(
Ident
.
t
* string
Asttypes
.
loc
*
Types
.
class_type_declaration
*
Ident
.
t
*
Types
.
type_declaration
*
Ident
.
t
*
Types
.
type_declaration
*
Typedtree
.
class_type_declaration
) list *
Env
.
t
#
val
approx_class_declarations :
Env
.
t
->
Parsetree
.
class_description
list
->
(
Ident
.
t
* string
Asttypes
.
loc
*
Types
.
class_type_declaration
*
Ident
.
t
*
Types
.
type_declaration
*
Ident
.
t
*
Types
.
type_declaration
*
Typedtree
.
class_type_declaration
) list
#
val
virtual_methods :
Types
.
class_signature
->
Asttypes
.
label
list
#
type
error =
#
| Unconsistent_constraint
of
(
Types
.
type_expr
*
Types
.
type_expr
) list
#
| Field_type_mismatch
of
string * string * (
Types
.
type_expr
*
Types
.
type_expr
) list
#
| Structure_expected
of
Types
.
class_type
#
| Cannot_apply
of
Types
.
class_type
#
| Apply_wrong_label
of
Asttypes
.
label
#
| Pattern_type_clash
of
Types
.
type_expr
#
| Repeated_parameter
#
| Unbound_class_2
of
Longident
.
t
#
| Unbound_class_type_2
of
Longident
.
t
#
| Abbrev_type_clash
of
Types
.
type_expr
*
Types
.
type_expr
*
Types
.
type_expr
#
| Constructor_type_mismatch
of
string * (
Types
.
type_expr
*
Types
.
type_expr
) list
#
| Virtual_class
of
bool * bool * string list * string list
#
| Parameter_arity_mismatch
of
Longident
.
t
* int * int
#
| Parameter_mismatch
of
(
Types
.
type_expr
*
Types
.
type_expr
) list
#
| Bad_parameters
of
Ident
.
t
*
Types
.
type_expr
*
Types
.
type_expr
#
| Class_match_failure
of
Ctype
.
class_match_failure
list
#
| Unbound_val
of
string
#
| Unbound_type_var
of
(
Format
.
formatter
->
unit) *
Ctype
.
closed_class_failure
#
| Make_nongen_seltype
of
Types
.
type_expr
#
| Non_generalizable_class
of
Ident
.
t
*
Types
.
class_declaration
#
| Cannot_coerce_self
of
Types
.
type_expr
#
| Non_collapsable_conjunction
of
Ident
.
t
*
Types
.
class_declaration
* (
Types
.
type_expr
*
Types
.
type_expr
) list
#
| Final_self_clash
of
(
Types
.
type_expr
*
Types
.
type_expr
) list
#
| Mutability_mismatch
of
string *
Asttypes
.
mutable_flag
#
| No_overriding
of
string * string
#
| Duplicate
of
string * string
#
exception
Error
of
Location
.
t
*
Env
.
t
*
error
#
exception
Error_forward
of
Location
.
error
#
val
report_error :
Env
.
t
->
Format
.
formatter
->
error
->
unit
end