我正在创建一个gcc 插件,在解析 C++ 文件后对其进行分析。该插件遍历这些类并生成一些关于它们的信息。该插件正在工作,这就是我如何通过课程。
cp_binding_level* level(NAMESPACE_LEVEL(nameSpace));
for (decl = level->names; decl != 0; decl = TREE_CHAIN(decl)) {
tree type(TREE_TYPE(decl));
tree_code dc(TREE_CODE(decl));
tree_code tc;
if (dc == TYPE_DECL&& tc == RECORD_TYPE &&
!DECL_IS_BUILTIN (decl) && DECL_ARTIFICIAL (decl)) {
//Now we know this is a class
//Do something
}
}
我想选择他可以分析的课程和他不能分析的课程。我的第一个想法是添加某种注释,我会在解析类时阅读它,并决定是否分析它。
我从未在 C++ 中使用过任何类型的注释,所以我不知道这是否可能。如果是这样,你会如何推荐我使用它们,并在插件中获取注释?如果不是,有什么好方法可以做我需要的吗?