Coccinelle release 1.0.0-rc14
[bpt/coccinelle.git] / parsing_cocci / data.ml
index 562cd75..a056742 100644 (file)
@@ -1,27 +1,9 @@
 (*
- * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen
- * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix
- * This file is part of Coccinelle.
- *
- * Coccinelle is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, according to version 2 of the License.
- *
- * Coccinelle is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with Coccinelle.  If not, see <http://www.gnu.org/licenses/>.
- *
- * The authors reserve the right to distribute this or future versions of
- * Coccinelle under other licenses.
- *)
-
-
-(*
- * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen
+ * Copyright 2012, INRIA
+ * Julia Lawall, Gilles Muller
+ * Copyright 2010-2011, INRIA, University of Copenhagen
+ * Julia Lawall, Rene Rydhof Hansen, Gilles Muller, Nicolas Palix
+ * Copyright 2005-2009, Ecole des Mines de Nantes, University of Copenhagen
  * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix
  * This file is part of Coccinelle.
  *
@@ -42,6 +24,7 @@
  *)
 
 
+# 0 "./data.ml"
 module Ast0 = Ast0_cocci
 module Ast = Ast_cocci
 
@@ -58,7 +41,7 @@ type clt =
     line_type * int * int * int * int (* starting spaces *) *
       (Ast_cocci.added_string * Ast0.position_info) list (* code before *) *
       (Ast_cocci.added_string * Ast0.position_info) list (* code after *) *
-      Ast0.meta_pos (* position variable, minus only *)
+      Ast0.anything list (* position variable, minus only *)
 
 (* ---------------------------------------------------------------------- *)
 
@@ -96,6 +79,9 @@ let all_metadecls =
 let clear_meta: (unit -> unit) ref =
   ref (fun _ -> failwith "uninitialized add_meta")
 
+let add_meta_meta: (Ast.meta_name -> Ast0.pure -> unit) ref =
+  ref (fun _ -> failwith "uninitialized add_meta")
+
 let add_id_meta:
     (Ast.meta_name -> iconstraints -> Ast0.pure -> unit) ref =
   ref (fun _ -> failwith "uninitialized add_meta")
@@ -107,7 +93,7 @@ let add_virt_id_meta_not_found:
     (Ast_cocci.meta_name -> Ast0_cocci.pure -> unit) ref =
   ref (fun _ -> failwith "uninitialized add_meta")
 
-let add_fresh_id_meta: (Ast.meta_name -> unit) ref =
+let add_fresh_id_meta: (Ast.meta_name -> Ast.seed -> unit) ref =
   ref (fun _ -> failwith "uninitialized add_meta")
 
 let add_type_meta: (Ast.meta_name -> Ast0.pure -> unit) ref =
@@ -116,11 +102,15 @@ let add_type_meta: (Ast.meta_name -> Ast0.pure -> unit) ref =
 let add_init_meta: (Ast.meta_name -> Ast0.pure -> unit) ref =
   ref (fun _ -> failwith "uninitialized add_meta")
 
+let add_initlist_meta:
+    (Ast.meta_name -> Ast.list_len -> Ast0.pure -> unit) ref =
+  ref (fun _ -> failwith "uninitialized add_meta")
+
 let add_param_meta: (Ast.meta_name -> Ast0.pure -> unit) ref =
   ref (fun _ -> failwith "uninitialized add_meta")
 
 let add_paramlist_meta:
-    (Ast.meta_name -> Ast.meta_name option -> Ast0.pure -> unit) ref =
+    (Ast.meta_name -> Ast.list_len -> Ast0.pure -> unit) ref =
   ref (fun _ -> failwith "uninitialized add_meta")
 
 let add_const_meta:
@@ -152,7 +142,20 @@ let add_local_idexp_meta:
   ref (fun _ -> failwith "uninitialized add_meta")
 
 let add_explist_meta:
-    (Ast.meta_name -> Ast.meta_name option -> Ast0.pure -> unit) ref =
+    (Ast.meta_name -> Ast.list_len -> Ast0.pure -> unit) ref =
+  ref (fun _ -> failwith "uninitialized add_meta")
+
+let add_decl_meta: (Ast.meta_name -> Ast0.pure -> unit) ref =
+  ref (fun _ -> failwith "uninitialized add_meta")
+
+let add_field_meta: (Ast.meta_name -> Ast0.pure -> unit) ref =
+  ref (fun _ -> failwith "uninitialized add_meta")
+
+let add_field_list_meta:
+    (Ast.meta_name -> Ast.list_len -> Ast0.pure -> unit) ref =
+  ref (fun _ -> failwith "uninitialized add_meta")
+
+let add_symbol_meta: (string -> unit) ref =
   ref (fun _ -> failwith "uninitialized add_meta")
 
 let add_stm_meta: (Ast.meta_name -> Ast0.pure -> unit) ref =