Fix - check number of arguments in function calls
[tiger.ml.git] / compiler / src / lib / tiger / tiger_error.mli
index 84d4317..9090ad4 100644 (file)
@@ -7,7 +7,16 @@ type t =
   | Invalid_syntax    of Pos.t
   | Unknown_id        of {id    : Sym.t; pos : Pos.t}
   | Unknown_type      of {ty_id : Sym.t; pos : Pos.t}
+  | Id_is_a_function  of {id    : Sym.t; pos : Pos.t}
   | Id_not_a_function of {id    : Sym.t; pos : Pos.t}
+  | No_such_field_in_record of {field : Sym.t; record : Typ.t; pos : Pos.t}
+  | Exp_not_a_record  of {ty    : Typ.t; pos : Pos.t}
+  | Exp_not_an_array  of {ty    : Typ.t; pos : Pos.t}
+  | Wrong_type of
+      { expected : Typ.t
+      ; given    : Typ.t
+      ; pos      : Pos.t
+      }
   | Wrong_type_of_expression_in_var_dec of
       { var_id   : Sym.t
       ; expected : Typ.t
@@ -19,6 +28,11 @@ type t =
       ; ty       : Typ.t
       ; pos      : Pos.t
       }
+  | Wrong_type_used_as_array of
+      { ty_id    : Sym.t
+      ; ty       : Typ.t
+      ; pos      : Pos.t
+      }
   | Wrong_type_of_field_value of
       { field_id : Sym.t
       ; expected : Typ.t
@@ -56,4 +70,11 @@ val raise : t -> 'a
 
 val to_string : t -> string
 
-val is_unknown_id : t -> bool
+val is_unknown_id   : t -> bool
+val is_unknown_type : t -> bool
+val is_wrong_type   : t -> bool
+val is_wrong_number_of_args : t -> bool
+val is_invalid_syntax : t -> bool
+val is_not_a_record : t -> bool
+val is_not_an_array : t -> bool
+val is_no_such_field_in_record : t -> bool
This page took 0.027228 seconds and 4 git commands to generate.