我正在尝试使用clang libtooling更改C ++代码,并希望通过修改AST而不是仅插入预定义的文本来实现这一点。
例如,我需要在for循环后添加一些语句。
输入:
void foo( ) { }
int main( ) {
for( int i = 0; i < 10; i++ ) {
}
}
输出:
void foo( ) { }
int main( ) {
for( int i = 0; i < 10; i++ ) {
foo( i );
}
}
我能够先获取foo
的信息,然后再获取i
,但无法修改AST以插入foo(i)
的呼叫