Coccinelle release-1.0.0-rc11
[bpt/coccinelle.git] / engine / pretty_print_engine.ml
index 49a0211..cc73a50 100644 (file)
@@ -1,5 +1,9 @@
 (*
- * 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.
  *
@@ -30,15 +34,22 @@ let pp = Common.pp
 let pp_meta (_,x) = pp x
 
 let rec pp_binding_kind = function
-  | Ast_c.MetaIdVal        s -> pp ("id " ^ s)
+  | Ast_c.MetaIdVal        (s,_) -> pp ("id " ^ s)
   | Ast_c.MetaFuncVal      s -> pp ("func " ^ s)
   | Ast_c.MetaLocalFuncVal s -> pp ("localfunc " ^ s)
-  | Ast_c.MetaExprVal      expr -> Pretty_print_c.pp_expression_simple expr
+  | Ast_c.MetaExprVal      (expr,_) -> Pretty_print_c.pp_expression_simple expr
   | Ast_c.MetaExprListVal  expr_list -> pp "<<exprlist>>"
   | Ast_c.MetaInitVal      ini ->
       Pretty_print_c.pp_init_simple ini
+  | Ast_c.MetaInitListVal      ini -> pp "<<initlist>>"
   | Ast_c.MetaTypeVal      typ ->
       Pretty_print_c.pp_type_simple typ
+  | Ast_c.MetaDeclVal      decl ->
+      Pretty_print_c.pp_decl_simple decl
+  | Ast_c.MetaFieldVal      decl ->
+      Pretty_print_c.pp_field_simple decl
+  | Ast_c.MetaFieldListVal      decls ->
+      List.iter Pretty_print_c.pp_field_simple decls
   | Ast_c.MetaStmtVal      statement ->
       Pretty_print_c.pp_statement_simple statement
   | Ast_c.MetaParamVal     params -> pp "<<param>>"
@@ -62,7 +73,8 @@ and pp_binding subst =
   begin
     pp "[";
     Common.print_between (fun () -> pp ";"; Format.print_cut() )
-      (fun ((_,s), kind) -> pp s; pp " --> "; pp_binding_kind kind)
+      (fun ((r,s), kind) ->
+       pp r; pp "."; pp s; pp " --> "; pp_binding_kind kind)
       subst;
     pp "]";
   end
@@ -97,6 +109,7 @@ let rec pp_predicate = function
   | FallThrough -> pp "FallThrough"
   | LoopFallThrough -> pp "LoopFallThrough"
   | Return -> pp "Return"
+  | UnsafeBrace -> pp "UnsafeBrace"
   | FunHeader -> pp "FunHeader"
   | Top -> pp "Top"
   | ErrorExit -> pp "ErrorExit"