在Clang ASt C ++中浏览FunctionDecl时如何检测该函数是否为静态。 请提出建议。
答案 0 :(得分:0)
'FunctionDecl :: getStorageClass()'可用于获取在声明中编写的存储类说明符, 或“ NamedDecl :: getFormalLinkage()”以获取所声明符号的实际链接。
例如:
/* getStorageClass() , getFormalLinkage() */
void func0(); /* SC_None , ExternalLinkage */
static void func1(); /* SC_Static , InternalLinkage */
extern void func2(); /* SC_Extern , ExternalLinkage */
static void func3(); /* SC_Static , InternalLinkage */
void func3(); /* SC_None , InternalLinkage */
extern void func3(); /* SC_Extern , InternalLinkage */
class C
{
static void func4(); /* SC_Static , ExternalLinkage */
};