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层次是什么;因为这一点,也最好检查这些四页,具有完整的层次结构图: