2
在解析示例代碼中的Clang中的ASTVisitor時,我看到有構造來驗證語句,例如。比較clang中的結構AST解析器
isa<IfStmt>(statement)
isa<UnaryOperator>(Expression)
是否有用於評估當前表達式/語句的此類結構的完整列表。
感謝
在解析示例代碼中的Clang中的ASTVisitor時,我看到有構造來驗證語句,例如。比較clang中的結構AST解析器
isa<IfStmt>(statement)
isa<UnaryOperator>(Expression)
是否有用於評估當前表達式/語句的此類結構的完整列表。
感謝
首先,有什麼魔力isa
是,這只是LLVM的檢查對象是否爲某個類的子類的方式;表達isa<IfStmt>(statement)
基本上等同於這使RTTI表達:
dynamic_cast<IfStmt*>(statement) != NULL
所以你的問題實際上可以歸結爲AST層次是什麼;因爲這一點,也最好檢查這些四頁,具有完整的層次結構圖: