Release coccinelle-0.2.4
[bpt/coccinelle.git] / parsing_cocci / visitor_ast.mli
index e1d561a..21bc1d7 100644 (file)
@@ -1,3 +1,51 @@
+(*
+ * Copyright 2010, 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.
+ *
+ * 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 2010, 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.
+ *
+ * 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.
+ *)
+
+
 type 'a combiner =
     {combiner_ident : Ast_cocci.ident -> 'a;
      combiner_expression : Ast_cocci.expression -> 'a;
@@ -17,14 +65,16 @@ type 'a combiner =
      combiner_statement_dots :
             Ast_cocci.statement Ast_cocci.dots -> 'a;
      combiner_declaration_dots :
-                Ast_cocci.declaration Ast_cocci.dots -> 'a}
+                Ast_cocci.declaration Ast_cocci.dots -> 'a;
+     combiner_initialiser_dots :
+                    Ast_cocci.initialiser Ast_cocci.dots -> 'a}
 
 type ('mc,'a) cmcode = 'a combiner -> 'mc Ast_cocci.mcode -> 'a
 type ('cd,'a) ccode = 'a combiner -> ('cd -> 'a) -> 'cd -> 'a
 
 val combiner :
     ('a -> 'a -> 'a) -> 'a ->
-      (((string*string),'a) cmcode) ->
+      ((Ast_cocci.meta_name,'a) cmcode) ->
       ((string,'a) cmcode) ->
       ((Ast_cocci.constant,'a) cmcode) ->
       ((Ast_cocci.assignOp,'a) cmcode) ->
@@ -32,7 +82,6 @@ val combiner :
       ((Ast_cocci.unaryOp,'a) cmcode) ->
       ((Ast_cocci.binaryOp,'a) cmcode) ->
       ((Ast_cocci.const_vol,'a) cmcode) ->
-      ((Ast_cocci.baseType,'a) cmcode) ->
       ((Ast_cocci.sign,'a) cmcode) ->
       ((Ast_cocci.structUnion,'a) cmcode) ->
       ((Ast_cocci.storage,'a) cmcode) ->
@@ -41,6 +90,7 @@ val combiner :
       ((Ast_cocci.parameterTypeDef Ast_cocci.dots,'a) ccode) ->
       ((Ast_cocci.statement Ast_cocci.dots,'a) ccode) ->
       ((Ast_cocci.declaration Ast_cocci.dots,'a) ccode) ->
+      ((Ast_cocci.initialiser Ast_cocci.dots,'a) ccode) ->
       ((Ast_cocci.ident,'a) ccode) ->
       ((Ast_cocci.expression,'a) ccode) ->
       ((Ast_cocci.fullType,'a) ccode) ->
@@ -73,6 +123,7 @@ type rebuilder =
       rebuilder_expression_dots : Ast_cocci.expression Ast_cocci.dots inout;
       rebuilder_statement_dots : Ast_cocci.statement Ast_cocci.dots inout;
       rebuilder_declaration_dots : Ast_cocci.declaration Ast_cocci.dots inout;
+      rebuilder_initialiser_dots : Ast_cocci.initialiser Ast_cocci.dots inout;
       rebuilder_define_param_dots: Ast_cocci.define_param Ast_cocci.dots inout;
       rebuilder_define_param : Ast_cocci.define_param inout;
       rebuilder_define_parameters : Ast_cocci.define_parameters inout;
@@ -82,7 +133,7 @@ type 'mc rmcode = 'mc Ast_cocci.mcode inout
 type 'cd rcode = rebuilder -> ('cd inout) -> 'cd inout
 
 val rebuilder :
-    ((string*string) rmcode) ->
+    (Ast_cocci.meta_name rmcode) ->
     (string rmcode) ->
     (Ast_cocci.constant rmcode) ->
     (Ast_cocci.assignOp rmcode) ->
@@ -90,7 +141,6 @@ val rebuilder :
     (Ast_cocci.unaryOp rmcode) ->
     (Ast_cocci.binaryOp rmcode) ->
     (Ast_cocci.const_vol rmcode) ->
-    (Ast_cocci.baseType rmcode) ->
     (Ast_cocci.sign rmcode) ->
     (Ast_cocci.structUnion rmcode) ->
     (Ast_cocci.storage rmcode) ->
@@ -99,6 +149,7 @@ val rebuilder :
     (Ast_cocci.parameterTypeDef Ast_cocci.dots rcode) ->
     (Ast_cocci.statement Ast_cocci.dots rcode) ->
     (Ast_cocci.declaration Ast_cocci.dots rcode) ->
+    (Ast_cocci.initialiser Ast_cocci.dots rcode) ->
     (Ast_cocci.ident rcode) ->
     (Ast_cocci.expression rcode) ->
     (Ast_cocci.fullType rcode) ->