gpt4 book ai didi

c++ - 如何使用 clang 从 TagDecl 获取结构成员

转载 作者:太空狗 更新时间:2023-10-29 21:42:58 24 4
gpt4 key购买 nike

我有一个 AST 消费者,它获取所有结构为

的 TagDecl
clang::TagDecl::isStruct()

如何像 FunctionDecl 类一样在数组中获取结构(声明、类型)的成员:

clang::FunctionDecl::getParamDecl(unsigned i)

或者以任何其他方式?

最佳答案

必须将 TagDecl 转换为具有获取成员/字段信息的方法的 RecordDecl

clang::TagDecl*t;
clang::RecordDecl*r;
clang::RecordDecl::field_iterator jt;

for(jt = r->field_begin(); jt != r->field_end();++jt)
{
std::cout << jt->getType().getAsString() << " " << jt->getNameAsString() << std::endl;
}

关于c++ - 如何使用 clang 从 TagDecl 获取结构成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24095165/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com