(*
- * 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.
*
*)
+# 0 "./get_constants.ml"
(* get a list of all of the constants in the - slice of a SmPL file, to be
used to select which files to process *)
| Ast.DisjExpr(exps) ->
disj_union_all (List.map r.V.combiner_expression exps)
| Ast.Edots(_,_) | Ast.Ecircles(_,_) | Ast.Estars(_,_) -> []
- | Ast.NestExpr(expr_dots,whencode,false) -> []
- | Ast.NestExpr(expr_dots,whencode,true) ->
+ | Ast.NestExpr(starter,expr_dots,ender,whencode,false) -> []
+ | Ast.NestExpr(starter,expr_dots,ender,whencode,true) ->
r.V.combiner_expression_dots expr_dots
| _ -> k e in
Ast.Disj(stmt_dots) ->
disj_union_all (List.map r.V.combiner_statement_dots stmt_dots)
| Ast.Dots(d,whn,_,_) | Ast.Circles(d,whn,_,_) | Ast.Stars(d,whn,_,_) -> []
- | Ast.Nest(stmt_dots,whn,false,_,_) -> []
- | Ast.Nest(stmt_dots,whn,true,_,_) -> r.V.combiner_statement_dots stmt_dots
+ | Ast.Nest(starter,stmt_dots,ender,whn,false,_,_) -> []
+ | Ast.Nest(starter,stmt_dots,ender,whn,true,_,_) ->
+ r.V.combiner_statement_dots stmt_dots
| _ -> k e in
V.combiner bind option_default
let strictdecls recursor k d =
match Ast.unwrap d with
- Ast.DisjDecl(decls) -> option_default
+ Ast.MetaDecl(name,_,_) | Ast.MetaField(name,_,_) ->
+ bind (k p) (minherited name)
+ | Ast.DisjDecl(decls) -> option_default
| _ -> k d in
let strictfullType recursor k ty =