On 2024/9/10 10:23, Hongbo Li wrote:


On 2024/9/10 0:00, Julia Lawall wrote:


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 ),
or, you mean the parentheses are unnecessary?

Thanks,
Hongbo
and the same in the next rule.

Do you mean str_true_false_r is enough, not need for str_true_false? I noticed it was written this way before, so I've kept consistent with the previous writing style.

Thanks,
Hongbo


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