Messages in this thread |  | | Date | Tue, 14 May 2019 08:52:54 +0200 (CEST) | From | Julia Lawall <> | Subject | Re: [4/5] Coccinelle: put_device: Extend when constraints for two SmPL ellipses |
| |
On Tue, 14 May 2019, Markus Elfring wrote:
> >> A SmPL ellipsis was specified for a search approach so that additional > >> source code would be tolerated between an assignment to a local variable > >> and the corresponding null pointer check. > >> > >> But such code should be restricted. > >> * The local variable must not be reassigned there. > >> * It must also not be forwarded to an other assignment target. > >> > >> Take additional casts for these code exclusion specifications into account > >> together with optional parentheses. > > > > NACK. > > Can you agree to any information which I presented in the commit message? > > > > You don't need so many type metavariables. > > It seems that the Coccinelle software can cope also with my SmPL code addition. > You might feel uncomfortable with the suggested changes for a while.
It's ugly. Much more ugly than msg =
> > > > Type metavariables in the same ... can be the same. > > Such information is good to know for the proper usage of specifications > after a SmPL ellipsis. > > * Can it become required to identify involved source code placeholders > by extra metavariables?
I don't understand the question.
> * Would you like to clarify the probability any more how often the shown > type casts will be identical?
No idea about this one either.
Basically, if you have T && T, the two T's have to be the same, and T is not pure. If you have T || T, then only one will be matched and T remains pure. If you have T on two separate ...s then you are in the && case. If you have T in two branches of a disjunction or in two whens on the same ... you are in the || case. Just as you can use the variable e1 over and over on the same when, you can use the same T.
julia
|  |