通过访问" ="
的二元运算符,我检测到了所有存在赋值语句的地方从那里我分别通过binaryOperator-> getLHS()和getRHS()来获得LHS和RHS
我应该如何遍历RHS中的所有节点。
目前我试图以递归方式使用Stmt::child_iterator
来访问所有子节点,但似乎只是向下一级。
bool recursiveVisit (Stmt *stmt) {
for (Stmt::child_iterator i = stmt->child_begin(), e = stmt->child_end(); i != e; ++i) {
Stmt *currStmt = *i;
errs() << "Hello";
recursiveVisit(currStmt);
}
}
我在代码中做错了吗?我的一些树只有#34;你好&#34;打印一次,它不会再往下走了。其他人甚至不打印&#34;你好&#34;一次。