是否有任何条件的LLVM匹配器?



是否有使用C条件的LLVM AST匹配器?我知道ifStmt有hasCondition()选项,但这只适用于if语句。特别是,我正在寻找匹配没有运算符的布尔条件(例如if (flag),while(flag)(flag ? x : y))。但我也对任何条件的更一般的情况感兴趣。

我能找到的最接近的是ifStmt,而estmt或doStmt:xxxStmt(除非(hasCondition (binaryOperator (isComparisonOperator ()))))这也允许我检查if (!flag)

之类的东西对于flag ? x : y,可以匹配conditionalOperator(),然后确定表达式是否有比较操作符。

最新更新