fix parsing error with multi-line conditional operators
[bpt/coccinelle.git] / parsing_c / lib_parsing_c.ml
index 19a283d..71ad642 100644 (file)
@@ -68,13 +68,17 @@ let strip_info_visitor _ =
   }
 
 let al_expr      x = Visitor_c.vk_expr_s      (strip_info_visitor()) x
+let al_declaration x = Visitor_c.vk_decl_s    (strip_info_visitor()) x
+let al_field     x = Visitor_c.vk_struct_field_s (strip_info_visitor()) x
 let al_statement x = Visitor_c.vk_statement_s (strip_info_visitor()) x
 let al_type      x = Visitor_c.vk_type_s      (strip_info_visitor()) x
 let al_init      x = Visitor_c.vk_ini_s       (strip_info_visitor()) x
+let al_inits     x = Visitor_c.vk_inis_s      (strip_info_visitor()) x
 let al_param     x = Visitor_c.vk_param_s     (strip_info_visitor()) x
 let al_params    x = Visitor_c.vk_params_s    (strip_info_visitor()) x
 let al_arguments x = Visitor_c.vk_arguments_s (strip_info_visitor()) x
 let al_fields    x = Visitor_c.vk_struct_fields_s (strip_info_visitor()) x
+let al_name      x = Visitor_c.vk_name_s      (strip_info_visitor()) x
 
 let al_node      x = Visitor_c.vk_node_s      (strip_info_visitor()) x
 
@@ -119,9 +123,14 @@ let strip_inh_info_visitor _ =  (* for inherited metavariables *)
   }
 
 let al_inh_expr      x = Visitor_c.vk_expr_s      (strip_inh_info_visitor()) x
+let al_inh_declaration x = Visitor_c.vk_decl_s    (strip_inh_info_visitor()) x
+let al_inh_field    x = Visitor_c.vk_struct_field_s (strip_inh_info_visitor()) x
+let al_inh_field_list x =
+  Visitor_c.vk_struct_fields_s (strip_inh_info_visitor()) x
 let al_inh_statement x = Visitor_c.vk_statement_s (strip_inh_info_visitor()) x
 let al_inh_type      x = Visitor_c.vk_type_s      (strip_inh_info_visitor()) x
 let al_inh_init      x = Visitor_c.vk_ini_s       (strip_inh_info_visitor()) x
+let al_inh_inits     x = Visitor_c.vk_inis_s      (strip_inh_info_visitor()) x
 let al_inh_arguments x = Visitor_c.vk_arguments_s (strip_inh_info_visitor()) x
 
 
@@ -142,9 +151,13 @@ let semi_strip_info_visitor = (* keep position information *)
   }
 
 let semi_al_expr      = Visitor_c.vk_expr_s      semi_strip_info_visitor
+let semi_al_declaration = Visitor_c.vk_decl_s    semi_strip_info_visitor
+let semi_al_field = Visitor_c.vk_struct_field_s  semi_strip_info_visitor
+let semi_al_fields = Visitor_c.vk_struct_fields_s semi_strip_info_visitor
 let semi_al_statement = Visitor_c.vk_statement_s semi_strip_info_visitor
 let semi_al_type      = Visitor_c.vk_type_s      semi_strip_info_visitor
 let semi_al_init      = Visitor_c.vk_ini_s       semi_strip_info_visitor
+let semi_al_inits     = Visitor_c.vk_inis_s      semi_strip_info_visitor
 let semi_al_param     = Visitor_c.vk_param_s     semi_strip_info_visitor
 let semi_al_params    = Visitor_c.vk_params_s    semi_strip_info_visitor
 let semi_al_arguments = Visitor_c.vk_arguments_s semi_strip_info_visitor
@@ -182,9 +195,14 @@ let real_strip_info_visitor _ =
   }
 
 let real_al_expr      x = Visitor_c.vk_expr_s   (real_strip_info_visitor()) x
+let real_al_arguments x = Visitor_c.vk_arguments_s (real_strip_info_visitor()) x
 let real_al_node      x = Visitor_c.vk_node_s   (real_strip_info_visitor()) x
 let real_al_type      x = Visitor_c.vk_type_s   (real_strip_info_visitor()) x
-
+let real_al_decl      x = Visitor_c.vk_decl_s   (real_strip_info_visitor()) x
+let real_al_init      x = Visitor_c.vk_ini_s    (real_strip_info_visitor()) x
+let real_al_inits     x = Visitor_c.vk_inis_s   (real_strip_info_visitor()) x
+let real_al_statement x = Visitor_c.vk_statement_s (real_strip_info_visitor()) x
+let real_al_def       x = Visitor_c.vk_toplevel_s (real_strip_info_visitor()) x
 
 (*****************************************************************************)
 (* Extract infos *)
@@ -203,14 +221,17 @@ let extract_info_visitor recursor x =
   end
 
 let ii_of_decl = extract_info_visitor Visitor_c.vk_decl
+let ii_of_field = extract_info_visitor Visitor_c.vk_struct_field
 let ii_of_node = extract_info_visitor Visitor_c.vk_node
 let ii_of_expr = extract_info_visitor Visitor_c.vk_expr
 let ii_of_stmt = extract_info_visitor Visitor_c.vk_statement
 let ii_of_args = extract_info_visitor Visitor_c.vk_args_splitted
 let ii_of_type = extract_info_visitor Visitor_c.vk_type
 let ii_of_ini  = extract_info_visitor Visitor_c.vk_ini
+let ii_of_inis  = extract_info_visitor Visitor_c.vk_inis_splitted
 let ii_of_param = extract_info_visitor Visitor_c.vk_param
 let ii_of_params = extract_info_visitor Visitor_c.vk_params_splitted
+let ii_of_enum_fields = extract_info_visitor Visitor_c.vk_enum_fields_splitted
 let ii_of_struct_fields = extract_info_visitor Visitor_c.vk_struct_fields
 (*let ii_of_struct_field = extract_info_visitor Visitor_c.vk_struct_field*)
 let ii_of_struct_fieldkinds = extract_info_visitor Visitor_c.vk_struct_fieldkinds