我有一个复合语句代表以下代码块
{
int a = 3;
foo(a);
a = 4;
foo(a);
a = 5;
}
我想创建另一个复合语句,其中包含原始语句的前 2 个语句,如下所示:
{
int a = 3;
foo(a);
}
然后是另一个包含以下 2 个语句的语句:
{
a = 4;
foo(a);
}
我有电话foo(a)
as clang::CallExpr
。
到目前为止,我唯一的想法是迭代原始复合语句并填充另一个复合语句,直到foo(a)
找到为止。但是 API 似乎没有比较语句的可能性。有更好的想法吗?