(*
-* Copyright 2005-2008, Ecole des Mines de Nantes, University of Copenhagen
+* Copyright 2005-2009, Ecole des Mines de Nantes, University of Copenhagen
* Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller
* This file is part of Coccinelle.
*
if !Flag.sgrep_mode2
then
match ty with
- (_,_,Ast.MINUS(_,_),_) -> [Ast.unwrap_mcode ty]
+ (_,_,Ast.MINUS(_,_,_,_),_) -> [Ast.unwrap_mcode ty]
| _ -> []
else [Ast.unwrap_mcode ty]
| _ -> k e in
V.combiner bind option_default
mcode mcode mcode mcode mcode mcode mcode mcode mcode mcode mcode mcode
- mcode
donothing donothing donothing donothing
ident expression fullType typeC donothing donothing declaration
rule_elem statement donothing donothing donothing
let option_default = [] in
let mcode r (x,_,mcodekind,_) =
match mcodekind with
- Ast.MINUS(_,_) -> [x]
+ Ast.MINUS(_,_,_,_) -> [x]
| _ -> [] in
let other r (x,_,mcodekind,_) = [] in
V.combiner bind option_default
other mcode other other other other other other other other other other
- other
donothing donothing donothing donothing
donothing donothing donothing donothing donothing donothing donothing
bind (fn.V.combiner_anything cur) prev))
[] l in
match mcodekind with
- Ast.MINUS(_,anythings) -> recurse anythings
+ Ast.MINUS(_,_,_,anythings) -> recurse anythings
| Ast.CONTEXT(_,Ast.BEFORE(a)) -> recurse a
| Ast.CONTEXT(_,Ast.AFTER(a)) -> recurse a
| Ast.CONTEXT(_,Ast.BEFOREAFTER(a1,a2)) ->
V.combiner bind option_default
mcode mcode mcode mcode mcode mcode mcode mcode mcode mcode mcode mcode
- mcode
donothing donothing donothing donothing
donothing donothing donothing donothing donothing donothing donothing
donothing donothing donothing donothing donothing
V.combiner bind option_default
mcode mcode mcode mcode mcode mcode mcode mcode mcode mcode mcode mcode
- mcode
donothing donothing donothing donothing
strictident strictexpr strictfullType stricttypeC donothing strictparam
strictdecls strictrule_elem strictstatement donothing donothing donothing
(function (rest_info,in_plus) ->
function r ->
match r with
- Ast.ScriptRule (_,mv,deps,_) -> (rest_info, in_plus)
- | Ast.CocciRule (nm, (dep,_,_), cur, _) ->
+ Ast.ScriptRule (_,_,_,_)
+ | Ast.InitialScriptRule (_,_) | Ast.FinalScriptRule (_,_) ->
+ (rest_info, in_plus)
+ | Ast.CocciRule (nm, (dep,_,_), cur, _, _) ->
let (cur_info,cur_plus) = rule_fn cur in_plus in
let cur_info =
(* no dependencies if dependent on another rule; then we