Coccinelle release 1.0.0c7.
[bpt/coccinelle.git] / parsing_cocci / visitor_ast0.ml
index 64f73d4..91066d6 100644 (file)
@@ -141,9 +141,9 @@ let visitor mode bind option_default
        (match Ast0.unwrap i with
          Ast0.Id(name) ->
            let (n,name) = string_mcode name in (n,Ast0.Id(name))
-       | Ast0.MetaId(name,constraints,pure) ->
+       | Ast0.MetaId(name,constraints,seed,pure) ->
            let (n,name) = meta_mcode name in
-           (n,Ast0.MetaId(name,constraints,pure))
+           (n,Ast0.MetaId(name,constraints,seed,pure))
        | Ast0.MetaFunc(name,constraints,pure) ->
            let (n,name) = meta_mcode name in
            (n,Ast0.MetaFunc(name,constraints,pure))
@@ -251,6 +251,12 @@ let visitor mode bind option_default
        | Ast0.TypeExp(ty) ->
            let (ty_n,ty) = typeC ty in
            (ty_n,Ast0.TypeExp(ty))
+       | Ast0.Constructor(lp,ty,rp,init) ->
+           let (lp_n,lp) = string_mcode lp in
+           let (ty_n,ty) = typeC ty in
+           let (rp_n,rp) = string_mcode rp in
+           let (init_n,init) = initialiser init in
+           (multibind [lp_n;ty_n;rp_n;init_n], Ast0.Constructor(lp,ty,rp,init))
        | Ast0.MetaErr(name,constraints,pure) ->
            let (name_n,name) = meta_mcode name in
            (name_n,Ast0.MetaErr(name,constraints,pure))
@@ -460,6 +466,9 @@ let visitor mode bind option_default
          Ast0.MetaInit(name,pure) ->
            let (name_n,name) = meta_mcode name in
            (name_n,Ast0.MetaInit(name,pure))
+       | Ast0.MetaInitList(name,lenname,pure) ->
+           let (name_n,name) = meta_mcode name in
+           (name_n,Ast0.MetaInitList(name,lenname,pure))
        | Ast0.InitExpr(exp) ->
            let (exp_n,exp) = expression exp in
            (exp_n,Ast0.InitExpr(exp))
@@ -581,7 +590,7 @@ let visitor mode bind option_default
            (multibind [lbrace_n;body_n;rbrace_n],
             Ast0.Seq(lbrace,body,rbrace))
        | Ast0.ExprStatement(exp,sem) ->
-           let (exp_n,exp) = expression exp in
+           let (exp_n,exp) = get_option expression exp in
            let (sem_n,sem) = string_mcode sem in
            (bind exp_n sem_n, Ast0.ExprStatement(exp,sem))
        | Ast0.IfThen(iff,lp,exp,rp,branch1,aft) ->
@@ -836,12 +845,15 @@ let visitor mode bind option_default
            let (old_file_n,old_file) = string_mcode old_file in
            let (new_file_n,new_file) = string_mcode new_file in
            (bind old_file_n new_file_n,Ast0.FILEINFO(old_file,new_file))
-       | Ast0.DECL(statement_dots) ->
+       | Ast0.NONDECL(statement_dots) ->
            let (n,statement_dots) = statement statement_dots in
-           (n,Ast0.DECL(statement_dots))
+           (n,Ast0.NONDECL(statement_dots))
        | Ast0.CODE(stmt_dots) ->
            let (stmt_dots_n,stmt_dots) = statement_dots stmt_dots in
            (stmt_dots_n, Ast0.CODE(stmt_dots))
+       | Ast0.TOPCODE(stmt_dots) ->
+           let (stmt_dots_n,stmt_dots) = statement_dots stmt_dots in
+           (stmt_dots_n, Ast0.TOPCODE(stmt_dots))
        | Ast0.ERRORWORDS(exps) ->
            let (n,exps) = map_split_bind expression exps in
            (n, Ast0.ERRORWORDS(exps))