summaryrefslogtreecommitdiff
path: root/typing/typeclass.mli
diff options
context:
space:
mode:
authorJérôme Vouillon <Jerome.Vouillon@pps.jussieu.fr>1996-04-22 11:15:41 +0000
committerJérôme Vouillon <Jerome.Vouillon@pps.jussieu.fr>1996-04-22 11:15:41 +0000
commit7974a9d8b1c8195130b2df216d6a102ca00cdf5b (patch)
tree3f51cdf262616b852002b94057a292618f522fca /typing/typeclass.mli
parent6b9559fabf7b4a669ff4b082a3eaacffd82f775f (diff)
downloadocaml-7974a9d8b1c8195130b2df216d6a102ca00cdf5b.tar.gz
Extension objets.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@756 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'typing/typeclass.mli')
-rw-r--r--typing/typeclass.mli53
1 files changed, 53 insertions, 0 deletions
diff --git a/typing/typeclass.mli b/typing/typeclass.mli
new file mode 100644
index 0000000000..a7c879adf7
--- /dev/null
+++ b/typing/typeclass.mli
@@ -0,0 +1,53 @@
+(***********************************************************************)
+(* *)
+(* Caml Special Light *)
+(* *)
+(* Jerome Vouillon, projet Cristal, INRIA Rocquencourt *)
+(* *)
+(* Copyright 1996 Institut National de Recherche en Informatique et *)
+(* Automatique. Distributed only by permission. *)
+(* *)
+(***********************************************************************)
+
+(* $Id$ *)
+
+open Asttypes
+open Parsetree
+open Typedtree
+
+val transl_classes:
+ Env.t -> Parsetree.class_def list ->
+ (Ident.t * class_type * Ident.t * type_declaration *
+ Ident.t * type_declaration * class_def) list * Env.t
+val transl_class_types:
+ Env.t -> Parsetree.class_type list ->
+ (Ident.t * class_type * Ident.t * type_declaration *
+ Ident.t * type_declaration) list * Env.t
+
+
+type error =
+ Duplicate_method of string
+ | Duplicate_variable of string
+ | Duplicate_super_variable of string
+ | Repeated_parameter
+ | Virtual_class of string * string
+ | Closed_class of string
+ | Closed_ancestor of string * Path.t * string
+ | Non_closed of Ident.t * type_expr list * type_expr
+ | Mutable_var of string
+ | Undefined_var of string
+ | Variable_type_mismatch of string * type_expr * type_expr
+ | Method_type_mismatch of string * type_expr * type_expr
+ | Unconsistent_constraint
+ | Unbound_class of Longident.t
+ | Argument_type_mismatch of type_expr * type_expr
+ | Abbrev_type_clash of type_expr * type_expr * type_expr
+ | Bad_parameters of Ident.t * type_expr * type_expr
+ | Illdefined_class of string
+ | Argument_arity_mismatch of Path.t * int * int
+ | Parameter_arity_mismatch of Path.t * int * int
+ | Parameter_mismatch of type_expr * type_expr
+
+exception Error of Location.t * error
+
+val report_error : error -> unit