diff options
Diffstat (limited to 'typing/includeclass.ml')
| -rw-r--r-- | typing/includeclass.ml | 104 |
1 files changed, 0 insertions, 104 deletions
diff --git a/typing/includeclass.ml b/typing/includeclass.ml deleted file mode 100644 index 912f64ace8..0000000000 --- a/typing/includeclass.ml +++ /dev/null @@ -1,104 +0,0 @@ -(***********************************************************************) -(* *) -(* Objective Caml *) -(* *) -(* Jerome Vouillon, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1997 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* $Id$ *) - -(* Inclusion checks for the class language *) - -open Types - -let class_types env cty1 cty2 = - Ctype.match_class_types env cty1 cty2 - -let class_type_declarations env cty1 cty2 = - Ctype.match_class_declarations env - cty1.clty_params cty1.clty_type - cty2.clty_params cty2.clty_type - -let class_declarations env cty1 cty2 = - match cty1.cty_new, cty2.cty_new with - None, Some _ -> - [Ctype.CM_Virtual_class] - | _ -> - Ctype.match_class_declarations env - cty1.cty_params cty1.cty_type - cty2.cty_params cty2.cty_type - -open Format -open Ctype - -let include_err ppf = - function - | CM_Virtual_class -> - fprintf ppf "A class cannot be changed from virtual to concrete" - | CM_Parameter_arity_mismatch (ls, lp) -> - fprintf ppf - "The classes do not have the same number of type parameters" - | CM_Type_parameter_mismatch trace -> - fprintf ppf "@[%a@]" - (Printtyp.unification_error false trace - (function ppf -> - fprintf ppf "One type parameter has type")) - (function ppf -> - fprintf ppf "but is expected to have type") - | CM_Class_type_mismatch (cty1, cty2) -> - fprintf ppf - "@[The class type@;<1 2>%a@ is not matched by the class type@;<1 2>%a@]" - Printtyp.class_type cty1 Printtyp.class_type cty2 - | CM_Parameter_mismatch trace -> - fprintf ppf "@[%a@]" - (Printtyp.unification_error false trace - (function ppf -> - fprintf ppf "One parameter has type")) - (function ppf -> - fprintf ppf "but is expected to have type") - | CM_Val_type_mismatch (lab, trace) -> - fprintf ppf "@[%a@]" - (Printtyp.unification_error false trace - (function ppf -> - fprintf ppf "The instance variable %s@ has type" lab)) - (function ppf -> - fprintf ppf "but is expected to have type") - | CM_Meth_type_mismatch (lab, trace) -> - fprintf ppf "@[%a@]" - (Printtyp.unification_error false trace - (function ppf -> - fprintf ppf "The method %s@ has type" lab)) - (function ppf -> - fprintf ppf "but is expected to have type") - | CM_Non_mutable_value lab -> - fprintf ppf - "@[The non-mutable instance variable %s cannot become mutable@]" lab - | CM_Missing_value lab -> - fprintf ppf "@[The first class type has no instance variable %s@]" lab - | CM_Missing_method lab -> - fprintf ppf "@[The first class type has no method %s@]" lab - | CM_Hide_public lab -> - fprintf ppf "@[The public method %s cannot be hidden@]" lab - | CM_Hide_virtual lab -> - fprintf ppf "@[The virtual method %s cannot be hidden@]" lab - | CM_Public_method lab -> - fprintf ppf "@[The public method %s cannot become private" lab - | CM_Virtual_method lab -> - fprintf ppf "@[The virtual method %s cannot become concrete" lab - | CM_Private_method lab -> - fprintf ppf "The private method %s cannot become public" lab - -let report_error ppf = function - | [] -> () - | err :: errs -> - let print_errs ppf errs = - List.iter (fun err -> fprintf ppf "@ %a" include_err err) errs in - fprintf ppf "@[<v>%a%a@]" include_err err print_errs errs - - - |
