diff options
author | Fabrice Le Fessant <Fabrice.Le_fessant@inria.fr> | 2012-05-30 14:52:37 +0000 |
---|---|---|
committer | Fabrice Le Fessant <Fabrice.Le_fessant@inria.fr> | 2012-05-30 14:52:37 +0000 |
commit | d39d43e55fab716fbe05cec3c89233f0dd208835 (patch) | |
tree | bf5c56aa9bb32a0e3d49509b8b2863a9ec407563 /typing/typeclass.mli | |
parent | e3d82817909dd7bc69dff4f75aa63c5ba606d9c8 (diff) | |
download | ocaml-d39d43e55fab716fbe05cec3c89233f0dd208835.tar.gz |
merge with branch bin-annot
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12516 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'typing/typeclass.mli')
-rw-r--r-- | typing/typeclass.mli | 53 |
1 files changed, 42 insertions, 11 deletions
diff --git a/typing/typeclass.mli b/typing/typeclass.mli index 9841ed4010..3329a8206f 100644 --- a/typing/typeclass.mli +++ b/typing/typeclass.mli @@ -14,39 +14,70 @@ open Asttypes open Types -open Typedtree open Format val class_declarations: Env.t -> Parsetree.class_declaration list -> - (Ident.t * class_declaration * - Ident.t * cltype_declaration * + (Ident.t * string loc * class_declaration * + Ident.t * class_type_declaration * Ident.t * type_declaration * Ident.t * type_declaration * - int * string list * class_expr) list * Env.t + int * string list * Typedtree.class_declaration) list * Env.t + +(* +and class_declaration = + (class_expr, Types.class_declaration) class_infos +*) val class_descriptions: Env.t -> Parsetree.class_description list -> - (Ident.t * class_declaration * - Ident.t * cltype_declaration * + (Ident.t * string loc * class_declaration * + Ident.t * class_type_declaration * Ident.t * type_declaration * Ident.t * type_declaration * - int * string list * class_type) list * Env.t + int * string list * Typedtree.class_description) list * Env.t + +(* +and class_description = + (class_type, unit) class_infos +*) val class_type_declarations: Env.t -> Parsetree.class_description list -> - (Ident.t * cltype_declaration * + (Ident.t * string loc * class_type_declaration * + Ident.t * type_declaration * Ident.t * type_declaration * - Ident.t * type_declaration) list * Env.t + Typedtree.class_type_declaration) list * Env.t + +(* +and class_type_declaration = + (class_type, Types.class_type_declaration) class_infos +*) val approx_class_declarations: Env.t -> Parsetree.class_description list -> - (Ident.t * cltype_declaration * + (Ident.t * string loc * class_type_declaration * + Ident.t * type_declaration * Ident.t * type_declaration * - Ident.t * type_declaration) list + Typedtree.class_type_declaration) list val virtual_methods: Types.class_signature -> label list +(* +val type_classes : + bool -> + ('a -> Types.type_expr) -> + (Env.t -> 'a -> 'b * Types.class_type) -> + Env.t -> + 'a Parsetree.class_infos list -> + ( Ident.t * Types.class_declaration * + Ident.t * Types.class_type_declaration * + Ident.t * Types.type_declaration * + Ident.t * Types.type_declaration * + int * string list * 'b * 'b Typedtree.class_infos) + list * Env.t +*) + type error = Unconsistent_constraint of (type_expr * type_expr) list | Field_type_mismatch of string * string * (type_expr * type_expr) list |