On Wed, 4 Sep 2024, Hongbo Li wrote:

> After str_true_false() has been introduced in the tree,
> we can add rules for finding places where str_true_false()
> can be used. A simple test can find over 10 locations.
>
> Signed-off-by: Hongbo Li <lihongb...@huawei.com>
> ---
>  scripts/coccinelle/api/string_choices.cocci | 23 +++++++++++++++++++++
>  1 file changed, 23 insertions(+)
>
> diff --git a/scripts/coccinelle/api/string_choices.cocci 
> b/scripts/coccinelle/api/string_choices.cocci
> index 5e729f187f22..50329c4c8acd 100644
> --- a/scripts/coccinelle/api/string_choices.cocci
> +++ b/scripts/coccinelle/api/string_choices.cocci
> @@ -85,3 +85,26 @@ e << str_down_up_r.E;
>  @@
>
>  coccilib.report.print_report(p[0], "opportunity for str_down_up(%s)" % e)
> +
> +@str_true_false depends on patch@
> +expression E;
> +@@
> +(

There is no need for the above.  That is only needed if there is a
disjunction, ie a set of possible changes.  Likewise no need for the ),
and the same in the next rule.

julia

> +-      ((E) ? "true" : "false")
> ++      str_true_false(E)
> +)
> +
> +@str_true_false_r depends on !patch exists@
> +expression E;
> +position P;
> +@@
> +(
> +*      ((E@P) ? "true" : "false")
> +)
> +
> +@script:python depends on report@
> +p << str_true_false_r.P;
> +e << str_true_false_r.E;
> +@@
> +
> +coccilib.report.print_report(p[0], "opportunity for str_true_false(%s)" % e)
> --
> 2.34.1
>
>

Reply via email to