in glean/lang/clang/ast.cpp [1251:1268]
static folly::Optional<Cxx::GlobalVariableKind> globalKind(
const clang::VarDecl *decl) {
if (decl->isLocalVarDeclOrParm()) {
return folly::none;
}
if (decl->isStaticDataMember()) {
return Cxx::GlobalVariableKind::StaticMember;
} else {
switch (decl->getStorageClass()) {
case clang::SC_None: return Cxx::GlobalVariableKind::SimpleVariable;
case clang::SC_Extern: return Cxx::GlobalVariableKind::SimpleVariable;
case clang::SC_Static: return Cxx::GlobalVariableKind::StaticVariable;
case clang::SC_PrivateExtern: return folly::none;
case clang::SC_Auto: return folly::none;
case clang::SC_Register: return folly::none;
}
}
}