2021-10-01 13:28:36 +03:00
/* SPDX-License-Identifier: LGPL-2.1-or-later */
2020-10-04 12:44:48 +03:00
/* Limit the number of expressions to 6 for performance reasons */
2022-05-30 19:17:11 +03:00
@ is_in_assert_cc @
identifier id = assert_cc;
position p1;
expression e;
constant n0;
@@
id(e@p1 == n0 || ...);
2017-09-29 01:37:23 +03:00
@@
expression e;
2022-05-30 19:17:11 +03:00
position p2 != is_in_assert_cc.p1;
2019-04-29 14:15:27 +03: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 12:44:48 +03:00
constant T n0, n1, n2, n3, n4, n5;
2019-04-29 14:15:27 +03:00
@@
2022-05-30 19:17:11 +03:00
2019-04-29 14:15:27 +03:00
(
2022-05-30 19:17:11 +03:00
- e@p2 == n0 || e == n1 || e == n2 || e == n3 || e == n4 || e == n5
2017-11-29 15:05:24 +03:00
+ IN_SET(e, n0, n1, n2, n3, n4, n5)
2019-04-29 14:15:27 +03:00
|
2022-05-30 19:17:11 +03:00
- e@p2 == n0 || e == n1 || e == n2 || e == n3 || e == n4
2017-11-29 15:05:24 +03:00
+ IN_SET(e, n0, n1, n2, n3, n4)
2019-04-29 14:15:27 +03:00
|
2022-05-30 19:17:11 +03:00
- e@p2 == n0 || e == n1 || e == n2 || e == n3
2017-11-29 15:05:24 +03:00
+ IN_SET(e, n0, n1, n2, n3)
2019-04-29 14:15:27 +03:00
|
2022-05-30 19:17:11 +03:00
- e@p2 == n0 || e == n1 || e == n2
2017-11-29 15:05:24 +03:00
+ IN_SET(e, n0, n1, n2)
2019-04-29 14:15:27 +03:00
|
2022-05-30 19:17:11 +03:00
- e@p2 == n0 || e == n1
2017-11-29 15:05:24 +03:00
+ IN_SET(e, n0, n1)
2019-04-29 14:15:27 +03:00
)