X-Git-Url: http://git.hcoop.net/bpt/coccinelle.git/blobdiff_plain/5636bb2c2537506718da74f85a2b81a5ff3df16f..7f339edd551eefcd6c99f379ce91c27df997cfe3:/parsing_cocci/data.ml diff --git a/parsing_cocci/data.ml b/parsing_cocci/data.ml index 562cd75..a056742 100644 --- a/parsing_cocci/data.ml +++ b/parsing_cocci/data.ml @@ -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 . - * - * 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 =