如何识别在clang函数体中声明的变量

时间:2016-07-05 12:16:59

标签: c++ clang abstract-syntax-tree llvm-clang

我已经用clang实现了一个AST resursive visitor,我想区分变量声明。我想要知道变量声明是全局的还是变量声明是否包含函数体。两个人都会为我做这个工作。 有什么想法吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

您可以在AST Visiter中访问VarDecl,然后您可能想要使用isLocalVarDecl()isLocalVarDeclOrParm()isFunctionOrMethodVarDecl()isStaticDataMember()hasLocalStorage()等功能,或者来自VarDecl的Api hasGlobalStorage()here