2021-10-01 10:28:36 +00:00
|
|
|
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
2020-10-04 09:44:48 +00:00
|
|
|
/* Limit the number of expressions to 6 for performance reasons */
|
2022-05-30 16:17:11 +00:00
|
|
|
|
|
|
|
@ is_in_assert_cc @
|
|
|
|
identifier id = assert_cc;
|
|
|
|
position p1;
|
|
|
|
expression e;
|
|
|
|
constant n0;
|
|
|
|
@@
|
|
|
|
|
|
|
|
id(e@p1 == n0 || ...);
|
|
|
|
|
2017-09-28 22:37:23 +00:00
|
|
|
@@
|
|
|
|
expression e;
|
2022-05-30 16:17:11 +00:00
|
|
|
position p2 != is_in_assert_cc.p1;
|
2019-04-29 11:15:27 +00:00
|
|
|
/* Exclude JsonVariant * from the transformation, as it can't work with the
|
|
|
|
* current version of the IN_SET macro */
|
|
|
|
typedef JsonVariant;
|
|
|
|
type T != JsonVariant*;
|
2020-10-04 09:44:48 +00:00
|
|
|
constant T n0, n1, n2, n3, n4, n5;
|
2019-04-29 11:15:27 +00:00
|
|
|
@@
|
2022-05-30 16:17:11 +00:00
|
|
|
|
2019-04-29 11:15:27 +00:00
|
|
|
(
|
2022-05-30 16:17:11 +00:00
|
|
|
- e@p2 == n0 || e == n1 || e == n2 || e == n3 || e == n4 || e == n5
|
2017-11-29 12:05:24 +00:00
|
|
|
+ IN_SET(e, n0, n1, n2, n3, n4, n5)
|
2019-04-29 11:15:27 +00:00
|
|
|
|
|
2022-05-30 16:17:11 +00:00
|
|
|
- e@p2 == n0 || e == n1 || e == n2 || e == n3 || e == n4
|
2017-11-29 12:05:24 +00:00
|
|
|
+ IN_SET(e, n0, n1, n2, n3, n4)
|
2019-04-29 11:15:27 +00:00
|
|
|
|
|
2022-05-30 16:17:11 +00:00
|
|
|
- e@p2 == n0 || e == n1 || e == n2 || e == n3
|
2017-11-29 12:05:24 +00:00
|
|
|
+ IN_SET(e, n0, n1, n2, n3)
|
2019-04-29 11:15:27 +00:00
|
|
|
|
|
2022-05-30 16:17:11 +00:00
|
|
|
- e@p2 == n0 || e == n1 || e == n2
|
2017-11-29 12:05:24 +00:00
|
|
|
+ IN_SET(e, n0, n1, n2)
|
2019-04-29 11:15:27 +00:00
|
|
|
|
|
2022-05-30 16:17:11 +00:00
|
|
|
- e@p2 == n0 || e == n1
|
2017-11-29 12:05:24 +00:00
|
|
|
+ IN_SET(e, n0, n1)
|
2019-04-29 11:15:27 +00:00
|
|
|
)
|