将Coccinelle匹配限制为给定类型的表达式

时间:2018-10-04 04:41:47

标签: coccinelle

类似于以下内容的一种转换适用于func_1(&something->field),当某物为foo_t时,但不能捕获其中v本身是诸如func_1(&something->v->field)之类的字段的情况

@@
typedef foo_t;
foo_t *v;
@@

- func_1(&v->field)
+ func_2(v)

另一方面,如果我使用这样的表达式:

@@
expression v;
@@

- func_1(&v->field)
+ func_2(v)

它可以工作,但是过于渴望并且可能匹配类型不是foo_t的情况,只是因为其他类型具有相同的字段名称。

是否有一种方法可以使表达式匹配,但将表达式类型限制为foo_t

0 个答案:

没有答案