【发布时间】:2016-06-15 03:58:38
【问题描述】:
我正在尝试将所有 FunctionDecl 节点存储在一个向量中,以便将来可以访问它们。该用例将用于单步执行函数(例如,函数 a 调用函数 b,我希望能够在函数 b 节点上调用 VisitDecl)
所有这些节点的存储都在 ASTConsumer 内的 HandleTopLevelDecl 中完成:
std::vector<Decl> vec;
virtual bool HandleTopLevelDecl (DeclGroupRef DG) {
for (DeclGroupRef::iterator i = DG.begin(), e = DG.end(); i != e; ++i) {
Decl *D = *i;
vec.push_back(*D);
}
}
但是,在编译过程中出现错误 '~Decl' is a protected member of 'clang::Decl'
任何人都可以对此有所了解吗?
【问题讨论】:
标签: c++ clang abstract-syntax-tree llvm-clang clang-static-analyzer