ClangAST遍历-如何获取类的成员变量

ClangAST遍历-如何获取类的成员变量,clang,abstract-syntax-tree,Clang,Abstract Syntax Tree,我想遍历一个简单类的AST,该类有一个成员变量和一个方法。我已经计算出该类被表示为CXXRecordDecl CXXREcordDecl中用于获取以FieldDecl表示的成员变量列表的api是什么?可以使用RecordDecl::fields检索字段(也存在获取该范围的开始和结束迭代器的方法),例如对于CXXREcordDecl CXXRecordDecl* cl = ...; for (const auto& field : cl->fields) { const au

我想遍历一个简单类的AST,该类有一个成员变量和一个方法。我已经计算出该类被表示为CXXRecordDecl


CXXREcordDecl中用于获取以FieldDecl表示的成员变量列表的api是什么?

可以使用
RecordDecl::fields
检索字段(也存在获取该范围的开始和结束迭代器的方法),例如对于
CXXREcordDecl

CXXRecordDecl* cl = ...;
for (const auto& field : cl->fields) {
    const auto& name = field->getName();
    const auto field_cl = field->getType()->getAsCXXRecordDecl(); 
}

类似地,您可以使用
methods()

访问这些方法,这样更容易覆盖VisitFieldDecl。