我想遍历一个具有一个成员变量和一个方法的简单类的AST。我已经发现该类表示为CXXRecordDecl。
CXXREcordDecl中的api是什么来获取表示为FieldDecl的成员变量列表?
答案 0 :(得分:4)
可以使用RecordDecl::fields
检索字段(还存在获取该范围的开始和结束迭代器的方法),例如对于CXXRecordDecl
CXXRecordDecl* cl = ...;
for (const auto& field : cl->fields) {
const auto& name = field->getName();
const auto field_cl = field->getType()->getAsCXXRecordDecl();
}
同样,您可以使用methods()
访问方法。