On Fri, 10 Jun 2016, Luis R. Rodriguez wrote:

> On Fri, Jun 10, 2016 at 10:12 PM, Julia Lawall <julia.law...@lip6.fr> wrote:
> >
> >
> > On Fri, 10 Jun 2016, Luis R. Rodriguez wrote:
> >
> >> I have a series of changes, and I want to only make a subsequent
> >> change if and only if at least one of a series of previous declared
> >> rules were matched. I can do this by depends on foo1 || foo2 || foo3
> >> || foo4, etc however since I have a lot of rules I was hoping I could
> >> condense these into one. What would be the best way to do that?
> >>
> >> This is just to reduce a long list of conjunctions to a much simpler set.
> >
> > Disjunctions, I guess?
> 
> Heh yes sorry.
> 
> > I guess you could make a rule that is guaranteed to match for some
> > reason and put
> >
> > @combined depends on a || b || c || d || e@
> > identifier f;
> > @@
> >
> > f(...)
> >
> > Here I match any function call, because any file of interest probably
> > contains at least one.  But if possible it would be better to put a
> > pattern that matches less often, because Coccinelle really will be doing
> > the work of making these matches.
> 
> I suspected this, I had used
> 
> #include ...
> 
> as I think most files has this but I was concerned over the impact as
> you noted. A python way to add a virtual rule would have been another
> option but it seems only iteration supports that.

I don't think this would work.  You can't add virtual rules on the fly.

julia

> > I think that the long list of ||s would be better.
> 
> OK, I'll do that.
> 
>  Luis
> 
_______________________________________________
Cocci mailing list
Cocci@systeme.lip6.fr
https://systeme.lip6.fr/mailman/listinfo/cocci

Reply via email to