// FIXME: current not recognized as task_struct*, fixhack with regexp
identifier current =~ "^current$";
Would you really like to use a regular expression for finding a single word?
identifier state_var;
position pos;
@@
(
p->state & state_var@pos
|
current->state & state_var@pos
|
I see further opportunities to make such a SmPL disjunction more succinct.
*
( ( \( p \| current \) ) -> state & state_var@pos
|
…
* How do you think about to work with a SmPL constraint
for a metavariable with the type “binary operator”?
set_current_state(state_var@pos)
|
set_special_state(state_var@pos)
| \( set_current_state \| set_special_state \) (state_var@pos)
|
signal_pending_state(state_var@pos, p)
|
signal_pending_state(state_var@pos, current)
| signal_pending_state(state_var@pos, \( p \| current \) )
Regards,
Markus