diff options
author | Jérôme Vouillon <Jerome.Vouillon@pps.jussieu.fr> | 1996-04-22 11:15:41 +0000 |
---|---|---|
committer | Jérôme Vouillon <Jerome.Vouillon@pps.jussieu.fr> | 1996-04-22 11:15:41 +0000 |
commit | 7974a9d8b1c8195130b2df216d6a102ca00cdf5b (patch) | |
tree | 3f51cdf262616b852002b94057a292618f522fca /typing/typeclass.mli | |
parent | 6b9559fabf7b4a669ff4b082a3eaacffd82f775f (diff) | |
download | ocaml-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.mli | 53 |
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 |