X-Git-Url: http://git.hcoop.net/bpt/coccinelle.git/blobdiff_plain/c3e37e979447bade993c7c600dc0b22ca64a571d..7f339edd551eefcd6c99f379ce91c27df997cfe3:/parsing_cocci/get_constants.ml diff --git a/parsing_cocci/get_constants.ml b/parsing_cocci/get_constants.ml index 83854d1..95c1742 100644 --- a/parsing_cocci/get_constants.ml +++ b/parsing_cocci/get_constants.ml @@ -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. * @@ -20,6 +24,7 @@ *) +# 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 *) @@ -72,8 +77,8 @@ let get_minus_constants bind orbind = | 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 @@ -112,8 +117,9 @@ let get_minus_constants bind orbind = 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 @@ -218,7 +224,9 @@ let check_inherited nm = 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 =